Skip to content

Commit 65b8f64

Browse files
committed
f - fix raw byte encoding bug
1 parent cae9b80 commit 65b8f64

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
@@ -80,7 +80,7 @@ use ln::features::OfferFeatures;
8080
use ln::msgs::MAX_VALUE_MSAT;
8181
use offers::parse::{Bech32Encode, ParseError, SemanticError};
8282
use onion_message::BlindedPath;
83-
use util::ser::{Readable, Writeable, Writer};
83+
use util::ser::{Readable, WithoutLength, Writeable, Writer};
8484

8585
use prelude::*;
8686

@@ -409,7 +409,7 @@ impl OfferContents {
409409

410410
impl Writeable for Offer {
411411
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> {
412-
self.bytes.write(writer)
412+
WithoutLength(&self.bytes).write(writer)
413413
}
414414
}
415415

@@ -585,11 +585,12 @@ impl core::fmt::Display for Offer {
585585

586586
#[cfg(test)]
587587
mod tests {
588-
use super::{Amount, OfferBuilder};
588+
use super::{Amount, Offer, OfferBuilder};
589589

590590
use bitcoin::blockdata::constants::ChainHash;
591591
use bitcoin::network::constants::Network;
592592
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
593+
use core::convert::TryFrom;
593594
use core::num::NonZeroU64;
594595
use core::time::Duration;
595596
use ln::features::OfferFeatures;
@@ -612,7 +613,7 @@ mod tests {
612613
let offer = OfferBuilder::new("foo".into(), pubkey(42)).build().unwrap();
613614
let tlv_stream = offer.as_tlv_stream();
614615
let mut buffer = Vec::new();
615-
offer.contents.write(&mut buffer).unwrap();
616+
offer.write(&mut buffer).unwrap();
616617

617618
assert_eq!(offer.bytes, buffer.as_slice());
618619
assert_eq!(offer.chains(), vec![ChainHash::using_genesis_block(Network::Bitcoin)]);
@@ -641,6 +642,10 @@ mod tests {
641642
assert_eq!(tlv_stream.quantity_min, None);
642643
assert_eq!(tlv_stream.quantity_max, None);
643644
assert_eq!(tlv_stream.node_id, Some(&pubkey(42)));
645+
646+
if let Err(e) = Offer::try_from(buffer) {
647+
panic!("error parsing offer: {:?}", e);
648+
}
644649
}
645650

646651
#[test]

0 commit comments

Comments
 (0)