lnd.xprv/htlcswitch/iterator.go
Andrey Samokhvalov 07afcad6de htlcswitch: add hop id
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.
2017-05-31 11:06:08 -07:00

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[:])
}