mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Extract CTxIn::MAX_SEQUENCE_NONFINAL constant
This commit is contained in:
@@ -70,25 +70,45 @@ public:
|
||||
uint32_t nSequence;
|
||||
CScriptWitness scriptWitness; //!< Only serialized through CTransaction
|
||||
|
||||
/* Setting nSequence to this value for every input in a transaction
|
||||
* disables nLockTime. */
|
||||
/**
|
||||
* Setting nSequence to this value for every input in a transaction
|
||||
* disables nLockTime/IsFinalTx().
|
||||
* It fails OP_CHECKLOCKTIMEVERIFY/CheckLockTime() for any input that has
|
||||
* it set (BIP 65).
|
||||
* It has SEQUENCE_LOCKTIME_DISABLE_FLAG set (BIP 68/112).
|
||||
*/
|
||||
static const uint32_t SEQUENCE_FINAL = 0xffffffff;
|
||||
/**
|
||||
* This is the maximum sequence number that enables both nLockTime and
|
||||
* OP_CHECKLOCKTIMEVERIFY (BIP 65).
|
||||
* It has SEQUENCE_LOCKTIME_DISABLE_FLAG set (BIP 68/112).
|
||||
*/
|
||||
static const uint32_t MAX_SEQUENCE_NONFINAL{SEQUENCE_FINAL - 1};
|
||||
|
||||
/* Below flags apply in the context of BIP 68*/
|
||||
/* If this flag set, CTxIn::nSequence is NOT interpreted as a
|
||||
* relative lock-time. */
|
||||
// Below flags apply in the context of BIP 68. BIP 68 requires the tx
|
||||
// version to be set to 2, or higher.
|
||||
/**
|
||||
* If this flag is set, CTxIn::nSequence is NOT interpreted as a
|
||||
* relative lock-time.
|
||||
* It skips SequenceLocks() for any input that has it set (BIP 68).
|
||||
* It fails OP_CHECKSEQUENCEVERIFY/CheckSequence() for any input that has
|
||||
* it set (BIP 112).
|
||||
*/
|
||||
static const uint32_t SEQUENCE_LOCKTIME_DISABLE_FLAG = (1U << 31);
|
||||
|
||||
/* If CTxIn::nSequence encodes a relative lock-time and this flag
|
||||
/**
|
||||
* If CTxIn::nSequence encodes a relative lock-time and this flag
|
||||
* is set, the relative lock-time has units of 512 seconds,
|
||||
* otherwise it specifies blocks with a granularity of 1. */
|
||||
static const uint32_t SEQUENCE_LOCKTIME_TYPE_FLAG = (1 << 22);
|
||||
|
||||
/* If CTxIn::nSequence encodes a relative lock-time, this mask is
|
||||
/**
|
||||
* If CTxIn::nSequence encodes a relative lock-time, this mask is
|
||||
* applied to extract that lock-time from the sequence field. */
|
||||
static const uint32_t SEQUENCE_LOCKTIME_MASK = 0x0000ffff;
|
||||
|
||||
/* In order to use the same number of bits to encode roughly the
|
||||
/**
|
||||
* In order to use the same number of bits to encode roughly the
|
||||
* same wall-clock duration, and because blocks are naturally
|
||||
* limited to occur every 600s on average, the minimum granularity
|
||||
* for time-based relative lock-time is fixed at 512 seconds.
|
||||
|
||||
Reference in New Issue
Block a user