mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-13 03:30:42 +02:00
Qt/Options: Configure spkreuse using rwconf
This commit is contained in:
parent
d15608edce
commit
0551bcd0ff
@ -260,6 +260,12 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
verticalLayout_Spamfiltering->addWidget(rejectunknownscripts);
|
verticalLayout_Spamfiltering->addWidget(rejectunknownscripts);
|
||||||
FixTabOrder(rejectunknownscripts);
|
FixTabOrder(rejectunknownscripts);
|
||||||
|
|
||||||
|
rejectspkreuse = new QCheckBox(groupBox_Spamfiltering);
|
||||||
|
rejectspkreuse->setText(tr("Disallow most address reuse"));
|
||||||
|
rejectspkreuse->setToolTip(tr("With this option enabled, your memory pool will only allow each unique payment destination to be used once, effectively deprioritising address reuse. Address reuse is not technically supported, and harms the privacy of all Bitcoin users. It also has limited real-world utility, and has been known to be common with spam."));
|
||||||
|
verticalLayout_Spamfiltering->addWidget(rejectspkreuse);
|
||||||
|
FixTabOrder(rejectspkreuse);
|
||||||
|
|
||||||
minrelaytxfee = new BitcoinAmountField(groupBox_Spamfiltering);
|
minrelaytxfee = new BitcoinAmountField(groupBox_Spamfiltering);
|
||||||
CreateOptionUI(verticalLayout_Spamfiltering, minrelaytxfee, tr("Ignore transactions offering miners less than %s per kvB in transaction fees."));
|
CreateOptionUI(verticalLayout_Spamfiltering, minrelaytxfee, tr("Ignore transactions offering miners less than %s per kvB in transaction fees."));
|
||||||
|
|
||||||
@ -499,6 +505,8 @@ void OptionsDialog::setModel(OptionsModel *_model)
|
|||||||
connect(ui->connectSocksTor, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
connect(ui->connectSocksTor, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
||||||
connect(ui->peerbloomfilters, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
connect(ui->peerbloomfilters, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
||||||
connect(ui->peerblockfilters, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
connect(ui->peerblockfilters, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
||||||
|
/* Mempool */
|
||||||
|
connect(rejectspkreuse, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
||||||
/* Display */
|
/* Display */
|
||||||
connect(ui->lang, qOverload<>(&QValueComboBox::valueChanged), [this]{ showRestartWarning(); });
|
connect(ui->lang, qOverload<>(&QValueComboBox::valueChanged), [this]{ showRestartWarning(); });
|
||||||
connect(ui->thirdPartyTxUrls, &QLineEdit::textChanged, [this]{ showRestartWarning(); });
|
connect(ui->thirdPartyTxUrls, &QLineEdit::textChanged, [this]{ showRestartWarning(); });
|
||||||
@ -594,6 +602,7 @@ void OptionsDialog::setMapper()
|
|||||||
mapper->addMapping(mempoolexpiry, OptionsModel::mempoolexpiry);
|
mapper->addMapping(mempoolexpiry, OptionsModel::mempoolexpiry);
|
||||||
|
|
||||||
mapper->addMapping(rejectunknownscripts, OptionsModel::rejectunknownscripts);
|
mapper->addMapping(rejectunknownscripts, OptionsModel::rejectunknownscripts);
|
||||||
|
mapper->addMapping(rejectspkreuse, OptionsModel::rejectspkreuse);
|
||||||
mapper->addMapping(minrelaytxfee, OptionsModel::minrelaytxfee);
|
mapper->addMapping(minrelaytxfee, OptionsModel::minrelaytxfee);
|
||||||
mapper->addMapping(bytespersigop, OptionsModel::bytespersigop);
|
mapper->addMapping(bytespersigop, OptionsModel::bytespersigop);
|
||||||
mapper->addMapping(bytespersigopstrict, OptionsModel::bytespersigopstrict);
|
mapper->addMapping(bytespersigopstrict, OptionsModel::bytespersigopstrict);
|
||||||
|
@ -106,6 +106,7 @@ private:
|
|||||||
QSpinBox *mempoolexpiry;
|
QSpinBox *mempoolexpiry;
|
||||||
|
|
||||||
QCheckBox *rejectunknownscripts;
|
QCheckBox *rejectunknownscripts;
|
||||||
|
QCheckBox *rejectspkreuse;
|
||||||
BitcoinAmountField *minrelaytxfee;
|
BitcoinAmountField *minrelaytxfee;
|
||||||
QSpinBox *bytespersigop, *bytespersigopstrict;
|
QSpinBox *bytespersigop, *bytespersigopstrict;
|
||||||
QSpinBox *limitancestorcount;
|
QSpinBox *limitancestorcount;
|
||||||
|
@ -350,7 +350,9 @@ bool OptionsModel::Init(bilingual_str& error)
|
|||||||
addOverriddenOption("-port");
|
addOverriddenOption("-port");
|
||||||
|
|
||||||
// rwconf settings that require a restart
|
// rwconf settings that require a restart
|
||||||
|
// Caution: This is before general initialisation occurs!
|
||||||
f_peerbloomfilters = gArgs.GetBoolArg("-peerbloomfilters", DEFAULT_PEERBLOOMFILTERS);
|
f_peerbloomfilters = gArgs.GetBoolArg("-peerbloomfilters", DEFAULT_PEERBLOOMFILTERS);
|
||||||
|
f_rejectspkreuse = !(gArgs.GetArg("-spkreuse", DEFAULT_SPKREUSE) == "allow" || gArgs.GetBoolArg("-spkreuse", false));
|
||||||
|
|
||||||
// Display
|
// Display
|
||||||
if (settings.contains("FontForMoney")) {
|
if (settings.contains("FontForMoney")) {
|
||||||
@ -653,6 +655,8 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
|
|||||||
return qlonglong(std::chrono::duration_cast<std::chrono::hours>(node().mempool().m_opts.expiry).count());
|
return qlonglong(std::chrono::duration_cast<std::chrono::hours>(node().mempool().m_opts.expiry).count());
|
||||||
case rejectunknownscripts:
|
case rejectunknownscripts:
|
||||||
return node().mempool().m_opts.require_standard;
|
return node().mempool().m_opts.require_standard;
|
||||||
|
case rejectspkreuse:
|
||||||
|
return f_rejectspkreuse;
|
||||||
case minrelaytxfee:
|
case minrelaytxfee:
|
||||||
return qlonglong(node().mempool().m_opts.min_relay_feerate.GetFeePerK());
|
return qlonglong(node().mempool().m_opts.min_relay_feerate.GetFeePerK());
|
||||||
case bytespersigop:
|
case bytespersigop:
|
||||||
@ -1093,6 +1097,14 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case rejectspkreuse:
|
||||||
|
if (changed()) {
|
||||||
|
const bool fNewValue = value.toBool();
|
||||||
|
gArgs.ModifyRWConfigFile("spkreuse", fNewValue ? "conflict" : "allow");
|
||||||
|
f_rejectspkreuse = fNewValue;
|
||||||
|
setRestartRequired(true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case minrelaytxfee:
|
case minrelaytxfee:
|
||||||
if (changed()) {
|
if (changed()) {
|
||||||
CAmount nNv = value.toLongLong();
|
CAmount nNv = value.toLongLong();
|
||||||
|
@ -87,6 +87,7 @@ public:
|
|||||||
incrementalrelayfee,
|
incrementalrelayfee,
|
||||||
mempoolexpiry,
|
mempoolexpiry,
|
||||||
rejectunknownscripts, // bool
|
rejectunknownscripts, // bool
|
||||||
|
rejectspkreuse, // bool
|
||||||
minrelaytxfee,
|
minrelaytxfee,
|
||||||
bytespersigop,
|
bytespersigop,
|
||||||
bytespersigopstrict,
|
bytespersigopstrict,
|
||||||
@ -178,6 +179,7 @@ private:
|
|||||||
|
|
||||||
/* rwconf settings that require a restart */
|
/* rwconf settings that require a restart */
|
||||||
bool f_peerbloomfilters;
|
bool f_peerbloomfilters;
|
||||||
|
bool f_rejectspkreuse;
|
||||||
|
|
||||||
// Add option to list of GUI options overridden through command line/config file
|
// Add option to list of GUI options overridden through command line/config file
|
||||||
void addOverriddenOption(const std::string &option);
|
void addOverriddenOption(const std::string &option);
|
||||||
|
Loading…
Reference in New Issue
Block a user