From 17c7c62d55c83a21238fec39d1e0836749829ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20Ker=C3=A4nen?= Date: Wed, 29 Mar 2017 16:06:59 +0300 Subject: [PATCH] Add per transaction fee to transfer command Allows priority argument default/unimportant/normal/elevated/priority to be used per transaction in CLI wallet's transfer command. Resolves #1913. --- src/simplewallet/simplewallet.cpp | 21 +- translations/monero.ts | 2306 ++++++++++++++++++----------- 2 files changed, 1445 insertions(+), 882 deletions(-) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index f5a469af..d3587669 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -101,6 +101,7 @@ enum TransferType { namespace { + const auto allowed_priority_strings = {"default", "unimportant", "normal", "elevated", "priority"}; const auto arg_wallet_file = wallet_args::arg_wallet_file(); const command_line::arg_descriptor arg_generate_new_wallet = {"generate-new-wallet", sw::tr("Generate new wallet and save it to "), ""}; const command_line::arg_descriptor arg_generate_from_view_key = {"generate-from-view-key", sw::tr("Generate incoming-only wallet from view key"), ""}; @@ -685,7 +686,7 @@ simple_wallet::simple_wallet() m_cmd_binder.set_handler("payments", boost::bind(&simple_wallet::show_payments, this, _1), tr("payments [ ... ] - Show payments for given payment ID[s]")); m_cmd_binder.set_handler("bc_height", boost::bind(&simple_wallet::show_blockchain_height, this, _1), tr("Show blockchain height")); 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")); - m_cmd_binder.set_handler("transfer", boost::bind(&simple_wallet::transfer_new, this, _1), tr("transfer []
[] - Transfer to
. is the number of extra inputs to include for untraceability. Multiple payments can be made at once by adding etcetera (before the payment ID, if it's included)")); + m_cmd_binder.set_handler("transfer", boost::bind(&simple_wallet::transfer_new, this, _1), tr("transfer [] []
[] - Transfer to
. 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. is the number of extra inputs to include for untraceability. Multiple payments can be made at once by adding etcetera (before the payment ID, if it's included)")); m_cmd_binder.set_handler("locked_transfer", boost::bind(&simple_wallet::locked_transfer, this, _1), tr("locked_transfer [] (Number of blocks to lock the transaction for, max 1000000) []")); m_cmd_binder.set_handler("sweep_unmixable", boost::bind(&simple_wallet::sweep_unmixable, this, _1), tr("Send all unmixable outputs to yourself with mixin 0")); m_cmd_binder.set_handler("sweep_all", boost::bind(&simple_wallet::sweep_all, this, _1), tr("sweep_all [mixin] address [payment_id] - Send all unlocked balance to an address")); @@ -2205,6 +2206,18 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector local_args = args_; + int priority = 0; + if(local_args.size() > 0) { + auto priority_pos = std::find( + allowed_priority_strings.begin(), + allowed_priority_strings.end(), + local_args[0]); + if(priority_pos != allowed_priority_strings.end()) { + local_args.erase(local_args.begin()); + priority = std::distance(allowed_priority_strings.begin(), priority_pos); + } + } + size_t fake_outs_count; if(local_args.size() > 0) { if(!epee::string_tools::get_xtype_from_string(fake_outs_count, local_args[0])) @@ -2356,15 +2369,15 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vectorcreate_transactions_2(dsts, fake_outs_count, unlock_block /* unlock_time */, 0 /* unused fee arg*/, extra, m_trusted_daemon); + ptx_vector = m_wallet->create_transactions_2(dsts, fake_outs_count, unlock_block /* unlock_time */, priority, extra, m_trusted_daemon); break; case TransferNew: - ptx_vector = m_wallet->create_transactions_2(dsts, fake_outs_count, 0 /* unlock_time */, 0 /* unused fee arg*/, extra, m_trusted_daemon); + ptx_vector = m_wallet->create_transactions_2(dsts, fake_outs_count, 0 /* unlock_time */, priority, extra, m_trusted_daemon); break; default: LOG_ERROR("Unknown transfer method, using original"); case TransferOriginal: - ptx_vector = m_wallet->create_transactions(dsts, fake_outs_count, 0 /* unlock_time */, 0 /* unused fee arg*/, extra, m_trusted_daemon); + ptx_vector = m_wallet->create_transactions(dsts, fake_outs_count, 0 /* unlock_time */, priority, extra, m_trusted_daemon); break; } diff --git a/translations/monero.ts b/translations/monero.ts index 3a366f5f..1862e88f 100644 --- a/translations/monero.ts +++ b/translations/monero.ts @@ -1,1249 +1,1606 @@ - + + + Monero::AddressBookImpl + + + Invalid destination address + + + + + Invalid payment ID. Short payment ID should only be used in an integrated address + + + + + Invalid payment ID + + + + + Integrated address and long payment id can't be used at the same time + + + Monero::PendingTransactionImpl - + + Attempting to save transaction to file, but specified file(s) exist. Exiting to not risk overwriting. File: + + + + + Failed to write transaction(s) to file + + + + daemon is busy. Please try again later. - + no connection to daemon. Please make sure daemon is running. - + transaction %s was rejected by daemon with status: - + + . Reason: + + + + Unknown exception: - + Unhandled exception + + Monero::UnsignedTransactionImpl + + + This is a watch only wallet + + + + + + Failed to sign transaction + + + + + Claimed change does not go to a paid address + + + + + Claimed change is larger than payment to the change address + + + + + Change does to more than one address + + + + + sending %s to %s + + + + + with no destinations + + + + + %s change to %s + + + + + no change + + + + + Loaded %lu transactions, for %s, fee %s, %s, %s, with min mixin %lu. %s + + + Monero::WalletImpl - + payment id has invalid format, expected 16 or 64 character hex string: - + Failed to add short payment id: - - + + daemon is busy. Please try again later. - - + + no connection to daemon. Please make sure daemon is running. - - + + RPC error: - - + failed to get random outputs to mix - - + + not enough money to transfer, available only %s, sent amount %s - - + + failed to parse address + + + + + failed to parse secret spend key + + + + + No view key supplied, cancelled + + + + + failed to parse secret view key + + + + + failed to verify secret spend key + + + + + spend key does not match address + + + + + failed to verify secret view key + + + + + view key does not match address + + + + + failed to generate new wallet: + + + + + Failed to load unsigned transactions + + + + + Failed to load transaction from file + + + + + Wallet is view only + + + + + failed to save file + + + + + Failed to import key images: + + + + + failed to get random outputs to mix: %s + + + + + not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee) - - + + not enough outputs for specified mixin_count - - + + output amount - - + + found outputs to mix - - + + transaction was not constructed - - + + transaction %s was rejected by daemon with status: - - + + one of destinations is zero - - + + failed to find a suitable way to split transactions - - + + unknown transfer error: - - + + internal error: - - + + unexpected error: - - + + unknown error + + + Rescan spent can only be used with a trusted daemon + + Monero::WalletManagerImpl - + failed to parse txid - - + + failed to parse tx key - + failed to parse address - + failed to get transaction from daemon - + failed to parse transaction from daemon - + failed to validate transaction from daemon - + failed to get the right transaction from daemon - + failed to generate key derivation from supplied parameters - + error: - + received - + in txid - + received nothing in txid + + Wallet + + + Failed to parse address + + + + + Failed to parse key + + + + + failed to verify key + + + + + key does not match address + + + command_line - + yes + + cryptonote::rpc_args + + + Specify ip to bind rpc server + + + + + Specify username[:password] required for RPC server + + + + + Confirm rpc-bind-ip value is NOT a loopback (local) IP + + + + + Invalid IP address given for -- + + + + + permits inbound unencrypted external connections. Consider SSH tunnel or SSL proxy instead. Override with -- + + + + + Username specified with -- + + + + + cannot be empty + + + cryptonote::simple_wallet - + Commands: - - - - - - - - - - + failed to read wallet password - - - - - - - - + invalid password - + start_mining [<number_of_threads>] - Start mining in daemon - + Stop mining in daemon - + Save current blockchain data - + Show current wallet balance - + Show blockchain height - + Show current wallet public address - + Show this help - + set seed: needs an argument. available options: language - + set always-confirm-transfers: needs an argument (0 or 1) - + set: unrecognized argument(s) - - wrong number format, use: set_log <log_level_number_0-4> - - - - - wrong number range, use: set_log <log_level_number_0-4> - - - - + wallet file path not valid: - + Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting. - + PLEASE NOTE: the following 25 words can be used to recover access to your wallet. Please write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. - + specify a recovery parameter with the --electrum-seed="words list here" - + wallet failed to connect to daemon: - + Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version. - + List of available languages for your wallet's seed: - + Enter the number corresponding to the language of your choice: - + You had been using a deprecated version of the wallet. Please use the new seed that we provide. - - + + Generated new wallet: - - + + failed to generate new wallet: - + Opened watch-only wallet - + Opened wallet - + You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. - + You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. - + failed to load wallet: - + Use "help" command to see the list of available commands. - + Wallet data saved - - Password for the new watch-only wallet - - - - - Enter new password again - - - - - passwords do not match - - - - - invalid arguments. Please use start_mining [<number_of_threads>], <number_of_threads> should be from 1 to - - - - + Mining started in daemon - + mining has NOT been started: - + Mining stopped in daemon - + mining has NOT been stopped: - + Blockchain saved - - - + + + Height - - - + + + transaction - + received - + spent - + unsupported transaction format - + Starting refresh... - + Refresh done, blocks received: - - you have cancelled the transfer request - - - - - failed to get a Monero address from: - - - - - not yet supported: Multiple Monero addresses found for given URL: - - - - - wrong address: - - - - - + + payment id has invalid format, expected 16 or 64 character hex string: - + bad locked_blocks parameter: - - Locked blocks too high, max 1000000 (˜4 yrs) - - - - - + + a single transaction cannot use more than one payment id: - - + + failed to set up payment id, though it was decoded correctly - - - No payment id is included with this transaction. Is this okay? (Y/Yes/N/No) - - - - - - - - + + + + + transaction cancelled. - + Sending %s. - + Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s - + The transaction fee is %s - + , of which %s is dust from change - - + . - + A total of %s from dust change will be sent to dust address - + . This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block) - - Is this okay? (Y/Yes/N/No) - - - - - - + + + Failed to write transaction(s) to file - - - + + + Unsigned transaction(s) successfully written to file: - - - - + + + + Not enough money in unlocked balance - - - - + + + + Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees - - - + + + Reason: - - - + + + failed to find a suitable way to split transactions - + No unmixable outputs found - + No address given - - No outputs found - - - - + Claimed change does not go to a paid address - + Claimed change is larger than payment to the change address - + Change does to more than one address - + sending %s to %s - + with no destinations - + Failed to sign transaction - + Failed to sign transaction: - + Failed to load transaction from file - + daemon is busy. Please try later - - - - - - + + + + + + RPC error: - - - - - - internal error: + + wallet is watch-only and has no spend key - - - - - - - unexpected error: + + Your original password was incorrect. - - - - - - - unknown error + + Error with wallet rewrite: - - refresh failed: + + priority must be 0, 1, 2, 3, or 4 - - Blocks received: + + priority must be 0, 1, 2, 3,or 4 - - unlocked balance: + + priority must be 0, 1, 2 3,or 4 - - - amount + + invalid unit - - spent + + invalid count: must be an unsigned integer - - global index - - - - - tx id - - - - - No incoming transfers - - - - - No incoming available transfers - - - - - No incoming unavailable transfers - - - - - expected at least one payment_id - - - - - payment - - - - - transaction - - - - - height - - - - - unlock time - - - - - No payments with id - - - - - - failed to get blockchain height: - - - - - wrong number of arguments - - - - - This is a watch only wallet - - - - - DNSSEC validation passed - - - - - true - - - - - failed to parse refresh type - - - - - - wallet is watch-only and has no seed - - - - - - wallet is non-deterministic and has no seed - - - - - - - - wallet is watch-only and cannot transfer - - - - - - - mixin must be an integer >= 2 - - - - - could not change default mixin - - - - - priority must be 0, 1, 2, or 3 - - - - - priority must be 0, 1, 2, or 3 - - - - - priority must be 0, 1, 2 or 3 - - - - - could not change default priority - - - - - Synchronize transactions and balance - - - - - incoming_transfers [available|unavailable] - Show incoming transfers, all or filtered by availability - - - - - payments <PID_1> [<PID_2> ... <PID_N>] - Show payments for given payment ID[s] - - - - - transfer [<mixin_count>] <addr_1> <amount_1> [<addr_2> <amount_2> ... <addr_N> <amount_N>] [payment_id] - Transfer <amount_1>,... <amount_N> to <address_1>,... <address_N>, respectively. <mixin_count> is the number of extra inputs to include for untraceability (from 2 to maximum available) - - - - - Same as transfer_original, but using a new transaction building algorithm - - - - - locked_transfer [<mixin_count>] <addr> <amount> <lockblocks>(Number of blocks to lock the transaction for, max 1000000) [<payment_id>] - - - - - Send all unmixable outputs to yourself with mixin 0 - - - - - sweep_all [mixin] address [payment_id] - Send all unlocked balance an address - - - - - Sign a transaction from a file - - - - - Submit a signed transaction from a file - - - - - set_log <level> - Change current log detail level, <0-4> - - - - - 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 - - - - - Save wallet data - - - - - Save a watch-only keys file - - - - - Display private view key - - - - - Display private spend key - - - - - Display Electrum-style mnemonic seed - - - - - Available options: seed language - set wallet seed language; always-confirm-transfers <1|0> - whether to confirm unsplit txes; store-tx-info <1|0> - whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference; default-mixin <n> - set default mixin (default is 4); 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 [1|2|3] - normal/elevated/priority fee; confirm-missing-payment-id <1|0> - - - - - Rescan blockchain for spent outputs - - - - - Get transaction key (r) for a given <txid> - - - - - Check amount going to <address> in <txid> - - - - - show_transfers [in|out] [<min_height> [<max_height>]] - Show incoming/outgoing transfers within an optional height range - - - - - Rescan blockchain from scratch - - - - - Set an arbitrary string note for a txid - - - - - Get a string note for a txid - - - - - Show wallet status information - - - - - Sign the contents of a file - - - - - Verify a signature on the contents of a file - - - - - Export a signed set of key images + + invalid value - Import signed key images list and verify their spent status + Same as transfer, but using an older transaction building algorithm + + + + + sweep_all [mixin] address [payment_id] - Send all unlocked balance to an address + + + + + donate [<mixin_count>] <amount> [payment_id] - Donate <amount> to the development team (donate.getmonero.org) + + + + + set_log <level>|<categories> - Change current log detail (level must be <0-4>) + + + + + 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 + + + + + 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-mixin <n> - set default mixin (default is 4); 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-output-count [n] - try to keep at least that many outputs of value at least min-output-value; min-output-value [n] - try to keep at least min-output-count outputs of at least that value - merge-destinations <1|0> - whether to merge multiple payments to the same destination address + + + + + show_transfers [in|out|pending|failed|pool] [<min_height> [<max_height>]] - Show incoming/outgoing transfers within an optional height range + + + + + unspent_outputs [<min_amount> <max_amount>] - Show unspent outputs within an optional amount range) + + + + + Show information about a transfer to/from this address + + + + + Change wallet password + + + + + set print-ring-members: needs an argument (0 or 1) + + + + + set priority: needs an argument: 0, 1, 2, 3, or 4 + + + + + set ask-password: needs an argument (0 or 1) + + + + + set unit: needs an argument (monero, millinero, micronero, nanop, piconero) + + + + + set min-outputs-count: needs an argument (unsigned integer) + + + + + set min-outputs-value: needs an argument (unsigned integer) + + + + + set merge-destinations: needs an argument (0 or 1) + + + + + usage: set_log <log_level_number_0-4> | <categories> + + + + + (Y/Yes/N/No): + + + + + + bad m_restore_height parameter: + + + + + date format must be YYYY-MM-DD + + + + + Restore height is: + + + + + + Is this okay? (Y/Yes/N/No): + + + + + Daemon is local, assuming trusted + + + + + Password for new watch-only wallet + + + + + invalid arguments. Please use start_mining [<number_of_threads>] [do_bg_mining] [ignore_battery], <number_of_threads> should be from 1 to + + + + + + + + + internal error: + + + + + + + + + + unexpected error: + + + + + + + + + + unknown error + + + + + refresh failed: + + + + + Blocks received: + + + + + unlocked balance: + + + + + + amount + + + + + spent + + + + + global index + + + + + tx id + + + + + No incoming transfers + + + + + No incoming available transfers + + + + + No incoming unavailable transfers + + + + + expected at least one payment_id + + + + + payment + + + + + transaction + + + + + height + + + + + unlock time + + + + + No payments with id + + + + + + + failed to get blockchain height: + + + + + failed to connect to the daemon + + + + + +Transaction %llu/%llu: txid=%s + + + + + +Input %llu/%llu: amount=%s + + + + + failed to get output: + + + + + output key's originating block height shouldn't be higher than the blockchain height + + + + + +Originating block heights: + + + + + +| + + + + + + | + + + + + + +Warning: Some input keys being spent are from + + + + + , which can break the anonymity of ring signature. Make sure this is intentional! + + + + + + wrong number of arguments + + + + + + No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): + + + + + + No outputs found, or daemon is not ready + + + + + + + + failed to get random outputs to mix: + + + + + + Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): + + + + + Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): + + + + + Donating + + + + + Loaded %lu transactions, for %s, fee %s, %s, %s, with min mixin %lu. %sIs this okay? (Y/Yes/N/No): + + + + + This is a watch only wallet + + + + + usage: show_transfer <txid> + + + + + Transaction ID not found + + + + + true + + + + + failed to parse refresh type + + + + + + wallet is watch-only and has no seed + + + + + + wallet is non-deterministic and has no seed + + + + + + + wallet is watch-only and cannot transfer + + + + + + + mixin must be an integer >= 2 + + + + + could not change default mixin + + + + + could not change default priority + + + + + Synchronize transactions and balance + + + + + incoming_transfers [available|unavailable] - Show incoming transfers, all or filtered by availability + + + + + payments <PID_1> [<PID_2> ... <PID_N>] - Show payments for given payment ID[s] - Export a set of outputs owned by this wallet + transfer [<priority>] [<mixin_count>] <address> <amount> [<payment_id>] - Transfer <amount> to <address>. <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. <mixin_count> is the number of extra 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) + locked_transfer [<mixin_count>] <addr> <amount> <lockblocks>(Number of blocks to lock the transaction for, max 1000000) [<payment_id>] + + + + + Send all unmixable outputs to yourself with mixin 0 + + + + + Sign a transaction from a file + + + + + Submit a signed transaction from a file + + + + + 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 + + + + + Save wallet data + + + + + Save a watch-only keys file + + + + + Display private view key + + + + + Display private spend key + + + + + Display Electrum-style mnemonic seed + + + + + Rescan blockchain for spent outputs + + + + + Get transaction key (r) for a given <txid> + + + + + Check amount going to <address> in <txid> + + + + + Rescan blockchain from scratch + + + + + Set an arbitrary string note for a txid + + + + + Get a string note for a txid + + + + + Show wallet status information + + + + + Sign the contents of a file + + + + + Verify a signature on the contents of a file + + + + + Export a signed set of key images + + + + + Import signed key images list and verify their spent status + + + + + Export a set of outputs owned by this wallet + + + + Import set of outputs owned by this wallet - + set store-tx-info: needs an argument (0 or 1) - + set default-mixin: needs an argument (integer >= 2) - + set auto-refresh: needs an argument (0 or 1) - + set refresh-type: needs an argument: - + full (slowest, no assumptions); optimize-coinbase (fast, assumes the whole coinbase is paid to a single address); no-coinbase (fastest, assumes we receive no coinbase transaction), default (same as optimize-coinbase) - - set priority: needs an argument: 0, 1, 2, or 3 - - - - + set confirm-missing-payment-id: needs an argument (0 or 1) - - usage: set_log <log_level_number_0-4> - - - - - Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created. -Wallet file name (or Ctrl-C to quit): - - - - + Wallet name not valid. Please try again or use Ctrl-C to quit. - + Wallet and key files found, loading... - + Key file found but not wallet file. Regenerating... - + Key file not found. Failed to open wallet: - - No wallet/key file found with that name. Confirm creation of new wallet named: - - - - - (y)es/(n)o: - - - - + Generating new wallet... - + can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-json="jsonfilename" and --generate-from-keys="wallet_name" - + can't specify both --restore-deterministic-wallet and --non-deterministic - + Electrum-style word list failed verification - - bad m_restore_height parameter: - - - - - - - - + + + + + No data supplied, cancelled - - - - + + + + + + + failed to parse address - - + + failed to parse view key secret key - - + + failed to verify view key secret key - - + + view key does not match standard address - - - + + + account creation failed - + failed to parse spend key secret key - + failed to verify spend key secret key - + spend key does not match standard address - + failed to open account - + Daemon either is not started or wrong port was passed. Please make sure daemon is running or restart the wallet with the correct daemon address. - - + + invalid language choice passed. Please try again. - + View key: - + Your wallet has been generated! To start synchronizing with the daemon, use "refresh" command. Use "help" command to see the list of available commands. @@ -1254,509 +1611,623 @@ your wallet again (your wallet keys are NOT at risk in any case). - + You may want to remove the file "%s" and try again - + failed to deinitialize wallet - - + + this command requires a trusted daemon. Enable with --trusted-daemon - + blockchain can't be saved: - - - - - + + + + + daemon is busy. Please try again later. - - - - - + + + + + no connection to daemon. Please make sure daemon is running. - + refresh error: - + Balance: - + pubkey - + key image - - + + unlocked - + ringct - + T - + F - + locked - + RingCT - + - - + payment ID has invalid format, expected 16 or 64 character hex string: - + failed to get spent status - - WARNING: DNSSEC validation was unsuccessful, this address may not be correct! + + Locked blocks too high, max 1000000 (˜4 yrs) - - For URL: - - - - - Monero Address = - - - - - Is this OK? (Y/n) - - - - + usage: integrated_address [payment ID] - + Integrated address: account %s, payment ID %s - + Standard address: - + failed to parse payment ID or address - + + usage: address_book [(add (<address> [pid <long or short payment id>])|<integrated address> [<description possibly with whitespaces>])|(delete <index>)] + + + + + failed to parse payment ID + + + + + failed to parse index + + + + + Address book is empty. + + + + + Index: + + + + + Address: + + + + + Payment ID: + + + + + Description: + + + + usage: set_tx_note [txid] free text note - + usage: get_tx_note [txid] - + usage: sign <filename> - + wallet is watch-only and cannot sign - - - - + + + failed to read file - + usage: verify <filename> <address> <signature> - + Bad signature from - + Good signature from - + usage: export_key_images <filename> - + wallet is watch-only and cannot export key images - - + + failed to save file - + Signed key images exported to - + usage: import_key_images <filename> - + usage: export_outputs <filename> - + Outputs exported to - + usage: import_outputs <filename> - + + amount is wrong: - + + expected number from 0 to - + Money successfully sent, transaction - + no connection to daemon. Please, make sure daemon is running. - - - - - failed to get random outputs to mix - - - - - - - + + + + not enough outputs for specified mixin_count - - - - + + + + output amount - - - - + + + + found outputs to mix - - - - + + + + transaction was not constructed - - - - + + + + transaction %s was rejected by daemon with status: - - - - + + + + one of destinations is zero - + Failed to find a suitable way to split transactions - - - - + + + + unknown transfer error: - + Sweeping - - - Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No) - - - - - + Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No) - - - + + + Money successfully sent, transaction: - + %s change to %s - + no change - - Loaded %lu transactions, for %s, fee %s, %s, %s, with min mixin %lu. %sIs this okay? (Y/Yes/N/No) - - - - + Transaction successfully signed to file - + usage: get_tx_key <txid> - - - - + + + + + failed to parse txid - + Tx key: - + no tx keys found for this txid - + usage: check_tx_key <txid> <txkey> <address> - - + + failed to parse tx key - + failed to get transaction from daemon - + failed to parse transaction from daemon - + failed to validate transaction from daemon - + failed to get the right transaction from daemon - + failed to generate key derivation from supplied parameters - + error: - + received - + in txid - + received nothing in txid - + WARNING: this transaction is not yet included in the blockchain! - + This transaction has %u confirmations - + WARNING: failed to determine number of confirmations! - + usage: show_transfers [in|out|all|pending|failed] [<min_height> [<max_height>]] - + bad min_height parameter: - + bad max_height parameter: - + in - - + + out - + failed - + pending - + + usage: unspent_outputs [<min_amount> <max_amount>] + + + + + <min_amount> should be smaller than <max_amount> + + + + + +Amount: + + + + + , number of keys: + + + + + + + + + + +Min block height: + + + + + +Max block height: + + + + + +Min amount found: + + + + + +Max amount found: + + + + + +Total count: + + + + + +Bin size: + + + + + +Outputs per *: + + + + + count + ^ + + + + + + | + + + + + + + + + + + +--> block height + + + + + + ^ + + + + + ^ + + + + + + + + + + wallet - + Random payment ID: - + Matching integrated address: @@ -1764,274 +2235,348 @@ your wallet again (your wallet keys are NOT at risk in any case). sw - + Generate new wallet and save it to <arg> - + Generate incoming-only wallet from view key - + Generate wallet from private keys - + Specify Electrum seed for wallet recovery/creation - + Recover wallet using Electrum-style mnemonic seed - + Create non-deterministic view and spend keys - + Enable commands which rely on a trusted daemon - + Allow communicating with a daemon that uses a different RPC version - + Restore from specific blockchain height - + daemon is busy. Please try again later. - + possibly lost connection to daemon - + Error: - + Failed to initialize wallet + + tools::dns_utils + + + DNSSEC validation passed + + + + + WARNING: DNSSEC validation was unsuccessful, this address may not be correct! + + + + + For URL: + + + + + Monero Address = + + + + + Is this OK? (Y/n) + + + + + you have cancelled the transfer request + + + tools::wallet2 - + Use daemon instance at <host>:<port> - + Use daemon instance at host <arg> instead of localhost - + + Wallet password - + Wallet password file - + Use daemon instance at port <arg> instead of 18081 - + For testnet. Daemon must also be launched with --testnet flag - + Restricts to view-only commands - + can't specify daemon host or port more than once - + can't specify more than one of --password and --password-file - + the password file specified could not be read - + + Enter new wallet password + + + + failed to read wallet password - + Failed to load file - + + Specify username[:password] for daemon RPC client + + + + Failed to parse JSON - + Version %u too new, we can only grok up to %u - + failed to parse view key secret key - - - + + + failed to verify view key secret key - + failed to parse spend key secret key - - - + + + failed to verify spend key secret key - + Electrum-style word list failed verification - + At least one of Electrum-style word list and private view key must be specified - + Both Electrum-style word list and private key(s) specified - + invalid address - + view key does not match standard address - + spend key does not match standard address - + Cannot create deprecated wallets from JSON - + failed to generate new wallet: + + + failed to read file + + tools::wallet_rpc_server - - Invalid IP address given for rpc-bind-ip argument + + Daemon is local, assuming trusted - - The rpc-bind-ip value is listening for unencrypted external connections. Consider SSH tunnel or SSL proxy instead. Override with --confirm-external-bind + + Cannot specify -- - + + and -- + + + + + Failed to create file + + + + + . Check permissions or remove file + + + + + Error writing to file + + + + + RPC username/password is stored in file + + + + Can't specify more than one of --wallet-file and --generate-from-json - + Must specify --wallet-file or --generate-from-json - + Loading wallet... - - + + Storing wallet... - - + + Stored ok - + Loaded ok - + Wallet initialization failed: - + Failed to initialize wallet rpc server - + Starting wallet rpc server - + Stopped wallet rpc server - + Failed to store wallet: @@ -2039,55 +2584,60 @@ your wallet again (your wallet keys are NOT at risk in any case). wallet_args - - + + Wallet options - + Generate wallet from JSON format file - + Use wallet <arg> - + Max number of threads to use for a parallel job - + Specify log file - + + Config file + + + + General options - - unexpected empty log file name in presence of non-empty file path + + Can't find config file - + + Logging to: + + + + + Logging to %s + + + + Usage: - - - default_log: - - - - - Logging at log level %d to %s - -