Skip to content

Commit e061768

Browse files
Merge pull request #494 from aguycalled/rescan-when-import-mnemonic
Use -rescan when -importmnemonic
2 parents d3b5687 + 31bf6ce commit e061768

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

qa/rpc-tests/mnemonic.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
start_node,
99
assert_equal,
1010
slow_gen,
11+
connect_nodes
1112
)
1213
import os
1314

@@ -24,7 +25,7 @@ def __init__(self):
2425

2526
def setup_network(self):
2627
self.nodes = []
27-
self.nodes.append(start_node(0, self.options.tmpdir, []))
28+
self.nodes.append(start_node(0, self.options.tmpdir, ["-keypool=5"]))
2829
self.is_network_split = False
2930

3031
def run_test (self):
@@ -38,6 +39,10 @@ def run_test (self):
3839
for language in self.languages:
3940
self.mnemonics[language] = self.nodes[0].dumpmnemonic(language)
4041

42+
self.nodes[0].staking(False)
43+
self.nodes[0].generate(1)
44+
self.sync_all()
45+
4146
print("Restoring from mnemonic ...")
4247
self.check_mnemonic_works(masterkeyid, mnemonic_eng)
4348

@@ -48,7 +53,10 @@ def check_mnemonic_works(self, masterprivkey, mnemonic, language="english"):
4853
self.stop_node(0)
4954
os.remove(self.options.tmpdir + "/node0/devnet/wallet.dat")
5055

51-
self.nodes[0] = start_node(0, self.options.tmpdir, ["-importmnemonic=" + mnemonic, "-mnemoniclanguage=" + language])
56+
self.nodes[0] = start_node(0, self.options.tmpdir, ["-importmnemonic=" + mnemonic, "-mnemoniclanguage=" + language, "-keypool=5"])
57+
self.nodes[0].staking(False)
58+
59+
assert(len(self.nodes[0].listtransactions()) == 1);
5260
assert_equal(masterprivkey, self.nodes[0].dumpmasterprivkey())
5361

5462
if __name__ == '__main__':

src/init.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,6 +843,12 @@ void InitParameterInteraction()
843843
LogPrintf("%s: parameter interaction: -zapwallettxes=<mode> -> setting -rescan=1\n", __func__);
844844
}
845845

846+
// -importmnemonic implies a rescan
847+
if (mapArgs.count("-importmnemonic")) {
848+
if (SoftSetBoolArg("-rescan", true))
849+
LogPrintf("%s: parameter interaction: -importmnemonic=\"word list\" -> setting -rescan=1\n", __func__);
850+
}
851+
846852
// disable walletbroadcast and whitelistrelay in blocksonly mode
847853
if (GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)) {
848854
if (SoftSetBoolArg("-whitelistrelay", false))

0 commit comments

Comments
 (0)