|
|
|
@ -60,6 +60,7 @@ using namespace epee;
|
|
|
|
|
#define MONERO_DEFAULT_LOG_CATEGORY "wallet.rpc"
|
|
|
|
|
|
|
|
|
|
#define DEFAULT_AUTO_REFRESH_PERIOD 20 // seconds
|
|
|
|
|
#define REFRESH_INFICATIVE_BLOCK_CHUNK_SIZE 256 // just to split refresh in separate calls to play nicer with other threads
|
|
|
|
|
|
|
|
|
|
#define CHECK_MULTISIG_ENABLED() \
|
|
|
|
|
do \
|
|
|
|
@ -153,10 +154,13 @@ namespace tools
|
|
|
|
|
uint64_t blocks_fetched = 0;
|
|
|
|
|
try {
|
|
|
|
|
bool received_money = false;
|
|
|
|
|
if (m_wallet) m_wallet->refresh(m_wallet->is_trusted_daemon(), 0, blocks_fetched, received_money, true, true);
|
|
|
|
|
if (m_wallet) m_wallet->refresh(m_wallet->is_trusted_daemon(), 0, blocks_fetched, received_money, true, REFRESH_INFICATIVE_BLOCK_CHUNK_SIZE, true);
|
|
|
|
|
} catch (const std::exception& ex) {
|
|
|
|
|
LOG_ERROR("Exception at while refreshing, what=" << ex.what());
|
|
|
|
|
}
|
|
|
|
|
// if we got the max amount of blocks, do not set the last refresh time, we did only part of the refresh and will
|
|
|
|
|
// continue asap, and only set the last refresh time once the refresh is actually finished
|
|
|
|
|
if (blocks_fetched < REFRESH_INFICATIVE_BLOCK_CHUNK_SIZE)
|
|
|
|
|
m_last_auto_refresh_time = boost::posix_time::microsec_clock::universal_time();
|
|
|
|
|
return true;
|
|
|
|
|
}, 1000);
|
|
|
|
|