mirror of
https://github.com/monero-project/monero.git
synced 2025-08-19 04:07:50 -04:00
wallet: automatically use low priority if safe (no backlog & recent blocks not full)
This commit is contained in:
parent
c903df5ece
commit
30c44bce06
7 changed files with 136 additions and 18 deletions
|
@ -1519,6 +1519,19 @@ bool simple_wallet::set_refresh_from_block_height(const std::vector<std::string>
|
|||
return true;
|
||||
}
|
||||
|
||||
bool simple_wallet::set_auto_low_priority(const std::vector<std::string> &args/* = std::vector<std::string>()*/)
|
||||
{
|
||||
const auto pwd_container = get_and_verify_password();
|
||||
if (pwd_container)
|
||||
{
|
||||
parse_bool_and_use(args[1], [&](bool r) {
|
||||
m_wallet->auto_low_priority(r);
|
||||
m_wallet->rewrite(m_wallet_file, pwd_container->password());
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool simple_wallet::help(const std::vector<std::string> &args/* = std::vector<std::string>()*/)
|
||||
{
|
||||
if(args.empty())
|
||||
|
@ -1691,7 +1704,9 @@ simple_wallet::simple_wallet()
|
|||
"confirm-backlog-threshold [n]\n "
|
||||
" Set a threshold for confirm-backlog to only warn if the transaction backlog is greater than n blocks.\n "
|
||||
"refresh-from-block-height [n]\n "
|
||||
" Set the height before which to ignore blocks."));
|
||||
" Set the height before which to ignore blocks.\n "
|
||||
"auto-low-priority <1|0>\n "
|
||||
" Whether to automatically use the low priority fee level when it's safe to do so."));
|
||||
m_cmd_binder.set_handler("encrypted_seed",
|
||||
boost::bind(&simple_wallet::encrypted_seed, this, _1),
|
||||
tr("Display the encrypted Electrum-style mnemonic seed."));
|
||||
|
@ -1858,6 +1873,7 @@ bool simple_wallet::set_variable(const std::vector<std::string> &args)
|
|||
success_msg_writer() << "confirm-backlog-threshold = " << m_wallet->get_confirm_backlog_threshold();
|
||||
success_msg_writer() << "confirm-export-overwrite = " << m_wallet->confirm_export_overwrite();
|
||||
success_msg_writer() << "refresh-from-block-height = " << m_wallet->get_refresh_from_block_height();
|
||||
success_msg_writer() << "auto-low-priority = " << m_wallet->auto_low_priority();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
@ -1907,6 +1923,7 @@ bool simple_wallet::set_variable(const std::vector<std::string> &args)
|
|||
CHECK_SIMPLE_VARIABLE("confirm-backlog-threshold", set_confirm_backlog_threshold, tr("unsigned integer"));
|
||||
CHECK_SIMPLE_VARIABLE("confirm-export-overwrite", set_confirm_export_overwrite, tr("0 or 1"));
|
||||
CHECK_SIMPLE_VARIABLE("refresh-from-block-height", set_refresh_from_block_height, tr("block height"));
|
||||
CHECK_SIMPLE_VARIABLE("auto-low-priority", set_auto_low_priority, tr("0 or 1"));
|
||||
}
|
||||
fail_msg_writer() << tr("set: unrecognized argument(s)");
|
||||
return true;
|
||||
|
@ -3667,6 +3684,8 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri
|
|||
if (local_args.size() > 0 && parse_priority(local_args[0], priority))
|
||||
local_args.erase(local_args.begin());
|
||||
|
||||
priority = m_wallet->adjust_priority(priority);
|
||||
|
||||
size_t fake_outs_count = 0;
|
||||
if(local_args.size() > 0) {
|
||||
size_t ring_size;
|
||||
|
@ -4144,6 +4163,8 @@ bool simple_wallet::sweep_main(uint64_t below, const std::vector<std::string> &a
|
|||
if (local_args.size() > 0 && parse_priority(local_args[0], priority))
|
||||
local_args.erase(local_args.begin());
|
||||
|
||||
priority = m_wallet->adjust_priority(priority);
|
||||
|
||||
size_t fake_outs_count = 0;
|
||||
if(local_args.size() > 0) {
|
||||
size_t ring_size;
|
||||
|
@ -4356,17 +4377,11 @@ bool simple_wallet::sweep_single(const std::vector<std::string> &args_)
|
|||
|
||||
std::vector<std::string> local_args = args_;
|
||||
|
||||
int priority = 0;
|
||||
if(local_args.size() > 0) {
|
||||
auto priority_pos = std::find(
|
||||
allowed_priority_strings.begin(),
|
||||
allowed_priority_strings.end(),
|
||||
local_args[0]);
|
||||
if(priority_pos != allowed_priority_strings.end()) {
|
||||
local_args.erase(local_args.begin());
|
||||
priority = std::distance(allowed_priority_strings.begin(), priority_pos);
|
||||
}
|
||||
}
|
||||
uint32_t priority = 0;
|
||||
if (local_args.size() > 0 && parse_priority(local_args[0], priority))
|
||||
local_args.erase(local_args.begin());
|
||||
|
||||
priority = m_wallet->adjust_priority(priority);
|
||||
|
||||
size_t fake_outs_count = 0;
|
||||
if(local_args.size() > 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue