@@ -9,12 +9,15 @@ use bitcoin::address::{Address, KnownHrp, NetworkChecked};
99use bitcoin:: bip32:: { Xpriv , Xpub } ;
1010use bitcoin:: { secp256k1, Amount , CompressedPublicKey , FeeRate , Network , PrivateKey , PublicKey } ;
1111use integration_test:: { Node , NodeExt as _, Wallet } ;
12- use node:: { mtype, AddressType , ImportMultiRequest , ImportMultiScriptPubKey , ImportMultiTimestamp } ;
12+ use node:: {
13+ mtype, AddressType , ImportMultiRequest , ImportMultiScriptPubKey , ImportMultiTimestamp , WalletCreateFundedPsbtInput
14+ } ;
1315
1416#[ cfg( not( feature = "v20_and_below" ) ) ]
1517use node:: ImportDescriptorsRequest ;
1618
1719use node:: vtype:: * ; // All the version specific types.
20+ use std:: collections:: BTreeMap ;
1821use std:: fs;
1922use std:: time:: { SystemTime , UNIX_EPOCH } ;
2023
@@ -988,6 +991,24 @@ fn wallet__simulate_raw_transaction() {
988991 assert ! ( model. balance_change. is_negative( ) ) ;
989992}
990993
994+ #[ test]
995+ fn wallet__wallet_create_funded_psbt__modelled ( ) {
996+ let node = Node :: with_wallet ( Wallet :: Default , & [ ] ) ;
997+ node. fund_wallet ( ) ;
998+
999+ let addr = node. client . new_address ( ) . expect ( "newaddress" ) ;
1000+ let outputs = BTreeMap :: from ( [ ( addr, Amount :: from_sat ( 100_000 ) ) ] ) ;
1001+ let json: WalletCreateFundedPsbt = node
1002+ . client
1003+ . wallet_create_funded_psbt ( vec ! [ ] , vec ! [ outputs] )
1004+ . expect ( "walletcreatefundedpsbt" ) ;
1005+
1006+ let model: Result < mtype:: WalletCreateFundedPsbt , WalletCreateFundedPsbtError > = json. into_model ( ) ;
1007+ let psbt = model. unwrap ( ) ;
1008+
1009+ assert ! ( !psbt. psbt. inputs. is_empty( ) ) ;
1010+ }
1011+
9911012#[ test]
9921013fn wallet__wallet_lock ( ) {
9931014 let node = Node :: with_wallet ( Wallet :: Default , & [ ] ) ;
0 commit comments