Browse Source

features: define temporary AMP feature bits 30/31

master
Conner Fromknecht 3 years ago
parent
commit
438b03afa4
No known key found for this signature in database
GPG Key ID: E7D737B67FA592C7
  1. 5
      feature/default_sets.go
  2. 3
      feature/deps.go
  3. 2
      feature/manager.go
  4. 12
      lnwire/features.go

5
feature/default_sets.go

@ -51,4 +51,9 @@ var defaultSetDesc = setDesc{
SetInit: {}, // I
SetNodeAnn: {}, // N
},
lnwire.AMPOptional: {
SetInit: {}, // I
SetNodeAnn: {}, // N
SetInvoice: {}, // 9
},
}

3
feature/deps.go

@ -58,6 +58,9 @@ var deps = depDesc{
lnwire.AnchorsOptional: {
lnwire.StaticRemoteKeyOptional: {},
},
lnwire.AMPOptional: {
lnwire.PaymentAddrOptional: {},
},
}
// ValidateDeps asserts that a feature vector sets all features and their

2
feature/manager.go

@ -77,6 +77,8 @@ func newManager(cfg Config, desc setDesc) (*Manager, error) {
raw.Unset(lnwire.PaymentAddrRequired)
raw.Unset(lnwire.MPPOptional)
raw.Unset(lnwire.MPPRequired)
raw.Unset(lnwire.AMPOptional)
raw.Unset(lnwire.AMPRequired)
}
if cfg.NoStaticRemoteKey {
raw.Unset(lnwire.StaticRemoteKeyOptional)

12
lnwire/features.go

@ -129,6 +129,16 @@ const (
// transactions, which also imply anchor commitments.
AnchorsZeroFeeHtlcTxOptional FeatureBit = 23
// AMPRequired is a required feature bit that signals that the receiver
// of a payment supports accepts spontaneous payments, i.e.
// sender-generated preimages according to BOLT XX.
AMPRequired FeatureBit = 30
// AMPOptional is an optional feature bit that signals that the receiver
// of a payment supports accepts spontaneous payments, i.e.
// sender-generated preimages according to BOLT XX.
AMPOptional FeatureBit = 31
// maxAllowedSize is a maximum allowed size of feature vector.
//
// NOTE: Within the protocol, the maximum allowed message size is 65535
@ -172,6 +182,8 @@ var Features = map[FeatureBit]string{
AnchorsZeroFeeHtlcTxOptional: "anchors-zero-fee-htlc-tx",
WumboChannelsRequired: "wumbo-channels",
WumboChannelsOptional: "wumbo-channels",
AMPRequired: "amp",
AMPOptional: "amp",
}
// RawFeatureVector represents a set of feature bits as defined in BOLT-09. A

Loading…
Cancel
Save