Everything required to backport CLTV to v0.10, including the soft-fork itself.
CLTV IsSuperMajority() soft-fork, rebased against v0.10.2 #6706
pull petertodd wants to merge 7 commits into bitcoin:0.10 from petertodd:cltv-soft-fork-v0.10 changing 16 files +511 −15-
petertodd commented at 2:25 AM on September 21, 2015: contributor
- laanwj added the label Consensus on Sep 24, 2015
-
laanwj commented at 7:42 PM on September 29, 2015: member
@btcdrak Sure, but we managed to correct that on the branch by twiddling with the
.travis.ymlfile (which is why it doesn't appear in master pullreqs or the 0.11 one). But somehow it does here. And it's not random, I re-triggered it three times. -
dexX7 commented at 11:57 PM on September 29, 2015: contributor
Might be resolved by rebasing on top of the updated 0.10.
The last build 81320710 also refers to a non-existing commit https://github.com/bitcoin/bitcoin/commit/0dc55a8e8992c610c84adfd364d5c88a187d779a.
- petertodd force-pushed on Oct 1, 2015
-
petertodd commented at 7:24 AM on October 2, 2015: contributor
Rebased as suggested; tests passing now.
-
dexX7 commented at 8:32 AM on October 2, 2015: contributor
Ah nice.
Looks good to me. I can confirm that the code for 0.10 is the same as for master and 0.11.
The softfork status via
"getblockchaininfo"is missing in this branch (i.e. 08dbe20f7f8d8dbefb7955d4470b891ac2344ba5 + f59bc924a2af3e4dc0512eeeb5610885781f24fd) though. -
MarcoFalke commented at 2:10 PM on October 8, 2015: member
Needs rebase due to
SCRIPT_VERIFY_LOW_S -
689746841a
Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits. Rebased-From: 99088d60d8a7747c6d1a7fd5d8cd388be1b3e138
-
750d54f951
Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code. Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
-
6d0132520c
Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime> Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be locked until some block height or block time in the future is reached. Only the logic and unittests are implemented; this commit does not have any actual soft-fork logic in it. Thanks to Pieter Wuille for rebase. Credit goes to Gregory Maxwell for the suggestion of comparing the argument against the transaction nLockTime rather than the current time/blockheight directly. Rebased-From: bc60b2b4b401f0adff5b8b9678903ff8feb5867b
- petertodd force-pushed on Oct 8, 2015
-
petertodd commented at 3:46 PM on October 8, 2015: contributor
@MarcoFalke Rebased
-
0e01d0f89d
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CLTV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CLTV for production use. Rebased-From: ffd75adce01a78b3461b3ff05bcc2b530a9ce994
-
41372485ce
Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b Rebased-From: 287f54fc90c29301faede8d4ac2ea24a91441917
-
6a1343b470
Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test implemented by Pieter Wuille's 819bcf9b9902319176cdb1d476cacfee9b3727ec bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas Daftuar's d76412b068d95454732aa3def95decf35251759a Rebased-From: 308257856099e82e91881ba97f741d840184727c
-
5dc72f8bb0
CLTV: Add more tests to improve coverage
Four cases included: * The CLTV operand type mismatches the tx locktime. In the script it is 1 (interpreted as block height), but in the tx is 500000000 (interpreted as date) * The stack is empty when executing OP_CLTV * The tx is final by having only one input with MAX_INT sequence number * The operand for CLTV is negative (after OP_0 OP_1 OP_SUB) Rebased-From: cb54d17355864fa08826d6511a0d7692b21ef2c9
- petertodd force-pushed on Oct 8, 2015
-
CodeShark commented at 4:37 AM on October 9, 2015: contributor
Tested. Looks good to me. ACK
-
dcousens commented at 11:33 PM on October 13, 2015: contributor
ACK
-
btcdrak commented at 8:47 PM on October 22, 2015: contributor
utACK
- laanwj merged this on Oct 23, 2015
- laanwj closed this on Oct 23, 2015
- laanwj referenced this in commit 4b80b09f73 on Oct 23, 2015
- MarcoFalke locked this on Sep 8, 2021