Skip to content

Commit

Permalink
Merge #9739: Fix BIP68 activation test
Browse files Browse the repository at this point in the history
f5aba8a Move tx version 2 standardness check to after bip68 activation (John Newbery)
99c0e81 Fix BIP68 activation test (John Newbery)

Tree-SHA512: 3633d5359705b33a22cd3d8ea28f41abd93ccc6fe9943c8004f6149add991771df9ea12b4e14192e39e14b414bb5ecc7218e516cfeec97e4c5df29778ac57060
  • Loading branch information
laanwj committed Mar 6, 2017
2 parents 48c3429 + f5aba8a commit 9d5fcbf
Showing 1 changed file with 6 additions and 13 deletions.
19 changes: 6 additions & 13 deletions qa/rpc-tests/bip68-sequence.py
Expand Up @@ -46,14 +46,12 @@ def run_test(self):
print("Running test BIP68 not consensus before versionbits activation")
self.test_bip68_not_consensus()

print("Verifying nVersion=2 transactions aren't standard")
self.test_version2_relay(before_activation=True)

print("Activating BIP68 (and 112/113)")
self.activateCSV()

print("Verifying nVersion=2 transactions are now standard")
self.test_version2_relay(before_activation=False)
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")

Expand Down Expand Up @@ -403,21 +401,16 @@ def activateCSV(self):
assert(get_bip9_status(self.nodes[0], 'csv')['status'] == 'active')
sync_blocks(self.nodes)

# Use self.nodes[1] to test standardness relay policy
def test_version2_relay(self, before_activation):
# 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 }
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)

tx_id = self.nodes[1].sendrawtransaction(tx_signed)

if __name__ == '__main__':
BIP68Test().main()

0 comments on commit 9d5fcbf

Please sign in to comment.