Skip to content

Commit 7cfd7d4

Browse files
committed
f - fix raw byte encoding bug
1 parent 7f3e7cd commit 7cfd7d4

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

lightning/src/offers/offer.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ use io;
7979
use ln::features::OfferFeatures;
8080
use offers::parse::{Bech32Encode, ParseError, SemanticError};
8181
use onion_message::BlindedPath;
82-
use util::ser::{Readable, Writeable, Writer};
82+
use util::ser::{Readable, WithoutLength, Writeable, Writer};
8383

8484
use prelude::*;
8585

@@ -394,7 +394,7 @@ impl OfferContents {
394394

395395
impl Writeable for Offer {
396396
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> {
397-
self.bytes.write(writer)
397+
WithoutLength(&self.bytes).write(writer)
398398
}
399399
}
400400

@@ -558,11 +558,12 @@ impl core::fmt::Display for Offer {
558558

559559
#[cfg(test)]
560560
mod tests {
561-
use super::{Amount, OfferBuilder};
561+
use super::{Amount, Offer, OfferBuilder};
562562

563563
use bitcoin::blockdata::constants::ChainHash;
564564
use bitcoin::network::constants::Network;
565565
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
566+
use core::convert::TryFrom;
566567
use core::num::NonZeroU64;
567568
use core::time::Duration;
568569
use ln::features::OfferFeatures;
@@ -584,7 +585,7 @@ mod tests {
584585
let offer = OfferBuilder::new("foo".into(), pubkey(42)).build().unwrap();
585586
let tlv_stream = offer.as_tlv_stream();
586587
let mut buffer = Vec::new();
587-
offer.contents.write(&mut buffer).unwrap();
588+
offer.write(&mut buffer).unwrap();
588589

589590
assert_eq!(offer.as_bytes(), buffer.as_slice());
590591
assert_eq!(offer.chains(), vec![ChainHash::using_genesis_block(Network::Bitcoin)]);
@@ -613,6 +614,10 @@ mod tests {
613614
assert_eq!(tlv_stream.quantity_min, None);
614615
assert_eq!(tlv_stream.quantity_max, None);
615616
assert_eq!(tlv_stream.node_id, Some(&pubkey(42)));
617+
618+
if let Err(e) = Offer::try_from(buffer) {
619+
panic!("error parsing offer: {:?}", e);
620+
}
616621
}
617622

618623
#[test]

0 commit comments

Comments
 (0)