(self)
| 321 | self.do_test_psbt(comment, pattern, privmap, treefn, keys[2*nkeys:3*nkeys], keys[3*nkeys:4*nkeys]) |
| 322 | |
| 323 | def run_test(self): |
| 324 | self.log.info("Creating wallets...") |
| 325 | self.nodes[0].createwallet(wallet_name="privs_tr_enabled", descriptors=True, blank=True) |
| 326 | self.privs_tr_enabled = self.nodes[0].get_wallet_rpc("privs_tr_enabled") |
| 327 | self.nodes[2].createwallet(wallet_name="privs_tr_disabled", descriptors=True, blank=True) |
| 328 | self.privs_tr_disabled=self.nodes[2].get_wallet_rpc("privs_tr_disabled") |
| 329 | self.nodes[0].createwallet(wallet_name="pubs_tr_enabled", descriptors=True, blank=True, disable_private_keys=True) |
| 330 | self.pubs_tr_enabled = self.nodes[0].get_wallet_rpc("pubs_tr_enabled") |
| 331 | self.nodes[2].createwallet(wallet_name="pubs_tr_disabled", descriptors=True, blank=True, disable_private_keys=True) |
| 332 | self.pubs_tr_disabled=self.nodes[2].get_wallet_rpc("pubs_tr_disabled") |
| 333 | self.nodes[0].createwallet(wallet_name="boring") |
| 334 | self.nodes[0].createwallet(wallet_name="addr_gen", descriptors=True, disable_private_keys=True, blank=True) |
| 335 | self.nodes[0].createwallet(wallet_name="rpc_online", descriptors=True, blank=True) |
| 336 | self.nodes[0].createwallet(wallet_name="psbt_online", descriptors=True, disable_private_keys=True, blank=True) |
| 337 | self.nodes[1].createwallet(wallet_name="psbt_offline", descriptors=True, blank=True) |
| 338 | self.boring = self.nodes[0].get_wallet_rpc("boring") |
| 339 | self.addr_gen = self.nodes[0].get_wallet_rpc("addr_gen") |
| 340 | self.rpc_online = self.nodes[0].get_wallet_rpc("rpc_online") |
| 341 | self.psbt_online = self.nodes[0].get_wallet_rpc("psbt_online") |
| 342 | self.psbt_offline = self.nodes[1].get_wallet_rpc("psbt_offline") |
| 343 | |
| 344 | self.log.info("Mining blocks...") |
| 345 | gen_addr = self.boring.getnewaddress() |
| 346 | self.generatetoaddress(self.nodes[0], 101, gen_addr, sync_fun=self.no_op) |
| 347 | |
| 348 | self.do_test( |
| 349 | "tr(XPRV)", |
| 350 | "tr($1/*)", |
| 351 | [True], |
| 352 | lambda k1: (key(k1), []), |
| 353 | 1 |
| 354 | ) |
| 355 | self.do_test( |
| 356 | "tr(H,XPRV)", |
| 357 | "tr($H,pk($1/*))", |
| 358 | [True], |
| 359 | lambda k1: (key(H_POINT), [pk(k1)]), |
| 360 | 1 |
| 361 | ) |
| 362 | self.do_test( |
| 363 | "wpkh(XPRV)", |
| 364 | "wpkh($1/*)", |
| 365 | [True], |
| 366 | None, |
| 367 | 1 |
| 368 | ) |
| 369 | self.do_test( |
| 370 | "tr(XPRV,{H,{H,XPUB}})", |
| 371 | "tr($1/*,{pk($H),{pk($H),pk($2/*)}})", |
| 372 | [True, False], |
| 373 | lambda k1, k2: (key(k1), [pk(H_POINT), [pk(H_POINT), pk(k2)]]), |
| 374 | 2 |
| 375 | ) |
| 376 | self.do_test( |
| 377 | "wsh(multi(1,XPRV,XPUB))", |
| 378 | "wsh(multi(1,$1/*,$2/*))", |
| 379 | [True, False], |
| 380 | None, |
nothing calls this directly
no test coverage detected