mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
a6c62eb71e
This defines the zero-conf feature bit, the scid-alias feature bit, the zero-conf channel type, and the scid-alias channel type. It also defines the dependency "tree" that exists for the feature bits. The scid-alias feature bit signals that the node requires an alias short channel id to be sent in funding_locked. The scid-alias channel type requires that the channel is private, in addition to some other forwarding-related privacy measures.
83 lines
1.9 KiB
Go
83 lines
1.9 KiB
Go
package feature
|
|
|
|
import "github.com/lightningnetwork/lnd/lnwire"
|
|
|
|
// setDesc describes which feature bits should be advertised in which feature
|
|
// sets.
|
|
type setDesc map[lnwire.FeatureBit]map[Set]struct{}
|
|
|
|
// defaultSetDesc are the default set descriptors for generating feature
|
|
// vectors. Each set is annotated with the corresponding identifier from BOLT 9
|
|
// indicating where it should be advertised.
|
|
var defaultSetDesc = setDesc{
|
|
lnwire.DataLossProtectRequired: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.GossipQueriesOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.TLVOnionPayloadOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
SetInvoice: {}, // 9
|
|
SetInvoiceAmp: {}, // 9A
|
|
SetLegacyGlobal: {},
|
|
},
|
|
lnwire.StaticRemoteKeyRequired: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
SetLegacyGlobal: {},
|
|
},
|
|
lnwire.UpfrontShutdownScriptOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.PaymentAddrRequired: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
SetInvoice: {}, // 9
|
|
SetInvoiceAmp: {}, // 9A
|
|
},
|
|
lnwire.MPPOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
SetInvoice: {}, // 9
|
|
},
|
|
lnwire.AnchorsZeroFeeHtlcTxOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.WumboChannelsOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.AMPOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.AMPRequired: {
|
|
SetInvoiceAmp: {}, // 9A
|
|
},
|
|
lnwire.ExplicitChannelTypeOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.KeysendOptional: {
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.ScriptEnforcedLeaseOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.ScidAliasOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
lnwire.ZeroConfOptional: {
|
|
SetInit: {}, // I
|
|
SetNodeAnn: {}, // N
|
|
},
|
|
}
|