@@ -48,8 +48,8 @@ use bech32::u5;
48
48
use bitcoin:: Address ;
49
49
use bitcoin:: Network ;
50
50
use bitcoin:: PubkeyHash ;
51
- use bitcoin:: Script ;
52
51
use bitcoin:: ScriptHash ;
52
+ use bitcoin:: util:: address:: Payload ;
53
53
use bitcoin:: util:: address:: WitnessVersion ;
54
54
use bitcoin_hashes:: Hash ;
55
55
use bitcoin_hashes:: sha256;
@@ -1273,20 +1273,20 @@ impl Invoice {
1273
1273
Currency :: Simnet => Network :: Regtest ,
1274
1274
Currency :: Signet => Network :: Signet ,
1275
1275
} ;
1276
-
1277
- let script = match fallback {
1276
+
1277
+ let payload = match fallback {
1278
1278
Fallback :: SegWitProgram { version, program } => {
1279
- Script :: new_witness_program ( * version, program. as_slice ( ) )
1279
+ Payload :: WitnessProgram { version : * version, program : program . to_vec ( ) }
1280
1280
}
1281
1281
Fallback :: PubKeyHash ( pkh) => {
1282
- Script :: new_p2pkh ( pkh)
1282
+ Payload :: PubkeyHash ( * pkh)
1283
1283
}
1284
1284
Fallback :: ScriptHash ( sh) => {
1285
- Script :: new_p2sh ( sh)
1285
+ Payload :: ScriptHash ( * sh)
1286
1286
}
1287
1287
} ;
1288
-
1289
- Address :: from_script ( & script , network) . unwrap ( )
1288
+
1289
+ Address { payload , network }
1290
1290
} ) . collect ( )
1291
1291
}
1292
1292
@@ -1599,6 +1599,7 @@ impl<'de> Deserialize<'de> for Invoice {
1599
1599
1600
1600
#[ cfg( test) ]
1601
1601
mod test {
1602
+ use bitcoin:: Script ;
1602
1603
use bitcoin_hashes:: hex:: FromHex ;
1603
1604
use bitcoin_hashes:: sha256;
1604
1605
@@ -1991,7 +1992,6 @@ mod test {
1991
1992
assert_eq ! ( invoice. fallbacks( ) , vec![ & Fallback :: PubKeyHash ( PubkeyHash :: from_slice( & [ 0 ; 20 ] ) . unwrap( ) ) ] ) ;
1992
1993
let address = Address :: from_script ( & Script :: new_p2pkh ( & PubkeyHash :: from_slice ( & [ 0 ; 20 ] ) . unwrap ( ) ) , Network :: Testnet ) . unwrap ( ) ;
1993
1994
assert_eq ! ( invoice. fallback_addresses( ) , vec![ address] ) ;
1994
-
1995
1995
assert_eq ! ( invoice. private_routes( ) , vec![ & PrivateRoute ( route_1) , & PrivateRoute ( route_2) ] ) ;
1996
1996
assert_eq ! (
1997
1997
invoice. description( ) ,
0 commit comments