66
66
//! for more info).
67
67
//! - `Keysend` - send funds to a node without an invoice
68
68
//! (see the [`Keysend` feature assignment proposal](https://github.com/lightning/bolts/issues/605#issuecomment-606679798) for more information).
69
+ //! - `want_peer_backup_storage` - Indicates that the node desires peers that offer peer storage
70
+ //! (see https://github.com/lightning/bolts/pull/1110 for more info).
71
+ //! - `provide_peer_backup_storage` - Indicates that we offer the capability to store data of our peers
72
+ //! (see https://github.com/lightning/bolts/pull/1110 for more info).
69
73
//!
70
74
//! LDK knows about the following features, but does not support them:
71
75
//! - `AnchorsNonzeroFeeHtlcTx` - the initial version of anchor outputs, which was later found to be
@@ -149,7 +153,7 @@ mod sealed {
149
153
// Byte 4
150
154
OnionMessages ,
151
155
// Byte 5
152
- ChannelType | SCIDPrivacy ,
156
+ WantPeerBackupStorage | ProvidePeerBackupStorage | ChannelType | SCIDPrivacy ,
153
157
// Byte 6
154
158
ZeroConf ,
155
159
] ) ;
@@ -165,7 +169,7 @@ mod sealed {
165
169
// Byte 4
166
170
OnionMessages ,
167
171
// Byte 5
168
- ChannelType | SCIDPrivacy ,
172
+ WantPeerBackupStorage | ProvidePeerBackupStorage | ChannelType | SCIDPrivacy ,
169
173
// Byte 6
170
174
ZeroConf | Keysend ,
171
175
] ) ;
@@ -405,6 +409,12 @@ mod sealed {
405
409
define_feature ! ( 39 , OnionMessages , [ InitContext , NodeContext ] ,
406
410
"Feature flags for `option_onion_messages`." , set_onion_messages_optional,
407
411
set_onion_messages_required, supports_onion_messages, requires_onion_messages) ;
412
+ define_feature ! ( 41 , WantPeerBackupStorage , [ InitContext , NodeContext ] ,
413
+ "Feature flags for `want_peer_backup_storage`." , set_want_peer_backup_storage_optional,
414
+ set_want_peer_backup_storage_required, supports_want_peer_storage, requires_want_peer_storage) ;
415
+ define_feature ! ( 43 , ProvidePeerBackupStorage , [ InitContext , NodeContext ] ,
416
+ "Feature flags for `provide_peer_backup_storage`." , set_provide_peer_backup_storage_optional,
417
+ set_provide_peer_backup_storage_required, supports_provide_peer_storage, requires_provide_peer_storage) ;
408
418
define_feature ! ( 45 , ChannelType , [ InitContext , NodeContext ] ,
409
419
"Feature flags for `option_channel_type`." , set_channel_type_optional,
410
420
set_channel_type_required, supports_channel_type, requires_channel_type) ;
@@ -1034,6 +1044,22 @@ mod tests {
1034
1044
assert ! ( !features1. requires_unknown_bits_from( & features2) ) ;
1035
1045
assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
1036
1046
1047
+ features1. set_want_peer_backup_storage_required ( ) ;
1048
+ assert ! ( features1. requires_unknown_bits_from( & features2) ) ;
1049
+ assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
1050
+
1051
+ features2. set_want_peer_backup_storage_optional ( ) ;
1052
+ assert ! ( !features1. requires_unknown_bits_from( & features2) ) ;
1053
+ assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
1054
+
1055
+ features1. set_provide_peer_backup_storage_required ( ) ;
1056
+ assert ! ( features1. requires_unknown_bits_from( & features2) ) ;
1057
+ assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
1058
+
1059
+ features2. set_provide_peer_backup_storage_optional ( ) ;
1060
+ assert ! ( !features1. requires_unknown_bits_from( & features2) ) ;
1061
+ assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
1062
+
1037
1063
features1. set_data_loss_protect_required ( ) ;
1038
1064
assert ! ( features1. requires_unknown_bits_from( & features2) ) ;
1039
1065
assert ! ( !features2. requires_unknown_bits_from( & features1) ) ;
0 commit comments