(self, comment, pattern, privmap, treefn, keys)
| 224 | return compute_taproot_address(*treefn(*args)) |
| 225 | |
| 226 | def do_test_addr(self, comment, pattern, privmap, treefn, keys): |
| 227 | self.log.info("Testing %s address derivation" % comment) |
| 228 | desc = self.make_desc(pattern, privmap, keys, False) |
| 229 | desc_pub = self.make_desc(pattern, privmap, keys, True) |
| 230 | assert_equal(self.nodes[0].getdescriptorinfo(desc)['descriptor'], desc_pub) |
| 231 | result = self.addr_gen.importdescriptors([{"desc": desc_pub, "active": True, "timestamp": "now"}]) |
| 232 | assert(result[0]['success']) |
| 233 | for i in range(4): |
| 234 | addr_g = self.addr_gen.getnewaddress(address_type='bech32m') |
| 235 | if treefn is not None: |
| 236 | addr_r = self.make_addr(treefn, keys, i) |
| 237 | assert_equal(addr_g, addr_r) |
| 238 | desc_a = self.addr_gen.getaddressinfo(addr_g)['desc'] |
| 239 | if desc.startswith("tr("): |
| 240 | assert desc_a.startswith("tr(") |
| 241 | rederive = self.nodes[1].deriveaddresses(desc_a) |
| 242 | assert_equal(len(rederive), 1) |
| 243 | assert_equal(rederive[0], addr_g) |
| 244 | |
| 245 | # tr descriptors can be imported regardless of Taproot status |
| 246 | result = self.privs_tr_enabled.importdescriptors([{"desc": desc, "timestamp": "now"}]) |
| 247 | assert(result[0]["success"]) |
| 248 | result = self.pubs_tr_enabled.importdescriptors([{"desc": desc_pub, "timestamp": "now"}]) |
| 249 | assert(result[0]["success"]) |
| 250 | result = self.privs_tr_disabled.importdescriptors([{"desc": desc, "timestamp": "now"}]) |
| 251 | assert result[0]["success"] |
| 252 | result = self.pubs_tr_disabled.importdescriptors([{"desc": desc_pub, "timestamp": "now"}]) |
| 253 | assert result[0]["success"] |
| 254 | |
| 255 | def do_test_sendtoaddress(self, comment, pattern, privmap, treefn, keys_pay, keys_change): |
| 256 | self.log.info("Testing %s through sendtoaddress" % comment) |
no test coverage detected