simplewallet: new command to generate a random payment id

This is trivial, but often requested, and possibly hard to do
in Windows. That makes it more user friendly.
This commit is contained in:
moneromooo-monero 2017-06-10 10:08:55 +01:00
parent e3da0ca828
commit b2319a03a6
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
2 changed files with 15 additions and 0 deletions

View File

@ -398,6 +398,19 @@ bool simple_wallet::change_password(const std::vector<std::string> &args)
return true; return true;
} }
bool simple_wallet::payment_id(const std::vector<std::string> &args/* = std::vector<std::string>()*/)
{
crypto::hash payment_id;
if (args.size() > 0)
{
fail_msg_writer() << tr("usage: payment_id");
return true;
}
payment_id = crypto::rand<crypto::hash>();
success_msg_writer() << tr("Random payment ID: ") << payment_id;
return true;
}
bool simple_wallet::set_always_confirm_transfers(const std::vector<std::string> &args/* = std::vector<std::string>()*/) bool simple_wallet::set_always_confirm_transfers(const std::vector<std::string> &args/* = std::vector<std::string>()*/)
{ {
const auto pwd_container = get_and_verify_password(); const auto pwd_container = get_and_verify_password();
@ -715,6 +728,7 @@ simple_wallet::simple_wallet()
m_cmd_binder.set_handler("import_outputs", boost::bind(&simple_wallet::import_outputs, this, _1), tr("Import set of outputs owned by this wallet")); m_cmd_binder.set_handler("import_outputs", boost::bind(&simple_wallet::import_outputs, this, _1), tr("Import set of outputs owned by this wallet"));
m_cmd_binder.set_handler("show_transfer", boost::bind(&simple_wallet::show_transfer, this, _1), tr("Show information about a transfer to/from this address")); m_cmd_binder.set_handler("show_transfer", boost::bind(&simple_wallet::show_transfer, this, _1), tr("Show information about a transfer to/from this address"));
m_cmd_binder.set_handler("password", boost::bind(&simple_wallet::change_password, this, _1), tr("Change wallet password")); m_cmd_binder.set_handler("password", boost::bind(&simple_wallet::change_password, this, _1), tr("Change wallet password"));
m_cmd_binder.set_handler("payment_id", boost::bind(&simple_wallet::payment_id, this, _1), tr("Generate a new random full size payment id - these will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids"));
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"));
} }
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------

View File

@ -170,6 +170,7 @@ namespace cryptonote
bool import_outputs(const std::vector<std::string> &args); bool import_outputs(const std::vector<std::string> &args);
bool show_transfer(const std::vector<std::string> &args); bool show_transfer(const std::vector<std::string> &args);
bool change_password(const std::vector<std::string>& args); bool change_password(const std::vector<std::string>& args);
bool payment_id(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 silent = false, uint32_t* version = nullptr); bool try_connect_to_daemon(bool silent = false, uint32_t* version = nullptr);