Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet-hd.py
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
# Derive some HD addresses and remember the last | # Derive some HD addresses and remember the last | ||||
# Also send funds to each add | # Also send funds to each add | ||||
self.nodes[0].generate(101) | self.nodes[0].generate(101) | ||||
hd_add = None | hd_add = None | ||||
num_hd_adds = 300 | num_hd_adds = 300 | ||||
for i in range(num_hd_adds): | for i in range(num_hd_adds): | ||||
hd_add = self.nodes[1].getnewaddress() | hd_add = self.nodes[1].getnewaddress() | ||||
hd_info = self.nodes[1].validateaddress(hd_add) | hd_info = self.nodes[1].validateaddress(hd_add) | ||||
assert_equal(hd_info["hdkeypath"], "m/0'/0'/" + str(i + 1) + "'") | assert_equal(hd_info["hdkeypath"], "m/0'/0'/" + str(i) + "'") | ||||
assert_equal(hd_info["hdmasterkeyid"], masterkeyid) | assert_equal(hd_info["hdmasterkeyid"], masterkeyid) | ||||
self.nodes[0].sendtoaddress(hd_add, 1) | self.nodes[0].sendtoaddress(hd_add, 1) | ||||
self.nodes[0].generate(1) | self.nodes[0].generate(1) | ||||
self.nodes[0].sendtoaddress(non_hd_add, 1) | self.nodes[0].sendtoaddress(non_hd_add, 1) | ||||
self.nodes[0].generate(1) | self.nodes[0].generate(1) | ||||
# create an internal key (again) | # create an internal key (again) | ||||
change_addr = self.nodes[1].getrawchangeaddress() | change_addr = self.nodes[1].getrawchangeaddress() | ||||
Show All 15 Lines | def run_test(self): | ||||
self.nodes[1] = self.start_node( | self.nodes[1] = self.start_node( | ||||
1, self.options.tmpdir, self.extra_args[1]) | 1, self.options.tmpdir, self.extra_args[1]) | ||||
# Assert that derivation is deterministic | # Assert that derivation is deterministic | ||||
hd_add_2 = None | hd_add_2 = None | ||||
for _ in range(num_hd_adds): | for _ in range(num_hd_adds): | ||||
hd_add_2 = self.nodes[1].getnewaddress() | hd_add_2 = self.nodes[1].getnewaddress() | ||||
hd_info_2 = self.nodes[1].validateaddress(hd_add_2) | hd_info_2 = self.nodes[1].validateaddress(hd_add_2) | ||||
assert_equal(hd_info_2["hdkeypath"], "m/0'/0'/" + str(_ + 1) + "'") | assert_equal(hd_info_2["hdkeypath"], "m/0'/0'/" + str(_) + "'") | ||||
assert_equal(hd_info_2["hdmasterkeyid"], masterkeyid) | assert_equal(hd_info_2["hdmasterkeyid"], masterkeyid) | ||||
assert_equal(hd_add, hd_add_2) | assert_equal(hd_add, hd_add_2) | ||||
connect_nodes_bi(self.nodes, 0, 1) | connect_nodes_bi(self.nodes, 0, 1) | ||||
self.sync_all() | self.sync_all() | ||||
# Needs rescan | # Needs rescan | ||||
self.stop_node(1) | self.stop_node(1) | ||||
self.nodes[1] = self.start_node( | self.nodes[1] = self.start_node( | ||||
Show All 18 Lines |