@@ -330,7 +330,8 @@ def do_test_psbt(self, comment, pattern, privmap, treefn, keys_pay, keys_change)
330
330
self .generatetoaddress (self .nodes [0 ], 1 , self .boring .getnewaddress (), sync_fun = self .no_op )
331
331
assert (self .psbt_online .gettransaction (txid )['confirmations' ] > 0 )
332
332
333
- def do_test (self , comment , pattern , privmap , treefn , nkeys ):
333
+ def do_test (self , comment , pattern , privmap , treefn ):
334
+ nkeys = len (privmap )
334
335
keys = self .rand_keys (nkeys * 4 )
335
336
self .do_test_addr (comment , pattern , privmap , treefn , keys [0 :nkeys ])
336
337
self .do_test_sendtoaddress (comment , pattern , privmap , treefn , keys [0 :nkeys ], keys [nkeys :2 * nkeys ])
@@ -365,114 +366,98 @@ def run_test(self):
365
366
"tr(XPRV)" ,
366
367
"tr($1/*)" ,
367
368
[True ],
368
- lambda k1 : (key (k1 ), []),
369
- 1
369
+ lambda k1 : (key (k1 ), [])
370
370
)
371
371
self .do_test (
372
372
"tr(H,XPRV)" ,
373
373
"tr($H,pk($1/*))" ,
374
374
[True ],
375
- lambda k1 : (key (H_POINT ), [pk (k1 )]),
376
- 1
375
+ lambda k1 : (key (H_POINT ), [pk (k1 )])
377
376
)
378
377
self .do_test (
379
378
"wpkh(XPRV)" ,
380
379
"wpkh($1/*)" ,
381
380
[True ],
382
- None ,
383
- 1
381
+ None
384
382
)
385
383
self .do_test (
386
384
"tr(XPRV,{H,{H,XPUB}})" ,
387
385
"tr($1/*,{pk($H),{pk($H),pk($2/*)}})" ,
388
386
[True , False ],
389
- lambda k1 , k2 : (key (k1 ), [pk (H_POINT ), [pk (H_POINT ), pk (k2 )]]),
390
- 2
387
+ lambda k1 , k2 : (key (k1 ), [pk (H_POINT ), [pk (H_POINT ), pk (k2 )]])
391
388
)
392
389
self .do_test (
393
390
"wsh(multi(1,XPRV,XPUB))" ,
394
391
"wsh(multi(1,$1/*,$2/*))" ,
395
392
[True , False ],
396
- None ,
397
- 2
393
+ None
398
394
)
399
395
self .do_test (
400
396
"tr(XPRV,{XPUB,XPUB})" ,
401
397
"tr($1/*,{pk($2/*),pk($2/*)})" ,
402
398
[True , False ],
403
- lambda k1 , k2 : (key (k1 ), [pk (k2 ), pk (k2 )]),
404
- 2
399
+ lambda k1 , k2 : (key (k1 ), [pk (k2 ), pk (k2 )])
405
400
)
406
401
self .do_test (
407
402
"tr(XPRV,{{XPUB,H},{H,XPUB}})" ,
408
403
"tr($1/*,{{pk($2/*),pk($H)},{pk($H),pk($2/*)}})" ,
409
404
[True , False ],
410
- lambda k1 , k2 : (key (k1 ), [[pk (k2 ), pk (H_POINT )], [pk (H_POINT ), pk (k2 )]]),
411
- 2
405
+ lambda k1 , k2 : (key (k1 ), [[pk (k2 ), pk (H_POINT )], [pk (H_POINT ), pk (k2 )]])
412
406
)
413
407
self .do_test (
414
408
"tr(XPUB,{{H,{H,XPUB}},{H,{H,{H,XPRV}}}})" ,
415
409
"tr($1/*,{{pk($H),{pk($H),pk($2/*)}},{pk($H),{pk($H),{pk($H),pk($3/*)}}}})" ,
416
410
[False , False , True ],
417
- lambda k1 , k2 , k3 : (key (k1 ), [[pk (H_POINT ), [pk (H_POINT ), pk (k2 )]], [pk (H_POINT ), [pk (H_POINT ), [pk (H_POINT ), pk (k3 )]]]]),
418
- 3
411
+ lambda k1 , k2 , k3 : (key (k1 ), [[pk (H_POINT ), [pk (H_POINT ), pk (k2 )]], [pk (H_POINT ), [pk (H_POINT ), [pk (H_POINT ), pk (k3 )]]]])
419
412
)
420
413
self .do_test (
421
414
"tr(XPRV,{XPUB,{{XPUB,{H,H}},{{H,H},XPUB}}})" ,
422
415
"tr($1/*,{pk($2/*),{{pk($2/*),{pk($H),pk($H)}},{{pk($H),pk($H)},pk($2/*)}}})" ,
423
416
[True , False ],
424
- lambda k1 , k2 : (key (k1 ), [pk (k2 ), [[pk (k2 ), [pk (H_POINT ), pk (H_POINT )]], [[pk (H_POINT ), pk (H_POINT )], pk (k2 )]]]),
425
- 2
417
+ lambda k1 , k2 : (key (k1 ), [pk (k2 ), [[pk (k2 ), [pk (H_POINT ), pk (H_POINT )]], [[pk (H_POINT ), pk (H_POINT )], pk (k2 )]]])
426
418
)
427
419
self .do_test (
428
420
"tr(H,multi_a(1,XPRV))" ,
429
421
"tr($H,multi_a(1,$1/*))" ,
430
422
[True ],
431
- lambda k1 : (key (H_POINT ), [multi_a (1 , [k1 ])]),
432
- 1
423
+ lambda k1 : (key (H_POINT ), [multi_a (1 , [k1 ])])
433
424
)
434
425
self .do_test (
435
426
"tr(H,sortedmulti_a(1,XPRV,XPUB))" ,
436
427
"tr($H,sortedmulti_a(1,$1/*,$2/*))" ,
437
428
[True , False ],
438
- lambda k1 , k2 : (key (H_POINT ), [multi_a (1 , [k1 , k2 ], True )]),
439
- 2
429
+ lambda k1 , k2 : (key (H_POINT ), [multi_a (1 , [k1 , k2 ], True )])
440
430
)
441
431
self .do_test (
442
432
"tr(H,multi_a(1,XPUB,XPRV))" ,
443
433
"tr($H,multi_a(1,$1/*,$2/*))" ,
444
434
[False , True ],
445
- lambda k1 , k2 : (key (H_POINT ), [multi_a (1 , [k1 , k2 ])]),
446
- 2
435
+ lambda k1 , k2 : (key (H_POINT ), [multi_a (1 , [k1 , k2 ])])
447
436
)
448
437
self .do_test (
449
438
"tr(H,sortedmulti_a(1,XPUB,XPRV,XPRV))" ,
450
439
"tr($H,sortedmulti_a(1,$1/*,$2/*,$3/*))" ,
451
440
[False , True , True ],
452
- lambda k1 , k2 , k3 : (key (H_POINT ), [multi_a (1 , [k1 , k2 , k3 ], True )]),
453
- 3
441
+ lambda k1 , k2 , k3 : (key (H_POINT ), [multi_a (1 , [k1 , k2 , k3 ], True )])
454
442
)
455
443
self .do_test (
456
444
"tr(H,multi_a(2,XPRV,XPUB,XPRV))" ,
457
445
"tr($H,multi_a(2,$1/*,$2/*,$3/*))" ,
458
446
[True , False , True ],
459
- lambda k1 , k2 , k3 : (key (H_POINT ), [multi_a (2 , [k1 , k2 , k3 ])]),
460
- 3
447
+ lambda k1 , k2 , k3 : (key (H_POINT ), [multi_a (2 , [k1 , k2 , k3 ])])
461
448
)
462
449
self .do_test (
463
450
"tr(XPUB,{{XPUB,{XPUB,sortedmulti_a(2,XPRV,XPUB,XPRV)}})" ,
464
451
"tr($2/*,{pk($2/*),{pk($2/*),sortedmulti_a(2,$1/*,$2/*,$3/*)}})" ,
465
452
[True , False , True ],
466
- lambda k1 , k2 , k3 : (key (k2 ), [pk (k2 ), [pk (k2 ), multi_a (2 , [k1 , k2 , k3 ], True )]]),
467
- 3
453
+ lambda k1 , k2 , k3 : (key (k2 ), [pk (k2 ), [pk (k2 ), multi_a (2 , [k1 , k2 , k3 ], True )]])
468
454
)
469
455
rnd_pos = random .randrange (MAX_PUBKEYS_PER_MULTI_A )
470
456
self .do_test (
471
457
"tr(XPUB,multi_a(1,H...,XPRV,H...))" ,
472
458
"tr($2/*,multi_a(1" + (",$H" * rnd_pos ) + ",$1/*" + (",$H" * (MAX_PUBKEYS_PER_MULTI_A - 1 - rnd_pos )) + "))" ,
473
459
[True , False ],
474
- lambda k1 , k2 : (key (k2 ), [multi_a (1 , ([H_POINT ] * rnd_pos ) + [k1 ] + ([H_POINT ] * (MAX_PUBKEYS_PER_MULTI_A - 1 - rnd_pos )))]),
475
- 2
460
+ lambda k1 , k2 : (key (k2 ), [multi_a (1 , ([H_POINT ] * rnd_pos ) + [k1 ] + ([H_POINT ] * (MAX_PUBKEYS_PER_MULTI_A - 1 - rnd_pos )))])
476
461
)
477
462
478
463
self .log .info ("Sending everything back..." )
0 commit comments