mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-12 19:20:42 +02:00
GUI/Options: Configure maxscriptsize using settings
This commit is contained in:
parent
57fadfa036
commit
0b07575691
@ -307,6 +307,12 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
verticalLayout_Spamfiltering->addWidget(rejectbaremultisig);
|
verticalLayout_Spamfiltering->addWidget(rejectbaremultisig);
|
||||||
FixTabOrder(rejectbaremultisig);
|
FixTabOrder(rejectbaremultisig);
|
||||||
|
|
||||||
|
maxscriptsize = new QSpinBox(groupBox_Spamfiltering);
|
||||||
|
maxscriptsize->setMinimum(0);
|
||||||
|
maxscriptsize->setMaximum(std::numeric_limits<int>::max());
|
||||||
|
maxscriptsize->setToolTip(tr("There may be rare smart contracts that require a large amount of code, but more often a larger code segment is actually just spam finding new ways to try to evade filtering. 1650 bytes is sometimes considered the high end of what might be normal, usually for N-of-20 multisig."));
|
||||||
|
CreateOptionUI(verticalLayout_Spamfiltering, maxscriptsize, tr("Ignore transactions with smart contract code larger than %s bytes."));
|
||||||
|
|
||||||
datacarriersize = new QSpinBox(groupBox_Spamfiltering);
|
datacarriersize = new QSpinBox(groupBox_Spamfiltering);
|
||||||
datacarriersize->setMinimum(0);
|
datacarriersize->setMinimum(0);
|
||||||
datacarriersize->setMaximum(std::numeric_limits<int>::max());
|
datacarriersize->setMaximum(std::numeric_limits<int>::max());
|
||||||
@ -627,6 +633,7 @@ void OptionsDialog::setMapper()
|
|||||||
mapper->addMapping(limitdescendantcount, OptionsModel::limitdescendantcount);
|
mapper->addMapping(limitdescendantcount, OptionsModel::limitdescendantcount);
|
||||||
mapper->addMapping(limitdescendantsize, OptionsModel::limitdescendantsize);
|
mapper->addMapping(limitdescendantsize, OptionsModel::limitdescendantsize);
|
||||||
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
|
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
|
||||||
|
mapper->addMapping(maxscriptsize, OptionsModel::maxscriptsize);
|
||||||
mapper->addMapping(datacarriercost, OptionsModel::datacarriercost);
|
mapper->addMapping(datacarriercost, OptionsModel::datacarriercost);
|
||||||
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
|
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
|
||||||
mapper->addMapping(dustrelayfee, OptionsModel::dustrelayfee);
|
mapper->addMapping(dustrelayfee, OptionsModel::dustrelayfee);
|
||||||
|
@ -115,6 +115,7 @@ private:
|
|||||||
QSpinBox *limitdescendantcount;
|
QSpinBox *limitdescendantcount;
|
||||||
QSpinBox *limitdescendantsize;
|
QSpinBox *limitdescendantsize;
|
||||||
QCheckBox *rejectbaremultisig;
|
QCheckBox *rejectbaremultisig;
|
||||||
|
QSpinBox *maxscriptsize;
|
||||||
QSpinBox *datacarriersize;
|
QSpinBox *datacarriersize;
|
||||||
QDoubleSpinBox *datacarriercost;
|
QDoubleSpinBox *datacarriercost;
|
||||||
BitcoinAmountField *dustrelayfee;
|
BitcoinAmountField *dustrelayfee;
|
||||||
|
@ -675,6 +675,8 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
|
|||||||
return qlonglong(node().mempool().m_opts.limits.descendant_size_vbytes / 1'000);
|
return qlonglong(node().mempool().m_opts.limits.descendant_size_vbytes / 1'000);
|
||||||
case rejectbaremultisig:
|
case rejectbaremultisig:
|
||||||
return !node().mempool().m_opts.permit_bare_multisig;
|
return !node().mempool().m_opts.permit_bare_multisig;
|
||||||
|
case maxscriptsize:
|
||||||
|
return ::g_script_size_policy_limit;
|
||||||
case datacarriercost:
|
case datacarriercost:
|
||||||
return double(::g_weight_per_data_byte) / WITNESS_SCALE_FACTOR;
|
return double(::g_weight_per_data_byte) / WITNESS_SCALE_FACTOR;
|
||||||
case datacarriersize:
|
case datacarriersize:
|
||||||
@ -1175,6 +1177,13 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
|
|||||||
gArgs.ModifyRWConfigFile("permitbaremultisig", strprintf("%d", fNewValue));
|
gArgs.ModifyRWConfigFile("permitbaremultisig", strprintf("%d", fNewValue));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case maxscriptsize:
|
||||||
|
if (changed()) {
|
||||||
|
const auto nv = value.toLongLong();
|
||||||
|
update(nv);
|
||||||
|
::g_script_size_policy_limit = nv;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case datacarriercost:
|
case datacarriercost:
|
||||||
if (changed()) {
|
if (changed()) {
|
||||||
const double nNewSize = value.toDouble();
|
const double nNewSize = value.toDouble();
|
||||||
|
@ -96,6 +96,7 @@ public:
|
|||||||
limitdescendantcount,
|
limitdescendantcount,
|
||||||
limitdescendantsize,
|
limitdescendantsize,
|
||||||
rejectbaremultisig, // bool
|
rejectbaremultisig, // bool
|
||||||
|
maxscriptsize,
|
||||||
datacarriercost, // double
|
datacarriercost, // double
|
||||||
datacarriersize,
|
datacarriersize,
|
||||||
dustrelayfee,
|
dustrelayfee,
|
||||||
|
Loading…
Reference in New Issue
Block a user