From 977df6315fa9aab63c4f3155e565c93aa49e5463 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Sat, 6 Oct 2018 10:12:38 +0200 Subject: [PATCH] Fix some calls to the translation function Some strings were not detected by lupdate because "tr() cannot be called without context". --- src/gen_multisig/gen_multisig.cpp | 2 +- src/simplewallet/simplewallet.cpp | 82 +- src/wallet/wallet2.cpp | 4 +- translations/monero.ts | 6159 +++++++++++++++++------------ 4 files changed, 3624 insertions(+), 2623 deletions(-) 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: - - + + failed to get outputs to mix: %s + + + + + not enough outputs for specified ring size - - + + found outputs to use - + Please sweep unmixable outputs. - - failed to get random outputs to mix - - - - - + + not enough money to transfer, available only %s, sent amount %s - + failed to parse address - + failed to parse secret spend key - - No view key supplied, cancelled + + 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: - - - not enough money to transfer, overall balance only %s, sent amount %s + + Failed to make multisig: - - - not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee) + + Failed to finalize multisig wallet creation - - - output amount - - - - - - transaction was not constructed - - - - - - transaction %s was rejected by daemon with status: - - - - - - one of destinations is zero + + 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,1118 +603,941 @@ cryptonote::simple_wallet - - Commands: - - - - - failed to read wallet password - - - - - invalid password - - - - - set seed: needs an argument. available options: language - - - - - set: unrecognized argument(s) - - - - - wallet file path not valid: - - - - - Attempting to generate or restore wallet, but specified file(s) exist. Exiting to not risk overwriting. - - - - - usage: payment_id - - - - - needs an argument - - - - - - - - - - - - - - 0 or 1 - - - - - 0, 1, 2, 3, or 4 - - - - - - unsigned integer - - - - - 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. - - - - - - --restore-deterministic-wallet uses --generate-new-wallet, not --wallet-file - - - - - specify a recovery parameter with the --electrum-seed="words list here" - - - - - specify a wallet path with --generate-new-wallet (not --wallet-file) - - - - - wallet failed to connect to daemon: - - - - + Daemon uses a different RPC major version (%u) than the wallet (%u): %s. Either update one of them, or use --allow-mismatched-daemon-version. - - List of available languages for your wallet's seed: - - - - + Enter the number corresponding to the language of your choice: - - You had been using a deprecated version of the wallet. Please use the new seed that we provide. - - - - - - - Generated new wallet: - - - - - - - failed to generate new wallet: - - - - - Opened watch-only wallet - - - - - Opened wallet - - - - - You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. - - - - - - You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. - - - - - - failed to load wallet: - - - - - Use the "help" command to see the list of available commands. - - - - - - Wallet data saved - - - - - Mining started in daemon - - - - - mining has NOT been started: - - - - - Mining stopped in daemon - - - - - mining has NOT been stopped: - - - - - Blockchain saved - - - - - - - Height - - - - - transaction - - - - - spent - - - - - unsupported transaction format - - - - - Starting refresh... - - - - - Refresh done, blocks received: - - - - - - payment id has invalid format, expected 16 or 64 character hex string: - - - - - bad locked_blocks parameter: - - - - - - - a single transaction cannot use more than one payment id: - - - - - - - - failed to set up payment id, though it was decoded correctly - - - - - - - - - - - - transaction cancelled. - - - - - - Is this okay anyway? (Y/Yes/N/No): - - - - + There is currently a %u block backlog at that fee level. Is this okay? (Y/Yes/N/No): - - Failed to check for backlog: - - - - - - -Transaction - - - - - + + Spending from address index %d - - - WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. - - - - - + Sending %s. - + Your transaction needs to be split into %llu transactions. This will result in a transaction fee being applied to each transaction, for a total fee of %s - + The transaction fee is %s - + , of which %s is dust from change - - . - - - - + A total of %s from dust change will be sent to dust address - + . This transaction will unlock on block %llu, in approximately %s days (assuming 2 minutes per block) - - - - - - - - - Failed to write transaction(s) to file + + Not enough money in unlocked balance - - - - - - - - - Unsigned transaction(s) successfully written to file: - - - - - No unmixable outputs found - - - - + No address given - + + missing lockedblocks parameter + + + + + bad locked_blocks parameter + + + + failed to parse Payment ID - - usage: sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] - - - - + failed to parse key image - + No outputs found - + Multiple transactions are created, which is not supposed to happen - + The transaction uses multiple or no inputs, which is not supposed to happen - + + Money successfully sent, transaction: + + + + missing threshold amount - + invalid amount threshold - - donations are not enabled on the testnet + + donations are not enabled on the testnet or on the stagenet - + usage: donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] - + Claimed change does not go to a paid address - + Claimed change is larger than payment to the change address - + + Change goes to more than one address + + + + sending %s to %s - + dummy output(s) - + with no destinations - + + no change + + + + Loaded %lu transactions, for %s, fee %s, %s, %s, with min ring size %lu, %s. %sIs this okay? (Y/Yes/N/No): - - This is a multisig wallet, it can only sign with sign_multisig - - - - - usage: sign_transfer [export] - - - - - Failed to sign transaction - - - - - Failed to sign transaction: - - - - - Transaction raw hex data exported to - - - - - Failed to load transaction from file - - - - - - RPC error: - - - - - wallet is watch-only and has no spend key - - - - - - - Your original password was incorrect. - - - - - Error with wallet rewrite: - - - - - priority must be 0, 1, 2, 3, or 4 - - - - - - priority must be 0, 1, 2, 3, or 4 - - - - - invalid unit - - - - - - invalid count: must be an unsigned integer - - - - - invalid value - - - - - usage: set_log <log_level_number_0-4> | <categories> - - - - + (Y/Yes/N/No): - - - bad m_restore_height parameter: - - - - - date format must be YYYY-MM-DD - - - - - Restore height is: - - - - - + + + Is this okay? (Y/Yes/N/No): - + Daemon is local, assuming trusted - + Password for new watch-only wallet - - invalid arguments. Please use start_mining [<number_of_threads>] [do_bg_mining] [ignore_battery], <number_of_threads> should be from 1 to - - - - - internal error: - - - - - - - unexpected error: - - - - - - - - - - - - - unknown error - - - - - refresh failed: - - - - - Blocks received: - - - - - unlocked balance: - - - - - - - amount - - - - + false - + + Commands: + + + + Unknown command: - + Command usage: - + Command description: - + + wallet is watch-only and has no spend key + + + + + + + + + + + + + + + + + + + + + + + + + command not supported by HW wallet + + + + + + wallet is watch-only and has no seed + + + + wallet is multisig but not yet finalized - - Enter optional seed encryption passphrase, empty to see raw seed - - - - - Failed to retrieve seed - - - - - wallet is multisig and has no seed + + + wallet is non-deterministic and has no seed + Failed to retrieve seed + + + + + wallet is multisig and has no seed + + + + + Incorrect password + + + + + + + Your original password was incorrect. + + + + + Error with wallet rewrite: + + + + + usage: payment_id + + + + + + Random payment ID: + + + + Cannot connect to daemon - - Current fee is %s monero per kB + + Current fee is %s %s per %s - + Error: failed to estimate backlog array size: - + Error: bad estimated backlog array size - + (current) - + %u block (%u minutes) backlog at priority %u%s - + %u to %u block (%u to %u minutes) backlog at priority %u - + No backlog at priority - - + + This wallet is already multisig - - + + wallet is watch-only and cannot be made multisig - - + + This wallet has been used before, please use a new wallet to create a multisig wallet - - Your password is incorrect. - - - - + Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info - + This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants - + usage: make_multisig <threshold> <multisiginfo1> [<multisiginfo2>...] - + Invalid threshold - + Another step is needed - + Send this multisig info to all other participants, then use finalize_multisig <info1> [<info2>...] with others' multisig info - + Error creating multisig: - + Error creating multisig: new wallet is not multisig - + multisig address: - - - + + + This wallet is not multisig - + This wallet is already finalized - + usage: finalize_multisig <multisiginfo1> [<multisiginfo2>...] - + Failed to finalize multisig - + Failed to finalize multisig: - - - - - + + + + + This multisig wallet is not yet finalized - + usage: export_multisig_info <filename> - + + + + failed to save file + + + + Error exporting multisig info: - + Multisig info exported to - + usage: import_multisig_info <filename1> [<filename2>...] - one for each other participant - + + + + + failed to read file + + + + Multisig info imported - + Failed to import multisig info: - + Failed to update spent status after importing multisig info: - + Untrusted daemon, spent status may be incorrect. Use a trusted daemon and run "rescan_spent" - - - + + + This is not a multisig wallet - + usage: sign_multisig <filename> - + Failed to sign multisig transaction - + Multisig error: - + Failed to sign multisig transaction: - + + + + Transaction successfully signed to file + + + + It may be relayed to the network with submit_multisig - + usage: submit_multisig <filename> - - + + Failed to load multisig transaction from file - - + + Multisig transaction signed by only %u signers, needs %u more signatures - - + + Transaction successfully submitted, transaction - - + + You can check its status by using the `show_transfers` command. - + + + + + + + + + + unknown error + + + + usage: export_raw_multisig <filename> - + Failed to export multisig transaction to file - + Saved exported multisig transaction file(s): - - - + + + + unexpected error: + + + + + usage: print_ring <key_image|txid> + + + + + + Invalid key image + + + + + Invalid txid + + + + + Key image either not spent, or spent with mixin 0 + + + + + Failed to get key image ring: + + + + + File doesn't exist + + + + + Invalid ring specification: + + + + + Invalid key image: + + + + + Invalid ring type, expected relative or abosolute: + + + + + + Error reading line: + + + + + Invalid ring: + + + + + Invalid relative ring: + + + + + Invalid absolute ring: + + + + + Failed to set ring for key image: + + + + + Continuing. + + + + + usage: set_ring <filename> | ( <key_image> absolute|relative <index> [<index>...] ) + + + + + Missing absolute or relative keyword + + + + + + invalid index: must be a strictly positive unsigned integer + + + + + invalid index: indices wrap + + + + + invalid index: indices should be in strictly ascending order + + + + + failed to set ring + + + + + Bad argument: + + + + + should be "add" + + + + + Failed to open file + + + + + Failed to blackball output: + + + + + + Failed to unblackball output: + + + + + Blackballed: + + + + + not blackballed: + + + + + Failed to save known rings: + + + + + + wallet is watch-only and cannot transfer + + + + + + ring size must be an integer >= - + + + WARNING: this is a non default ring size, which may harm your privacy. Default is recommended. + + + + could not change default ring size - + + + + priority must be either 0, 1, 2, 3, or 4, or one of: + + + + + could not change default priority + + + + + invalid unit + + + + + + invalid count: must be an unsigned integer + + + + + invalid value + + + + + Invalid height - + start_mining [<number_of_threads>] [bg_mining] [ignore_battery] - + Start mining in the daemon (bg_mining and ignore_battery are optional booleans). - + Stop mining in the daemon. - - set_daemon <host>[:<port>] + + set_daemon <host>[:<port>] [trusted|untrusted] - + Set another daemon to connect to. - + Save the current blockchain data. - + Synchronize the transactions and balance. - + balance [detail] - + Show the wallet's balance of the currently selected account. - + incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>[,...]]] - + Show the incoming transfers, all or filtered by availability and address index. - + payments <PID_1> [<PID_2> ... <PID_N>] - + Show the payments for the given payment IDs. - + Show the blockchain height. - - transfer_original [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] + + locked_sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <lockblocks> [<payment_id>] - - 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) + + 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. - - transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] - - - - - Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the 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) - - - - - locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>] - - - - - 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) - - - - + Send all unmixable outputs to yourself with ring_size 1 - - sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] - - - - - Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. - - - - + sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] - + Send all unlocked outputs below the threshold to an address. - - sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] - - - - + Send a single output of the given key image to an address without change. - + donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] - + Donate <amount> to the development team (donate.getmonero.org). - - sign_transfer <file> + + sign_transfer [export_raw] - - Sign a transaction from a <file>. + + 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. - + Submit a signed transaction from a file. - + set_log <level>|{+,-,}<categories> - + Change the current log detail (level must be <0-4>). - + account account new <label text with white spaces allowed> account switch <index> @@ -1590,7 +1548,7 @@ This transaction will unlock on block %llu, in approximately %s days (assuming 2 - + 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>. @@ -1601,67 +1559,2343 @@ If the "tag_description" argument is specified, the tag <tag_name&g - + address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>] - + If no arguments are specified or <index> is specified, the wallet shows the default or specified address. If "all" is specified, the 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. - + integrated_address [<payment_id> | <address>] - + 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 - + address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)] - + Print all entries in the address book, optionally adding/deleting an entry to/from it. - + Save the wallet data. - + Save a watch-only keys file. - + Display the private view key. - + Display the private spend key. - + Display the Electrum-style mnemonic seed - + set <option> [<value>] - + + Display the encrypted Electrum-style mnemonic seed. + + + + + Rescan the blockchain for spent outputs. + + + + + get_tx_key <txid> + + + + + Get the transaction key (r) for a given <txid>. + + + + + set_tx_key <txid> <tx_key> + + + + + Set the transaction key (r) for a given <txid> in case the tx was made by some other device or 3rd party wallet. + + + + + check_tx_key <txid> <txkey> <address> + + + + + Check the amount going to <address> in <txid>. + + + + + get_tx_proof <txid> <address> [<message>] + + + + + 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. + + + + + check_tx_proof <txid> <address> <signature_file> [<message>] + + + + + 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 + + + + + You had been using a deprecated version of the wallet. Please use the new seed that we provide. + + + + + + + Generated new wallet: + + + + + View key: + + + + + + + + failed to generate new wallet: + + + + + 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). + + + + + + Generated new wallet on hw device: + + + + + failed to generate new mutlisig wallet + + + + + Generated new %u/%u multisig wallet: + + + + + wallet file path not valid: + + + + + Key file not found. Failed to open wallet + + + + + Opened watch-only wallet + + + + + Opened %u/%u multisig wallet%s + + + + + Opened wallet + + + + + You had been using a deprecated version of the wallet. Please proceed to upgrade your wallet. + + + + + + You had been using a deprecated version of the wallet. Your wallet file format is being upgraded now. + + + + + + failed to load wallet: + + + + + Use the "help" command to see the list of available commands. + + + + + + Use "help <command>" to see a command's documentation. + + + + + + failed to deinitialize wallet + + + + + Wallet data saved + + + + + wallet is multisig and cannot save a watch-only version + + + + + failed to read wallet password + + + + + Watch only wallet saved as: + + + + + Failed to save watch only wallet: + + + + + + + this command requires a trusted daemon. Enable with --trusted-daemon + + + + + invalid arguments. Please use start_mining [<number_of_threads>] [do_bg_mining] [ignore_battery] + + + + + Mining started in daemon + + + + + mining has NOT been started: + + + + + Mining stopped in daemon + + + + + mining has NOT been stopped: + + + + + missing daemon URL argument + + + + + Unexpected array length - Exited simple_wallet::set_daemon() + + + + + Expected trusted or untrusted, got + + + + + trusted + + + + + untrusted + + + + + This does not seem to be a valid daemon URL. + + + + + Blockchain saved + + + + + blockchain can't be saved: + + + + + + Height + + + + + + txid + + + + + + idx + + + + + NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead + + + + + WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead + + + + + spent + + + + + Enter password + + + + + Starting refresh... + + + + + Refresh done, blocks received: + + + + + + daemon is busy. Please try again later. + + + + + + no connection to daemon. Please make sure daemon is running. + + + + + + RPC error: + + + + + refresh error: + + + + + internal error: + + + + + refresh failed: + + + + + Blocks received: + + + + + (Some owned outputs have partial key images - import_multisig_info needed) + + + + + (Some owned outputs have missing key images - import_key_images needed) + + + + + Currently selected account: [ + + + + + ] + + + + + (No tag assigned) + + + + + Tag: + + + + + Balance: + + + + + unlocked balance: + + + + + Balance per address: + + + + + Address + + + + + + Balance + + + + + + Unlocked balance + + + + + Outputs + + + + + + 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 + + + + + No incoming available transfers + + + + + No incoming unavailable transfers + + + + + expected at least one payment ID + + + + + payment + + + + + transaction + + + + + height + + + + + unlock time + + + + + No payments with id + + + + + payment ID has invalid format, expected 16 or 64 character hex string: + + + + + + + + failed to get blockchain height: + + + + + failed to get spent status + + + + + + + + + failed to connect to the daemon + + + + + +Transaction %llu/%llu: txid=%s + + + + + failed to find construction data for tx input + + + + + +Input %llu/%llu: amount=%s + + + + + failed to get output: + + + + + output key's originating block height shouldn't be higher than the blockchain height + + + + + +Originating block heights: + + + + + +| + + + + + + | + + + + + + +Warning: Some input keys being spent are from + + + + + the same transaction + + + + + blocks that are temporally very close + + + + + , which can break the anonymity of ring signature. Make sure this is intentional! + + + + + + + Ring size must not be 0 + + + + + + + ring size %u is too small, minimum is %u + + + + + + + ring size %u is too large, maximum is %u + + + + + wrong number of arguments + + + + + payment id failed to encode + + + + + failed to parse short payment ID from URI + + + + + + Invalid last argument: + + + + + a single transaction cannot use more than one payment id + + + + + failed to parse payment id, though it was detected + + + + + usage: %s [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] [outputs=<N>] <address> [<payment_id>] + + + + + + Failed to parse number of outputs + + + + + + Amount of outputs should be greater than 0 + + + + + payment id has invalid format, expected 16 or 64 character hex string: + + + + + + Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead + + + + + bad locked_blocks parameter: + + + + + + Locked blocks too high, max 1000000 (˜4 yrs) + + + + + + a single transaction cannot use more than one payment id: + + + + + + + + failed to set up payment id, though it was decoded correctly + + + + + + + + amount is wrong: + + + + + expected number from 0 to + + + + + + + No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): + + + + + + + + + + + + transaction cancelled. + + + + + + No outputs found, or daemon is not ready + + + + + + Is this okay anyway? (Y/Yes/N/No): + + + + + Failed to check for backlog: + + + + + + +Transaction + + + + + + WARNING: Outputs of multiple addresses are being used together, which might potentially compromise your privacy. + + + + + + . + + + + + + + + + + + + Failed to write transaction(s) to file + + + + + + + + + + + + Unsigned transaction(s) successfully written to file: + + + + + No unmixable outputs found + + + + + Sweeping + + + + + + Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): + + + + + + + Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): + + + + + Normal + + + + + Type: + + + + + Network type: + + + + + Testnet + + + + + Stagenet + + + + + Mainnet + + + + + usage: sign <filename> + + + + + wallet is watch-only and cannot sign + + + + + This wallet is multisig and cannot sign + + + + + usage: verify <filename> <address> <signature> + + + + + Bad signature from + + + + + Good signature from + + + + + usage: export_key_images <filename> + + + + + wallet is watch-only and cannot export key images + + + + + Signed key images exported to + + + + + usage: import_key_images <filename> + + + + + command only supported by HW wallet + + + + + Failed to reconnect device + + + + + Failed to reconnect device: + + + + + usage: export_outputs <filename> + + + + + Outputs exported to + + + + + usage: import_outputs <filename> + + + + + usage: show_transfer <txid> + + + + + Double spend seen on the network: this transaction may or may not end up being mined + + + + + Transaction ID not found + + + + + Transaction successfully saved to + + + + + + , txid + + + + + Failed to save transaction to + + + + + true + + + + + failed to parse refresh type + + + + + Enter optional seed offset passphrase, empty to see raw seed + + + + + Enter seed offset passphrase, empty if none + + + + + You may want to remove the file "%s" and try again + + + + + Discarding %s of unmixable outputs that cannot be spent, which can be undone by "rescan_spent". Is this okay? (Y/Yes/N/No): + + + + + Donating %s %s to The Monero Project (donate.getmonero.org or %s). + + + + + This is a multisig wallet, it can only sign with sign_multisig + + + + + This is a watch only wallet + + + + + usage: sign_transfer [export_raw] + + + + + Failed to sign transaction + + + + + Failed to sign transaction: + + + + + Transaction raw hex data exported to + + + + + Failed to load transaction from file + + + + + usage: get_tx_key <txid> + + + + + + + + + + + + + + failed to parse txid + + + + + Tx key: + + + + + no tx keys found for this txid + + + + + usage: set_tx_key <txid> <tx_key> + + + + + + + failed to parse tx_key + + + + + Tx key successfully stored. + + + + + Failed to store tx key: + + + + + usage: get_tx_proof <txid> <address> [<message>] + + + + + + + signature file saved to: + + + + + + + failed to save signature file + + + + + + + error: + + + + + usage: check_tx_key <txid> <txkey> <address> + + + + + + failed to parse tx key + + + + + + received + + + + + + in txid + + + + + + WARNING: this transaction is not yet included in the blockchain! + + + + + + WARNING: failed to determine number of confirmations! + + + + + + received nothing in txid + + + + + usage: check_tx_proof <txid> <address> <signature_file> [<message>] + + + + + + + failed to load signature file + + + + + + Good signature + + + + + + + Bad signature + + + + + usage: get_spend_proof <txid> [<message>] + + + + + wallet is watch-only and cannot generate the proof + + + + + usage: check_spend_proof <txid> <signature_file> [<message>] + + + + + usage: get_reserve_proof (all|<amount>) [<message>] + + + + + The reserve proof can be generated only by a full wallet + + + + + usage: check_reserve_proof <address> <signature_file> [<message>] + + + + + Address must not be a subaddress + + + + + usage: show_transfers [in|out|all|pending|failed|coinbase] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] + + + + + bad min_height parameter: + + + + + bad max_height parameter: + + + + + block + + + + + in + + + + + + out + + + + + [Double spend seen on the network: this transaction may or may not end up being mined] + + + + + failed + + + + + pending + + + + + usage: unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] + + + + + <min_amount> should be smaller than <max_amount> + + + + + There is no unspent output in the specified address + + + + + +Amount: + + + + + , number of keys: + + + + + + + + + + +Min block height: + + + + + +Max block height: + + + + + +Min amount found: + + + + + +Max amount found: + + + + + +Total count: + + + + + +Bin size: + + + + + +Outputs per *: + + + + + count + ^ + + + + + + | + + + + + + + + + + + +--> block height + + + + + + ^ + + + + + ^ + + + + + + + + + + + Warning: this will lose any information which can not be recovered from the blockchain. + + + + + This includes destination addresses, tx secret keys, tx notes, etc + + + + + Rescan anyway ? (Y/Yes/N/No): + + + + + Good signature -- total: %s, spent: %s, unspent: %s + + + + + usage: blackball <amount>/<offset> | <filename> [add] + + + + + First line is not an amount + + + + + Invalid output: + + + + + Invalid output key, and file doesn't exist + + + + + usage: unblackball <amount>/<offset> + + + + + + Invalid output + + + + + usage: blackballed <amount>/<offset> + + + + + WARNING: from v8, ring size will be fixed and this setting will be ignored. + + + + + invalid argument: must be either 0/never, 1/action, or 2/encrypt/decrypt + + + + + transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] (<URI> | <address> <amount>) [<payment_id>] + + + + + Transfer <amount> to <address>. If the parameter "index=<N1>[,<N2>,...]" is specified, the wallet uses outputs received by addresses of those indices. If omitted, the wallet randomly chooses address indices to be used. In any case, it tries its best not to combine outputs across multiple addresses. <priority> is the priority of the transaction. The higher the priority, the higher the 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) + + + + + locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] (<URI> | <addr> <amount>) <lockblocks> [<payment_id>] + + + + + 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) + + + + + sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] [outputs=<N>] <address> [<payment_id>] + + + + + Send all unlocked balance to an address. If the parameter "index<N1>[,<N2>,...]" is specified, the wallet sweeps outputs received by those address indices. If omitted, the wallet randomly chooses an address index to be used. If the parameter "outputs=<N>" is specified and N > 0, wallet splits the transaction into N even outputs. + + + + + sweep_single [<priority>] [<ring_size>] [outputs=<N>] <key_image> <address> [<payment_id>] + + + + Available options: seed language Set the wallet's seed language. @@ -1680,7 +3914,7 @@ If the "tag_description" argument is specified, the tag <tag_name&g 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> + 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] @@ -1696,1303 +3930,81 @@ If the "tag_description" argument is specified, the tag <tag_name&g 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. + 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. - - Display the encrypted Electrum-style mnemonic seed. + + blackball <amount>/<offset> | <filename> [add] - - Rescan the blockchain for spent outputs. + + unblackball <amount>/<offset> - - get_tx_key <txid> + + blackballed <amount>/<offset> - - Get the transaction key (r) for a given <txid>. + + Password needed (%s) - use the refresh command - - check_tx_key <txid> <txkey> <address> + + usage: sweep_single [<priority>] [<ring_size>] [outputs=<N>] <key_image> <address> [<payment_id>] - - Check the amount going to <address> in <txid>. + + wallet - - get_tx_proof <txid> <address> [<message>] - - - - - 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. - - - - - check_tx_proof <txid> <address> <signature_file> [<message>] - - - - - 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] [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. - - - - - 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. - - - - - 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 - - - - - help [<command>] - - - - - Show the help section or the documentation about a <command>. - - - - - integer >= - - - - - block height - - - - - No wallet found with that name. Confirm creation of new wallet named: - - - - - 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" - - - - - can't specify both --restore-deterministic-wallet or --restore-multisig-wallet and --non-deterministic - - - - - --restore-multisig-wallet uses --generate-new-wallet, not --wallet-file - - - - - specify a recovery parameter with the --electrum-seed="multisig seed here" - - - - - Multisig seed failed verification - - - - - Enter seed encryption passphrase, empty if none - - - - - - This address is a subaddress which cannot be used here. - - - - - 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 - - - - - Restore height - - - - - Still apply restore height? (Y/Yes/N/No): - - - - - Warning: using an untrusted daemon at %s, privacy will be lessened - - - - - 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. - - - - - 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 generate new mutlisig wallet - - - - - Generated new %u/%u multisig wallet: - - - - - Opened %u/%u multisig wallet%s - - - - - Use "help <command>" to see a command's documentation. - - - - - - wallet is multisig and cannot save a watch-only version - - - - - missing daemon URL argument - - - - - Unexpected array length - Exited simple_wallet::set_daemon() - - - - - This does not seem to be a valid daemon URL. - - - - - - txid - - - - - - idx - - - - - (Some owned outputs have partial key images - import_multisig_info needed) - - - - - Currently selected account: [ - - - - - ] - - - - - Tag: - - - - - (No tag assigned) - - - - - Balance per address: - - - - - Address - - - - - - Balance - - - - - - Unlocked balance - - - - - Outputs - - - - - - Label - - - - - %8u %6s %21s %21s %7u %21s - - - - - usage: balance [detail] - - - - - - usage: incoming_transfers [available|unavailable] [verbose] [index=<N>] - - - - - spent - - - - - global index - - - - - tx id - - - - - - addr index - - - - - No incoming transfers - - - - - No incoming available transfers - - - - - No incoming unavailable transfers - - - - - expected at least one payment ID - - - - - payment - - - - - transaction - - - - - height - - - - - unlock time - - - - - No payments with id - - - - - - - failed to get blockchain height: - - - - - - - - - failed to connect to the daemon - - - - - -Transaction %llu/%llu: txid=%s - - - - - -Input %llu/%llu: amount=%s - - - - - failed to get output: - - - - - output key's originating block height shouldn't be higher than the blockchain height - - - - - -Originating block heights: - - - - - -| - - - - - - | - - - - - - -Warning: Some input keys being spent are from - - - - - , which can break the anonymity of ring signature. Make sure this is intentional! - - - - - - Ring size must not be 0 - - - - - - ring size %u is too small, minimum is %u - - - - - wrong number of arguments - - - - - - - No payment id is included with this transaction. Is this okay? (Y/Yes/N/No): - - - - - - No outputs found, or daemon is not ready - - - - - Transaction successfully saved to - - - - - - , txid - - - - - Failed to save transaction to - - - - - - Sweeping %s in %llu transactions for a total fee of %s. Is this okay? (Y/Yes/N/No): - - - - - - - Sweeping %s for a total fee of %s. Is this okay? (Y/Yes/N/No): - - - - - Donating - - - - - This is a watch only wallet - - - - - usage: show_transfer <txid> - - - - - Double spend seen on the network: this transaction may or may not end up being mined - - - - - Transaction ID not found - - - - - true - - - - - failed to parse refresh type - - - - - - wallet is watch-only and has no seed - - - - - - wallet is non-deterministic and has no seed - - - - - - wallet is watch-only and cannot transfer - - - - - could not change default priority - - - - - 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) - - - - - monero, millinero, micronero, nanonero, piconero - - - - - Wallet name not valid. Please try again or use Ctrl-C to quit. - - - - - Wallet and key files found, loading... - - - - - Key file found but not wallet file. Regenerating... - - - - - Key file not found. Failed to open wallet: - - - - - Generating new wallet... - - - - - Electrum-style word list failed verification - - - - - - - - - - - - - - No data supplied, cancelled - - - - - - - - - - - - - - - - failed to parse address - - - - - - failed to parse view key secret key - - - - - - failed to verify view key secret key - - - - - - - view key does not match standard address - - - - - - - - - account creation failed - - - - - - - failed to parse spend key secret key - - - - - - failed to verify spend key secret key - - - - - - spend key does not match standard address - - - - - failed to open account - - - - - - - - - wallet is null - - - - - - invalid language choice entered. Please try again. - - - - - - View key: - - - - - You may want to remove the file "%s" and try again - - - - - failed to deinitialize wallet - - - - - - - this command requires a trusted daemon. Enable with --trusted-daemon - - - - - blockchain can't be saved: - - - - - - daemon is busy. Please try again later. - - - - - - no connection to daemon. Please make sure daemon is running. - - - - - refresh error: - - - - - Balance: - - - - - pubkey - - - - - key image - - - - - - unlocked - - - - - ringct - - - - - T - - - - - F - - - - - locked - - - - - RingCT - - - - - - - - - - - payment ID has invalid format, expected 16 or 64 character hex string: - - - - - failed to get spent status - - - - - the same transaction - - - - - blocks that are temporally very close - - - - - Locked blocks too high, max 1000000 (˜4 yrs) - - - - - - Good signature - - - - - - - Bad signature - - - - - 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>)] - - - - - failed to parse payment ID - - - - - failed to parse index - - - - - Address book is empty. - - - - - Index: - - - - - - Address: - - - - - Payment ID: - - - - - - Description: - - - - - usage: set_tx_note [txid] free text note - - - - - usage: get_tx_note [txid] - - - - - usage: sign <filename> - - - - - wallet is watch-only and cannot sign - - - - - - - - failed to read file - - - - - usage: check_tx_proof <txid> <address> <signature_file> [<message>] - - - - - - - failed to load signature file - - - - - usage: get_spend_proof <txid> [<message>] - - - - - wallet is watch-only and cannot generate the proof - - - - - usage: check_spend_proof <txid> <signature_file> [<message>] - - - - - usage: get_reserve_proof (all|<amount>) [<message>] - - - - - The reserve proof can be generated only by a full wallet - - - - - usage: check_reserve_proof <address> <signature_file> [<message>] - - - - - Address must not be a subaddress - - - - - Good signature -- total: %s, spent: %s, unspent: %s - - - - - usage: show_transfers [in|out|all|pending|failed] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] - - - - - [Double spend seen on the network: this transaction may or may not end up being mined] - - - - - usage: unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] - - - - - There is no unspent output in the specified address - - - - + (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,515 +4016,216 @@ 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> ] - - + + usage: integrated_address [payment ID] + + + + + Integrated addresses can only be created for account 0 - + + Matching integrated address: + + + + Integrated address: %s, payment ID: %s - + Subaddress: - + + Standard address: + + + + + failed to parse payment ID or address + + + + + usage: address_book [(add (<address> [pid <long or short payment id>])|<integrated address> [<description possibly with whitespaces>])|(delete <index>)] + + + + + failed to parse payment ID + + + + + failed to parse index + + + + + Address book is empty. + + + + + Index: + + + + + + Address: + + + + + Payment ID: + + + + + + Description: + + + + + usage: set_tx_note [txid] free text note + + + + + usage: get_tx_note [txid] + + + + usage: get_description - + no description found - + description found: - + Filename: - + Watch only - + %u/%u multisig%s - - Normal - - - - - Type: - - - - - Testnet: - - - - - Yes - - - - - No - - - - - This wallet is multisig and cannot sign - - - - - usage: verify <filename> <address> <signature> - - - - - Bad signature from - - - - - Good signature from - - - - - usage: export_key_images <filename> - - - - - wallet is watch-only and cannot export key images - - - - - - - failed to save file - - - - - Signed key images exported to - - - - - usage: import_key_images <filename> - - - - - usage: export_outputs <filename> - - - - - Outputs exported to - - - - - usage: import_outputs <filename> - - - - - - - - amount is wrong: - - - - - expected number from 0 to - - - - - Sweeping - - - - - Money successfully sent, transaction: - - - - - Change goes to more than one address - - - - + %s change to %s - - no change - - - - - - - Transaction successfully signed to file - - - - - usage: get_tx_key <txid> - - - - - - - - - - - - - failed to parse txid - - - - - Tx key: - - - - - no tx keys found for this txid - - - - - usage: get_tx_proof <txid> <address> [<message>] - - - - - - - signature file saved to: - - - - - - - failed to save signature file - - - - - usage: check_tx_key <txid> <txkey> <address> - - - - - - failed to parse tx key - - - - - - - error: - - - - - - received - - - - - - in txid - - - - - - received nothing in txid - - - - - - WARNING: this transaction is not yet included in the blockchain! - - - - - + + This transaction has %u confirmations - - - - WARNING: failed to determine number of confirmations! - - - - - bad min_height parameter: - - - - - bad max_height parameter: - - - - - in - - - - - - out - - - - - failed - - - - - pending - - - - - <min_amount> should be smaller than <max_amount> - - - - - -Amount: - - - - - , number of keys: - - - - - - - - - - -Min block height: - - - - - -Max block height: - - - - - -Min amount found: - - - - - -Max amount found: - - - - - -Total count: - - - - - -Bin size: - - - - - -Outputs per *: - - - - - count - ^ - - - - - - | - - - - - + - - - - - +--> block height - - - - - - ^ - - - - - ^ - - - - - - - - - - - wallet - - - - - - Random payment ID: - - - - - Matching integrated address: - - genms @@ -3542,58 +4255,78 @@ Outputs per *: - + + Create stagenet multisig wallets + + + + + Create an address file for new wallets + + + + Generating %u %u/%u multisig wallets - + + Failed to verify multisig info + + + + Error verifying multisig extra info - + Error finalizing multisig - + Generated multisig wallets for address - + Error creating multisig wallets: - + This program generates a set of multisig wallets - use this simpler scheme only if all the participants trust each other - + + Error: Can't specify more than one of --testnet and --stagenet + + + + Error: expected N/M, but got: - - + + Error: either --scheme or both of --threshold and --participants may be given - + Error: expected N > 1 and N <= M, but got N==%u and M==%d - + Error: --filename-base is required - + Error: unsupported scheme: only N/N and N-1/N are supported @@ -3601,98 +4334,311 @@ Outputs per *: sw - + Generate new wallet and save it to <arg> - - Generate incoming-only wallet from view key - - - - - Generate deterministic wallet from spend key - - - - - Generate wallet from private keys - - - - - Generate a master wallet from multisig wallet keys + + Generate new wallet from device and save it to <arg> - Language for mnemonic + Generate incoming-only wallet from view key - Specify Electrum seed for wallet recovery/creation + Generate deterministic wallet from spend key - Recover wallet using Electrum-style mnemonic seed + Generate wallet from private keys - Recover multisig wallet using Electrum-style mnemonic seed - - - - - Generate non-deterministic view and spend keys + Generate a master wallet from multisig wallet keys - Enable commands which rely on a trusted daemon + Language for mnemonic - Allow communicating with a daemon that uses a different RPC version + Specify Electrum seed for wallet recovery/creation - Restore from specific blockchain height + Recover wallet using Electrum-style mnemonic seed + Recover multisig wallet using Electrum-style mnemonic seed + + + + + Generate non-deterministic view and spend keys + + + + + failed to read wallet password + + + + + Enter a new password for the wallet + + + + + Wallet password + + + + + invalid argument: must be either 0/1, true/false, y/n, yes/no + + + + + DNSSEC validation passed + + + + + WARNING: DNSSEC validation was unsuccessful, this address may not be correct! + + + + + For URL: + + + + + Monero Address = + + + + + Is this OK? (Y/n) + + + + + you have cancelled the transfer request + + + + + failed to parse index: + + + + + invalid format for subaddress lookahead; must be <major>:<minor> + + + + + no connection to daemon. Please make sure daemon is running. + + + + + RPC error: + + + + + failed to get random outputs to mix: + + + + + + Not enough money in unlocked balance + + + + + Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees, or trying to send more money than the unlocked balance, or not leaving enough for fees + + + + + not enough outputs for specified ring size + + + + + output amount + + + + + found outputs to use + + + + + Please use sweep_unmixable. + + + + + transaction was not constructed + + + + + transaction %s was rejected by daemon with status: + + + + + Reason: + + + + + one of destinations is zero + + + + + failed to find a suitable way to split transactions + + + + + unknown transfer error: + + + + + Multisig error: + + + + + internal error: + + + + + unexpected error: + + + + + 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. + + + + + File %s likely stores wallet private keys! Use a different file name. + + + + + File %s already exists. Are you sure to overwrite it? (Y/Yes/N/No): + + + + + seconds + + + + + minutes + + + + + hours + + + + + days + + + + + months + + + + + a long time + + + + + 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. + + + + + 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 - + + Create an address file for new wallets + + + + + Display English language names + + + + + daemon is busy. Please try again later. - + possibly lost connection to daemon - + Error: - - This is the command line monero wallet. It needs to connect to a monero -daemon to work correctly. - - - - + 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 + + + Set subaddress lookahead sizes to <major>:<minor> + + tools::wallet_rpc_server - - Daemon is local, assuming trusted - - - - + 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: