diff --git a/src/gen_multisig/gen_multisig.cpp b/src/gen_multisig/gen_multisig.cpp index 69be70e1b..b69ca52ff 100644 --- a/src/gen_multisig/gen_multisig.cpp +++ b/src/gen_multisig/gen_multisig.cpp @@ -104,7 +104,7 @@ static bool generate_multisig(uint32_t threshold, uint32_t total, const std::str wallets[n]->decrypt_keys(pwd_container->password()); if (!tools::wallet2::verify_multisig_info(wallets[n]->get_multisig_info(), sk[n], pk[n])) { - tools::fail_msg_writer() << tr("Failed to verify multisig info"); + tools::fail_msg_writer() << genms::tr("Failed to verify multisig info"); return false; } wallets[n]->encrypt_keys(pwd_container->password()); diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index a1d6eb590..3112280c9 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -180,14 +180,14 @@ namespace auto pwd_container = tools::password_container::prompt(verify, prompt); if (!pwd_container) { - tools::fail_msg_writer() << tr("failed to read wallet password"); + tools::fail_msg_writer() << sw::tr("failed to read wallet password"); } return pwd_container; } boost::optional default_password_prompter(bool verify) { - return password_prompter(verify ? tr("Enter a new password for the wallet") : tr("Wallet password"), verify); + return password_prompter(verify ? sw::tr("Enter a new password for the wallet") : sw::tr("Wallet password"), verify); } inline std::string interpret_rpc_response(bool ok, const std::string& status) @@ -265,7 +265,7 @@ namespace } else { - fail_msg_writer() << tr("invalid argument: must be either 0/1, true/false, y/n, yes/no"); + fail_msg_writer() << sw::tr("invalid argument: must be either 0/1, true/false, y/n, yes/no"); return false; } } @@ -321,18 +321,18 @@ namespace std::string dnssec_str; if (dnssec_valid) { - dnssec_str = tr("DNSSEC validation passed"); + dnssec_str = sw::tr("DNSSEC validation passed"); } else { - dnssec_str = tr("WARNING: DNSSEC validation was unsuccessful, this address may not be correct!"); + dnssec_str = sw::tr("WARNING: DNSSEC validation was unsuccessful, this address may not be correct!"); } std::stringstream prompt; - prompt << tr("For URL: ") << url + prompt << sw::tr("For URL: ") << url << ", " << dnssec_str << std::endl - << tr(" Monero Address = ") << addresses[0] + << sw::tr(" Monero Address = ") << addresses[0] << std::endl - << tr("Is this OK? (Y/n) ") + << sw::tr("Is this OK? (Y/n) ") ; // prompt the user for confirmation given the dns query and dnssec status std::string confirm_dns_ok = input_line(prompt.str()); @@ -342,7 +342,7 @@ namespace } if (!command_line::is_yes(confirm_dns_ok)) { - std::cout << tr("you have cancelled the transfer request") << std::endl; + std::cout << sw::tr("you have cancelled the transfer request") << std::endl; return {}; } return addresses[0]; @@ -363,7 +363,7 @@ namespace uint32_t subaddr_index; if(!epee::string_tools::get_xtype_from_string(subaddr_index, subaddr_index_str)) { - fail_msg_writer() << tr("failed to parse index: ") << subaddr_index_str; + fail_msg_writer() << sw::tr("failed to parse index: ") << subaddr_index_str; subaddr_indices.clear(); return false; } @@ -376,7 +376,7 @@ namespace { auto r = tools::parse_subaddress_lookahead(str); if (!r) - fail_msg_writer() << tr("invalid format for subaddress lookahead; must be :"); + fail_msg_writer() << sw::tr("invalid format for subaddress lookahead; must be :"); return r; } @@ -389,27 +389,27 @@ namespace } catch (const tools::error::daemon_busy&) { - fail_msg_writer() << tr("daemon is busy. Please try again later."); + fail_msg_writer() << sw::tr("daemon is busy. Please try again later."); } catch (const tools::error::no_connection_to_daemon&) { - fail_msg_writer() << tr("no connection to daemon. Please make sure daemon is running."); + fail_msg_writer() << sw::tr("no connection to daemon. Please make sure daemon is running."); } catch (const tools::error::wallet_rpc_error& e) { LOG_ERROR("RPC error: " << e.to_string()); - fail_msg_writer() << tr("RPC error: ") << e.what(); + fail_msg_writer() << sw::tr("RPC error: ") << e.what(); } catch (const tools::error::get_outs_error &e) { - fail_msg_writer() << tr("failed to get random outputs to mix: ") << e.what(); + fail_msg_writer() << sw::tr("failed to get random outputs to mix: ") << e.what(); } catch (const tools::error::not_enough_unlocked_money& e) { LOG_PRINT_L0(boost::format("not enough money to transfer, available only %s, sent amount %s") % print_money(e.available()) % print_money(e.tx_amount())); - fail_msg_writer() << tr("Not enough money in unlocked balance"); + fail_msg_writer() << sw::tr("Not enough money in unlocked balance"); warn_of_possible_attack = false; } catch (const tools::error::not_enough_money& e) @@ -417,7 +417,7 @@ namespace LOG_PRINT_L0(boost::format("not enough money to transfer, available only %s, sent amount %s") % print_money(e.available()) % print_money(e.tx_amount())); - fail_msg_writer() << tr("Not enough money in unlocked balance"); + fail_msg_writer() << sw::tr("Not enough money in unlocked balance"); warn_of_possible_attack = false; } catch (const tools::error::tx_not_possible& e) @@ -427,30 +427,30 @@ namespace print_money(e.tx_amount() + e.fee()) % print_money(e.tx_amount()) % print_money(e.fee())); - fail_msg_writer() << tr("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"); + fail_msg_writer() << sw::tr("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"); warn_of_possible_attack = false; } catch (const tools::error::not_enough_outs_to_mix& e) { auto writer = fail_msg_writer(); - writer << tr("not enough outputs for specified ring size") << " = " << (e.mixin_count() + 1) << ":"; + writer << sw::tr("not enough outputs for specified ring size") << " = " << (e.mixin_count() + 1) << ":"; for (std::pair outs_for_amount : e.scanty_outs()) { - writer << "\n" << tr("output amount") << " = " << print_money(outs_for_amount.first) << ", " << tr("found outputs to use") << " = " << outs_for_amount.second; + writer << "\n" << sw::tr("output amount") << " = " << print_money(outs_for_amount.first) << ", " << sw::tr("found outputs to use") << " = " << outs_for_amount.second; } - writer << tr("Please use sweep_unmixable."); + writer << sw::tr("Please use sweep_unmixable."); } catch (const tools::error::tx_not_constructed&) - { - fail_msg_writer() << tr("transaction was not constructed"); + { + fail_msg_writer() << sw::tr("transaction was not constructed"); warn_of_possible_attack = false; } catch (const tools::error::tx_rejected& e) { - fail_msg_writer() << (boost::format(tr("transaction %s was rejected by daemon with status: ")) % get_transaction_hash(e.tx())) << e.status(); + fail_msg_writer() << (boost::format(sw::tr("transaction %s was rejected by daemon with status: ")) % get_transaction_hash(e.tx())) << e.status(); std::string reason = e.reason(); if (!reason.empty()) - fail_msg_writer() << tr("Reason: ") << reason; + fail_msg_writer() << sw::tr("Reason: ") << reason; } catch (const tools::error::tx_sum_overflow& e) { @@ -459,38 +459,38 @@ namespace } catch (const tools::error::zero_destination&) { - fail_msg_writer() << tr("one of destinations is zero"); + fail_msg_writer() << sw::tr("one of destinations is zero"); warn_of_possible_attack = false; } catch (const tools::error::tx_too_big& e) { - fail_msg_writer() << tr("failed to find a suitable way to split transactions"); + fail_msg_writer() << sw::tr("failed to find a suitable way to split transactions"); warn_of_possible_attack = false; } catch (const tools::error::transfer_error& e) { LOG_ERROR("unknown transfer error: " << e.to_string()); - fail_msg_writer() << tr("unknown transfer error: ") << e.what(); + fail_msg_writer() << sw::tr("unknown transfer error: ") << e.what(); } catch (const tools::error::multisig_export_needed& e) { LOG_ERROR("Multisig error: " << e.to_string()); - fail_msg_writer() << tr("Multisig error: ") << e.what(); + fail_msg_writer() << sw::tr("Multisig error: ") << e.what(); warn_of_possible_attack = false; } catch (const tools::error::wallet_internal_error& e) { LOG_ERROR("internal error: " << e.to_string()); - fail_msg_writer() << tr("internal error: ") << e.what(); + fail_msg_writer() << sw::tr("internal error: ") << e.what(); } catch (const std::exception& e) { LOG_ERROR("unexpected error: " << e.what()); - fail_msg_writer() << tr("unexpected error: ") << e.what(); + fail_msg_writer() << sw::tr("unexpected error: ") << e.what(); } if (warn_of_possible_attack) - fail_msg_writer() << tr("There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information."); + fail_msg_writer() << sw::tr("There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information."); } bool check_file_overwrite(const std::string &filename) @@ -500,10 +500,10 @@ namespace { if (boost::ends_with(filename, ".keys")) { - fail_msg_writer() << boost::format(tr("File %s likely stores wallet private keys! Use a different file name.")) % filename; + fail_msg_writer() << boost::format(sw::tr("File %s likely stores wallet private keys! Use a different file name.")) % filename; return false; } - return command_line::is_yes(input_line((boost::format(tr("File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): ")) % filename).str())); + return command_line::is_yes(input_line((boost::format(sw::tr("File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): ")) % filename).str())); } return true; } @@ -6577,16 +6577,16 @@ static std::string get_human_readable_timespan(std::chrono::seconds seconds) { uint64_t ts = seconds.count(); if (ts < 60) - return std::to_string(ts) + tr(" seconds"); + return std::to_string(ts) + sw::tr(" seconds"); if (ts < 3600) - return std::to_string((uint64_t)(ts / 60)) + tr(" minutes"); + return std::to_string((uint64_t)(ts / 60)) + sw::tr(" minutes"); if (ts < 3600 * 24) - return std::to_string((uint64_t)(ts / 3600)) + tr(" hours"); + return std::to_string((uint64_t)(ts / 3600)) + sw::tr(" hours"); if (ts < 3600 * 24 * 30.5) - return std::to_string((uint64_t)(ts / (3600 * 24))) + tr(" days"); + return std::to_string((uint64_t)(ts / (3600 * 24))) + sw::tr(" days"); if (ts < 3600 * 24 * 365.25) - return std::to_string((uint64_t)(ts / (3600 * 24 * 30.5))) + tr(" months"); - return tr("a long time"); + return std::to_string((uint64_t)(ts / (3600 * 24 * 30.5))) + sw::tr(" months"); + return sw::tr("a long time"); } //---------------------------------------------------------------------------------------------------- bool simple_wallet::show_transfers(const std::vector &args_) @@ -8096,7 +8096,7 @@ int main(int argc, char* argv[]) if (!command.empty()) { if (!w.process_command(command)) - fail_msg_writer() << tr("Unknown command: ") << command.front(); + fail_msg_writer() << sw::tr("Unknown command: ") << command.front(); w.stop(); w.deinit(); } diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 5bdc75b13..303e2fb5f 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -258,7 +258,7 @@ std::unique_ptr make_basic(const boost::program_options::variabl trusted_daemon = false; if (tools::is_local_address(daemon_address)) { - MINFO(tr("Daemon is local, assuming trusted")); + MINFO(tools::wallet2::tr("Daemon is local, assuming trusted")); trusted_daemon = true; } } @@ -310,7 +310,7 @@ boost::optional get_password(const boost::program_opt THROW_WALLET_EXCEPTION_IF(!password_prompter, tools::error::wallet_internal_error, tools::wallet2::tr("no password specified; use --prompt-for-password to prompt for a password")); - return password_prompter(verify ? tr("Enter a new password for the wallet") : tr("Wallet password"), verify); + return password_prompter(verify ? tools::wallet2::tr("Enter a new password for the wallet") : tools::wallet2::tr("Wallet password"), verify); } std::pair, tools::password_container> generate_from_json(const std::string& json_file, const boost::program_options::variables_map& vm, bool unattended, const options& opts, const std::function(const char *, bool)> &password_prompter) diff --git a/translations/monero.ts b/translations/monero.ts index 5f0ba0c7c..8d4ee7ab8 100644 --- a/translations/monero.ts +++ b/translations/monero.ts @@ -27,45 +27,55 @@ 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 + + + Couldn't multisig sign data: + + + + + Couldn't sign multisig transaction: + + Monero::UnsignedTransactionImpl @@ -124,281 +134,406 @@ 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: - - - not enough outputs for specified ring size + + failed to get outputs to mix: %s - - - found outputs to use + + + not enough outputs for specified ring size - - Please sweep unmixable outputs. + + + found outputs to use - - failed to get random outputs to mix + + Please sweep unmixable outputs. - - + + 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 + + Neither view key nor spend 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: - + + Electrum seed is empty + + + + + Electrum-style word list failed verification + + + + Failed to send import wallet request - + Failed to load unsigned transactions - + Failed to load transaction from file - + Wallet is view only - + failed to save file - + Key images can only be imported with a trusted daemon - + Failed to import key images: - + Failed to get subaddress label: - + Failed to set subaddress label: - - failed to get random outputs to mix: %s + + Failed to get multisig info: + + + + + Failed to make multisig: + + + + + Failed to finalize multisig wallet creation + + + + + Failed to finalize multisig wallet creation: + + + + + Failed to export multisig images: + + + + + Failed to parse imported multisig images + + + + + Failed to import multisig images: + + + + + Failed to check for partial multisig key images: + + + + + Failed to restore multisig transaction: + + + + + Invalid destination address + + + + + Invalid output: - - + + not enough money to transfer, overall balance only %s, sent amount %s - - + + not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee) - - + + output amount - - + + 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 - - - - - - + + failed to get outputs to mix + + + + + + + + + + Failed to parse txid - + no tx keys found for this txid - - + + Failed to parse tx key - - - - + + + + Failed to parse address - + Address must not be a subaddress - + + The wallet must be in multisig ready state + + + + + Given string is not a key + + + + Rescan spent can only be used with a trusted daemon + + + Failed to set blackballed outputs + + + + + + Failed to parse output amount + + + + + + Failed to parse output offset + + + + + Failed to blackball output + + + + + Failed to unblackball output + + + + + + Failed to parse key image + + + + + Failed to get ring + + + + + Failed to get rings + + + + + Failed to set ring + + Wallet - + Failed to parse address - + Failed to parse key - + failed to verify key - + key does not match address @@ -449,18 +584,18 @@ - + Username specified with -- - - + + cannot be empty - + requires RPC server password -- @@ -468,2531 +603,3408 @@ cryptonote::simple_wallet - - Commands: + + Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version. - - failed to read wallet password + + Enter the number corresponding to the language of your choice: - - invalid password + + There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): - - set seed: needs an argument. available options: language + + + Spending from address index %d + - - set: unrecognized argument(s) + + Sending %s. - - wallet file path not valid: + + 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 - - Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting. + + The transaction fee is %s - - usage: payment_id + + , of which %s is dust from change - - needs an argument + + A total of %s from dust change will be sent to dust address - - - - - - - - - - - 0 or 1 + + . +This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block) - - 0, 1, 2, 3, or 4 + + Not enough money in unlocked balance - - - unsigned integer + + No address given - - NOTE: the following 25 words can be used to recover access to your wallet. 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. - + + missing lockedblocks parameter - - --restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file + + bad locked_blocks parameter - - specify a recovery parameter with the --electrum-seed="words list here" + + failed to parse Payment ID - - specify a wallet path with --generate-new-wallet (not --wallet-file) + + failed to parse key image - - wallet failed to connect to daemon: + + No outputs found - - Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version. + + Multiple transactions are created, which is not supposed to happen - - List of available languages for your wallet's seed: + + The transaction uses multiple or no inputs, which is not supposed to happen - - Enter the number corresponding to the language of your choice: + + Money successfully sent, transaction: - - You had been using a deprecated version of the wallet. Please use the new seed that we provide. - + + missing threshold amount - - - Generated new wallet: + + invalid amount threshold - - - - failed to generate new wallet: + + donations are not enabled on the testnet or on the stagenet - - Opened watch-only wallet + + usage: donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] - - Opened wallet + + Claimed change does not go to a paid address - - You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. - + + Claimed change is larger than payment to the change address - - You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. - + + Change goes to more than one address - - failed to load wallet: + + sending %s to %s - - Use the "help" command to see the list of available commands. - + + dummy output(s) - - Wallet data saved + + with no destinations - - Mining started in daemon + + no change - - mining has NOT been started: + + Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): - - Mining stopped in daemon + + (Y/Yes/N/No): - - mining has NOT been stopped: + + + + Is this okay? (Y/Yes/N/No): - - Blockchain saved + + Daemon is local, assuming trusted - - - - Height + + Password for new watch-only wallet - - transaction + + false - - spent + + Commands: - - unsupported transaction format + + Unknown command: - - Starting refresh... + + Command usage: - - Refresh done, blocks received: + + Command description: - - - payment id has invalid format, expected 16 or 64 character hex string: + + wallet is watch-only and has no spend key - - bad locked_blocks parameter: + + + + + + + + + + + + + + + + + + + + + + command not supported by HW wallet - - - - a single transaction cannot use more than one payment id: + + + wallet is watch-only and has no seed - - - - - failed to set up payment id, though it was decoded correctly + + wallet is multisig but not yet finalized - - - - - - - - - transaction cancelled. + + + wallet is non-deterministic and has no seed - - - Is this okay anyway? (Y/Yes/N/No): + + Failed to retrieve seed - - There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): + + wallet is multisig and has no seed - - Failed to check for backlog: + + Incorrect password - - - -Transaction + + + + Your original password was incorrect. - - - Spending from address index %d - + + Error with wallet rewrite: - - - WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. - + + usage: payment_id - - Sending %s. + + + Random payment ID: - - 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 + + Cannot connect to daemon - - The transaction fee is %s + + Current fee is %s %s per %s - - , of which %s is dust from change + + Error: failed to estimate backlog array size: - - . + + Error: bad estimated backlog array size - - A total of %s from dust change will be sent to dust address + + (current) - - . -This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block) + + %u block (%u minutes) backlog at priority %u%s - - - - - - - - - Failed to write transaction(s) to file + + %u to %u block (%u to %u minutes) backlog at priority %u - - - - - - - - - Unsigned transaction(s) successfully written to file: + + No backlog at priority - - No unmixable outputs found + + + This wallet is already multisig - - No address given + + + wallet is watch-only and cannot be made multisig - - failed to parse Payment ID + + + This wallet has been used before, please use a new wallet to create a multisig wallet - - usage: sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] + + Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info - - failed to parse key image + + This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants - - No outputs found + + usage: make_multisig <threshold> <multisiginfo1> [<multisiginfo2>...] - - Multiple transactions are created, which is not supposed to happen + + Invalid threshold - - The transaction uses multiple or no inputs, which is not supposed to happen + + Another step is needed - - missing threshold amount + + Send this multisig info to all other participants, then use finalize_multisig <info1> [<info2>...] with others' multisig info - - invalid amount threshold + + Error creating multisig: - - donations are not enabled on the testnet + + Error creating multisig: new wallet is not multisig - - usage: donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] + + multisig address: - - Claimed change does not go to a paid address + + + + This wallet is not multisig - - Claimed change is larger than payment to the change address + + This wallet is already finalized - - sending %s to %s + + usage: finalize_multisig <multisiginfo1> [<multisiginfo2>...] - - dummy output(s) + + Failed to finalize multisig - - with no destinations + + Failed to finalize multisig: - - Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): + + + + + + This multisig wallet is not yet finalized - - This is a multisig wallet, it can only sign with sign_multisig + + usage: export_multisig_info <filename> - - usage: sign_transfer [export] + + + + failed to save file - - Failed to sign transaction + + Error exporting multisig info: - - Failed to sign transaction: + + Multisig info exported to - - Transaction raw hex data exported to + + usage: import_multisig_info <filename1> [<filename2>...] - one for each other participant - - Failed to load transaction from file + + + + + failed to read file - - - RPC error: + + Multisig info imported - - wallet is watch-only and has no spend key + + Failed to import multisig info: - - - - Your original password was incorrect. + + Failed to update spent status after importing multisig info: - - Error with wallet rewrite: + + Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent" - - priority must be 0, 1, 2, 3, or 4 + + + + This is not a multisig wallet - - - priority must be 0, 1, 2, 3, or 4 + + usage: sign_multisig <filename> - - invalid unit + + Failed to sign multisig transaction - - - invalid count: must be an unsigned integer + + Multisig error: - - invalid value + + Failed to sign multisig transaction: - - usage: set_log <log_level_number_0-4> | <categories> + + + + Transaction successfully signed to file - - (Y/Yes/N/No): + + It may be relayed to the network with submit_multisig - - - bad m_restore_height parameter: + + usage: submit_multisig <filename> - - date format must be YYYY-MM-DD + + + Failed to load multisig transaction from file - - Restore height is: + + + Multisig transaction signed by only %u signers, needs %u more signatures - - - Is this okay? (Y/Yes/N/No): + + + Transaction successfully submitted, transaction - - Daemon is local, assuming trusted + + + You can check its status by using the `show_transfers` command. - - Password for new watch-only wallet + + + + + + + + + + unknown error - - invalid arguments. Please use start_mining [<number_of_threads>] [do_bg_mining] [ignore_battery], <number_of_threads> should be from 1 to + + usage: export_raw_multisig <filename> - - internal error: + + Failed to export multisig transaction to file - - - - unexpected error: + + Saved exported multisig transaction file(s): - - - - - - - - - - unknown error + + + + unexpected error: - - refresh failed: + + usage: print_ring <key_image|txid> - - Blocks received: + + + Invalid key image - - unlocked balance: + + Invalid txid - - - - amount + + Key image either not spent, or spent with mixin 0 - - false + + Failed to get key image ring: - - Unknown command: + + File doesn't exist - - Command usage: + + Invalid ring specification: - - Command description: + + Invalid key image: - - wallet is multisig but not yet finalized + + Invalid ring type, expected relative or abosolute: - - Enter optional seed encryption passphrase, empty to see raw seed + + + Error reading line: - - Failed to retrieve seed + + Invalid ring: - - wallet is multisig and has no seed + + Invalid relative ring: - - Cannot connect to daemon + + Invalid absolute ring: - - Current fee is %s monero per kB + + Failed to set ring for key image: - - Error: failed to estimate backlog array size: + + Continuing. - - Error: bad estimated backlog array size + + usage: set_ring <filename> | ( <key_image> absolute|relative <index> [<index>...] ) - - (current) + + Missing absolute or relative keyword - - %u block (%u minutes) backlog at priority %u%s + + + invalid index: must be a strictly positive unsigned integer - - %u to %u block (%u to %u minutes) backlog at priority %u + + invalid index: indices wrap - - No backlog at priority + + invalid index: indices should be in strictly ascending order - - - This wallet is already multisig + + failed to set ring - - - wallet is watch-only and cannot be made multisig + + Bad argument: - - - This wallet has been used before, please use a new wallet to create a multisig wallet + + should be "add" - - Your password is incorrect. + + Failed to open file - - Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info + + Failed to blackball output: - - This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants + + + Failed to unblackball output: - - usage: make_multisig <threshold> <multisiginfo1> [<multisiginfo2>...] + + Blackballed: - - Invalid threshold + + not blackballed: - - Another step is needed + + Failed to save known rings: - - Send this multisig info to all other participants, then use finalize_multisig <info1> [<info2>...] with others' multisig info + + + wallet is watch-only and cannot transfer - - Error creating multisig: + + + + ring size must be an integer >= - - Error creating multisig: new wallet is not multisig + + + WARNING: this is a non default ring size, which may harm your privacy. Default is recommended. - - multisig address: + + could not change default ring size - - - - This wallet is not multisig + + + + priority must be either 0, 1, 2, 3, or 4, or one of: - - This wallet is already finalized + + could not change default priority - - usage: finalize_multisig <multisiginfo1> [<multisiginfo2>...] + + invalid unit - - Failed to finalize multisig + + + invalid count: must be an unsigned integer - - Failed to finalize multisig: + + invalid value - - - - - - This multisig wallet is not yet finalized + + + Invalid height - - usage: export_multisig_info <filename> + + start_mining [<number_of_threads>] [bg_mining] [ignore_battery] - - Error exporting multisig info: + + Start mining in the daemon (bg_mining and ignore_battery are optional booleans). - - Multisig info exported to + + Stop mining in the daemon. - - usage: import_multisig_info <filename1> [<filename2>...] - one for each other participant + + set_daemon <host>[:<port>] [trusted|untrusted] - - Multisig info imported + + Set another daemon to connect to. - - Failed to import multisig info: + + Save the current blockchain data. - - Failed to update spent status after importing multisig info: + + Synchronize the transactions and balance. - - Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent" + + balance [detail] - - - - This is not a multisig wallet + + Show the wallet's balance of the currently selected account. - - usage: sign_multisig <filename> + + incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>[,...]]] - - Failed to sign multisig transaction + + Show the incoming transfers, all or filtered by availability and address index. - - Multisig error: + + payments <PID_1> [<PID_2> ... <PID_N>] - - Failed to sign multisig transaction: + + Show the payments for the given payment IDs. - - It may be relayed to the network with submit_multisig + + Show the blockchain height. - - usage: submit_multisig <filename> + + locked_sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <lockblocks> [<payment_id>] - - - Failed to load multisig transaction from file + + Send all unlocked balance to an address and lock it for <lockblocks> (max. 1000000). 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. <priority> is the priority of the sweep. The higher the priority, the higher the transaction fee. 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. - - - Multisig transaction signed by only %u signers, needs %u more signatures + + Send all unmixable outputs to yourself with ring_size 1 - - - Transaction successfully submitted, transaction + + sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] - - - You can check its status by using the `show_transfers` command. + + Send all unlocked outputs below the threshold to an address. - - usage: export_raw_multisig <filename> + + Send a single output of the given key image to an address without change. - - Failed to export multisig transaction to file + + donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] - - Saved exported multisig transaction file(s): + + Donate <amount> to the development team (donate.getmonero.org). - - - - ring size must be an integer >= + + sign_transfer [export_raw] - - could not change default ring size + + Sign a transaction from a file. If the parameter "export_raw" is specified, transaction raw hex data suitable for the daemon RPC /sendrawtransaction is exported. - - Invalid height + + Submit a signed transaction from a file. - - start_mining [<number_of_threads>] [bg_mining] [ignore_battery] + + set_log <level>|{+,-,}<categories> - - Start mining in the daemon (bg_mining and ignore_battery are optional booleans). + + Change the current log detail (level must be <0-4>). - - Stop mining in the daemon. + + account + account new <label text with white spaces allowed> + account switch <index> + account label <index> <label text with white spaces allowed> + account tag <tag_name> <account_index_1> [<account_index_2> ...] + account untag <account_index_1> [<account_index_2> ...] + account tag_description <tag_name> <description> - - set_daemon <host>[:<port>] + + 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. +If the "tag" argument is specified, a tag <tag_name> is assigned to the specified accounts <account_index_1>, <account_index_2>, .... +If the "untag" argument is specified, the tags assigned to the specified accounts <account_index_1>, <account_index_2> ..., are removed. +If the "tag_description" argument is specified, the tag <tag_name> is assigned an arbitrary text <description>. - - Set another daemon to connect to. + + address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>] - - Save the current blockchain data. + + If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet 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. - - Synchronize the transactions and balance. + + integrated_address [<payment_id> | <address>] - - balance [detail] + + 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 - - Show the wallet's balance of the currently selected account. + + address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)] - - incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>[,...]]] + + Print all entries in the address book, optionally adding/deleting an entry to/from it. - - Show the incoming transfers, all or filtered by availability and address index. + + Save the wallet data. - - payments <PID_1> [<PID_2> ... <PID_N>] + + Save a watch-only keys file. - - Show the payments for the given payment IDs. + + Display the private view key. - - Show the blockchain height. + + Display the private spend key. - - transfer_original [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] + + Display the Electrum-style mnemonic seed - - 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 transaction fee. 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) + + set <option> [<value>] - - transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] + + Display the encrypted Electrum-style mnemonic seed. - - 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 transaction fee. 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) + + Rescan the blockchain for spent outputs. - - locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>] + + get_tx_key <txid> - - 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 transaction fee. 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) + + Get the transaction key (r) for a given <txid>. - - Send all unmixable outputs to yourself with ring_size 1 + + set_tx_key <txid> <tx_key> - - sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] + + Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet. - - 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. + + check_tx_key <txid> <txkey> <address> - - sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] + + Check the amount going to <address> in <txid>. - - Send all unlocked outputs below the threshold to an address. + + get_tx_proof <txid> <address> [<message>] - - sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] + + 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. - - Send a single output of the given key image to an address without change. + + check_tx_proof <txid> <address> <signature_file> [<message>] - - donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] + + Check the proof for funds going to <address> in <txid> with the challenge string <message> if any. + + + + + get_spend_proof <txid> [<message>] + + + + + Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>. + + + + + check_spend_proof <txid> <signature_file> [<message>] + + + + + Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>. + + + + + get_reserve_proof (all|<amount>) [<message>] + + + + + Generate a signature proving that you own at least this much, optionally with a challenge string <message>. +If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. +Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account. + + + + + check_reserve_proof <address> <signature_file> [<message>] + + + + + Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>. + + + + + show_transfers [in|out|pending|failed|pool|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] + + + + + Show the incoming/outgoing transfers within an optional height range. + + + + + unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] + + + + + Show the unspent outputs of a specified address within an optional amount range. + + + + + Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself. + + + + + set_tx_note <txid> [free text note] + + + + + Set an arbitrary string note for a <txid>. + + + + + get_tx_note <txid> + + + + + Get a string note for a txid. + + + + + set_description [free text note] + + + + + Set an arbitrary description for the wallet. + + + + + Get the description of the wallet. + + + + + Show the wallet's status. + + + + + Show the wallet's information. + + + + + sign <file> + + + + + Sign the contents of a file. + + + + + verify <filename> <address> <signature> + + + + + Verify a signature on the contents of a file. + + + + + export_key_images <file> + + + + + Export a signed set of key images to a <file>. + + + + + import_key_images <file> + + + + + Import a signed key images list and verify their spent status. + + + + + hw_reconnect + + + + + Attempts to reconnect HW wallet. + + + + + export_outputs <file> + + + + + Export a set of outputs owned by this wallet. + + + + + import_outputs <file> + + + + + Import a set of outputs owned by this wallet. + + + + + show_transfer <txid> + + + + + Show information about a transfer to/from this address. + + + + + Change the wallet's password. + + + + + Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids. + + + + + Print the information about the current fee and transaction backlog. + + + + + Export data needed to create a multisig wallet + + + + + make_multisig <threshold> <string1> [<string>...] + + + + + Turn this wallet into a multisig wallet + + + + + finalize_multisig <string> [<string>...] + + + + + Turn this wallet into a multisig wallet, extra step for N-1/N wallets + + + + + export_multisig_info <filename> + + + + + Export multisig info for other participants + + + + + import_multisig_info <filename> [<filename>...] + + + + + Import multisig info from other participants + + + + + sign_multisig <filename> + + + + + Sign a multisig transaction from a file + + + + + submit_multisig <filename> + + + + + Submit a signed multisig transaction from a file + + + + + export_raw_multisig_tx <filename> + + + + + Export a signed multisig transaction to a file + + + + + print_ring <key_image> | <txid> + + + + + Print the ring(s) used to spend a given key image or transaction (if the ring size is > 1) + + + + + set_ring <filename> | ( <key_image> absolute|relative <index> [<index>...] ) + + + + + Set the ring used for a given key image, so it can be reused in a fork + + + + + save_known_rings + + + + + Save known rings to the shared rings database + + + + + Blackball output(s) so they never get selected as fake outputs in a ring + + + + + Unblackballs an output so it may get selected as a fake output in a ring + + + + + Checks whether an output is blackballed + + + + + version + + + + + Returns version information + + + + + help [<command>] + + + + + Show the help section or the documentation about a <command>. + + + + + needs an argument + + + + + set seed: needs an argument. available options: language + + + + + + + + + + + + + + + + 0 or 1 + + + + + integer >= + + + + + 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) + + + + + 0, 1, 2, 3, or 4, or one of + + + + + 0|1|2 (or never|action|decrypt) + + + + + monero, millinero, micronero, nanonero, piconero + + + + + + + unsigned integer + + + + + + + amount + + + + + block height + + + + + <major>:<minor> + + + + + set: unrecognized argument(s) + + + + + usage: set_log <log_level_number_0-4> | <categories> + + + + + wrong number range, use: set_log <log_level_number_0-4> | <categories> + + + + + Wallet name not valid. Please try again or use Ctrl-C to quit. + + + + + Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting. + + + + + Wallet and key files found, loading... + + + + + Key file found but not wallet file. Regenerating... + + + + + Key file not found. Failed to open wallet: + + + + + No wallet found with that name. Confirm creation of new wallet named: + + + + + Generating new wallet... + + + + + NOTE: the following 25 words can be used to recover access to your wallet. 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. + + + + + + Can't specify more than one of --testnet and --stagenet + + + + + can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name", --generate-from-json="jsonfilename" and --generate-from-device="wallet_name" + + + + + can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic + + + + + --restore-multisig-wallet uses --generate-new-wallet, not --wallet-file + + + + + --restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file + + + + + specify a recovery parameter with the --electrum-seed="multisig seed here" + + + + + specify a recovery parameter with the --electrum-seed="words list here" + + + + + Multisig seed failed verification + + + + + Electrum-style word list failed verification + + + + + + + + + + + + + + No data supplied, cancelled + + + + + + + + + + + + + + + + failed to parse address + + + + + + This address is a subaddress which cannot be used here. + + + + + + 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 + + + + + Error: expected M/N, but got: + + + + + Error: expected N > 1 and N <= M, but got: + + + + + Error: M/N is currently unsupported. + + + + + Generating master wallet from %u of %u multisig wallet keys + + + + + failed to parse secret view key + + + + + failed to verify secret view key + + + + + Secret spend key (%u of %u): + + + + + Error: M/N is currently unsupported + + + + + No restore height is specified. + + + + + Assumed you are creating a new account, restore will be done from current estimated blockchain height. + + + + + Use --restore-height if you want to restore an already setup account from a specific height + + + + + account creation aborted + + + + + specify a wallet path with --generate-new-wallet (not --wallet-file) + + + + + + bad m_restore_height parameter: + + + + + date format must be YYYY-MM-DD + + + + + Restore height is: + + + + + Restore height + + + + + Still apply restore height? (Y/Yes/N/No): + + + + + can't specify --subaddress-lookahead and --wallet-file at the same time + + + + + failed to open account + + + + + + + + + wallet is null + + + + + Warning: using an untrusted daemon at %s, privacy will be lessened + + + + + Failed to initialize ring database: privacy enhancing features will be inactive + + + + + wallet failed to connect to daemon: + + + + + Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command. + + + + + List of available languages for your wallet's seed: + + + + + If your display freezes, exit blind with ^C, then run again with --use-english-language-names + + + + + + invalid language choice entered. Please try again. + + + + + + invalid password - - Donate <amount> to the development team (donate.getmonero.org). + + You had been using a deprecated version of the wallet. Please use the new seed that we provide. + - - sign_transfer <file> + + + Generated new wallet: - - Sign a transaction from a <file>. + + View key: - - Submit a signed transaction from a file. + + + + + failed to generate new wallet: - - set_log <level>|{+,-,}<categories> + + Your wallet has been generated! +To start synchronizing with the daemon, use the "refresh" command. +Use the "help" command to see the list of available commands. +Use "help <command>" to see a command's documentation. +Always use the "exit" command when closing monero-wallet-cli to save +your current session's state. Otherwise, you might need to synchronize +your wallet again (your wallet keys are NOT at risk in any case). + - - Change the current log detail (level must be <0-4>). + + Generated new wallet on hw device: - - account - account new <label text with white spaces allowed> - account switch <index> - account label <index> <label text with white spaces allowed> - account tag <tag_name> <account_index_1> [<account_index_2> ...] - account untag <account_index_1> [<account_index_2> ...] - account tag_description <tag_name> <description> + + failed to generate new mutlisig wallet - - 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. -If the "tag" argument is specified, a tag <tag_name> is assigned to the specified accounts <account_index_1>, <account_index_2>, .... -If the "untag" argument is specified, the tags assigned to the specified accounts <account_index_1>, <account_index_2> ..., are removed. -If the "tag_description" argument is specified, the tag <tag_name> is assigned an arbitrary text <description>. + + Generated new %u/%u multisig wallet: - - address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>] + + wallet file path not valid: - - If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the wallet 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. + + Key file not found. Failed to open wallet - - integrated_address [<payment_id> | <address>] + + Opened watch-only wallet - - 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 + + Opened %u/%u multisig wallet%s - - address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)] + + Opened wallet - - Print all entries in the address book, optionally adding/deleting an entry to/from it. + + You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. + - - Save the wallet data. + + You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. + - - Save a watch-only keys file. + + failed to load wallet: - - Display the private view key. + + Use the "help" command to see the list of available commands. + - - Display the private spend key. + + Use "help <command>" to see a command's documentation. + - - Display the Electrum-style mnemonic seed + + failed to deinitialize wallet - - set <option> [<value>] + + Wallet data saved - - Available options: - seed language - Set the wallet's 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 the default ring size (default and minimum is 5). - auto-refresh <1|0> - Whether to automatically synchronize new blocks from the daemon. - refresh-type <full|optimize-coinbase|no-coinbase|default> - Set the wallet's refresh behaviour. - priority [0|1|2|3|4] - Set the fee to default/unimportant/normal/elevated/priority. - confirm-missing-payment-id <1|0> - ask-password <1|0> - unit <monero|millinero|micronero|nanonero|piconero> - Set the 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] - Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. - refresh-from-block-height [n] - Set the height before which to ignore blocks. - auto-low-priority <1|0> - Whether to automatically use the low priority fee level when it's safe to do so. + + wallet is multisig and cannot save a watch-only version - - Display the encrypted Electrum-style mnemonic seed. + + failed to read wallet password - - Rescan the blockchain for spent outputs. + + Watch only wallet saved as: - - get_tx_key <txid> + + Failed to save watch only wallet: - - Get the transaction key (r) for a given <txid>. + + + + this command requires a trusted daemon. Enable with --trusted-daemon - - check_tx_key <txid> <txkey> <address> + + invalid arguments. Please use start_mining [<number_of_threads>] [do_bg_mining] [ignore_battery] - - Check the amount going to <address> in <txid>. + + Mining started in daemon - - get_tx_proof <txid> <address> [<message>] + + mining has NOT been started: - - 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. + + Mining stopped in daemon - - check_tx_proof <txid> <address> <signature_file> [<message>] + + mining has NOT been stopped: - - Check the proof for funds going to <address> in <txid> with the challenge string <message> if any. + + missing daemon URL argument - - get_spend_proof <txid> [<message>] + + Unexpected array length - Exited simple_wallet::set_daemon() - - Generate a signature proving that you generated <txid> using the spend secret key, optionally with a challenge string <message>. + + Expected trusted or untrusted, got - - check_spend_proof <txid> <signature_file> [<message>] + + trusted - - Check a signature proving that the signer generated <txid>, optionally with a challenge string <message>. + + untrusted - - get_reserve_proof (all|<amount>) [<message>] + + This does not seem to be a valid daemon URL. - - Generate a signature proving that you own at least this much, optionally with a challenge string <message>. -If 'all' is specified, you prove the entire sum of all of your existing accounts' balances. -Otherwise, you prove the reserve of the smallest possible amount above <amount> available in your current account. + + Blockchain saved - - check_reserve_proof <address> <signature_file> [<message>] + + blockchain can't be saved: - - Check a signature proving that the owner of <address> holds at least this much, optionally with a challenge string <message>. + + + Height - - show_transfers [in|out|pending|failed|pool] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] + + + txid - - Show the incoming/outgoing transfers within an optional height range. + + + idx - - unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] + + NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead - - Show the unspent outputs of a specified address within an optional amount range. + + WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead - - Rescan the blockchain from scratch. + + spent - - set_tx_note <txid> [free text note] + + Enter password - - Set an arbitrary string note for a <txid>. + + Starting refresh... - - get_tx_note <txid> + + Refresh done, blocks received: - - Get a string note for a txid. + + + daemon is busy. Please try again later. - - set_description [free text note] + + + no connection to daemon. Please make sure daemon is running. - - Set an arbitrary description for the wallet. + + + RPC error: - - Get the description of the wallet. + + refresh error: - - Show the wallet's status. + + internal error: - - Show the wallet's information. + + refresh failed: - - sign <file> + + Blocks received: - - Sign the contents of a file. + + (Some owned outputs have partial key images - import_multisig_info needed) - - verify <filename> <address> <signature> + + (Some owned outputs have missing key images - import_key_images needed) - - Verify a signature on the contents of a file. + + Currently selected account: [ - - export_key_images <file> + + ] - - Export a signed set of key images to a <file>. + + (No tag assigned) - - import_key_images <file> + + Tag: - - Import a signed key images list and verify their spent status. + + Balance: - - export_outputs <file> + + unlocked balance: - - Export a set of outputs owned by this wallet. + + Balance per address: - - import_outputs <file> + + Address - - Import a set of outputs owned by this wallet. + + + Balance - - show_transfer <txid> + + + Unlocked balance - - Show information about a transfer to/from this address. + + Outputs - - Change the wallet's password. + + + Label + + + + + %8u %6s %21s %21s %7u %21s + + + + + usage: balance [detail] + + + + + + usage: incoming_transfers [available|unavailable] [verbose] [index=<N>] + + + + + pubkey + + + + + key image + + + + + spent + + + + + + unlocked + + + + + ringct + + + + + global index + + + + + tx id + + + + + + addr index + + + + + T + + + + + F + + + + + locked + + + + + RingCT + + + + + - + + + + + No incoming transfers - - Generate a new random full size payment id. These will be unencrypted on the blockchain, see integrated_address for encrypted short payment ids. + + No incoming available transfers - - Print the information about the current fee and transaction backlog. + + No incoming unavailable transfers - - Export data needed to create a multisig wallet + + expected at least one payment ID - - make_multisig <threshold> <string1> [<string>...] + + payment - - Turn this wallet into a multisig wallet + + transaction - - finalize_multisig <string> [<string>...] + + height - - Turn this wallet into a multisig wallet, extra step for N-1/N wallets + + unlock time - - export_multisig_info <filename> + + No payments with id - - Export multisig info for other participants + + payment ID has invalid format, expected 16 or 64 character hex string: - - import_multisig_info <filename> [<filename>...] + + + + + failed to get blockchain height: - - Import multisig info from other participants + + failed to get spent status - - sign_multisig <filename> + + + + + + failed to connect to the daemon - - Sign a multisig transaction from a file + + +Transaction %llu/%llu: txid=%s - - submit_multisig <filename> + + failed to find construction data for tx input - - Submit a signed multisig transaction from a file + + +Input %llu/%llu: amount=%s - - export_raw_multisig_tx <filename> + + failed to get output: - - Export a signed multisig transaction to a file + + output key's originating block height shouldn't be higher than the blockchain height - - help [<command>] + + +Originating block heights: - - Show the help section or the documentation about a <command>. + + +| - - integer >= + + + | + - - block height + + +Warning: Some input keys being spent are from - - No wallet found with that name. Confirm creation of new wallet named: + + the same transaction - - can't specify more than one of --generate-new-wallet="wallet_name", --wallet-file="wallet_name", --generate-from-view-key="wallet_name", --generate-from-spend-key="wallet_name", --generate-from-keys="wallet_name", --generate-from-multisig-keys="wallet_name" and --generate-from-json="jsonfilename" + + blocks that are temporally very close - - can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic + + , which can break the anonymity of ring signature. Make sure this is intentional! - - --restore-multisig-wallet uses --generate-new-wallet, not --wallet-file + + + + Ring size must not be 0 - - specify a recovery parameter with the --electrum-seed="multisig seed here" + + + + ring size %u is too small, minimum is %u - - Multisig seed failed verification + + + + ring size %u is too large, maximum is %u - - Enter seed encryption passphrase, empty if none + + wrong number of arguments - - - This address is a subaddress which cannot be used here. + + payment id failed to encode - - Error: expected M/N, but got: + + failed to parse short payment ID from URI - - Error: expected N > 1 and N <= M, but got: + + + Invalid last argument: - - Error: M/N is currently unsupported. + + a single transaction cannot use more than one payment id - - Generating master wallet from %u of %u multisig wallet keys + + failed to parse payment id, though it was detected - - failed to parse secret view key + + usage: %s [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] [outputs=<N>] <address> [<payment_id>] - - failed to verify secret view key + + + Failed to parse number of outputs - - Secret spend key (%u of %u): + + + Amount of outputs should be greater than 0 - - Error: M/N is currently unsupported + + payment id has invalid format, expected 16 or 64 character hex string: - - Restore height + + + Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead - - Still apply restore height? (Y/Yes/N/No): + + bad locked_blocks parameter: - - Warning: using an untrusted daemon at %s, privacy will be lessened + + + Locked blocks too high, max 1000000 (˜4 yrs) - - Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command. + + + a single transaction cannot use more than one payment id: - - Your wallet has been generated! -To start synchronizing with the daemon, use the "refresh" command. -Use the "help" command to see the list of available commands. -Use "help <command>" to see a command's documentation. -Always use the "exit" command when closing monero-wallet-cli to save -your current session's state. Otherwise, you might need to synchronize -your wallet again (your wallet keys are NOT at risk in any case). - + + + + + failed to set up payment id, though it was decoded correctly - - failed to generate new mutlisig wallet + + + + + amount is wrong: - - Generated new %u/%u multisig wallet: + + expected number from 0 to - - Opened %u/%u multisig wallet%s + + + + No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): - - Use "help <command>" to see a command's documentation. - + + + + + + + + + transaction cancelled. - - wallet is multisig and cannot save a watch-only version + + + No outputs found, or daemon is not ready - - missing daemon URL argument + + + Is this okay anyway? (Y/Yes/N/No): - - Unexpected array length - Exited simple_wallet::set_daemon() + + Failed to check for backlog: - - This does not seem to be a valid daemon URL. + + + +Transaction - - - txid + + + WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. + - - - idx + + . - - (Some owned outputs have partial key images - import_multisig_info needed) + + + + + + + + + Failed to write transaction(s) to file - - Currently selected account: [ + + + + + + + + + Unsigned transaction(s) successfully written to file: - - ] + + No unmixable outputs found - - Tag: + + Sweeping - - (No tag assigned) + + + Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): - - Balance per address: + + + + Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): - - Address + + Normal - - - Balance + + Type: - - - Unlocked balance + + Network type: - - Outputs + + Testnet - - - Label + + Stagenet - - %8u %6s %21s %21s %7u %21s + + Mainnet - - usage: balance [detail] + + usage: sign <filename> - - - usage: incoming_transfers [available|unavailable] [verbose] [index=<N>] + + wallet is watch-only and cannot sign - - spent + + This wallet is multisig and cannot sign - - global index + + usage: verify <filename> <address> <signature> - - tx id + + Bad signature from - - - addr index + + Good signature from - - No incoming transfers + + usage: export_key_images <filename> - - No incoming available transfers + + wallet is watch-only and cannot export key images - - No incoming unavailable transfers + + Signed key images exported to - - expected at least one payment ID + + usage: import_key_images <filename> - - payment + + command only supported by HW wallet - - transaction + + Failed to reconnect device - - height + + Failed to reconnect device: - - unlock time + + usage: export_outputs <filename> - - No payments with id + + Outputs exported to - - - - failed to get blockchain height: + + usage: import_outputs <filename> - - - - - - failed to connect to the daemon + + usage: show_transfer <txid> - - -Transaction %llu/%llu: txid=%s + + Double spend seen on the network: this transaction may or may not end up being mined - - -Input %llu/%llu: amount=%s + + Transaction ID not found - - failed to get output: + + Transaction successfully saved to - - output key's originating block height shouldn't be higher than the blockchain height + + + , txid - - -Originating block heights: + + Failed to save transaction to - - -| + + true - - - | - + + failed to parse refresh type - - -Warning: Some input keys being spent are from + + Enter optional seed offset passphrase, empty to see raw seed - - , which can break the anonymity of ring signature. Make sure this is intentional! + + Enter seed offset passphrase, empty if none - - - Ring size must not be 0 + + You may want to remove the file "%s" and try again - - - ring size %u is too small, minimum is %u + + Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): - - wrong number of arguments + + Donating %s %s to The Monero Project (donate.getmonero.org or %s). - - - - No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): + + This is a multisig wallet, it can only sign with sign_multisig - - - No outputs found, or daemon is not ready + + This is a watch only wallet - - Transaction successfully saved to + + usage: sign_transfer [export_raw] - - - , txid + + Failed to sign transaction - - Failed to save transaction to + + Failed to sign transaction: - - - Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): + + Transaction raw hex data exported to - - - - Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): + + Failed to load transaction from file - - Donating + + usage: get_tx_key <txid> - - This is a watch only wallet + + + + + + + + + + + failed to parse txid - - usage: show_transfer <txid> + + Tx key: - - Double spend seen on the network: this transaction may or may not end up being mined + + no tx keys found for this txid - - Transaction ID not found + + usage: set_tx_key <txid> <tx_key> - - true + + + + failed to parse tx_key - - failed to parse refresh type + + Tx key successfully stored. - - - wallet is watch-only and has no seed + + Failed to store tx key: - - - wallet is non-deterministic and has no seed + + usage: get_tx_proof <txid> <address> [<message>] - - - wallet is watch-only and cannot transfer + + + + signature file saved to: - - could not change default priority + + + + failed to save signature file - - 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) + + + + error: - - monero, millinero, micronero, nanonero, piconero + + usage: check_tx_key <txid> <txkey> <address> - - Wallet name not valid. Please try again or use Ctrl-C to quit. + + + failed to parse tx key - - Wallet and key files found, loading... + + + received - - Key file found but not wallet file. Regenerating... + + + in txid - - Key file not found. Failed to open wallet: + + + WARNING: this transaction is not yet included in the blockchain! - - Generating new wallet... + + + WARNING: failed to determine number of confirmations! - - Electrum-style word list failed verification + + + received nothing in txid - - - - - - - - - - - No data supplied, cancelled + + usage: check_tx_proof <txid> <address> <signature_file> [<message>] - - - - - - - - - - - - - failed to parse address + + + + failed to load signature file - - - failed to parse view key secret key + + + Good signature - - - failed to verify view key secret key + + + + Bad signature - - - - view key does not match standard address + + usage: get_spend_proof <txid> [<message>] - - - - - - account creation failed + + wallet is watch-only and cannot generate the proof - - - - failed to parse spend key secret key + + usage: check_spend_proof <txid> <signature_file> [<message>] - - - failed to verify spend key secret key + + usage: get_reserve_proof (all|<amount>) [<message>] - - - spend key does not match standard address + + The reserve proof can be generated only by a full wallet - - failed to open account + + usage: check_reserve_proof <address> <signature_file> [<message>] - - - - - - wallet is null + + Address must not be a subaddress - - - invalid language choice entered. Please try again. - + + usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] - - View key: + + bad min_height parameter: - - You may want to remove the file "%s" and try again + + bad max_height parameter: - - failed to deinitialize wallet + + block - - - - this command requires a trusted daemon. Enable with --trusted-daemon + + in - - blockchain can't be saved: + + + out - - - daemon is busy. Please try again later. + + [Double spend seen on the network: this transaction may or may not end up being mined] - - - no connection to daemon. Please make sure daemon is running. + + failed - - refresh error: + + pending - - Balance: + + usage: unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] - - pubkey + + <min_amount> should be smaller than <max_amount> - - key image + + There is no unspent output in the specified address - - - unlocked + + +Amount: - - ringct + + , number of keys: - - T + + - - F + + +Min block height: - - locked + + +Max block height: - - RingCT + + +Min amount found: - - - + + +Max amount found: - - payment ID has invalid format, expected 16 or 64 character hex string: + + +Total count: - - failed to get spent status + + +Bin size: - - the same transaction + + +Outputs per *: - - blocks that are temporally very close + + count + ^ + - - Locked blocks too high, max 1000000 (˜4 yrs) + + | - - - Good signature + + + - - - - Bad signature + + +--> block height + - - usage: integrated_address [payment ID] + + ^ - - 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>)] + + Warning: this will lose any information which can not be recovered from the blockchain. - - failed to parse payment ID + + This includes destination addresses, tx secret keys, tx notes, etc - - failed to parse index + + Rescan anyway ? (Y/Yes/N/No): - - Address book is empty. + + Good signature -- total: %s, spent: %s, unspent: %s - - Index: + + usage: blackball <amount>/<offset> | <filename> [add] - - - Address: + + First line is not an amount - - Payment ID: + + Invalid output: - - - Description: + + Invalid output key, and file doesn't exist - - usage: set_tx_note [txid] free text note + + usage: unblackball <amount>/<offset> - - usage: get_tx_note [txid] + + + Invalid output - - usage: sign <filename> + + usage: blackballed <amount>/<offset> - - wallet is watch-only and cannot sign + + WARNING: from v8, ring size will be fixed and this setting will be ignored. - - - - - failed to read file + + invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt - - usage: check_tx_proof <txid> <address> <signature_file> [<message>] + + transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] (<URI> | <address> <amount>) [<payment_id>] - - - - failed to load signature file + + 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 transaction fee. 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 URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included) - - usage: get_spend_proof <txid> [<message>] + + locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] (<URI> | <addr> <amount>) <lockblocks> [<payment_id>] - - wallet is watch-only and cannot generate the proof + + 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 transaction fee. 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 URI_2 or <address_2> <amount_2> etcetera (before the payment ID, if it's included) - - usage: check_spend_proof <txid> <signature_file> [<message>] + + sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] [outputs=<N>] <address> [<payment_id>] - - usage: get_reserve_proof (all|<amount>) [<message>] + + 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. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs. - - The reserve proof can be generated only by a full wallet + + sweep_single [<priority>] [<ring_size>] [outputs=<N>] <key_image> <address> [<payment_id>] - - usage: check_reserve_proof <address> <signature_file> [<message>] + + Available options: + seed language + Set the wallet's 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 the default ring size (default and minimum is 5). + auto-refresh <1|0> + Whether to automatically synchronize new blocks from the daemon. + refresh-type <full|optimize-coinbase|no-coinbase|default> + Set the wallet's refresh behaviour. + priority [0|1|2|3|4] + Set the fee to default/unimportant/normal/elevated/priority. + confirm-missing-payment-id <1|0> + ask-password <0|1|2 (or never|action|decrypt)> + unit <monero|millinero|micronero|nanonero|piconero> + Set the 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] + Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks. + refresh-from-block-height [n] + Set the height before which to ignore blocks. + auto-low-priority <1|0> + Whether to automatically use the low priority fee level when it's safe to do so. + segregate-pre-fork-outputs <1|0> + Set this if you intend to spend outputs on both Monero AND a key reusing fork. + key-reuse-mitigation2 <1|0> + Set this if you are not sure whether you will spend on a key reusing Monero fork later. +subaddress-lookahead <major>:<minor> + Set the lookahead sizes for the subaddress hash table. + Set this if you are not sure whether you will spend on a key reusing Monero fork later. + segregation-height <n> + Set to the height of a key reusing fork you want to use, 0 to use default. - - Address must not be a subaddress + + blackball <amount>/<offset> | <filename> [add] - - Good signature -- total: %s, spent: %s, unspent: %s + + unblackball <amount>/<offset> - - usage: show_transfers [in|out|all|pending|failed] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] + + blackballed <amount>/<offset> - - [Double spend seen on the network: this transaction may or may not end up being mined] + + Password needed (%s) - use the refresh command - - usage: unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] + + usage: sweep_single [<priority>] [<ring_size>] [outputs=<N>] <key_image> <address> [<payment_id>] - - There is no unspent output in the specified address + + wallet - + (no daemon) - + (out of sync) - + (Untitled account) - - - - - - + + + + + + failed to parse index: - - + + specify an index between 0 and - + usage: account account new <label text with white spaces allowed> @@ -3004,695 +4016,629 @@ Warning: Some input keys being spent are from - + Grand total: Balance: - + , unlocked balance: - + Untagged accounts: - + Tag %s is unregistered. - + Accounts with tag: - + Tag's description: - + Account - + %c%8u %6s %21s %21s %21s - + ---------------------------------------------------------------------------------- - + %15s %21s %21s - + Primary address - + (used) - + (Untitled address) - + <index_min> is already out of bound - + <index_max> exceeds the bound - + usage: address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed> ] - - - Integrated addresses can only be created for account 0 - - - - - Integrated address: %s, payment ID: %s - - - - - Subaddress: - - - - - usage: get_description - - - - - no description found - - - - - description found: - - - - - Filename: - - - - - Watch only + + usage: integrated_address [payment ID] - - %u/%u multisig%s + + + Integrated addresses can only be created for account 0 - - Normal + + Matching integrated address: - - Type: + + Integrated address: %s, payment ID: %s - - Testnet: + + Subaddress: - - Yes + + Standard address: - - No + + failed to parse payment ID or address - - This wallet is multisig and cannot sign + + usage: address_book [(add (<address> [pid <long or short payment id>])|<integrated address> [<description possibly with whitespaces>])|(delete <index>)] - - usage: verify <filename> <address> <signature> + + failed to parse payment ID - - Bad signature from + + failed to parse index - - Good signature from + + Address book is empty. - - usage: export_key_images <filename> + + Index: - - wallet is watch-only and cannot export key images + + + Address: - - - - failed to save file + + Payment ID: - - Signed key images exported to + + + Description: - - usage: import_key_images <filename> + + usage: set_tx_note [txid] free text note - - usage: export_outputs <filename> + + usage: get_tx_note [txid] - - Outputs exported to + + usage: get_description - - usage: import_outputs <filename> + + no description found - - - - - amount is wrong: + + description found: - - expected number from 0 to + + Filename: - - Sweeping + + Watch only - - Money successfully sent, transaction: + + %u/%u multisig%s - - Change goes to more than one address + + %s change to %s - - %s change to %s + + + This transaction has %u confirmations + + + genms - - no change + + Base filename (-1, -2, etc suffixes will be appended as needed) - - - - Transaction successfully signed to file + + Give threshold and participants at once as M/N - - usage: get_tx_key <txid> + + How many participants will share parts of the multisig wallet - - - - - - - - - - failed to parse txid + + How many signers are required to sign a valid transaction - - Tx key: + + Create testnet multisig wallets - - no tx keys found for this txid + + Create stagenet multisig wallets - - usage: get_tx_proof <txid> <address> [<message>] + + Create an address file for new wallets - - - - signature file saved to: + + Generating %u %u/%u multisig wallets - - - - failed to save signature file + + Failed to verify multisig info - - usage: check_tx_key <txid> <txkey> <address> + + Error verifying multisig extra info - - - failed to parse tx key + + Error finalizing multisig - - - - error: + + Generated multisig wallets for address - - - received + + Error creating multisig wallets: - - - in txid + + This program generates a set of multisig wallets - use this simpler scheme only if all the participants trust each other - - - received nothing in txid + + Error: Can't specify more than one of --testnet and --stagenet - - - WARNING: this transaction is not yet included in the blockchain! + + Error: expected N/M, but got: - - - This transaction has %u confirmations + + + Error: either --scheme or both of --threshold and --participants may be given - - - WARNING: failed to determine number of confirmations! + + Error: expected N > 1 and N <= M, but got N==%u and M==%d - - bad min_height parameter: + + Error: --filename-base is required - - bad max_height parameter: + + Error: unsupported scheme: only N/N and N-1/N are supported + + + sw - - in + + Generate new wallet and save it to <arg> - - - out + + Generate new wallet from device and save it to <arg> - - failed + + Generate incoming-only wallet from view key - - pending + + Generate deterministic wallet from spend key - - <min_amount> should be smaller than <max_amount> + + Generate wallet from private keys - - -Amount: + + Generate a master wallet from multisig wallet keys - - , number of keys: + + Language for mnemonic - - + + Specify Electrum seed for wallet recovery/creation - - -Min block height: + + Recover wallet using Electrum-style mnemonic seed - - -Max block height: + + Recover multisig wallet using Electrum-style mnemonic seed - - -Min amount found: + + Generate non-deterministic view and spend keys - - -Max amount found: + + failed to read wallet password - - -Total count: + + Enter a new password for the wallet - - -Bin size: + + Wallet password - - -Outputs per *: + + invalid argument: must be either 0/1, true/false, y/n, yes/no - - count - ^ - + + DNSSEC validation passed - - | + + WARNING: DNSSEC validation was unsuccessful, this address may not be correct! - - + + + For URL: - - +--> block height - + + Monero Address = - - ^ + + Is this OK? (Y/n) - - ^ - + + you have cancelled the transfer request - - + + failed to parse index: - - wallet + + invalid format for subaddress lookahead; must be <major>:<minor> - - - Random payment ID: + + no connection to daemon. Please make sure daemon is running. - - Matching integrated address: + + RPC error: - - - genms - - Base filename (-1, -2, etc suffixes will be appended as needed) + + failed to get random outputs to mix: - - Give threshold and participants at once as M/N + + + Not enough money in unlocked balance - - How many participants will share parts of the multisig wallet + + 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 - - How many signers are required to sign a valid transaction + + not enough outputs for specified ring size - - Create testnet multisig wallets + + output amount - - Generating %u %u/%u multisig wallets + + found outputs to use - - Error verifying multisig extra info + + Please use sweep_unmixable. - - Error finalizing multisig + + transaction was not constructed - - Generated multisig wallets for address + + transaction %s was rejected by daemon with status: - - Error creating multisig wallets: + + Reason: - - This program generates a set of multisig wallets - use this simpler scheme only if all the participants trust each other + + one of destinations is zero - - Error: expected N/M, but got: + + failed to find a suitable way to split transactions - - - Error: either --scheme or both of --threshold and --participants may be given + + unknown transfer error: - - Error: expected N > 1 and N <= M, but got N==%u and M==%d + + Multisig error: - - Error: --filename-base is required + + internal error: - - Error: unsupported scheme: only N/N and N-1/N are supported + + unexpected error: - - - sw - - Generate new wallet and save it to <arg> + + There was an error, which could mean the node may be trying to get you to retry creating a transaction, and zero in on which outputs you own. Or it could be a bona fide error. It may be prudent to disconnect from this node, and not try to send a transaction immediately. Alternatively, connect to another node so the original node cannot correlate information. - - Generate incoming-only wallet from view key + + File %s likely stores wallet private keys! Use a different file name. - - Generate deterministic wallet from spend key + + File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): - - Generate wallet from private keys + + seconds - - Generate a master wallet from multisig wallet keys + + minutes - - Language for mnemonic + + hours - - Specify Electrum seed for wallet recovery/creation + + days - - Recover wallet using Electrum-style mnemonic seed + + months - - Recover multisig wallet using Electrum-style mnemonic seed + + a long time - - Generate non-deterministic view and spend keys + + This is the command line monero wallet. It needs to connect to a monero +daemon to work correctly. +WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy. - - Enable commands which rely on a trusted daemon + + Unknown command: - + Allow communicating with a daemon that uses a different RPC version - + Restore from specific blockchain height - + The newly created transaction will not be relayed to the monero network - - daemon is busy. Please try again later. + + Create an address file for new wallets - - possibly lost connection to daemon + + Display English language names - - Error: + + + daemon is busy. Please try again later. - - This is the command line monero wallet. It needs to connect to a monero -daemon to work correctly. + + possibly lost connection to daemon + + + + + Error: - + Failed to initialize wallet @@ -3700,299 +4646,354 @@ daemon to work correctly. tools::wallet2 - + Use daemon instance at <host>:<port> - + Use daemon instance at host <arg> instead of localhost - + 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 - + Failed to load file - + Wallet password (escape/quote as needed) - + + Enable commands which rely on a trusted daemon + + + + + Disable commands which rely on a trusted daemon + + + + Specify username[:password] for daemon RPC client - + + For stagenet. Daemon must also be launched with --stagenet flag + + + + + Set shared ring database path + + + + + Number of rounds for the key derivation function + + + + + HW device to use + + + + + --trusted-daemon and --untrusted-daemon are both seen, assuming untrusted + + + + + Daemon is local, assuming trusted + + + + no password specified; use --prompt-for-password to prompt for a password - + + Enter a new password for the wallet + + + + + Wallet password + + + + 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 and private spend key must be specified + + At least one of either an Electrum-style word list, private view key, or private spend 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 generate deprecated wallets from JSON - + failed to parse address: - + Address must be specified in order to create watch-only wallet - + failed to generate new wallet: - - - - - - - - + + Password is needed to compute key image for incoming monero + + + + + Invalid password: password is needed to compute key image for incoming monero + + + + + + Primary account - + No funds received in this tx. - + failed to read file - - - tools::wallet_rpc_server - - Daemon is local, assuming trusted + + Set subaddress lookahead sizes to <major>:<minor> + + + tools::wallet_rpc_server - + Failed to create directory - + Failed to create directory %s: %s - + Cannot specify -- - + and -- - + Failed to create file - + . Check permissions or remove file - + Error writing to file - + RPC username/password is stored in file - + Tag %s is unregistered. - + Transaction not possible. Available only %s, transaction amount %s = %s + %s (fee) - + This is the RPC monero wallet. It needs to connect to a monero daemon to work correctly. - + + Can't specify more than one of --testnet and --stagenet + + + + Can't specify more than one of --wallet-file and --generate-from-json - + Must specify --wallet-file or --generate-from-json or --wallet-dir - + Loading wallet... - - + + Saving wallet... - - + + Successfully saved - + Successfully loaded - + Wallet initialization failed: - + Failed to initialize wallet RPC server - + Starting wallet RPC server - + Failed to run wallet: - + Stopped wallet RPC server - + Failed to save wallet: @@ -4000,9 +5001,9 @@ daemon to work correctly. wallet_args - - - + + + Wallet options @@ -4017,48 +5018,48 @@ daemon to work correctly. - + Max number of threads to use for a parallel job - + Specify log file - + Config file - + General options - + This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. - + Can't find config file - + Logging to: - + Logging to %s - + Usage: