@@ -26,10 +26,10 @@ use crate::json::BlockStatsFields as BsFields;
2626use bitcoin:: consensus:: encode:: { deserialize, serialize_hex} ;
2727use bitcoin:: hashes:: hex:: FromHex ;
2828use bitcoin:: hashes:: Hash ;
29- use bitcoin:: { secp256k1, ScriptBuf , sighash } ;
29+ use bitcoin:: { secp256k1, sighash , ScriptBuf } ;
3030use bitcoin:: {
31- Address , Amount , Network , OutPoint , PrivateKey ,
32- Sequence , SignedAmount , Transaction , TxIn , TxOut , Txid , Witness ,
31+ Address , Amount , Network , OutPoint , PrivateKey , Sequence , SignedAmount , Transaction , TxIn ,
32+ TxOut , Txid , Witness ,
3333} ;
3434use bitcoincore_rpc:: bitcoincore_rpc_json:: {
3535 GetBlockTemplateModes , GetBlockTemplateRules , ScanTxOutRequest ,
@@ -249,7 +249,8 @@ fn test_get_new_address(cl: &Client) {
249249 let addr = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
250250 assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2wpkh ) ) ;
251251
252- let addr = cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
252+ let addr =
253+ cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
253254 assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2sh ) ) ;
254255}
255256
@@ -260,7 +261,8 @@ fn test_get_raw_change_address(cl: &Client) {
260261 let addr = cl. get_raw_change_address ( Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
261262 assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2wpkh ) ) ;
262263
263- let addr = cl. get_raw_change_address ( Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
264+ let addr =
265+ cl. get_raw_change_address ( Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
264266 assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2sh ) ) ;
265267}
266268
@@ -290,7 +292,9 @@ fn test_generate(cl: &Client) {
290292fn test_get_balance_generate_to_address ( cl : & Client ) {
291293 let initial = cl. get_balance ( None , None ) . unwrap ( ) ;
292294
293- let blocks = cl. generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
295+ let blocks = cl
296+ . generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
297+ . unwrap ( ) ;
294298 assert_eq ! ( blocks. len( ) , 500 ) ;
295299 assert_ne ! ( cl. get_balance( None , None ) . unwrap( ) , initial) ;
296300}
@@ -299,7 +303,9 @@ fn test_get_balances_generate_to_address(cl: &Client) {
299303 if version ( ) >= 190000 {
300304 let initial = cl. get_balances ( ) . unwrap ( ) ;
301305
302- let blocks = cl. generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
306+ let blocks = cl
307+ . generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
308+ . unwrap ( ) ;
303309 assert_eq ! ( blocks. len( ) , 500 ) ;
304310 assert_ne ! ( cl. get_balances( ) . unwrap( ) , initial) ;
305311 }
@@ -375,7 +381,8 @@ fn test_get_address_info(cl: &Client) {
375381 let info = cl. get_address_info ( & addr) . unwrap ( ) ;
376382 assert ! ( !info. witness_program. unwrap( ) . is_empty( ) ) ;
377383
378- let addr = cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
384+ let addr =
385+ cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
379386 let info = cl. get_address_info ( & addr) . unwrap ( ) ;
380387 assert ! ( !info. hex. unwrap( ) . is_empty( ) ) ;
381388}
@@ -431,27 +438,33 @@ fn test_get_received_by_address(cl: &Client) {
431438 let _ = cl. send_to_address ( & addr, btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
432439 assert_eq ! ( cl. get_received_by_address( & addr, Some ( 0 ) ) . unwrap( ) , btc( 1 ) ) ;
433440 assert_eq ! ( cl. get_received_by_address( & addr, Some ( 1 ) ) . unwrap( ) , btc( 0 ) ) ;
434- let _ = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
441+ let _ = cl
442+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
443+ . unwrap ( ) ;
435444 assert_eq ! ( cl. get_received_by_address( & addr, Some ( 6 ) ) . unwrap( ) , btc( 1 ) ) ;
436445 assert_eq ! ( cl. get_received_by_address( & addr, None ) . unwrap( ) , btc( 1 ) ) ;
437446}
438447
439448fn test_list_unspent ( cl : & Client ) {
440449 let addr = cl. get_new_address ( None , None ) . unwrap ( ) ;
441450 let addr_checked = addr. clone ( ) . assume_checked ( ) ;
442- let txid = cl. send_to_address ( & addr. clone ( ) . assume_checked ( ) , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
443- let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , None ) . unwrap ( ) ;
451+ let txid = cl
452+ . send_to_address ( & addr. clone ( ) . assume_checked ( ) , btc ( 1 ) , None , None , None , None , None , None )
453+ . unwrap ( ) ;
454+ let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , None ) . unwrap ( ) ;
444455 assert_eq ! ( unspent[ 0 ] . txid, txid) ;
445456 assert_eq ! ( unspent[ 0 ] . address. as_ref( ) , Some ( & addr) ) ;
446457 assert_eq ! ( unspent[ 0 ] . amount, btc( 1 ) ) ;
447458
448- let txid = cl. send_to_address ( & addr_checked, btc ( 7 ) , None , None , None , None , None , None ) . unwrap ( ) ;
459+ let txid =
460+ cl. send_to_address ( & addr_checked, btc ( 7 ) , None , None , None , None , None , None ) . unwrap ( ) ;
449461 let options = json:: ListUnspentQueryOptions {
450462 minimum_amount : Some ( btc ( 7 ) ) ,
451463 maximum_amount : Some ( btc ( 7 ) ) ,
452464 ..Default :: default ( )
453465 } ;
454- let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , Some ( options) ) . unwrap ( ) ;
466+ let unspent =
467+ cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , Some ( options) ) . unwrap ( ) ;
455468 assert_eq ! ( unspent. len( ) , 1 ) ;
456469 assert_eq ! ( unspent[ 0 ] . txid, txid) ;
457470 assert_eq ! ( unspent[ 0 ] . address. as_ref( ) , Some ( & addr) ) ;
@@ -477,7 +490,9 @@ fn test_get_raw_transaction(cl: &Client) {
477490 let info = cl. get_raw_transaction_info ( & txid, None ) . unwrap ( ) ;
478491 assert_eq ! ( info. txid, txid) ;
479492
480- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
493+ let blocks = cl
494+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
495+ . unwrap ( ) ;
481496 let _ = cl. get_raw_transaction_info ( & txid, Some ( & blocks[ 0 ] ) ) . unwrap ( ) ;
482497}
483498
@@ -533,7 +548,9 @@ fn test_get_tx_out_proof(cl: &Client) {
533548 cl. send_to_address ( & RANDOM_ADDRESS , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
534549 let txid2 =
535550 cl. send_to_address ( & RANDOM_ADDRESS , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
536- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
551+ let blocks = cl
552+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
553+ . unwrap ( ) ;
537554 let proof = cl. get_tx_out_proof ( & [ txid1, txid2] , Some ( & blocks[ 0 ] ) ) . unwrap ( ) ;
538555 assert ! ( !proof. is_empty( ) ) ;
539556}
@@ -560,7 +577,9 @@ fn test_lock_unspent_unlock_unspent(cl: &Client) {
560577}
561578
562579fn test_get_block_filter ( cl : & Client ) {
563- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
580+ let blocks = cl
581+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
582+ . unwrap ( ) ;
564583 if version ( ) >= 190000 {
565584 let _ = cl. get_block_filter ( & blocks[ 0 ] ) . unwrap ( ) ;
566585 } else {
@@ -631,7 +650,12 @@ fn test_sign_raw_transaction_with_send_raw_transaction(cl: &Client) {
631650 } ;
632651
633652 let res = cl
634- . sign_raw_transaction_with_key ( & tx, & [ sk] , None , Some ( sighash:: EcdsaSighashType :: All . into ( ) ) )
653+ . sign_raw_transaction_with_key (
654+ & tx,
655+ & [ sk] ,
656+ None ,
657+ Some ( sighash:: EcdsaSighashType :: All . into ( ) ) ,
658+ )
635659 . unwrap ( ) ;
636660 assert ! ( res. complete) ;
637661 let _ = cl. send_raw_transaction ( & res. transaction ( ) . unwrap ( ) ) . unwrap ( ) ;
@@ -1280,9 +1304,7 @@ fn test_getblocktemplate(cl: &Client) {
12801304fn test_unloadwallet ( cl : & Client ) {
12811305 cl. create_wallet ( "testunloadwallet" , None , None , None , None ) . unwrap ( ) ;
12821306
1283- let res = new_wallet_client ( "testunloadwallet" )
1284- . unload_wallet ( None )
1285- . unwrap ( ) ;
1307+ let res = new_wallet_client ( "testunloadwallet" ) . unload_wallet ( None ) . unwrap ( ) ;
12861308
12871309 if version ( ) >= 210000 {
12881310 assert ! ( res. is_some( ) ) ;
@@ -1321,20 +1343,37 @@ fn test_wait_for_new_block(cl: &Client) {
13211343 let hash = cl. get_block_hash ( height) . unwrap ( ) ;
13221344
13231345 assert ! ( cl. wait_for_new_block( std:: u64 :: MAX ) . is_err( ) ) ; // JSON integer out of range
1324- assert_eq ! ( cl. wait_for_new_block( 100 ) . unwrap( ) , json:: BlockRef { hash, height} ) ;
1346+ assert_eq ! (
1347+ cl. wait_for_new_block( 100 ) . unwrap( ) ,
1348+ json:: BlockRef {
1349+ hash,
1350+ height
1351+ }
1352+ ) ;
13251353}
13261354
13271355fn test_wait_for_block ( cl : & Client ) {
13281356 let height = cl. get_block_count ( ) . unwrap ( ) ;
13291357 let hash = cl. get_block_hash ( height) . unwrap ( ) ;
13301358
13311359 assert ! ( cl. wait_for_block( & hash, std:: u64 :: MAX ) . is_err( ) ) ; // JSON integer out of range
1332- assert_eq ! ( cl. wait_for_block( & hash, 0 ) . unwrap( ) , json:: BlockRef { hash, height} ) ;
1360+ assert_eq ! (
1361+ cl. wait_for_block( & hash, 0 ) . unwrap( ) ,
1362+ json:: BlockRef {
1363+ hash,
1364+ height
1365+ }
1366+ ) ;
13331367}
13341368
13351369fn test_get_descriptor_info ( cl : & Client ) {
1336- let res = cl. get_descriptor_info ( r"pkh(cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR)" ) . unwrap ( ) ;
1337- assert_eq ! ( res. descriptor, r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ) ;
1370+ let res = cl
1371+ . get_descriptor_info ( r"pkh(cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR)" )
1372+ . unwrap ( ) ;
1373+ assert_eq ! (
1374+ res. descriptor,
1375+ r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x"
1376+ ) ;
13381377 assert_eq ! ( res. is_range, false ) ;
13391378 assert_eq ! ( res. is_solvable, true ) ;
13401379 assert_eq ! ( res. has_private_keys, true ) ;
@@ -1352,34 +1391,50 @@ fn test_get_descriptor_info(cl: &Client) {
13521391fn test_add_multisig_address ( cl : & Client ) {
13531392 let addr1 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
13541393 let addr2 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
1355- let addresses = [
1356- json:: PubKeyOrAddress :: Address ( & addr1) ,
1357- json:: PubKeyOrAddress :: Address ( & addr2) ,
1358- ] ;
1394+ let addresses =
1395+ [ json:: PubKeyOrAddress :: Address ( & addr1) , json:: PubKeyOrAddress :: Address ( & addr2) ] ;
13591396
13601397 assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , None ) . is_ok( ) ) ;
13611398 assert ! ( cl. add_multisig_address( addresses. len( ) - 1 , & addresses, None , None ) . is_ok( ) ) ;
13621399 assert ! ( cl. add_multisig_address( addresses. len( ) + 1 , & addresses, None , None ) . is_err( ) ) ;
13631400 assert ! ( cl. add_multisig_address( 0 , & addresses, None , None ) . is_err( ) ) ;
13641401 assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, Some ( "test_label" ) , None ) . is_ok( ) ) ;
1365- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Legacy ) ) . is_ok( ) ) ;
1366- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: P2shSegwit ) ) . is_ok( ) ) ;
1367- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) ) . is_ok( ) ) ;
1402+ assert ! ( cl
1403+ . add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Legacy ) )
1404+ . is_ok( ) ) ;
1405+ assert ! ( cl
1406+ . add_multisig_address(
1407+ addresses. len( ) ,
1408+ & addresses,
1409+ None ,
1410+ Some ( json:: AddressType :: P2shSegwit )
1411+ )
1412+ . is_ok( ) ) ;
1413+ assert ! ( cl
1414+ . add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) )
1415+ . is_ok( ) ) ;
13681416}
13691417
13701418fn test_derive_addresses ( cl : & Client ) {
1371- let descriptor = r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ;
1372- assert_eq ! ( cl. derive_addresses( descriptor, None ) . unwrap( ) , vec![ "mrkwtj5xpYQjHeJe5wsweNjVeTKkvR5fCr" . parse( ) . unwrap( ) ] ) ;
1419+ let descriptor =
1420+ r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ;
1421+ assert_eq ! (
1422+ cl. derive_addresses( descriptor, None ) . unwrap( ) ,
1423+ vec![ "mrkwtj5xpYQjHeJe5wsweNjVeTKkvR5fCr" . parse( ) . unwrap( ) ]
1424+ ) ;
13731425 assert ! ( cl. derive_addresses( descriptor, Some ( [ 0 , 1 ] ) ) . is_err( ) ) ; // Range should not be specified for an unranged descriptor
13741426
13751427 let descriptor = std:: concat!(
13761428 r"wpkh([1004658e/84'/1'/0']tpubDCBEcmVKbfC9KfdydyLbJ2gfNL88grZu1XcWSW9ytTM6fi" ,
13771429 r"tvaRmVyr8Ddf7SjZ2ZfMx9RicjYAXhuh3fmLiVLPodPEqnQQURUfrBKiiVZc8/0/*)#g8l47ngv" ,
13781430 ) ;
1379- assert_eq ! ( cl. derive_addresses( descriptor, Some ( [ 0 , 1 ] ) ) . unwrap( ) , vec![
1380- "bcrt1q5n5tjkpva8v5s0uadu2y5f0g7pn4h5eqaq2ux2" . parse( ) . unwrap( ) ,
1381- "bcrt1qcgl303ht03ja2e0hudpwk7ypcxk5t478wspzlt" . parse( ) . unwrap( ) ,
1382- ] ) ;
1431+ assert_eq ! (
1432+ cl. derive_addresses( descriptor, Some ( [ 0 , 1 ] ) ) . unwrap( ) ,
1433+ vec![
1434+ "bcrt1q5n5tjkpva8v5s0uadu2y5f0g7pn4h5eqaq2ux2" . parse( ) . unwrap( ) ,
1435+ "bcrt1qcgl303ht03ja2e0hudpwk7ypcxk5t478wspzlt" . parse( ) . unwrap( ) ,
1436+ ]
1437+ ) ;
13831438 assert ! ( cl. derive_addresses( descriptor, None ) . is_err( ) ) ; // Range must be specified for a ranged descriptor
13841439}
13851440
0 commit comments