Skip to content

Commit 388ba94

Browse files
committed
Change wallet_encryption.py to use signmessage instead of dumpprivkey
1 parent 1346e14 commit 388ba94

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

test/functional/wallet_encryption.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from test_framework.test_framework import BitcoinTestFramework
1010
from test_framework.util import (
11-
assert_equal,
1211
assert_raises_rpc_error,
1312
assert_greater_than,
1413
assert_greater_than_or_equal,
@@ -27,10 +26,10 @@ def run_test(self):
2726
passphrase2 = "SecondWalletPassphrase"
2827

2928
# Make sure the wallet isn't encrypted first
30-
address = self.nodes[0].getnewaddress()
31-
privkey = self.nodes[0].dumpprivkey(address)
32-
assert_equal(privkey[:1], "c")
33-
assert_equal(len(privkey), 52)
29+
msg = "test message"
30+
address = self.nodes[0].getnewaddress(address_type='legacy')
31+
sig = self.nodes[0].signmessage(address, msg)
32+
assert self.nodes[0].verifymessage(address, sig, msg)
3433
assert_raises_rpc_error(-15, "Error: running with an unencrypted wallet, but walletpassphrase was called", self.nodes[0].walletpassphrase, 'ff', 1)
3534
assert_raises_rpc_error(-15, "Error: running with an unencrypted wallet, but walletpassphrasechange was called.", self.nodes[0].walletpassphrasechange, 'ff', 'ff')
3635

@@ -39,33 +38,36 @@ def run_test(self):
3938
self.nodes[0].encryptwallet(passphrase)
4039

4140
# Test that the wallet is encrypted
42-
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
41+
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].signmessage, address, msg)
4342
assert_raises_rpc_error(-15, "Error: running with an encrypted wallet, but encryptwallet was called.", self.nodes[0].encryptwallet, 'ff')
4443
assert_raises_rpc_error(-8, "passphrase can not be empty", self.nodes[0].walletpassphrase, '', 1)
4544
assert_raises_rpc_error(-8, "passphrase can not be empty", self.nodes[0].walletpassphrasechange, '', 'ff')
4645

4746
# Check that walletpassphrase works
4847
self.nodes[0].walletpassphrase(passphrase, 2)
49-
assert_equal(privkey, self.nodes[0].dumpprivkey(address))
48+
sig = self.nodes[0].signmessage(address, msg)
49+
assert self.nodes[0].verifymessage(address, sig, msg)
5050

5151
# Check that the timeout is right
5252
time.sleep(3)
53-
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
53+
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].signmessage, address, msg)
5454

5555
# Test wrong passphrase
5656
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase + "wrong", 10)
5757

5858
# Test walletlock
5959
self.nodes[0].walletpassphrase(passphrase, 84600)
60-
assert_equal(privkey, self.nodes[0].dumpprivkey(address))
60+
sig = self.nodes[0].signmessage(address, msg)
61+
assert self.nodes[0].verifymessage(address, sig, msg)
6162
self.nodes[0].walletlock()
62-
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].dumpprivkey, address)
63+
assert_raises_rpc_error(-13, "Please enter the wallet passphrase with walletpassphrase first", self.nodes[0].signmessage, address, msg)
6364

6465
# Test passphrase changes
6566
self.nodes[0].walletpassphrasechange(passphrase, passphrase2)
6667
assert_raises_rpc_error(-14, "wallet passphrase entered was incorrect", self.nodes[0].walletpassphrase, passphrase, 10)
6768
self.nodes[0].walletpassphrase(passphrase2, 10)
68-
assert_equal(privkey, self.nodes[0].dumpprivkey(address))
69+
sig = self.nodes[0].signmessage(address, msg)
70+
assert self.nodes[0].verifymessage(address, sig, msg)
6971
self.nodes[0].walletlock()
7072

7173
# Test timeout bounds

0 commit comments

Comments
 (0)