Skip to content

Commit 8f21227

Browse files
committed
Use LengthReadable trait for deserialization
Previously, our deserialization macros used the `Readable` trait by default. Now that `LengthReadable` is public and all `Readable` types also implement it, we can use `LengthReadable` instead.
1 parent fab6be9 commit 8f21227

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

lightning/src/ln/msgs.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1964,7 +1964,7 @@ impl LengthReadable for TrampolineOnionPacket {
19641964

19651965
let hop_data_len = r.total_bytes().saturating_sub(66); // 1 (version) + 33 (pubkey) + 32 (HMAC) = 66
19661966
let mut rd = FixedLengthReader::new(r, hop_data_len);
1967-
let hop_data = WithoutLength::<Vec<u8>>::read(&mut rd)?.0;
1967+
let hop_data = <WithoutLength::<Vec<u8>> as LengthReadable>::read_from_fixed_length_buffer(&mut rd)?.0;
19681968

19691969
let hmac = Readable::read(r)?;
19701970

@@ -2854,7 +2854,7 @@ impl<NS: Deref> ReadableArgs<(Option<PublicKey>, NS)> for InboundOnionPayload wh
28542854
let mut keysend_preimage: Option<PaymentPreimage> = None;
28552855
let mut custom_tlvs = Vec::new();
28562856

2857-
let tlv_len = BigSize::read(r)?;
2857+
let tlv_len = <BigSize as Readable>::read(r)?;
28582858
let mut rd = FixedLengthReader::new(r, tlv_len.0);
28592859
decode_tlv_stream_with_custom_tlv_decode!(&mut rd, {
28602860
(2, amt, (option, encoding: (u64, HighZeroBytesDroppedBigSize))),
@@ -4313,7 +4313,7 @@ mod tests {
43134313
let encoded_value = closing_signed.encode();
43144314
let target_value = <Vec<u8>>::from_hex("020202020202020202020202020202020202020202020202020202020202020200083a840000034dd977cb9b53d93a6ff64bb5f1e158b4094b66e798fb12911168a3ccdf80a83096340a6a95da0ae8d9f776528eecdbb747eb6b545495a4319ed5378e35b21e073a").unwrap();
43154315
assert_eq!(encoded_value, target_value);
4316-
assert_eq!(msgs::ClosingSigned::read(&mut Cursor::new(&target_value)).unwrap(), closing_signed);
4316+
assert_eq!(<msgs::ClosingSigned as Readable>::read(&mut Cursor::new(&target_value)).unwrap(), closing_signed);
43174317

43184318
let closing_signed_with_range = msgs::ClosingSigned {
43194319
channel_id: ChannelId::from_bytes([2; 32]),
@@ -4327,7 +4327,7 @@ mod tests {
43274327
let encoded_value_with_range = closing_signed_with_range.encode();
43284328
let target_value_with_range = <Vec<u8>>::from_hex("020202020202020202020202020202020202020202020202020202020202020200083a840000034dd977cb9b53d93a6ff64bb5f1e158b4094b66e798fb12911168a3ccdf80a83096340a6a95da0ae8d9f776528eecdbb747eb6b545495a4319ed5378e35b21e073a011000000000deadbeef1badcafe01234567").unwrap();
43294329
assert_eq!(encoded_value_with_range, target_value_with_range);
4330-
assert_eq!(msgs::ClosingSigned::read(&mut Cursor::new(&target_value_with_range)).unwrap(),
4330+
assert_eq!(<msgs::ClosingSigned as Readable>::read(&mut Cursor::new(&target_value_with_range)).unwrap(),
43314331
closing_signed_with_range);
43324332
}
43334333

@@ -4491,7 +4491,7 @@ mod tests {
44914491
let encoded_value = init_msg.encode();
44924492
let target_value = <Vec<u8>>::from_hex("0000000001206fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900000000000307017f00000103e8").unwrap();
44934493
assert_eq!(encoded_value, target_value);
4494-
assert_eq!(msgs::Init::read(&mut Cursor::new(&target_value)).unwrap(), init_msg);
4494+
assert_eq!(<msgs::Init as Readable>::read(&mut Cursor::new(&target_value)).unwrap(), init_msg);
44954495
}
44964496

44974497
#[test]

lightning/src/util/ser_macros.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ macro_rules! _decode_tlv {
385385
($outer_reader: expr, $reader: expr, $field: ident, (static_value, $value: expr)) => {{
386386
}};
387387
($outer_reader: expr, $reader: expr, $field: ident, required) => {{
388-
$field = $crate::util::ser::Readable::read(&mut $reader)?;
388+
$field = $crate::util::ser::LengthReadable::read_from_fixed_length_buffer(&mut $reader)?;
389389
}};
390390
($outer_reader: expr, $reader: expr, $field: ident, (required: $trait: ident $(, $read_arg: expr)?)) => {{
391391
$field = $trait::read(&mut $reader $(, $read_arg)*)?;
@@ -395,7 +395,7 @@ macro_rules! _decode_tlv {
395395
$field = f.0;
396396
}};
397397
($outer_reader: expr, $reader: expr, $field: ident, option) => {{
398-
$field = Some($crate::util::ser::Readable::read(&mut $reader)?);
398+
$field = Some($crate::util::ser::LengthReadable::read_from_fixed_length_buffer(&mut $reader)?);
399399
}};
400400
($outer_reader: expr, $reader: expr, $field: ident, (option, explicit_type: $fieldty: ty)) => {{
401401
let _field: &Option<$fieldty> = &$field;
@@ -453,7 +453,7 @@ macro_rules! _decode_tlv {
453453
}};
454454
($outer_reader: expr, $reader: expr, $field: ident, (option, encoding: ($fieldty: ty, $encoding: ident))) => {{
455455
$field = {
456-
let field: $encoding<$fieldty> = ser::Readable::read(&mut $reader)?;
456+
let field: $encoding<$fieldty> = ser::LengthReadable::read_from_fixed_length_buffer(&mut $reader)?;
457457
Some(field.0)
458458
};
459459
}};

0 commit comments

Comments
 (0)