@@ -27,7 +27,7 @@ use bitcoin::consensus::encode::{deserialize, serialize_hex};
27
27
use bitcoin:: hashes:: hex:: FromHex ;
28
28
use bitcoin:: hashes:: Hash ;
29
29
use bitcoin:: sign_message:: MessageSignature ;
30
- use bitcoin:: { secp256k1, ScriptBuf , sighash } ;
30
+ use bitcoin:: { secp256k1, sighash , ScriptBuf } ;
31
31
use bitcoin:: {
32
32
transaction, Address , Amount , Network , OutPoint , PrivateKey , Sequence , SignedAmount ,
33
33
Transaction , TxIn , TxOut , Txid , Witness ,
@@ -252,7 +252,8 @@ fn test_get_new_address(cl: &Client) {
252
252
let addr = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
253
253
assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2wpkh ) ) ;
254
254
255
- let addr = cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
255
+ let addr =
256
+ cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
256
257
assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2sh ) ) ;
257
258
}
258
259
@@ -263,7 +264,8 @@ fn test_get_raw_change_address(cl: &Client) {
263
264
let addr = cl. get_raw_change_address ( Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
264
265
assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2wpkh ) ) ;
265
266
266
- let addr = cl. get_raw_change_address ( Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
267
+ let addr =
268
+ cl. get_raw_change_address ( Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
267
269
assert_eq ! ( addr. address_type( ) , Some ( bitcoin:: AddressType :: P2sh ) ) ;
268
270
}
269
271
@@ -293,7 +295,9 @@ fn test_generate(cl: &Client) {
293
295
fn test_get_balance_generate_to_address ( cl : & Client ) {
294
296
let initial = cl. get_balance ( None , None ) . unwrap ( ) ;
295
297
296
- let blocks = cl. generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
298
+ let blocks = cl
299
+ . generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
300
+ . unwrap ( ) ;
297
301
assert_eq ! ( blocks. len( ) , 500 ) ;
298
302
assert_ne ! ( cl. get_balance( None , None ) . unwrap( ) , initial) ;
299
303
}
@@ -302,7 +306,9 @@ fn test_get_balances_generate_to_address(cl: &Client) {
302
306
if version ( ) >= 190000 {
303
307
let initial = cl. get_balances ( ) . unwrap ( ) ;
304
308
305
- let blocks = cl. generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
309
+ let blocks = cl
310
+ . generate_to_address ( 500 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
311
+ . unwrap ( ) ;
306
312
assert_eq ! ( blocks. len( ) , 500 ) ;
307
313
assert_ne ! ( cl. get_balances( ) . unwrap( ) , initial) ;
308
314
}
@@ -378,7 +384,8 @@ fn test_get_address_info(cl: &Client) {
378
384
let info = cl. get_address_info ( & addr) . unwrap ( ) ;
379
385
assert ! ( !info. witness_program. unwrap( ) . is_empty( ) ) ;
380
386
381
- let addr = cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
387
+ let addr =
388
+ cl. get_new_address ( None , Some ( json:: AddressType :: P2shSegwit ) ) . unwrap ( ) . assume_checked ( ) ;
382
389
let info = cl. get_address_info ( & addr) . unwrap ( ) ;
383
390
assert ! ( !info. hex. unwrap( ) . is_empty( ) ) ;
384
391
}
@@ -434,27 +441,33 @@ fn test_get_received_by_address(cl: &Client) {
434
441
let _ = cl. send_to_address ( & addr, btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
435
442
assert_eq ! ( cl. get_received_by_address( & addr, Some ( 0 ) ) . unwrap( ) , btc( 1 ) ) ;
436
443
assert_eq ! ( cl. get_received_by_address( & addr, Some ( 1 ) ) . unwrap( ) , btc( 0 ) ) ;
437
- let _ = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
444
+ let _ = cl
445
+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
446
+ . unwrap ( ) ;
438
447
assert_eq ! ( cl. get_received_by_address( & addr, Some ( 6 ) ) . unwrap( ) , btc( 1 ) ) ;
439
448
assert_eq ! ( cl. get_received_by_address( & addr, None ) . unwrap( ) , btc( 1 ) ) ;
440
449
}
441
450
442
451
fn test_list_unspent ( cl : & Client ) {
443
452
let addr = cl. get_new_address ( None , None ) . unwrap ( ) ;
444
453
let addr_checked = addr. clone ( ) . assume_checked ( ) ;
445
- let txid = cl. send_to_address ( & addr. clone ( ) . assume_checked ( ) , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
446
- let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , None ) . unwrap ( ) ;
454
+ let txid = cl
455
+ . send_to_address ( & addr. clone ( ) . assume_checked ( ) , btc ( 1 ) , None , None , None , None , None , None )
456
+ . unwrap ( ) ;
457
+ let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , None ) . unwrap ( ) ;
447
458
assert_eq ! ( unspent[ 0 ] . txid, txid) ;
448
459
assert_eq ! ( unspent[ 0 ] . address. as_ref( ) , Some ( & addr) ) ;
449
460
assert_eq ! ( unspent[ 0 ] . amount, btc( 1 ) ) ;
450
461
451
- let txid = cl. send_to_address ( & addr_checked, btc ( 7 ) , None , None , None , None , None , None ) . unwrap ( ) ;
462
+ let txid =
463
+ cl. send_to_address ( & addr_checked, btc ( 7 ) , None , None , None , None , None , None ) . unwrap ( ) ;
452
464
let options = json:: ListUnspentQueryOptions {
453
465
minimum_amount : Some ( btc ( 7 ) ) ,
454
466
maximum_amount : Some ( btc ( 7 ) ) ,
455
467
..Default :: default ( )
456
468
} ;
457
- let unspent = cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , Some ( options) ) . unwrap ( ) ;
469
+ let unspent =
470
+ cl. list_unspent ( Some ( 0 ) , None , Some ( & [ & addr_checked] ) , None , Some ( options) ) . unwrap ( ) ;
458
471
assert_eq ! ( unspent. len( ) , 1 ) ;
459
472
assert_eq ! ( unspent[ 0 ] . txid, txid) ;
460
473
assert_eq ! ( unspent[ 0 ] . address. as_ref( ) , Some ( & addr) ) ;
@@ -480,7 +493,9 @@ fn test_get_raw_transaction(cl: &Client) {
480
493
let info = cl. get_raw_transaction_info ( & txid, None ) . unwrap ( ) ;
481
494
assert_eq ! ( info. txid, txid) ;
482
495
483
- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
496
+ let blocks = cl
497
+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
498
+ . unwrap ( ) ;
484
499
let _ = cl. get_raw_transaction_info ( & txid, Some ( & blocks[ 0 ] ) ) . unwrap ( ) ;
485
500
}
486
501
@@ -536,7 +551,9 @@ fn test_get_tx_out_proof(cl: &Client) {
536
551
cl. send_to_address ( & RANDOM_ADDRESS , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
537
552
let txid2 =
538
553
cl. send_to_address ( & RANDOM_ADDRESS , btc ( 1 ) , None , None , None , None , None , None ) . unwrap ( ) ;
539
- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
554
+ let blocks = cl
555
+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
556
+ . unwrap ( ) ;
540
557
let proof = cl. get_tx_out_proof ( & [ txid1, txid2] , Some ( & blocks[ 0 ] ) ) . unwrap ( ) ;
541
558
assert ! ( !proof. is_empty( ) ) ;
542
559
}
@@ -563,7 +580,9 @@ fn test_lock_unspent_unlock_unspent(cl: &Client) {
563
580
}
564
581
565
582
fn test_get_block_filter ( cl : & Client ) {
566
- let blocks = cl. generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) ) . unwrap ( ) ;
583
+ let blocks = cl
584
+ . generate_to_address ( 7 , & cl. get_new_address ( None , None ) . unwrap ( ) . assume_checked ( ) )
585
+ . unwrap ( ) ;
567
586
if version ( ) >= 190000 {
568
587
let _ = cl. get_block_filter ( & blocks[ 0 ] ) . unwrap ( ) ;
569
588
} else {
@@ -634,7 +653,12 @@ fn test_sign_raw_transaction_with_send_raw_transaction(cl: &Client) {
634
653
} ;
635
654
636
655
let res = cl
637
- . sign_raw_transaction_with_key ( & tx, & [ sk] , None , Some ( sighash:: EcdsaSighashType :: All . into ( ) ) )
656
+ . sign_raw_transaction_with_key (
657
+ & tx,
658
+ & [ sk] ,
659
+ None ,
660
+ Some ( sighash:: EcdsaSighashType :: All . into ( ) ) ,
661
+ )
638
662
. unwrap ( ) ;
639
663
assert ! ( res. complete) ;
640
664
let _ = cl. send_raw_transaction ( & res. transaction ( ) . unwrap ( ) ) . unwrap ( ) ;
@@ -1283,9 +1307,7 @@ fn test_getblocktemplate(cl: &Client) {
1283
1307
fn test_unloadwallet ( cl : & Client ) {
1284
1308
cl. create_wallet ( "testunloadwallet" , None , None , None , None ) . unwrap ( ) ;
1285
1309
1286
- let res = new_wallet_client ( "testunloadwallet" )
1287
- . unload_wallet ( None )
1288
- . unwrap ( ) ;
1310
+ let res = new_wallet_client ( "testunloadwallet" ) . unload_wallet ( None ) . unwrap ( ) ;
1289
1311
1290
1312
if version ( ) >= 210000 {
1291
1313
assert ! ( res. is_some( ) ) ;
@@ -1324,20 +1346,37 @@ fn test_wait_for_new_block(cl: &Client) {
1324
1346
let hash = cl. get_block_hash ( height) . unwrap ( ) ;
1325
1347
1326
1348
assert ! ( cl. wait_for_new_block( std:: u64 :: MAX ) . is_err( ) ) ; // JSON integer out of range
1327
- assert_eq ! ( cl. wait_for_new_block( 100 ) . unwrap( ) , json:: BlockRef { hash, height} ) ;
1349
+ assert_eq ! (
1350
+ cl. wait_for_new_block( 100 ) . unwrap( ) ,
1351
+ json:: BlockRef {
1352
+ hash,
1353
+ height
1354
+ }
1355
+ ) ;
1328
1356
}
1329
1357
1330
1358
fn test_wait_for_block ( cl : & Client ) {
1331
1359
let height = cl. get_block_count ( ) . unwrap ( ) ;
1332
1360
let hash = cl. get_block_hash ( height) . unwrap ( ) ;
1333
1361
1334
1362
assert ! ( cl. wait_for_block( & hash, std:: u64 :: MAX ) . is_err( ) ) ; // JSON integer out of range
1335
- assert_eq ! ( cl. wait_for_block( & hash, 0 ) . unwrap( ) , json:: BlockRef { hash, height} ) ;
1363
+ assert_eq ! (
1364
+ cl. wait_for_block( & hash, 0 ) . unwrap( ) ,
1365
+ json:: BlockRef {
1366
+ hash,
1367
+ height
1368
+ }
1369
+ ) ;
1336
1370
}
1337
1371
1338
1372
fn test_get_descriptor_info ( cl : & Client ) {
1339
- let res = cl. get_descriptor_info ( r"pkh(cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR)" ) . unwrap ( ) ;
1340
- assert_eq ! ( res. descriptor, r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ) ;
1373
+ let res = cl
1374
+ . get_descriptor_info ( r"pkh(cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR)" )
1375
+ . unwrap ( ) ;
1376
+ assert_eq ! (
1377
+ res. descriptor,
1378
+ r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x"
1379
+ ) ;
1341
1380
assert_eq ! ( res. is_range, false ) ;
1342
1381
assert_eq ! ( res. is_solvable, true ) ;
1343
1382
assert_eq ! ( res. has_private_keys, true ) ;
@@ -1355,29 +1394,40 @@ fn test_get_descriptor_info(cl: &Client) {
1355
1394
fn test_add_multisig_address ( cl : & Client ) {
1356
1395
let addr1 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
1357
1396
let addr2 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
1358
- let addresses = [
1359
- json:: PubKeyOrAddress :: Address ( & addr1) ,
1360
- json:: PubKeyOrAddress :: Address ( & addr2) ,
1361
- ] ;
1397
+ let addresses =
1398
+ [ json:: PubKeyOrAddress :: Address ( & addr1) , json:: PubKeyOrAddress :: Address ( & addr2) ] ;
1362
1399
1363
1400
assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , None ) . is_ok( ) ) ;
1364
1401
assert ! ( cl. add_multisig_address( addresses. len( ) - 1 , & addresses, None , None ) . is_ok( ) ) ;
1365
1402
assert ! ( cl. add_multisig_address( addresses. len( ) + 1 , & addresses, None , None ) . is_err( ) ) ;
1366
1403
assert ! ( cl. add_multisig_address( 0 , & addresses, None , None ) . is_err( ) ) ;
1367
1404
assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, Some ( "test_label" ) , None ) . is_ok( ) ) ;
1368
- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Legacy ) ) . is_ok( ) ) ;
1369
- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: P2shSegwit ) ) . is_ok( ) ) ;
1370
- assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) ) . is_ok( ) ) ;
1405
+ assert ! ( cl
1406
+ . add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Legacy ) )
1407
+ . is_ok( ) ) ;
1408
+ assert ! ( cl
1409
+ . add_multisig_address(
1410
+ addresses. len( ) ,
1411
+ & addresses,
1412
+ None ,
1413
+ Some ( json:: AddressType :: P2shSegwit )
1414
+ )
1415
+ . is_ok( ) ) ;
1416
+ assert ! ( cl
1417
+ . add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) )
1418
+ . is_ok( ) ) ;
1371
1419
}
1372
1420
1373
1421
fn test_verify_message_with_messagesignature ( cl : & Client ) {
1374
- let addr: Address = Address :: from_str ( "mm68FdwbpxkVcqjU3fu7iiBGEwrsC6Hk66" ) . unwrap ( ) . assume_checked ( ) ;
1422
+ let addr: Address =
1423
+ Address :: from_str ( "mm68FdwbpxkVcqjU3fu7iiBGEwrsC6Hk66" ) . unwrap ( ) . assume_checked ( ) ;
1375
1424
let signature = MessageSignature :: from_base64 (
1376
- "H3X+ic7axKtHGIsKiqDq0TmP9HIAkONwunln17ROlvB4SOVVUoG5e79EwAz94x2eERPwqcGJ5rLuWRhIu85pEwE=" , )
1377
- . expect ( "a valid signature" ) ;
1425
+ "H3X+ic7axKtHGIsKiqDq0TmP9HIAkONwunln17ROlvB4SOVVUoG5e79EwAz94x2eERPwqcGJ5rLuWRhIu85pEwE=" ,
1426
+ )
1427
+ . expect ( "a valid signature" ) ;
1378
1428
let message = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" ;
1379
1429
1380
- assert ! ( cl. verify_message( & addr, & signature, message) . expect( "a valid signature" ) ) ;
1430
+ assert ! ( cl. verify_message( & addr, & signature, message) . expect( "a valid signature" ) ) ;
1381
1431
}
1382
1432
1383
1433
#[ rustfmt:: skip]
0 commit comments