2019-02-19 09:09:01 +01:00
|
|
|
package zpay32
|
|
|
|
|
2022-02-23 14:48:00 +01:00
|
|
|
import "github.com/btcsuite/btcd/btcec/v2"
|
2019-02-19 09:09:01 +01:00
|
|
|
|
|
|
|
const (
|
2020-07-24 22:14:03 +02:00
|
|
|
// DefaultAssumedFinalCLTVDelta is the default value to be used as the
|
|
|
|
// final CLTV delta for a route if one is unspecified in the payment
|
|
|
|
// request.
|
|
|
|
DefaultAssumedFinalCLTVDelta = 9
|
2019-02-19 09:09:01 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
// HopHint is a routing hint that contains the minimum information of a channel
|
|
|
|
// required for an intermediate hop in a route to forward the payment to the
|
|
|
|
// next. This should be ideally used for private channels, since they are not
|
|
|
|
// publicly advertised to the network for routing.
|
|
|
|
type HopHint struct {
|
|
|
|
// NodeID is the public key of the node at the start of the channel.
|
|
|
|
NodeID *btcec.PublicKey
|
|
|
|
|
|
|
|
// ChannelID is the unique identifier of the channel.
|
|
|
|
ChannelID uint64
|
|
|
|
|
|
|
|
// FeeBaseMSat is the base fee of the channel in millisatoshis.
|
|
|
|
FeeBaseMSat uint32
|
|
|
|
|
|
|
|
// FeeProportionalMillionths is the fee rate, in millionths of a
|
|
|
|
// satoshi, for every satoshi sent through the channel.
|
|
|
|
FeeProportionalMillionths uint32
|
|
|
|
|
|
|
|
// CLTVExpiryDelta is the time-lock delta of the channel.
|
|
|
|
CLTVExpiryDelta uint16
|
|
|
|
}
|
2019-06-12 12:19:43 +02:00
|
|
|
|
|
|
|
// Copy returns a deep copy of the hop hint.
|
|
|
|
func (h HopHint) Copy() HopHint {
|
|
|
|
nodeID := *h.NodeID
|
|
|
|
return HopHint{
|
|
|
|
NodeID: &nodeID,
|
|
|
|
ChannelID: h.ChannelID,
|
|
|
|
FeeBaseMSat: h.FeeBaseMSat,
|
|
|
|
FeeProportionalMillionths: h.FeeProportionalMillionths,
|
|
|
|
CLTVExpiryDelta: h.CLTVExpiryDelta,
|
|
|
|
}
|
|
|
|
}
|