Qt/Options: Configure dustrelayfee using rwconf

This commit is contained in:
Luke Dashjr 2017-02-08 00:25:42 +00:00
parent 21fb3f523a
commit 43dc306389
5 changed files with 16 additions and 1 deletions

View File

@ -301,6 +301,9 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
datacarriersize->setToolTip(tr("Since 2014, a specific method for attaching arbitrary data to transactions has been recognised as not requiring space in the coin database. Since it is sometimes impractical to detect small spam disguised as ordinary transactions, it is sometimes considered beneficial to treat these less harmful data attachments as equals to legitimate usage."));
CreateOptionUI(verticalLayout_Spamfiltering, datacarriersize, tr("Ignore transactions with additional data larger than %s bytes."));
dustrelayfee = new BitcoinAmountField(groupBox_Spamfiltering);
CreateOptionUI(verticalLayout_Spamfiltering, dustrelayfee, tr("Ignore transactions with values that would cost more to spend at a fee rate of %s per kB."));
verticalLayout_Mempool->addWidget(groupBox_Spamfiltering);
verticalLayout_Mempool->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
@ -585,6 +588,7 @@ void OptionsDialog::setMapper()
mapper->addMapping(limitdescendantsize, OptionsModel::limitdescendantsize);
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
mapper->addMapping(dustrelayfee, OptionsModel::dustrelayfee);
/* Mining tab */

View File

@ -114,6 +114,7 @@ private:
QSpinBox *limitdescendantsize;
QCheckBox *rejectbaremultisig;
QSpinBox *datacarriersize;
BitcoinAmountField *dustrelayfee;
QSpinBox *blockmaxsize, *blockprioritysize, *blockmaxweight;
};

View File

@ -646,6 +646,8 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
return !node().mempool().m_permit_bare_multisig;
case datacarriersize:
return qlonglong(node().mempool().m_max_datacarrier_bytes.value_or(0));
case dustrelayfee:
return qlonglong(node().mempool().m_dust_relay_feerate.GetFeePerK());
case blockmaxsize:
return qlonglong(gArgs.GetIntArg("-blockmaxsize", DEFAULT_BLOCK_MAX_SIZE) / 1000);
case blockprioritysize:
@ -1138,6 +1140,13 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
}
}
break;
case dustrelayfee:
if (changed()) {
CAmount nNv = value.toLongLong();
gArgs.ModifyRWConfigFile("dustrelayfee", FormatMoney(nNv));
node().mempool().m_dust_relay_feerate = CFeeRate(nNv);
}
break;
case blockmaxsize:
case blockprioritysize:
case blockmaxweight:

View File

@ -96,6 +96,7 @@ public:
limitdescendantsize,
rejectbaremultisig, // bool
datacarriersize,
dustrelayfee,
blockmaxsize,
blockprioritysize,
blockmaxweight,

View File

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