@@ -48,8 +48,8 @@ use bech32::u5;
4848use bitcoin:: Address ;
4949use bitcoin:: Network ;
5050use bitcoin:: PubkeyHash ;
51- use bitcoin:: Script ;
5251use bitcoin:: ScriptHash ;
52+ use bitcoin:: util:: address:: Payload ;
5353use bitcoin:: util:: address:: WitnessVersion ;
5454use bitcoin_hashes:: Hash ;
5555use bitcoin_hashes:: sha256;
@@ -1273,20 +1273,20 @@ impl Invoice {
12731273 Currency :: Simnet => Network :: Regtest ,
12741274 Currency :: Signet => Network :: Signet ,
12751275 } ;
1276-
1277- let script = match fallback {
1276+
1277+ let payload = match fallback {
12781278 Fallback :: SegWitProgram { version, program } => {
1279- Script :: new_witness_program ( * version, program. as_slice ( ) )
1279+ Payload :: WitnessProgram { version : * version, program : program . to_vec ( ) }
12801280 }
12811281 Fallback :: PubKeyHash ( pkh) => {
1282- Script :: new_p2pkh ( pkh)
1282+ Payload :: PubkeyHash ( * pkh)
12831283 }
12841284 Fallback :: ScriptHash ( sh) => {
1285- Script :: new_p2sh ( sh)
1285+ Payload :: ScriptHash ( * sh)
12861286 }
12871287 } ;
1288-
1289- Address :: from_script ( & script , network) . unwrap ( )
1288+
1289+ Address { payload , network }
12901290 } ) . collect ( )
12911291 }
12921292
@@ -1599,6 +1599,7 @@ impl<'de> Deserialize<'de> for Invoice {
15991599
16001600#[ cfg( test) ]
16011601mod test {
1602+ use bitcoin:: Script ;
16021603 use bitcoin_hashes:: hex:: FromHex ;
16031604 use bitcoin_hashes:: sha256;
16041605
@@ -1991,7 +1992,6 @@ mod test {
19911992 assert_eq ! ( invoice. fallbacks( ) , vec![ & Fallback :: PubKeyHash ( PubkeyHash :: from_slice( & [ 0 ; 20 ] ) . unwrap( ) ) ] ) ;
19921993 let address = Address :: from_script ( & Script :: new_p2pkh ( & PubkeyHash :: from_slice ( & [ 0 ; 20 ] ) . unwrap ( ) ) , Network :: Testnet ) . unwrap ( ) ;
19931994 assert_eq ! ( invoice. fallback_addresses( ) , vec![ address] ) ;
1994-
19951995 assert_eq ! ( invoice. private_routes( ) , vec![ & PrivateRoute ( route_1) , & PrivateRoute ( route_2) ] ) ;
19961996 assert_eq ! (
19971997 invoice. description( ) ,
0 commit comments