BIP112: Implement CHECKSEQUENCEVERIFY
commit53e53a33c939949665f60d5eeb82abbb21f97128
authorMark Friedenbach <mark@friedenbach.org>
Fri, 25 Sep 2015 23:18:51 +0000 (25 16:18 -0700)
committerBtcDrak <btcdrak@gmail.com>
Sun, 14 Feb 2016 11:29:38 +0000 (14 11:29 +0000)
tree6f0f956bcfea1408ca8117bef583a82cbe445efe
parent80d1f2e48364f05b2cdf44239b3a1faa0277e58e
BIP112: Implement CHECKSEQUENCEVERIFY

- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
src/policy/policy.h
src/script/interpreter.cpp
src/script/interpreter.h
src/script/script.h
src/script/script_error.h
src/test/data/tx_invalid.json
src/test/data/tx_valid.json
src/test/transaction_tests.cpp