/ feature / default_sets.go
default_sets.go
  1  package feature
  2  
  3  import "github.com/lightningnetwork/lnd/lnwire"
  4  
  5  // setDesc describes which feature bits should be advertised in which feature
  6  // sets.
  7  type setDesc map[lnwire.FeatureBit]map[Set]struct{}
  8  
  9  // defaultSetDesc are the default set descriptors for generating feature
 10  // vectors. Each set is annotated with the corresponding identifier from BOLT 9
 11  // indicating where it should be advertised.
 12  var defaultSetDesc = setDesc{
 13  	lnwire.DataLossProtectRequired: {
 14  		SetInit:    {}, // I
 15  		SetNodeAnn: {}, // N
 16  	},
 17  	lnwire.GossipQueriesOptional: {
 18  		SetInit:    {}, // I
 19  		SetNodeAnn: {}, // N
 20  	},
 21  	lnwire.TLVOnionPayloadRequired: {
 22  		SetInit:         {}, // I
 23  		SetNodeAnn:      {}, // N
 24  		SetInvoice:      {}, // 9
 25  		SetInvoiceAmp:   {}, // 9A
 26  		SetLegacyGlobal: {},
 27  	},
 28  	lnwire.StaticRemoteKeyRequired: {
 29  		SetInit:         {}, // I
 30  		SetNodeAnn:      {}, // N
 31  		SetLegacyGlobal: {},
 32  	},
 33  	lnwire.UpfrontShutdownScriptOptional: {
 34  		SetInit:    {}, // I
 35  		SetNodeAnn: {}, // N
 36  	},
 37  	lnwire.PaymentAddrRequired: {
 38  		SetInit:       {}, // I
 39  		SetNodeAnn:    {}, // N
 40  		SetInvoice:    {}, // 9
 41  		SetInvoiceAmp: {}, // 9A
 42  	},
 43  	lnwire.MPPOptional: {
 44  		SetInit:    {}, // I
 45  		SetNodeAnn: {}, // N
 46  		SetInvoice: {}, // 9
 47  	},
 48  	lnwire.AnchorsZeroFeeHtlcTxOptional: {
 49  		SetInit:    {}, // I
 50  		SetNodeAnn: {}, // N
 51  	},
 52  	lnwire.WumboChannelsOptional: {
 53  		SetInit:    {}, // I
 54  		SetNodeAnn: {}, // N
 55  	},
 56  	lnwire.AMPOptional: {
 57  		SetInit:    {}, // I
 58  		SetNodeAnn: {}, // N
 59  	},
 60  	lnwire.AMPRequired: {
 61  		SetInvoiceAmp: {}, // 9A
 62  	},
 63  	lnwire.ExplicitChannelTypeRequired: {
 64  		SetInit:    {}, // I
 65  		SetNodeAnn: {}, // N
 66  	},
 67  	lnwire.KeysendOptional: {
 68  		SetNodeAnn: {}, // N
 69  	},
 70  	lnwire.ScriptEnforcedLeaseOptional: {
 71  		SetInit:    {}, // I
 72  		SetNodeAnn: {}, // N
 73  	},
 74  	lnwire.ScidAliasOptional: {
 75  		SetInit:    {}, // I
 76  		SetNodeAnn: {}, // N
 77  	},
 78  	lnwire.ZeroConfOptional: {
 79  		SetInit:    {}, // I
 80  		SetNodeAnn: {}, // N
 81  	},
 82  	lnwire.RouteBlindingOptional: {
 83  		SetInit:    {}, // I
 84  		SetNodeAnn: {}, // N
 85  		SetInvoice: {}, // 9
 86  	},
 87  	lnwire.QuiescenceOptional: {
 88  		SetInit:    {}, // I
 89  		SetNodeAnn: {}, // N
 90  	},
 91  	lnwire.ShutdownAnySegwitOptional: {
 92  		SetInit:    {}, // I
 93  		SetNodeAnn: {}, // N
 94  	},
 95  	lnwire.SimpleTaprootChannelsOptionalStaging: {
 96  		SetInit:    {}, // I
 97  		SetNodeAnn: {}, // N
 98  	},
 99  	lnwire.SimpleTaprootOverlayChansOptional: {
100  		SetInit:    {}, // I
101  		SetNodeAnn: {}, // N
102  	},
103  	lnwire.ExperimentalAccountabilityOptional: {
104  		SetNodeAnn: {}, // N
105  	},
106  	lnwire.RbfCoopCloseOptionalStaging: {
107  		SetInit:    {}, // I
108  		SetNodeAnn: {}, // N
109  	},
110  	lnwire.RbfCoopCloseOptional: {
111  		SetInit:    {}, // I
112  		SetNodeAnn: {}, // N
113  	},
114  	lnwire.OnionMessagesOptional: {
115  		SetInit:    {}, // I
116  		SetNodeAnn: {}, // N
117  	},
118  }