From f5aba8a3c5f10bf42595cbaf0439976cd48c57b1 Mon Sep 17 00:00:00 2001 From: John Newbery Date: Tue, 21 Feb 2017 16:52:12 -0500 Subject: [PATCH] Move tx version 2 standardness check to after bip68 activation --- qa/rpc-tests/bip68-sequence.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/qa/rpc-tests/bip68-sequence.py b/qa/rpc-tests/bip68-sequence.py index ae3a3147a..009df7cba 100755 --- a/qa/rpc-tests/bip68-sequence.py +++ b/qa/rpc-tests/bip68-sequence.py @@ -51,12 +51,13 @@ class BIP68Test(BitcoinTestFramework): print("Running test BIP68 not consensus before versionbits activation") self.test_bip68_not_consensus() - print("Verifying nVersion=2 transactions are standard") - self.test_version2_relay() - print("Activating BIP68 (and 112/113)") self.activateCSV() + print("Verifying nVersion=2 transactions are standard.") + print("Note that with current versions of bitcoin software, nVersion=2 transactions are always standard (independent of BIP68 activation status).") + self.test_version2_relay() + print("Passed\n") # Test that BIP68 is not in effect if tx version is 1, or if @@ -396,7 +397,16 @@ class BIP68Test(BitcoinTestFramework): self.nodes[0].submitblock(ToHex(block)) assert_equal(self.nodes[0].getbestblockhash(), block.hash) - # Use self.nodes[1] to test that version 2 transactions are standard even before BIP68 activation. + def activateCSV(self): + # activation should happen at block height 432 (3 periods) + min_activation_height = 432 + height = self.nodes[0].getblockcount() + assert(height < 432) + self.nodes[0].generate(432-height) + assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active') + sync_blocks(self.nodes) + + # Use self.nodes[1] to test that version 2 transactions are standard. def test_version2_relay(self): inputs = [ ] outputs = { self.nodes[1].getnewaddress() : 1.0 } @@ -407,14 +417,5 @@ class BIP68Test(BitcoinTestFramework): tx_signed = self.nodes[1].signrawtransaction(ToHex(tx))["hex"] tx_id = self.nodes[1].sendrawtransaction(tx_signed) - def activateCSV(self): - # activation should happen at block height 432 (3 periods) - min_activation_height = 432 - height = self.nodes[0].getblockcount() - assert(height < 432) - self.nodes[0].generate(432-height) - assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active') - sync_blocks(self.nodes) - if __name__ == '__main__': BIP68Test().main()