Merge pull request #2053

05f3dcf7 simplewallet: fix refresh height for new wallets (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2017-05-30 21:28:40 +02:00
commit 8fbbefb8db
No known key found for this signature in database
GPG Key ID: 55432DF31CCD4FCD
1 changed files with 13 additions and 10 deletions

View File

@ -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
{