mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-20 02:27:21 +01:00
07afcad6de
Add hop id structure wich represent the next lnd node in sphinx payment route. This structure will be removed when we switch to use the channel id as the pointers to the htlc update.
32 lines
776 B
Go
32 lines
776 B
Go
package htlcswitch
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/hex"
|
|
|
|
"github.com/btcsuite/golangcrypto/ripemd160"
|
|
"github.com/roasbeef/btcutil"
|
|
)
|
|
|
|
// hopID represents the id which is used by propagation subsystem in order to
|
|
// identify lightning network node.
|
|
// TODO(andrew.shvv) remove after switching to the using channel id.
|
|
type hopID [ripemd160.Size]byte
|
|
|
|
// newHopID creates new instance of hop form node public key.
|
|
func newHopID(pubKey []byte) hopID {
|
|
var routeId hopID
|
|
copy(routeId[:], btcutil.Hash160(pubKey))
|
|
return routeId
|
|
}
|
|
|
|
// String returns string representation of hop id.
|
|
func (h hopID) String() string {
|
|
return hex.EncodeToString(h[:])
|
|
}
|
|
|
|
// IsEqual checks does the two hop ids are equal.
|
|
func (h hopID) IsEqual(h2 hopID) bool {
|
|
return bytes.Equal(h[:], h2[:])
|
|
}
|