|
|
|
@ -1753,34 +1753,7 @@ void wallet2::pull_blocks(uint64_t start_height, uint64_t &blocks_start_height,
|
|
|
|
|
cryptonote::COMMAND_RPC_GET_BLOCKS_FAST::response res = AUTO_VAL_INIT(res);
|
|
|
|
|
req.block_ids = short_chain_history;
|
|
|
|
|
|
|
|
|
|
uint32_t rpc_version;
|
|
|
|
|
boost::optional<std::string> result = m_node_rpc_proxy.get_rpc_version(rpc_version);
|
|
|
|
|
// no error
|
|
|
|
|
if (!!result)
|
|
|
|
|
{
|
|
|
|
|
// empty string -> not connection
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(result->empty(), tools::error::no_connection_to_daemon, "getversion");
|
|
|
|
|
THROW_WALLET_EXCEPTION_IF(*result == CORE_RPC_STATUS_BUSY, tools::error::daemon_busy, "getversion");
|
|
|
|
|
if (*result != CORE_RPC_STATUS_OK)
|
|
|
|
|
{
|
|
|
|
|
MDEBUG("Cannot determine daemon RPC version, not asking for pruned blocks");
|
|
|
|
|
req.prune = false; // old daemon
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (rpc_version >= MAKE_CORE_RPC_VERSION(1, 7))
|
|
|
|
|
{
|
|
|
|
|
MDEBUG("Daemon is recent enough, asking for pruned blocks");
|
|
|
|
|
req.prune = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MDEBUG("Daemon is too old, not asking for pruned blocks");
|
|
|
|
|
req.prune = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
req.prune = true;
|
|
|
|
|
req.start_height = start_height;
|
|
|
|
|
req.no_miner_tx = m_refresh_type == RefreshNoCoinbase;
|
|
|
|
|
m_daemon_rpc_mutex.lock();
|
|
|
|
|