mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-31 10:41:08 +00:00
miner: replace "package" with "chunk"
This makes the terminology consistent with other parts of the codebase, as part of the cluster mempool implementation.
This commit is contained in:
parent
6f3e8eb300
commit
2d88966e43
@ -193,12 +193,12 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock()
|
||||
return std::move(pblocktemplate);
|
||||
}
|
||||
|
||||
bool BlockAssembler::TestPackage(FeePerWeight package_feerate, int64_t packageSigOpsCost) const
|
||||
bool BlockAssembler::TestChunkBlockLimits(FeePerWeight chunk_feerate, int64_t chunk_sigops_cost) const
|
||||
{
|
||||
if (nBlockWeight + package_feerate.size >= m_options.nBlockMaxWeight) {
|
||||
if (nBlockWeight + chunk_feerate.size >= m_options.nBlockMaxWeight) {
|
||||
return false;
|
||||
}
|
||||
if (nBlockSigOpsCost + packageSigOpsCost >= MAX_BLOCK_SIGOPS_COST) {
|
||||
if (nBlockSigOpsCost + chunk_sigops_cost >= MAX_BLOCK_SIGOPS_COST) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -206,7 +206,7 @@ bool BlockAssembler::TestPackage(FeePerWeight package_feerate, int64_t packageSi
|
||||
|
||||
// Perform transaction-level checks before adding to block:
|
||||
// - transaction finality (locktime)
|
||||
bool BlockAssembler::TestPackageTransactions(const std::vector<CTxMemPoolEntryRef>& txs) const
|
||||
bool BlockAssembler::TestChunkTransactions(const std::vector<CTxMemPoolEntryRef>& txs) const
|
||||
{
|
||||
for (const auto tx : txs) {
|
||||
if (!IsFinalTx(tx.get().GetTx(), nHeight, m_lock_time_cutoff)) {
|
||||
@ -257,13 +257,13 @@ void BlockAssembler::addChunks()
|
||||
return;
|
||||
}
|
||||
|
||||
int64_t package_sig_ops = 0;
|
||||
int64_t chunk_sig_ops = 0;
|
||||
for (const auto& tx : selected_transactions) {
|
||||
package_sig_ops += tx.get().GetSigOpCost();
|
||||
chunk_sig_ops += tx.get().GetSigOpCost();
|
||||
}
|
||||
|
||||
// Check to see if this chunk will fit.
|
||||
if (!TestPackage(chunk_feerate, package_sig_ops) || !TestPackageTransactions(selected_transactions)) {
|
||||
if (!TestChunkBlockLimits(chunk_feerate, chunk_sig_ops) || !TestChunkTransactions(selected_transactions)) {
|
||||
// This chunk won't fit, so we skip it and will try the next best one.
|
||||
m_mempool->SkipBuilderChunk();
|
||||
++nConsecutiveFailed;
|
||||
|
||||
@ -110,13 +110,12 @@ private:
|
||||
void addChunks() EXCLUSIVE_LOCKS_REQUIRED(m_mempool->cs);
|
||||
|
||||
// helper functions for addChunks()
|
||||
/** Test if a new package would "fit" in the block */
|
||||
bool TestPackage(FeePerWeight package_feerate, int64_t packageSigOpsCost) const;
|
||||
/** Perform checks on each transaction in a package:
|
||||
* locktime, premature-witness, serialized size (if necessary)
|
||||
* These checks should always succeed, and they're here
|
||||
* only as an extra check in case of suboptimal node configuration */
|
||||
bool TestPackageTransactions(const std::vector<CTxMemPoolEntryRef>& txs) const;
|
||||
/** Test if a new chunk would "fit" in the block */
|
||||
bool TestChunkBlockLimits(FeePerWeight chunk_feerate, int64_t chunk_sigops_cost) const;
|
||||
/** Perform locktime checks on each transaction in a chunk:
|
||||
* This check should always succeed, and is here
|
||||
* only as an extra check in case of a bug */
|
||||
bool TestChunkTransactions(const std::vector<CTxMemPoolEntryRef>& txs) const;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user