aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/simplewallet/simplewallet.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp
index 6c2df4b22..6c040207f 100644
--- a/src/simplewallet/simplewallet.cpp
+++ b/src/simplewallet/simplewallet.cpp
@@ -903,6 +903,8 @@ static bool might_be_partial_seed(std::string words)
//----------------------------------------------------------------------------------------------------
bool simple_wallet::init(const boost::program_options::variables_map& vm)
{
+ bool need_refresh_height = false;
+
if (!handle_command_line(vm))
return false;
@@ -1091,6 +1093,8 @@ bool simple_wallet::init(const boost::program_options::variables_map& vm)
m_wallet_file = m_generate_new;
bool r = new_wallet(vm, m_recovery_key, m_restore_deterministic_wallet, m_non_deterministic, old_language);
CHECK_AND_ASSERT_MES(r, false, tr("account creation failed"));
+ if (!m_restore_deterministic_wallet)
+ need_refresh_height = true;
}
if (!m_restore_height && m_restoring)
{
@@ -1178,6 +1182,15 @@ bool simple_wallet::init(const boost::program_options::variables_map& vm)
m_http_client.set_server(m_wallet->get_daemon_address(), m_wallet->get_daemon_login());
m_wallet->callback(this);
+
+ if (need_refresh_height)
+ {
+ // for a totally new account, we don't care about older blocks.
+ MDEBUG("Calling daemon to set refresh height");
+ std::string err;
+ m_wallet->set_refresh_from_block_height(get_daemon_blockchain_height(err));
+ }
+
return true;
}
//----------------------------------------------------------------------------------------------------
@@ -1321,16 +1334,6 @@ bool simple_wallet::new_wallet(const boost::program_options::variables_map& vm,
m_wallet->set_seed_language(mnemonic_language);
- // for a totally new account, we don't care about older blocks.
- if (!m_restoring)
- {
- std::string err;
- m_wallet->set_refresh_from_block_height(get_daemon_blockchain_height(err));
- } else if (m_restore_height)
- {
- m_wallet->set_refresh_from_block_height(m_restore_height);
- }
-
crypto::secret_key recovery_val;
try
{