@@ -80,7 +80,7 @@ use ln::features::OfferFeatures;
80
80
use ln:: msgs:: MAX_VALUE_MSAT ;
81
81
use offers:: parse:: { Bech32Encode , ParseError , SemanticError } ;
82
82
use onion_message:: BlindedPath ;
83
- use util:: ser:: { Readable , Writeable , Writer } ;
83
+ use util:: ser:: { Readable , WithoutLength , Writeable , Writer } ;
84
84
85
85
use prelude:: * ;
86
86
@@ -409,7 +409,7 @@ impl OfferContents {
409
409
410
410
impl Writeable for Offer {
411
411
fn write < W : Writer > ( & self , writer : & mut W ) -> Result < ( ) , io:: Error > {
412
- self . bytes . write ( writer)
412
+ WithoutLength ( & self . bytes ) . write ( writer)
413
413
}
414
414
}
415
415
@@ -585,11 +585,12 @@ impl core::fmt::Display for Offer {
585
585
586
586
#[ cfg( test) ]
587
587
mod tests {
588
- use super :: { Amount , OfferBuilder } ;
588
+ use super :: { Amount , Offer , OfferBuilder } ;
589
589
590
590
use bitcoin:: blockdata:: constants:: ChainHash ;
591
591
use bitcoin:: network:: constants:: Network ;
592
592
use bitcoin:: secp256k1:: { PublicKey , Secp256k1 , SecretKey } ;
593
+ use core:: convert:: TryFrom ;
593
594
use core:: num:: NonZeroU64 ;
594
595
use core:: time:: Duration ;
595
596
use ln:: features:: OfferFeatures ;
@@ -612,7 +613,7 @@ mod tests {
612
613
let offer = OfferBuilder :: new ( "foo" . into ( ) , pubkey ( 42 ) ) . build ( ) . unwrap ( ) ;
613
614
let tlv_stream = offer. as_tlv_stream ( ) ;
614
615
let mut buffer = Vec :: new ( ) ;
615
- offer. contents . write ( & mut buffer) . unwrap ( ) ;
616
+ offer. write ( & mut buffer) . unwrap ( ) ;
616
617
617
618
assert_eq ! ( offer. bytes, buffer. as_slice( ) ) ;
618
619
assert_eq ! ( offer. chains( ) , vec![ ChainHash :: using_genesis_block( Network :: Bitcoin ) ] ) ;
@@ -641,6 +642,10 @@ mod tests {
641
642
assert_eq ! ( tlv_stream. quantity_min, None ) ;
642
643
assert_eq ! ( tlv_stream. quantity_max, None ) ;
643
644
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
+ }
644
649
}
645
650
646
651
#[ test]
0 commit comments