aboutsummaryrefslogtreecommitdiff
path: root/src/txmempool.cpp
diff options
context:
space:
mode:
authorglozow <gloriajzhao@gmail.com>2021-11-30 11:21:02 +0000
committerglozow <gloriajzhao@gmail.com>2021-11-30 11:56:46 +0000
commit1b3a11e126b258fba975ed7c452221608f2c5472 (patch)
treecb15b7aebd9f281a7fc41d57c8c6521f40c03762 /src/txmempool.cpp
parente521c5589e253b1a6631d085b3ac578751883082 (diff)
downloadbitcoin-1b3a11e126b258fba975ed7c452221608f2c5472.tar.xz
MOVEONLY: TestLockPointValidity to txmempool
Diffstat (limited to 'src/txmempool.cpp')
-rw-r--r--src/txmempool.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index 502a27dc6b..05b22bb39b 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -74,6 +74,24 @@ private:
const LockPoints& lp;
};
+bool TestLockPointValidity(CChain& active_chain, const LockPoints* lp)
+{
+ AssertLockHeld(cs_main);
+ assert(lp);
+ // If there are relative lock times then the maxInputBlock will be set
+ // If there are no relative lock times, the LockPoints don't depend on the chain
+ if (lp->maxInputBlock) {
+ // Check whether active_chain is an extension of the block at which the LockPoints
+ // calculation was valid. If not LockPoints are no longer valid
+ if (!active_chain.Contains(lp->maxInputBlock)) {
+ return false;
+ }
+ }
+
+ // LockPoints still valid
+ return true;
+}
+
CTxMemPoolEntry::CTxMemPoolEntry(const CTransactionRef& tx, CAmount fee,
int64_t time, unsigned int entry_height,
bool spends_coinbase, int64_t sigops_cost, LockPoints lp)