simplewallet: add a status command
It matches the daemon, and should allow people who're suspicious of the background refresh to know they're synced.
This commit is contained in:
parent
30ef965f9a
commit
f0b85c1631
|
@ -595,6 +595,7 @@ simple_wallet::simple_wallet()
|
||||||
m_cmd_binder.set_handler("rescan_bc", boost::bind(&simple_wallet::rescan_blockchain, this, _1), tr("Rescan blockchain from scratch"));
|
m_cmd_binder.set_handler("rescan_bc", boost::bind(&simple_wallet::rescan_blockchain, this, _1), tr("Rescan blockchain from scratch"));
|
||||||
m_cmd_binder.set_handler("set_tx_note", boost::bind(&simple_wallet::set_tx_note, this, _1), tr("Set an arbitrary string note for a txid"));
|
m_cmd_binder.set_handler("set_tx_note", boost::bind(&simple_wallet::set_tx_note, this, _1), tr("Set an arbitrary string note for a txid"));
|
||||||
m_cmd_binder.set_handler("get_tx_note", boost::bind(&simple_wallet::get_tx_note, this, _1), tr("Get a string note for a txid"));
|
m_cmd_binder.set_handler("get_tx_note", boost::bind(&simple_wallet::get_tx_note, this, _1), tr("Get a string note for a txid"));
|
||||||
|
m_cmd_binder.set_handler("status", boost::bind(&simple_wallet::status, this, _1), tr("Show wallet status information"));
|
||||||
m_cmd_binder.set_handler("help", boost::bind(&simple_wallet::help, this, _1), tr("Show this help"));
|
m_cmd_binder.set_handler("help", boost::bind(&simple_wallet::help, this, _1), tr("Show this help"));
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
@ -3261,6 +3262,29 @@ bool simple_wallet::get_tx_note(const std::vector<std::string> &args)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
bool simple_wallet::status(const std::vector<std::string> &args)
|
||||||
|
{
|
||||||
|
uint64_t local_height = m_wallet->get_blockchain_current_height();
|
||||||
|
if (!m_wallet->check_connection())
|
||||||
|
{
|
||||||
|
success_msg_writer() << "Refreshed " << local_height << "/?, no daemon connected";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string err;
|
||||||
|
uint64_t bc_height = get_daemon_blockchain_height(err);
|
||||||
|
if (err.empty())
|
||||||
|
{
|
||||||
|
bool synced = local_height == bc_height;
|
||||||
|
success_msg_writer() << "Refreshed " << local_height << "/" << bc_height << ", " << (synced ? "synced" : "syncing");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fail_msg_writer() << "Refreshed " << local_height << "/?, daemon connection error";
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
bool simple_wallet::process_command(const std::vector<std::string> &args)
|
bool simple_wallet::process_command(const std::vector<std::string> &args)
|
||||||
{
|
{
|
||||||
return m_cmd_binder.process_command_vec(args);
|
return m_cmd_binder.process_command_vec(args);
|
||||||
|
|
|
@ -141,6 +141,7 @@ namespace cryptonote
|
||||||
bool refresh_main(uint64_t start_height, bool reset = false);
|
bool refresh_main(uint64_t start_height, bool reset = false);
|
||||||
bool set_tx_note(const std::vector<std::string> &args);
|
bool set_tx_note(const std::vector<std::string> &args);
|
||||||
bool get_tx_note(const std::vector<std::string> &args);
|
bool get_tx_note(const std::vector<std::string> &args);
|
||||||
|
bool status(const std::vector<std::string> &args);
|
||||||
|
|
||||||
uint64_t get_daemon_blockchain_height(std::string& err);
|
uint64_t get_daemon_blockchain_height(std::string& err);
|
||||||
bool try_connect_to_daemon();
|
bool try_connect_to_daemon();
|
||||||
|
|
Loading…
Reference in New Issue