mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-22 06:43:25 +02:00
[refactor] add helper to apply ArgsManager to BlockAssembler::Options
This allows us to both manually manipulate options and grab values from ArgsManager (i.e. -blockmaxweight and -blockmintxfee config options) when constructing BlockAssembler::Options. Prior to this change, the only way to apply the config options is by ctoring BlockAssembler with no options, which calls DefaultOptions().
This commit is contained in:
parent
8ccab65f28
commit
a2de971ba1
@ -72,11 +72,10 @@ BlockAssembler::BlockAssembler(Chainstate& chainstate, const CTxMemPool* mempool
|
|||||||
nBlockMaxWeight = std::max<size_t>(4000, std::min<size_t>(MAX_BLOCK_WEIGHT - 4000, options.nBlockMaxWeight));
|
nBlockMaxWeight = std::max<size_t>(4000, std::min<size_t>(MAX_BLOCK_WEIGHT - 4000, options.nBlockMaxWeight));
|
||||||
}
|
}
|
||||||
|
|
||||||
static BlockAssembler::Options DefaultOptions()
|
void ApplyArgsManOptions(const ArgsManager& gArgs, BlockAssembler::Options& options)
|
||||||
{
|
{
|
||||||
// Block resource limits
|
// Block resource limits
|
||||||
// If -blockmaxweight is not given, limit to DEFAULT_BLOCK_MAX_WEIGHT
|
// If -blockmaxweight is not given, limit to DEFAULT_BLOCK_MAX_WEIGHT
|
||||||
BlockAssembler::Options options;
|
|
||||||
options.nBlockMaxWeight = gArgs.GetIntArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT);
|
options.nBlockMaxWeight = gArgs.GetIntArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT);
|
||||||
if (gArgs.IsArgSet("-blockmintxfee")) {
|
if (gArgs.IsArgSet("-blockmintxfee")) {
|
||||||
std::optional<CAmount> parsed = ParseMoney(gArgs.GetArg("-blockmintxfee", ""));
|
std::optional<CAmount> parsed = ParseMoney(gArgs.GetArg("-blockmintxfee", ""));
|
||||||
@ -84,11 +83,16 @@ static BlockAssembler::Options DefaultOptions()
|
|||||||
} else {
|
} else {
|
||||||
options.blockMinFeeRate = CFeeRate{DEFAULT_BLOCK_MIN_TX_FEE};
|
options.blockMinFeeRate = CFeeRate{DEFAULT_BLOCK_MIN_TX_FEE};
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
static BlockAssembler::Options ConfiguredOptions()
|
||||||
|
{
|
||||||
|
BlockAssembler::Options options;
|
||||||
|
ApplyArgsManOptions(gArgs, options);
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlockAssembler::BlockAssembler(Chainstate& chainstate, const CTxMemPool* mempool)
|
BlockAssembler::BlockAssembler(Chainstate& chainstate, const CTxMemPool* mempool)
|
||||||
: BlockAssembler(chainstate, mempool, DefaultOptions()) {}
|
: BlockAssembler(chainstate, mempool, ConfiguredOptions()) {}
|
||||||
|
|
||||||
void BlockAssembler::resetBlock()
|
void BlockAssembler::resetBlock()
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include <boost/multi_index/ordered_index.hpp>
|
#include <boost/multi_index/ordered_index.hpp>
|
||||||
#include <boost/multi_index_container.hpp>
|
#include <boost/multi_index_container.hpp>
|
||||||
|
|
||||||
|
class ArgsManager;
|
||||||
class ChainstateManager;
|
class ChainstateManager;
|
||||||
class CBlockIndex;
|
class CBlockIndex;
|
||||||
class CChainParams;
|
class CChainParams;
|
||||||
@ -197,6 +198,9 @@ int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParam
|
|||||||
|
|
||||||
/** Update an old GenerateCoinbaseCommitment from CreateNewBlock after the block txs have changed */
|
/** Update an old GenerateCoinbaseCommitment from CreateNewBlock after the block txs have changed */
|
||||||
void RegenerateCommitments(CBlock& block, ChainstateManager& chainman);
|
void RegenerateCommitments(CBlock& block, ChainstateManager& chainman);
|
||||||
|
|
||||||
|
/** Apply -blockmintxfee and -blockmaxweight options from ArgsManager to BlockAssembler options. */
|
||||||
|
void ApplyArgsManOptions(const ArgsManager& gArgs, BlockAssembler::Options& options);
|
||||||
} // namespace node
|
} // namespace node
|
||||||
|
|
||||||
#endif // BITCOIN_NODE_MINER_H
|
#endif // BITCOIN_NODE_MINER_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user