mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-17 13:07:54 +02:00
Merge 23e8c702bc into merged_master (Bitcoin PR bitcoin/bitcoin#24421)
This commit is contained in:
commit
4c573ba511
3 changed files with 11 additions and 30 deletions
|
|
@ -110,7 +110,6 @@ void BlockAssembler::resetBlock()
|
|||
// Reserve space for coinbase tx
|
||||
nBlockWeight = 4000;
|
||||
nBlockSigOpsCost = 400;
|
||||
fIncludeWitness = false;
|
||||
|
||||
// These counters do not include coinbase tx
|
||||
nBlockTx = 0;
|
||||
|
|
@ -152,17 +151,7 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& sc
|
|||
pblock->nTime = GetAdjustedTime();
|
||||
m_lock_time_cutoff = pindexPrev->GetMedianTimePast();
|
||||
|
||||
// Decide whether to include witness transactions
|
||||
// This is only needed in case the witness softfork activation is reverted
|
||||
// (which would require a very deep reorganization).
|
||||
// Note that the mempool would accept transactions with witness data before
|
||||
// the deployment is active, but we would only ever mine blocks after activation
|
||||
// unless there is a massive block reorganization with the witness softfork
|
||||
// not activated.
|
||||
// TODO: replace this with a call to main to assess validity of a mempool
|
||||
// transaction (which in most cases can be a no-op).
|
||||
fIncludeWitness = DeploymentActiveAfter(pindexPrev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_SEGWIT);
|
||||
|
||||
// ELEMENTS:
|
||||
if (DeploymentActiveAfter(pindexPrev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_DYNA_FED)) {
|
||||
const DynaFedParamEntry current_params = ComputeNextBlockCurrentParameters(m_chainstate.m_chain.Tip(), chainparams.GetConsensus());
|
||||
const DynaFedParams block_params(current_params, proposed_entry ? *proposed_entry : DynaFedParamEntry());
|
||||
|
|
@ -267,17 +256,12 @@ bool BlockAssembler::TestPackage(uint64_t packageSize, int64_t packageSigOpsCost
|
|||
|
||||
// Perform transaction-level checks before adding to block:
|
||||
// - transaction finality (locktime)
|
||||
// - premature witness (in case segwit transactions are added to mempool before
|
||||
// segwit activation)
|
||||
bool BlockAssembler::TestPackageTransactions(const CTxMemPool::setEntries& package) const
|
||||
{
|
||||
for (CTxMemPool::txiter it : package) {
|
||||
if (!IsFinalTx(it->GetTx(), nHeight, m_lock_time_cutoff)) {
|
||||
return false;
|
||||
}
|
||||
if (!fIncludeWitness && it->GetTx().HasWitness()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue