MCPcopy Create free account
hub / github.com/ElementsProject/elements / do_test_addr

Method do_test_addr

test/functional/wallet_taproot.py:226–253  ·  view source on GitHub ↗
(self, comment, pattern, privmap, treefn, keys)

Source from the content-addressed store, hash-verified

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)

Callers 1

do_testMethod · 0.95

Calls 4

make_descMethod · 0.95
make_addrMethod · 0.95
assert_equalFunction · 0.90
infoMethod · 0.80

Tested by

no test coverage detected