Skip to content

Commit 55adbc5

Browse files
committed
f - fix raw byte encoding bug
1 parent ca8a64f commit 55adbc5

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

@@ -560,11 +560,12 @@ impl core::fmt::Display for Offer {
560560

561561
#[cfg(test)]
562562
mod tests {
563-
use super::{Amount, OfferBuilder};
563+
use super::{Amount, Offer, OfferBuilder};
564564

565565
use bitcoin::blockdata::constants::ChainHash;
566566
use bitcoin::network::constants::Network;
567567
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
568+
use core::convert::TryFrom;
568569
use core::num::NonZeroU64;
569570
use core::time::Duration;
570571
use ln::features::OfferFeatures;
@@ -586,7 +587,7 @@ mod tests {
586587
let offer = OfferBuilder::new("foo".into(), pubkey(42)).build().unwrap();
587588
let tlv_stream = offer.as_tlv_stream();
588589
let mut buffer = Vec::new();
589-
offer.contents.write(&mut buffer).unwrap();
590+
offer.write(&mut buffer).unwrap();
590591

591592
assert_eq!(offer.bytes, buffer.as_slice());
592593
assert_eq!(offer.chains(), vec![ChainHash::using_genesis_block(Network::Bitcoin)]);
@@ -615,6 +616,10 @@ mod tests {
615616
assert_eq!(tlv_stream.quantity_min, None);
616617
assert_eq!(tlv_stream.quantity_max, None);
617618
assert_eq!(tlv_stream.node_id, Some(&pubkey(42)));
619+
620+
if let Err(e) = Offer::try_from(buffer) {
621+
panic!("error parsing offer: {:?}", e);
622+
}
618623
}
619624

620625
#[test]

0 commit comments

Comments
 (0)