Qt/Options: Configure minrelaytxfee using rwconf

This commit is contained in:
Luke Dashjr 2020-06-10 06:23:12 +00:00
parent 299fc01c3b
commit b2645bf424
5 changed files with 19 additions and 1 deletions

View File

@ -9,6 +9,7 @@
#include <qt/optionsdialog.h>
#include <qt/forms/ui_optionsdialog.h>
#include <qt/bitcoinamountfield.h>
#include <qt/bitcoinunits.h>
#include <qt/clientmodel.h>
#include <qt/guiconstants.h>
@ -227,6 +228,9 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
verticalLayout_Spamfiltering->addWidget(rejectunknownscripts);
FixTabOrder(rejectunknownscripts);
minrelaytxfee = new BitcoinAmountField(groupBox_Spamfiltering);
CreateOptionUI(verticalLayout_Spamfiltering, minrelaytxfee, tr("Consider transaction fees less than %s per kB relayed to be worthless."));
bytespersigop = new QSpinBox(groupBox_Spamfiltering);
bytespersigop->setMinimum(1);
bytespersigop->setMaximum(std::numeric_limits<int>::max());
@ -540,6 +544,7 @@ void OptionsDialog::setMapper()
mapper->addMapping(mempoolexpiry, OptionsModel::mempoolexpiry);
mapper->addMapping(rejectunknownscripts, OptionsModel::rejectunknownscripts);
mapper->addMapping(minrelaytxfee, OptionsModel::minrelaytxfee);
mapper->addMapping(bytespersigop, OptionsModel::bytespersigop);
mapper->addMapping(bytespersigopstrict, OptionsModel::bytespersigopstrict);
mapper->addMapping(limitancestorcount, OptionsModel::limitancestorcount);

View File

@ -8,6 +8,7 @@
#include <QDialog>
#include <QValidator>
class BitcoinAmountField;
class ClientModel;
class OptionsModel;
class QValidatedLineEdit;
@ -99,6 +100,7 @@ private:
QSpinBox *mempoolexpiry;
QCheckBox *rejectunknownscripts;
BitcoinAmountField *minrelaytxfee;
QSpinBox *bytespersigop, *bytespersigopstrict;
QSpinBox *limitancestorcount;
QSpinBox *limitancestorsize;

View File

@ -25,6 +25,7 @@
#include <outputtype.h>
#include <policy/settings.h>
#include <txdb.h> // for -dbcache defaults
#include <util/moneystr.h> // for FormatMoney
#include <util/string.h>
#include <util/system.h>
#include <validation.h> // For DEFAULT_SCRIPTCHECK_THREADS
@ -621,6 +622,8 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
return qlonglong(std::chrono::duration_cast<std::chrono::hours>(node().mempool().m_expiry).count());
case rejectunknownscripts:
return node().mempool().m_require_standard;
case minrelaytxfee:
return qlonglong(node().mempool().m_min_relay_feerate.GetFeePerK());
case bytespersigop:
return nBytesPerSigOp;
case bytespersigopstrict:
@ -1023,6 +1026,13 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
}
break;
}
case minrelaytxfee:
if (changed()) {
CAmount nNv = value.toLongLong();
gArgs.ModifyRWConfigFile("minrelaytxfee", FormatMoney(nNv));
node().mempool().m_min_relay_feerate = CFeeRate(nNv);
}
break;
case bytespersigop:
if (changed()) {
gArgs.ModifyRWConfigFile("bytespersigop", value.toString().toStdString());

View File

@ -85,6 +85,7 @@ public:
maxmempool,
mempoolexpiry,
rejectunknownscripts, // bool
minrelaytxfee,
bytespersigop,
bytespersigopstrict,
limitancestorcount,

View File

@ -465,7 +465,7 @@ public:
int64_t m_max_size_bytes;
std::chrono::seconds m_expiry;
const CFeeRate m_incremental_relay_feerate;
const CFeeRate m_min_relay_feerate;
CFeeRate m_min_relay_feerate;
const CFeeRate m_dust_relay_feerate;
bool m_permit_bare_multisig;
std::optional<unsigned> m_max_datacarrier_bytes;