Skip to content

Commit

Permalink
Merge pull request #494 from aguycalled/rescan-when-import-mnemonic
Browse files Browse the repository at this point in the history
Use -rescan when -importmnemonic
  • Loading branch information
proletesseract authored Jun 9, 2019
2 parents d3b5687 + 31bf6ce commit e061768
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
12 changes: 10 additions & 2 deletions qa/rpc-tests/mnemonic.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
start_node,
assert_equal,
slow_gen,
connect_nodes
)
import os

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

def setup_network(self):
self.nodes = []
self.nodes.append(start_node(0, self.options.tmpdir, []))
self.nodes.append(start_node(0, self.options.tmpdir, ["-keypool=5"]))
self.is_network_split = False

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

self.nodes[0].staking(False)
self.nodes[0].generate(1)
self.sync_all()

print("Restoring from mnemonic ...")
self.check_mnemonic_works(masterkeyid, mnemonic_eng)

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

self.nodes[0] = start_node(0, self.options.tmpdir, ["-importmnemonic=" + mnemonic, "-mnemoniclanguage=" + language])
self.nodes[0] = start_node(0, self.options.tmpdir, ["-importmnemonic=" + mnemonic, "-mnemoniclanguage=" + language, "-keypool=5"])
self.nodes[0].staking(False)

assert(len(self.nodes[0].listtransactions()) == 1);
assert_equal(masterprivkey, self.nodes[0].dumpmasterprivkey())

if __name__ == '__main__':
Expand Down
6 changes: 6 additions & 0 deletions src/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,12 @@ void InitParameterInteraction()
LogPrintf("%s: parameter interaction: -zapwallettxes=<mode> -> setting -rescan=1\n", __func__);
}

// -importmnemonic implies a rescan
if (mapArgs.count("-importmnemonic")) {
if (SoftSetBoolArg("-rescan", true))
LogPrintf("%s: parameter interaction: -importmnemonic=\"word list\" -> setting -rescan=1\n", __func__);
}

// disable walletbroadcast and whitelistrelay in blocksonly mode
if (GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)) {
if (SoftSetBoolArg("-whitelistrelay", false))
Expand Down

0 comments on commit e061768

Please sign in to comment.