mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
merge bitcoin#23630: Remove GetSpendHeight
This commit is contained in:
parent
8bdab4d4fe
commit
d2cbdc40d5
@ -185,13 +185,6 @@ public:
|
|||||||
|
|
||||||
//! Check whether the block associated with this index entry is pruned or not.
|
//! Check whether the block associated with this index entry is pruned or not.
|
||||||
bool IsBlockPruned(const CBlockIndex* pblockindex) EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
|
bool IsBlockPruned(const CBlockIndex* pblockindex) EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the spend height, which is one more than the inputs.GetBestBlock().
|
|
||||||
* While checking, GetBestBlock() refers to the parent block. (protected by cs_main)
|
|
||||||
* This is also true for mempool checks.
|
|
||||||
*/
|
|
||||||
int GetSpendHeight(const CCoinsViewCache& inputs) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void CleanupBlockRevFiles();
|
void CleanupBlockRevFiles();
|
||||||
|
@ -693,6 +693,8 @@ bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws)
|
|||||||
// to coins_to_uncache)
|
// to coins_to_uncache)
|
||||||
m_view.SetBackend(m_dummy);
|
m_view.SetBackend(m_dummy);
|
||||||
|
|
||||||
|
assert(m_active_chainstate.m_blockman.LookupBlockIndex(m_view.GetBestBlock()) == m_active_chainstate.m_chain.Tip());
|
||||||
|
|
||||||
// Only accept BIP68 sequence locked transactions that can be mined in the next
|
// Only accept BIP68 sequence locked transactions that can be mined in the next
|
||||||
// block; we don't want our mempool filled up with transactions that can't
|
// block; we don't want our mempool filled up with transactions that can't
|
||||||
// be mined yet.
|
// be mined yet.
|
||||||
@ -701,7 +703,8 @@ bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws)
|
|||||||
if (!CheckSequenceLocks(m_active_chainstate.m_chain.Tip(), m_view, tx, STANDARD_LOCKTIME_VERIFY_FLAGS, &lp))
|
if (!CheckSequenceLocks(m_active_chainstate.m_chain.Tip(), m_view, tx, STANDARD_LOCKTIME_VERIFY_FLAGS, &lp))
|
||||||
return state.Invalid(TxValidationResult::TX_PREMATURE_SPEND, "non-BIP68-final");
|
return state.Invalid(TxValidationResult::TX_PREMATURE_SPEND, "non-BIP68-final");
|
||||||
|
|
||||||
if (!Consensus::CheckTxInputs(tx, state, m_view, m_active_chainstate.m_blockman.GetSpendHeight(m_view), ws.m_base_fees)) {
|
// The mempool holds txs for the next block, so pass height+1 to CheckTxInputs
|
||||||
|
if (!Consensus::CheckTxInputs(tx, state, m_view, m_active_chainstate.m_chain.Height() + 1, ws.m_base_fees)) {
|
||||||
return false; // state filled in by CheckTxInputs
|
return false; // state filled in by CheckTxInputs
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1401,14 +1404,6 @@ bool CScriptCheck::operator()() {
|
|||||||
return VerifyScript(scriptSig, m_tx_out.scriptPubKey, nFlags, CachingTransactionSignatureChecker(ptxTo, nIn, m_tx_out.nValue, txdata, cacheStore), &error);
|
return VerifyScript(scriptSig, m_tx_out.scriptPubKey, nFlags, CachingTransactionSignatureChecker(ptxTo, nIn, m_tx_out.nValue, txdata, cacheStore), &error);
|
||||||
}
|
}
|
||||||
|
|
||||||
int BlockManager::GetSpendHeight(const CCoinsViewCache& inputs)
|
|
||||||
{
|
|
||||||
AssertLockHeld(cs_main);
|
|
||||||
CBlockIndex* pindexPrev = LookupBlockIndex(inputs.GetBestBlock());
|
|
||||||
return pindexPrev->nHeight + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static CuckooCache::cache<uint256, SignatureCacheHasher> g_scriptExecutionCache;
|
static CuckooCache::cache<uint256, SignatureCacheHasher> g_scriptExecutionCache;
|
||||||
static CSHA256 g_scriptExecutionCacheHasher;
|
static CSHA256 g_scriptExecutionCacheHasher;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user