m_cmd_binder.set_handler("start_mining",boost::bind(&simple_wallet::start_mining,this,_1),tr("start_mining [<number_of_threads>] [bg_mining] [ignore_battery] - Start mining in daemon (bg_mining and ignore_battery are optional booleans)"));
m_cmd_binder.set_handler("start_mining",
m_cmd_binder.set_handler("stop_mining",boost::bind(&simple_wallet::stop_mining,this,_1),tr("Stop mining in daemon"));
m_cmd_binder.set_handler("refresh",boost::bind(&simple_wallet::refresh,this,_1),tr("Synchronize transactions and balance"));
tr("Start mining in the daemon (bg_mining and ignore_battery are optional booleans)."));
m_cmd_binder.set_handler("balance",boost::bind(&simple_wallet::show_balance,this,_1),tr("balance [detail] - Show wallet balance of currently selected account"));
m_cmd_binder.set_handler("stop_mining",
m_cmd_binder.set_handler("incoming_transfers",boost::bind(&simple_wallet::show_incoming_transfers,this,_1),tr("incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>,...]] - Show incoming transfers, all or filtered by availability and address index"));
boost::bind(&simple_wallet::stop_mining,this,_1),
m_cmd_binder.set_handler("payments",boost::bind(&simple_wallet::show_payments,this,_1),tr("payments <PID_1> [<PID_2> ... <PID_N>] - Show payments for given payment ID[s]"));
m_cmd_binder.set_handler("transfer_original",boost::bind(&simple_wallet::transfer,this,_1),tr("Same as transfer, but using an older transaction building algorithm"));
boost::bind(&simple_wallet::save_bc,this,_1),
m_cmd_binder.set_handler("transfer",boost::bind(&simple_wallet::transfer_new,this,_1),tr("transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] - Transfer <amount> to <address>. If the parameter \"index=<N1>[,<N2>,...]\" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the fee of the transaction. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command \"set priority\") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding <address_2> <amount_2> etcetera (before the payment ID, if it's included)"));
tr("Save the current blockchain data."));
m_cmd_binder.set_handler("locked_transfer",boost::bind(&simple_wallet::locked_transfer,this,_1),tr("locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>] - Same as transfer, but with number of blocks to lock the transaction for, max 1000000"));
m_cmd_binder.set_handler("refresh",
m_cmd_binder.set_handler("sweep_unmixable",boost::bind(&simple_wallet::sweep_unmixable,this,_1),tr("Send all unmixable outputs to yourself with ring_size 1"));
boost::bind(&simple_wallet::refresh,this,_1),
m_cmd_binder.set_handler("sweep_all",boost::bind(&simple_wallet::sweep_all,this,_1),tr("sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] - Send all unlocked balance to an address. If the parameter \"index<N1>[,<N2>,...]\" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used."));
tr("Synchronize the transactions and balance."));
m_cmd_binder.set_handler("sweep_below",boost::bind(&simple_wallet::sweep_below,this,_1),tr("sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] - Send all unlocked outputs below the threshold to an address"));
m_cmd_binder.set_handler("balance",
m_cmd_binder.set_handler("sweep_single",boost::bind(&simple_wallet::sweep_single,this,_1),tr("sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] - Send a single output of the given key image to an address without change"));
m_cmd_binder.set_handler("donate",boost::bind(&simple_wallet::donate,this,_1),tr("donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] - Donate <amount> to the development team (donate.getmonero.org)"));
tr("balance [detail]"),
m_cmd_binder.set_handler("sign_transfer",boost::bind(&simple_wallet::sign_transfer,this,_1),tr("Sign a transaction from a file"));
tr("Show the wallet's balance of the currently selected account."));
m_cmd_binder.set_handler("submit_transfer",boost::bind(&simple_wallet::submit_transfer,this,_1),tr("Submit a signed transaction from a file"));
m_cmd_binder.set_handler("incoming_transfers",
m_cmd_binder.set_handler("set_log",boost::bind(&simple_wallet::set_log,this,_1),tr("set_log <level>|{+,-,}<categories> - Change current log detail (level must be <0-4>)"));
m_cmd_binder.set_handler("account",boost::bind(&simple_wallet::account,this,_1),tr("account [new <label text with white spaces allowed> | switch <index> | label <index> <label text with white spaces allowed>] - If no argments are specified, the wallet shows all the existing accounts along with their balances. If the \"new\" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the \"switch\" argument is specified, the wallet switches to the account specified by <index>. If the \"label\" argument is specified, the wallet sets the label of the account specified by <index> to the provided label text."));
m_cmd_binder.set_handler("address",boost::bind(&simple_wallet::print_address,this,_1),tr("address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed> ] - If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If \"all\" is specified, the walllet shows all the existing addresses in the currently selected account. If \"new \" is specified, the wallet creates a new address with the provided label text (which can be empty). If \"label\" is specified, the wallet sets the label of the address specified by <index> to the provided label text."));
tr("Show the incoming transfers, all or filtered by availability and address index."));
m_cmd_binder.set_handler("integrated_address",boost::bind(&simple_wallet::print_integrated_address,this,_1),tr("integrated_address [PID] - Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID"));
m_cmd_binder.set_handler("payments",
m_cmd_binder.set_handler("address_book",boost::bind(&simple_wallet::address_book,this,_1),tr("address_book [(add (<address> [pid <long or short payment id>])|<integrated address> [<description possibly with whitespaces>])|(delete <index>)] - Print all entries in the address book, optionally adding/deleting an entry to/from it"));
m_cmd_binder.set_handler("set",boost::bind(&simple_wallet::set_variable,this,_1),tr("Available options: seed language - set wallet seed language; always-confirm-transfers <1|0> - whether to confirm unsplit txes; print-ring-members <1|0> - whether to print detailed information about ring members during confirmation; store-tx-info <1|0> - whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference; default-ring-size <n> - set default ring size (default is 5); auto-refresh <1|0> - whether to automatically sync new blocks from the daemon; refresh-type <full|optimize-coinbase|no-coinbase|default> - set wallet refresh behaviour; priority [0|1|2|3|4] - default/unimportant/normal/elevated/priority fee; confirm-missing-payment-id <1|0>; ask-password <1|0>; unit <monero|millinero|micronero|nanonero|piconero> - set default monero (sub-)unit; min-outputs-count [n] - try to keep at least that many outputs of value at least min-outputs-value; min-outputs-value [n] - try to keep at least min-outputs-count outputs of at least that value; merge-destinations <1|0> - whether to merge multiple payments to the same destination address; confirm-backlog <1|0> - whether to warn if there is transaction backlog; confirm-backlog-threshold [n] - sets a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks; refresh-from-block-height [n] - set height before which to ignore blocks"));
m_cmd_binder.set_handler("get_tx_key",boost::bind(&simple_wallet::get_tx_key,this,_1),tr("Get transaction key (r) for a given <txid>"));
tr("Transfer <amount> to <address> using an older transaction building algorithm. If the parameter \"index=<N1>[,<N2>,...]\" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the fee of the transaction. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command \"set priority\") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding <address_2> <amount_2> etcetera (before the payment ID, if it's included)"));
m_cmd_binder.set_handler("check_tx_key",boost::bind(&simple_wallet::check_tx_key,this,_1),tr("Check amount going to <address> in <txid>"));
m_cmd_binder.set_handler("get_tx_proof",boost::bind(&simple_wallet::get_tx_proof,this,_1),tr("Generate a signature proving payment/receipt of money to/by <address> in <txid> using the transaction/view secret key"));
m_cmd_binder.set_handler("check_tx_proof",boost::bind(&simple_wallet::check_tx_proof,this,_1),tr("Check tx proof for payment going to <address> in <txid>"));
tr("Transfer <amount> to <address>. If the parameter \"index=<N1>[,<N2>,...]\" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the fee of the transaction. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command \"set priority\") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding <address_2> <amount_2> etcetera (before the payment ID, if it's included)"));
m_cmd_binder.set_handler("get_spend_proof",boost::bind(&simple_wallet::get_spend_proof,this,_1),tr("Generate a signature proving that you generated <txid> using the spend secret key"));
m_cmd_binder.set_handler("locked_transfer",
m_cmd_binder.set_handler("check_spend_proof",boost::bind(&simple_wallet::check_spend_proof,this,_1),tr("Check a signature proving that the signer generated <txid>"));
m_cmd_binder.set_handler("show_transfers",boost::bind(&simple_wallet::show_transfers,this,_1),tr("show_transfers [in|out|pending|failed|pool] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] - Show incoming/outgoing transfers within an optional height range"));
m_cmd_binder.set_handler("unspent_outputs",boost::bind(&simple_wallet::unspent_outputs,this,_1),tr("unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] - Show unspent outputs of a specified address within an optional amount range"));
tr("Transfer <amount> to <address> and lock it for <lockblocks> (max. 1000000). If the parameter \"index=<N1>[,<N2>,...]\" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the fee of the transaction. Valid values in priority order (from lowest to highest) are: unimportant, normal, elevated, priority. If omitted, the default value (see the command \"set priority\") is used. <ring_size> is the number of inputs to include for untraceability. Multiple payments can be made at once by adding <address_2> <amount_2> etcetera (before the payment ID, if it's included)"));
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("sweep_unmixable",
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("status",boost::bind(&simple_wallet::status,this,_1),tr("Show wallet status information"));
tr("Send all unlocked balance to an address. If the parameter \"index<N1>[,<N2>,...]\" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used."));
m_cmd_binder.set_handler("export_key_images",boost::bind(&simple_wallet::export_key_images,this,_1),tr("Export a signed set of key images"));
tr("Send all unlocked outputs below the threshold to an address."));
m_cmd_binder.set_handler("import_key_images",boost::bind(&simple_wallet::import_key_images,this,_1),tr("Import signed key images list and verify their spent status"));
m_cmd_binder.set_handler("sweep_single",
m_cmd_binder.set_handler("export_outputs",boost::bind(&simple_wallet::export_outputs,this,_1),tr("Export a 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"));
tr("Send a single output of the given key image to an address without change."));
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"));
boost::bind(&simple_wallet::donate,this,_1),
m_cmd_binder.set_handler("fee",boost::bind(&simple_wallet::print_fee_info,this,_1),tr("Print information about fee and current transaction backlog"));
tr("Change the current log detail (level must be <0-4>)."));
m_cmd_binder.set_handler("account",
boost::bind(&simple_wallet::account,this,_1),
tr("account [new <label text with white spaces allowed> | switch <index> | label <index> <label text with white spaces allowed>]"),
tr("If no arguments are specified, the wallet shows all the existing accounts along with their balances. If the \"new\" argument is specified, the wallet creates a new account with its label initialized by the provided label text (which can be empty). If the \"switch\" argument is specified, the wallet switches to the account specified by <index>. If the \"label\" argument is specified, the wallet sets the label of the account specified by <index> to the provided label text."));
tr("address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>]"),
tr("If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If \"all\" is specified, the walllet shows all the existing addresses in the currently selected account. If \"new \" is specified, the wallet creates a new address with the provided label text (which can be empty). If \"label\" is specified, the wallet sets the label of the address specified by <index> to the provided label text."));
tr("Encode a payment ID into an integrated address for the current wallet public address (no argument uses a random payment ID), or decode an integrated address to standard address and payment ID"));
tr("Generate a signature proving funds sent to <address> in <txid>, optionally with a challenge string <message>, using either the transaction secret key (when <address> is not your wallet's address) or the view secret key (otherwise), which does not disclose the secret key."));
tr("Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids."));