@@ -4650,10 +4650,15 @@ impl<Signer: Sign> Writeable for Channel<Signer> {
4650
4650
self . counterparty_dust_limit_satoshis . write ( writer) ?;
4651
4651
self . holder_dust_limit_satoshis . write ( writer) ?;
4652
4652
self . counterparty_max_htlc_value_in_flight_msat . write ( writer) ?;
4653
+
4654
+ // Note that this field is ignored by 0.0.99+ as the TLV Optional variant is used instead.
4653
4655
self . counterparty_selected_channel_reserve_satoshis . unwrap_or ( 0 ) . write ( writer) ?;
4656
+
4654
4657
self . counterparty_htlc_minimum_msat . write ( writer) ?;
4655
4658
self . holder_htlc_minimum_msat . write ( writer) ?;
4656
4659
self . counterparty_max_accepted_htlcs . write ( writer) ?;
4660
+
4661
+ // Note that this field is ignored by 0.0.99+ as the TLV Optional variant is used instead.
4657
4662
self . minimum_depth . unwrap_or ( 0 ) . write ( writer) ?;
4658
4663
4659
4664
match & self . counterparty_forwarding_info {
@@ -4844,20 +4849,25 @@ impl<'a, Signer: Sign, K: Deref> ReadableArgs<&'a K> for Channel<Signer>
4844
4849
let counterparty_dust_limit_satoshis = Readable :: read ( reader) ?;
4845
4850
let holder_dust_limit_satoshis = Readable :: read ( reader) ?;
4846
4851
let counterparty_max_htlc_value_in_flight_msat = Readable :: read ( reader) ?;
4847
- let mut counterparty_selected_channel_reserve_satoshis = Some ( Readable :: read ( reader) ?) ;
4848
- if counterparty_selected_channel_reserve_satoshis == Some ( 0 ) {
4849
- // Versions up to 0.0.98 had counterparty_selected_channel_reserve_satoshis as a
4850
- // non-option, writing 0 for what we now consider None.
4851
- counterparty_selected_channel_reserve_satoshis = None ;
4852
+ let mut counterparty_selected_channel_reserve_satoshis = None ;
4853
+ if ver == 1 {
4854
+ // Read the old serialization from version 0.0.98.
4855
+ counterparty_selected_channel_reserve_satoshis = Some ( Readable :: read ( reader) ?) ;
4856
+ } else {
4857
+ // Read the 8 bytes of backwards-compatibility data.
4858
+ let _dummy: u64 = Readable :: read ( reader) ?;
4852
4859
}
4853
4860
let counterparty_htlc_minimum_msat = Readable :: read ( reader) ?;
4854
4861
let holder_htlc_minimum_msat = Readable :: read ( reader) ?;
4855
4862
let counterparty_max_accepted_htlcs = Readable :: read ( reader) ?;
4856
- let mut minimum_depth = Some ( Readable :: read ( reader) ?) ;
4857
- if minimum_depth == Some ( 0 ) {
4858
- // Versions up to 0.0.98 had minimum_depth as a non-option, writing 0 for what we now
4859
- // consider None.
4860
- minimum_depth = None ;
4863
+
4864
+ let mut minimum_depth = None ;
4865
+ if ver == 1 {
4866
+ // Read the old serialization from version 0.0.98.
4867
+ minimum_depth = Some ( Readable :: read ( reader) ?) ;
4868
+ } else {
4869
+ // Read the 4 bytes of backwards-compatibility data.
4870
+ let _dummy: u32 = Readable :: read ( reader) ?;
4861
4871
}
4862
4872
4863
4873
let counterparty_forwarding_info = match <u8 as Readable >:: read ( reader) ? {
0 commit comments