diff options
author | Gregory Maxwell <greg@xiph.org> | 2015-11-01 20:05:18 +0000 |
---|---|---|
committer | Gregory Maxwell <greg@xiph.org> | 2015-11-01 20:05:18 +0000 |
commit | 40cd32e835092c3158175511da5193193ec54939 (patch) | |
tree | a277d4f0514dc26c86c8fa86ab831acd6ed3e63f /src/miner.cpp | |
parent | 8537ecdfc40181249ec37556015a99cfae4b21fd (diff) |
Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations"
This reverts commit 9d55050773d57c0e12005e524f2e54d9e622c6e2.
As noted by Luke-Jr, under some conditions this will accept transactions which are invalid by the network
rules. This happens when the current block time is head of the median time past and a transaction's
locktime is in the middle.
This could be addressed by changing the rule to MAX(this_block_time, MTP+offset) but this solution and
the particular offset used deserve some consideration.
Diffstat (limited to 'src/miner.cpp')
-rw-r--r-- | src/miner.cpp | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/miner.cpp b/src/miner.cpp index 053d9cdbc4..42c8bb970b 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -148,7 +148,6 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) CBlockIndex* pindexPrev = chainActive.Tip(); const int nHeight = pindexPrev->nHeight + 1; pblock->nTime = GetAdjustedTime(); - const int64_t nMedianTimePast = pindexPrev->GetMedianTimePast(); CCoinsViewCache view(pcoinsTip); // Priority order to process transactions @@ -163,12 +162,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) mi != mempool.mapTx.end(); ++mi) { const CTransaction& tx = mi->GetTx(); - - int64_t nLockTimeCutoff = (STANDARD_LOCKTIME_VERIFY_FLAGS & LOCKTIME_MEDIAN_TIME_PAST) - ? nMedianTimePast - : pblock->GetBlockTime(); - - if (tx.IsCoinBase() || !IsFinalTx(tx, nHeight, nLockTimeCutoff)) + if (tx.IsCoinBase() || !IsFinalTx(tx, nHeight, pblock->nTime)) continue; COrphan* porphan = NULL; |