aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Schnelli <dev@jonasschnelli.ch>2016-07-09 12:05:30 +0200
committerJonas Schnelli <dev@jonasschnelli.ch>2016-07-09 12:12:36 +0200
commitf70808596fb4108e53c8b433820593b88c4fa81b (patch)
treea3d42e1503c27a01f938a5800fab11438e327620
parent986c2232143e5c2f909f5b27bf74470654faf49c (diff)
downloadbitcoin-f70808596fb4108e53c8b433820593b88c4fa81b.tar.xz
[QA] extend wallet-hd test to cover HD metadata
-rwxr-xr-xqa/rpc-tests/wallet-hd.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/qa/rpc-tests/wallet-hd.py b/qa/rpc-tests/wallet-hd.py
index 845eec027b..f3ae69e106 100755
--- a/qa/rpc-tests/wallet-hd.py
+++ b/qa/rpc-tests/wallet-hd.py
@@ -30,6 +30,10 @@ class WalletHDTest(BitcoinTestFramework):
def run_test (self):
tmpdir = self.options.tmpdir
+ # Make sure we use hd, keep masterkeyid
+ masterkeyid = self.nodes[1].getwalletinfo()['masterkeyid']
+ assert_equal(len(masterkeyid), 40)
+
# Import a non-HD private key in the HD wallet
non_hd_add = self.nodes[0].getnewaddress()
self.nodes[1].importprivkey(self.nodes[0].dumpprivkey(non_hd_add))
@@ -45,6 +49,9 @@ class WalletHDTest(BitcoinTestFramework):
num_hd_adds = 300
for _ in range(num_hd_adds):
hd_add = self.nodes[1].getnewaddress()
+ hd_info = self.nodes[1].validateaddress(hd_add)
+ assert_equal(hd_info["hdkeypath"], "m/0'/0'/"+str(_+1)+"'")
+ assert_equal(hd_info["hdmasterkeyid"], masterkeyid)
self.nodes[0].sendtoaddress(hd_add, 1)
self.nodes[0].generate(1)
self.nodes[0].sendtoaddress(non_hd_add, 1)
@@ -64,6 +71,9 @@ class WalletHDTest(BitcoinTestFramework):
hd_add_2 = None
for _ in range(num_hd_adds):
hd_add_2 = self.nodes[1].getnewaddress()
+ 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["hdmasterkeyid"], masterkeyid)
assert_equal(hd_add, hd_add_2)
# Needs rescan