mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 18:10:34 +01:00
ec02ffa383
We adhere to BOLT 02 and use 18 instead of 9.
48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
package zpay32
|
|
|
|
import "github.com/btcsuite/btcd/btcec/v2"
|
|
|
|
const (
|
|
// DefaultAssumedFinalCLTVDelta is the default value to be used as the
|
|
// final CLTV delta for a route if one is unspecified in the payment
|
|
// request.
|
|
// We adhere to the recommendation in BOLT 02 for terminal payments.
|
|
// See also:
|
|
// https://github.com/lightning/bolts/blob/master/02-peer-protocol.md
|
|
DefaultAssumedFinalCLTVDelta = 18
|
|
)
|
|
|
|
// 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
|
|
}
|
|
|
|
// 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,
|
|
}
|
|
}
|