Fix BIP68 activation test
This commit is contained in:
parent
b860915f8b
commit
99c0e81b95
1 changed files with 13 additions and 21 deletions
|
@ -51,15 +51,12 @@ class BIP68Test(BitcoinTestFramework):
|
||||||
print("Running test BIP68 not consensus before versionbits activation")
|
print("Running test BIP68 not consensus before versionbits activation")
|
||||||
self.test_bip68_not_consensus()
|
self.test_bip68_not_consensus()
|
||||||
|
|
||||||
print("Verifying nVersion=2 transactions aren't standard")
|
print("Verifying nVersion=2 transactions are standard")
|
||||||
self.test_version2_relay(before_activation=True)
|
self.test_version2_relay()
|
||||||
|
|
||||||
print("Activating BIP68 (and 112/113)")
|
print("Activating BIP68 (and 112/113)")
|
||||||
self.activateCSV()
|
self.activateCSV()
|
||||||
|
|
||||||
print("Verifying nVersion=2 transactions are now standard")
|
|
||||||
self.test_version2_relay(before_activation=False)
|
|
||||||
|
|
||||||
print("Passed\n")
|
print("Passed\n")
|
||||||
|
|
||||||
# Test that BIP68 is not in effect if tx version is 1, or if
|
# Test that BIP68 is not in effect if tx version is 1, or if
|
||||||
|
@ -399,6 +396,17 @@ class BIP68Test(BitcoinTestFramework):
|
||||||
self.nodes[0].submitblock(ToHex(block))
|
self.nodes[0].submitblock(ToHex(block))
|
||||||
assert_equal(self.nodes[0].getbestblockhash(), block.hash)
|
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 test_version2_relay(self):
|
||||||
|
inputs = [ ]
|
||||||
|
outputs = { self.nodes[1].getnewaddress() : 1.0 }
|
||||||
|
rawtx = self.nodes[1].createrawtransaction(inputs, outputs)
|
||||||
|
rawtxfund = self.nodes[1].fundrawtransaction(rawtx)['hex']
|
||||||
|
tx = FromHex(CTransaction(), rawtxfund)
|
||||||
|
tx.nVersion = 2
|
||||||
|
tx_signed = self.nodes[1].signrawtransaction(ToHex(tx))["hex"]
|
||||||
|
tx_id = self.nodes[1].sendrawtransaction(tx_signed)
|
||||||
|
|
||||||
def activateCSV(self):
|
def activateCSV(self):
|
||||||
# activation should happen at block height 432 (3 periods)
|
# activation should happen at block height 432 (3 periods)
|
||||||
min_activation_height = 432
|
min_activation_height = 432
|
||||||
|
@ -408,21 +416,5 @@ class BIP68Test(BitcoinTestFramework):
|
||||||
assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active')
|
assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active')
|
||||||
sync_blocks(self.nodes)
|
sync_blocks(self.nodes)
|
||||||
|
|
||||||
# Use self.nodes[1] to test standardness relay policy
|
|
||||||
def test_version2_relay(self, before_activation):
|
|
||||||
inputs = [ ]
|
|
||||||
outputs = { self.nodes[1].getnewaddress() : 1.0 }
|
|
||||||
rawtx = self.nodes[1].createrawtransaction(inputs, outputs)
|
|
||||||
rawtxfund = self.nodes[1].fundrawtransaction(rawtx)['hex']
|
|
||||||
tx = FromHex(CTransaction(), rawtxfund)
|
|
||||||
tx.nVersion = 2
|
|
||||||
tx_signed = self.nodes[1].signrawtransaction(ToHex(tx))["hex"]
|
|
||||||
try:
|
|
||||||
tx_id = self.nodes[1].sendrawtransaction(tx_signed)
|
|
||||||
assert(before_activation == False)
|
|
||||||
except:
|
|
||||||
assert(before_activation)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
BIP68Test().main()
|
BIP68Test().main()
|
||||||
|
|
Loading…
Reference in a new issue