mirror of
https://github.com/monero-project/monero.git
synced 2024-11-18 10:01:02 +00:00
Merge pull request #1173
65ea836
wallet2_api: added Wallet::daemonBlockChainTargetHeight() libwallet_api: Wallet::blockChainTargetHeight (Jacob Brydolf)
This commit is contained in:
commit
2723cd12e1
5 changed files with 57 additions and 0 deletions
|
@ -438,6 +438,23 @@ uint64_t WalletImpl::daemonBlockChainHeight() const
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t WalletImpl::daemonBlockChainTargetHeight() const
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
uint64_t result = m_wallet->get_daemon_blockchain_target_height(err);
|
||||||
|
if (!err.empty()) {
|
||||||
|
LOG_ERROR(__FUNCTION__ << ": " << err);
|
||||||
|
result = 0;
|
||||||
|
m_errorString = err;
|
||||||
|
m_status = Status_Error;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
m_status = Status_Ok;
|
||||||
|
m_errorString = "";
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
bool WalletImpl::refresh()
|
bool WalletImpl::refresh()
|
||||||
{
|
{
|
||||||
clearStatus();
|
clearStatus();
|
||||||
|
|
|
@ -77,6 +77,7 @@ public:
|
||||||
uint64_t unlockedBalance() const;
|
uint64_t unlockedBalance() const;
|
||||||
uint64_t blockChainHeight() const;
|
uint64_t blockChainHeight() const;
|
||||||
uint64_t daemonBlockChainHeight() const;
|
uint64_t daemonBlockChainHeight() const;
|
||||||
|
uint64_t daemonBlockChainTargetHeight() const;
|
||||||
bool refresh();
|
bool refresh();
|
||||||
void refreshAsync();
|
void refreshAsync();
|
||||||
void setAutoRefreshInterval(int millis);
|
void setAutoRefreshInterval(int millis);
|
||||||
|
|
|
@ -4266,6 +4266,38 @@ uint64_t wallet2::get_daemon_blockchain_height(string &err)
|
||||||
return res.height;
|
return res.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t wallet2::get_daemon_blockchain_target_height(string &err)
|
||||||
|
{
|
||||||
|
epee::json_rpc::request<cryptonote::COMMAND_RPC_GET_INFO::request> req_t = AUTO_VAL_INIT(req_t);
|
||||||
|
epee::json_rpc::response<cryptonote::COMMAND_RPC_GET_INFO::response, std::string> resp_t = AUTO_VAL_INIT(resp_t);
|
||||||
|
m_daemon_rpc_mutex.lock();
|
||||||
|
req_t.jsonrpc = "2.0";
|
||||||
|
req_t.id = epee::serialization::storage_entry(0);
|
||||||
|
req_t.method = "get_info";
|
||||||
|
bool ok = net_utils::invoke_http_json_remote_command2(m_daemon_address + "/json_rpc", req_t, resp_t, m_http_client);
|
||||||
|
m_daemon_rpc_mutex.unlock();
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
if (resp_t.result.status == CORE_RPC_STATUS_BUSY)
|
||||||
|
{
|
||||||
|
err = "daemon is busy. Please try again later.";
|
||||||
|
}
|
||||||
|
else if (resp_t.result.status != CORE_RPC_STATUS_OK)
|
||||||
|
{
|
||||||
|
err = resp_t.result.status;
|
||||||
|
}
|
||||||
|
else // success, cleaning up error message
|
||||||
|
{
|
||||||
|
err = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err = "possibly lost connection to daemon";
|
||||||
|
}
|
||||||
|
return resp_t.result.target_height;
|
||||||
|
}
|
||||||
|
|
||||||
void wallet2::set_tx_note(const crypto::hash &txid, const std::string ¬e)
|
void wallet2::set_tx_note(const crypto::hash &txid, const std::string ¬e)
|
||||||
{
|
{
|
||||||
m_tx_notes[txid] = note;
|
m_tx_notes[txid] = note;
|
||||||
|
|
|
@ -456,6 +456,7 @@ namespace tools
|
||||||
std::string get_keys_file() const;
|
std::string get_keys_file() const;
|
||||||
std::string get_daemon_address() const;
|
std::string get_daemon_address() const;
|
||||||
uint64_t get_daemon_blockchain_height(std::string& err);
|
uint64_t get_daemon_blockchain_height(std::string& err);
|
||||||
|
uint64_t get_daemon_blockchain_target_height(std::string& err);
|
||||||
|
|
||||||
std::vector<size_t> select_available_outputs_from_histogram(uint64_t count, bool atleast, bool unlocked, bool trusted_daemon);
|
std::vector<size_t> select_available_outputs_from_histogram(uint64_t count, bool atleast, bool unlocked, bool trusted_daemon);
|
||||||
std::vector<size_t> select_available_outputs(const std::function<bool(const transfer_details &td)> &f);
|
std::vector<size_t> select_available_outputs(const std::function<bool(const transfer_details &td)> &f);
|
||||||
|
|
|
@ -248,6 +248,12 @@ struct Wallet
|
||||||
*/
|
*/
|
||||||
virtual uint64_t daemonBlockChainHeight() const = 0;
|
virtual uint64_t daemonBlockChainHeight() const = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief daemonBlockChainTargetHeight - returns daemon blockchain target height
|
||||||
|
* @return 0 - in case error communicating with the daemon.
|
||||||
|
* status() will return Status_Error and errorString() will return verbose error description
|
||||||
|
*/
|
||||||
|
virtual uint64_t daemonBlockChainTargetHeight() const = 0;
|
||||||
|
|
||||||
static std::string displayAmount(uint64_t amount);
|
static std::string displayAmount(uint64_t amount);
|
||||||
static uint64_t amountFromString(const std::string &amount);
|
static uint64_t amountFromString(const std::string &amount);
|
||||||
|
|
Loading…
Reference in a new issue