@@ -103,20 +103,34 @@ def run_test(self):
103
103
nodes [0 ].getrawchangeaddress ()
104
104
nodes [0 ].getrawchangeaddress ()
105
105
nodes [0 ].getrawchangeaddress ()
106
- addr = set ()
106
+ # remember keypool sizes
107
+ wi = nodes [0 ].getwalletinfo ()
108
+ kp_size_before = [wi ['keypoolsize_hd_internal' ], wi ['keypoolsize' ]]
107
109
# the next one should fail
108
110
assert_raises_rpc_error (- 12 , "Keypool ran out" , nodes [0 ].getrawchangeaddress )
111
+ # check that keypool sizes did not change
112
+ wi = nodes [0 ].getwalletinfo ()
113
+ kp_size_after = [wi ['keypoolsize_hd_internal' ], wi ['keypoolsize' ]]
114
+ assert_equal (kp_size_before , kp_size_after )
109
115
110
116
# drain the external keys
117
+ addr = set ()
111
118
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
112
119
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
113
120
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
114
121
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
115
122
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
116
123
addr .add (nodes [0 ].getnewaddress (address_type = "bech32" ))
117
124
assert len (addr ) == 6
125
+ # remember keypool sizes
126
+ wi = nodes [0 ].getwalletinfo ()
127
+ kp_size_before = [wi ['keypoolsize_hd_internal' ], wi ['keypoolsize' ]]
118
128
# the next one should fail
119
129
assert_raises_rpc_error (- 12 , "Error: Keypool ran out, please call keypoolrefill first" , nodes [0 ].getnewaddress )
130
+ # check that keypool sizes did not change
131
+ wi = nodes [0 ].getwalletinfo ()
132
+ kp_size_after = [wi ['keypoolsize_hd_internal' ], wi ['keypoolsize' ]]
133
+ assert_equal (kp_size_before , kp_size_after )
120
134
121
135
# refill keypool with three new addresses
122
136
nodes [0 ].walletpassphrase ('test' , 1 )
0 commit comments