mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-12 19:20:42 +02:00
Qt/Options: Configure blockmaxsize, blockprioritysize, and blockmaxweight using rwconf
This commit is contained in:
parent
b67e66bcde
commit
9568978fd5
@ -15,11 +15,13 @@
|
||||
|
||||
#include <common/args.h>
|
||||
#include <common/system.h>
|
||||
#include <consensus/consensus.h> // for MAX_BLOCK_SERIALIZED_SIZE
|
||||
#include <index/blockfilterindex.h>
|
||||
#include <interfaces/node.h>
|
||||
#include <node/chainstatemanager_args.h>
|
||||
#include <netbase.h>
|
||||
#include <outputtype.h>
|
||||
#include <primitives/transaction.h> // for WITNESS_SCALE_FACTOR
|
||||
#include <txdb.h>
|
||||
#include <txmempool.h> // for maxmempoolMinimum
|
||||
#include <util/strencodings.h>
|
||||
@ -283,7 +285,23 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
||||
|
||||
verticalLayout_Mining->addWidget(new QLabel(tr("<strong>Note that mining is heavily influenced by the settings on the Mempool tab.</strong>")));
|
||||
|
||||
// TODO
|
||||
blockmaxsize = new QSpinBox(tabMining);
|
||||
blockmaxsize->setMinimum(1);
|
||||
blockmaxsize->setMaximum((MAX_BLOCK_SERIALIZED_SIZE - 1000) / 1000);
|
||||
connect(blockmaxsize, SIGNAL(valueChanged(int)), this, SLOT(blockmaxsize_changed(int)));
|
||||
CreateOptionUI(verticalLayout_Mining, blockmaxsize, tr("Never mine a block larger than %s kB."));
|
||||
|
||||
blockprioritysize = new QSpinBox(tabMining);
|
||||
blockprioritysize->setMinimum(0);
|
||||
blockprioritysize->setMaximum(blockmaxsize->maximum());
|
||||
connect(blockprioritysize, SIGNAL(valueChanged(int)), this, SLOT(blockmaxsize_increase(int)));
|
||||
CreateOptionUI(verticalLayout_Mining, blockprioritysize, tr("Mine first %s kB of transactions sorted by coin-age priority."));
|
||||
|
||||
blockmaxweight = new QSpinBox(tabMining);
|
||||
blockmaxweight->setMinimum(1);
|
||||
blockmaxweight->setMaximum((MAX_BLOCK_WEIGHT-4000) / 1000);
|
||||
connect(blockmaxweight, SIGNAL(valueChanged(int)), this, SLOT(blockmaxweight_changed(int)));
|
||||
CreateOptionUI(verticalLayout_Mining, blockmaxweight, tr("Never mine a block weighing more than %s kWU."));
|
||||
|
||||
verticalLayout_Mining->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
||||
|
||||
@ -543,6 +561,12 @@ void OptionsDialog::setMapper()
|
||||
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
|
||||
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
|
||||
|
||||
/* Mining tab */
|
||||
|
||||
mapper->addMapping(blockmaxsize, OptionsModel::blockmaxsize);
|
||||
mapper->addMapping(blockprioritysize, OptionsModel::blockprioritysize);
|
||||
mapper->addMapping(blockmaxweight, OptionsModel::blockmaxweight);
|
||||
|
||||
/* Window */
|
||||
#ifndef Q_OS_MACOS
|
||||
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||
@ -575,6 +599,35 @@ void OptionsDialog::setOkButtonState(bool fState)
|
||||
ui->okButton->setEnabled(fState);
|
||||
}
|
||||
|
||||
void OptionsDialog::blockmaxsize_changed(int i)
|
||||
{
|
||||
if (blockprioritysize->value() > i) {
|
||||
blockprioritysize->setValue(i);
|
||||
}
|
||||
|
||||
if (blockmaxweight->value() < i) {
|
||||
blockmaxweight->setValue(i);
|
||||
} else if (blockmaxweight->value() > i * WITNESS_SCALE_FACTOR) {
|
||||
blockmaxweight->setValue(i * WITNESS_SCALE_FACTOR);
|
||||
}
|
||||
}
|
||||
|
||||
void OptionsDialog::blockmaxsize_increase(int i)
|
||||
{
|
||||
if (blockmaxsize->value() < i) {
|
||||
blockmaxsize->setValue(i);
|
||||
}
|
||||
}
|
||||
|
||||
void OptionsDialog::blockmaxweight_changed(int i)
|
||||
{
|
||||
if (blockmaxsize->value() < i / WITNESS_SCALE_FACTOR) {
|
||||
blockmaxsize->setValue(i / WITNESS_SCALE_FACTOR);
|
||||
} else if (blockmaxsize->value() > i) {
|
||||
blockmaxsize->setValue(i);
|
||||
}
|
||||
}
|
||||
|
||||
void OptionsDialog::on_resetButton_clicked()
|
||||
{
|
||||
if (model) {
|
||||
|
@ -75,6 +75,10 @@ private Q_SLOTS:
|
||||
void updateDefaultProxyNets();
|
||||
void checkLineEdit();
|
||||
|
||||
void blockmaxsize_changed(int);
|
||||
void blockmaxsize_increase(int);
|
||||
void blockmaxweight_changed(int);
|
||||
|
||||
Q_SIGNALS:
|
||||
void proxyIpChecks(QValidatedLineEdit *pUiProxyIp, uint16_t nProxyPort);
|
||||
void quitOnReset();
|
||||
@ -102,6 +106,8 @@ private:
|
||||
QSpinBox *limitdescendantsize;
|
||||
QCheckBox *rejectbaremultisig;
|
||||
QSpinBox *datacarriersize;
|
||||
|
||||
QSpinBox *blockmaxsize, *blockprioritysize, *blockmaxweight;
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_OPTIONSDIALOG_H
|
||||
|
@ -662,6 +662,12 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
|
||||
return !node().mempool().m_opts.permit_bare_multisig;
|
||||
case datacarriersize:
|
||||
return qlonglong(node().mempool().m_opts.max_datacarrier_bytes.value_or(0));
|
||||
case blockmaxsize:
|
||||
return qlonglong(gArgs.GetIntArg("-blockmaxsize", DEFAULT_BLOCK_MAX_SIZE) / 1000);
|
||||
case blockprioritysize:
|
||||
return qlonglong(gArgs.GetIntArg("-blockprioritysize", DEFAULT_BLOCK_PRIORITY_SIZE) / 1000);
|
||||
case blockmaxweight:
|
||||
return qlonglong(gArgs.GetIntArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT) / 1000);
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
@ -1115,6 +1121,29 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
|
||||
}
|
||||
}
|
||||
break;
|
||||
case blockmaxsize:
|
||||
case blockprioritysize:
|
||||
case blockmaxweight:
|
||||
if (changed()) {
|
||||
const int nNewValue_kB = value.toInt();
|
||||
std::string strNv = strprintf("%d000", nNewValue_kB);
|
||||
std::string strKey;
|
||||
switch (option) {
|
||||
case blockmaxsize:
|
||||
strKey = "blockmaxsize";
|
||||
break;
|
||||
case blockprioritysize:
|
||||
strKey = "blockprioritysize";
|
||||
break;
|
||||
case blockmaxweight:
|
||||
strKey = "blockmaxweight";
|
||||
break;
|
||||
default: assert(0);
|
||||
}
|
||||
gArgs.ForceSetArg("-" + strKey, strNv);
|
||||
gArgs.ModifyRWConfigFile(strKey, strNv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -93,6 +93,9 @@ public:
|
||||
limitdescendantsize,
|
||||
rejectbaremultisig, // bool
|
||||
datacarriersize,
|
||||
blockmaxsize,
|
||||
blockprioritysize,
|
||||
blockmaxweight,
|
||||
OptionIDRowCount,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user