libwallet_api: fast-refresh in case of opening non-synced wallet

This commit is contained in:
Ilya Kitaev
2016-09-30 22:42:15 +03:00
parent 0019e3106b
commit 10fe626e13
3 changed files with 30 additions and 7 deletions

View File

@@ -175,7 +175,7 @@ WalletImpl::WalletImpl(bool testnet)
m_wallet->callback(m_wallet2Callback);
m_refreshThreadDone = false;
m_refreshEnabled = false;
m_newWallet = true;
m_refreshIntervalMillis = DEFAULT_REFRESH_INTERVAL_MILLIS;
@@ -196,7 +196,6 @@ WalletImpl::~WalletImpl()
bool WalletImpl::create(const std::string &path, const std::string &password, const std::string &language)
{
m_newWallet = true;
clearStatus();
bool keys_file_exists;
@@ -234,7 +233,6 @@ bool WalletImpl::create(const std::string &path, const std::string &password, co
bool WalletImpl::open(const std::string &path, const std::string &password)
{
m_newWallet = false;
clearStatus();
try {
// TODO: handle "deprecated"
@@ -746,7 +744,10 @@ void WalletImpl::pauseRefresh()
bool WalletImpl::isNewWallet() const
{
return m_newWallet;
// in case wallet created without daemon connection, closed and opened again,
// it's the same case as if it created from scratch, i.e. we need "fast sync"
// with the daemon (pull hashes instead of pull blocks)
return !(blockChainHeight() > 1);
}
void WalletImpl::doInit(const string &daemon_address, uint64_t upper_transaction_size_limit)