diff options
author | Alex Morcos <morcos@chaincode.com> | 2015-12-07 15:44:16 -0500 |
---|---|---|
committer | Alex Morcos <morcos@chaincode.com> | 2016-02-10 15:35:33 -0500 |
commit | c6c2f0fd782ccf607027414012f45c8f48561a30 (patch) | |
tree | 851d2b78c132cf851fafb35b6d62b7bf8f562ac6 /src/main.h | |
parent | dc0305d15aa02819cd4763e1efe3876d674faea7 (diff) |
Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.
The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
Diffstat (limited to 'src/main.h')
-rw-r--r-- | src/main.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main.h b/src/main.h index 19623f4d96..66b766316e 100644 --- a/src/main.h +++ b/src/main.h @@ -341,7 +341,22 @@ bool IsFinalTx(const CTransaction &tx, int nBlockHeight, int64_t nBlockTime); */ bool CheckFinalTx(const CTransaction &tx, int flags = -1); -/** +/** + * Check if transaction is final per BIP 68 sequence numbers and can be included in a block. + * Consensus critical. Takes as input a list of heights at which tx's inputs (in order) confirmed. + */ +bool SequenceLocks(const CTransaction &tx, int flags, std::vector<int>* prevHeights, const CBlockIndex& block); + +/** + * Check if transaction will be BIP 68 final in the next block to be created. + * + * Calls SequenceLocks() with data from the tip of the current active chain. + * + * See consensus/consensus.h for flag definitions. + */ +bool CheckSequenceLocks(const CTransaction &tx, int flags); + +/** * Closure representing one script verification * Note that this stores references to the spending transaction */ |