shohu / c0ban

c0ban source tree
MIT License
0 stars 0 forks source link

Pass signlogic for p2p-segwit.py #55

Closed shohu closed 6 years ago

shohu commented 6 years ago
# test/functional/p2p-segwit.py
2018-07-11 05:19:54.114000 TestFramework (INFO): Initializing test directory /tmp/testgee304u_
2018-07-11 05:19:54.618000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:14375
2018-07-11 05:19:54.618000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:14375
2018-07-11 05:19:54.619000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:14376
2018-07-11 05:19:54.672000 TestFramework (INFO): Starting tests before segwit lock in:
2018-07-11 05:19:54.673000 TestFramework (INFO): Verifying NODE_WITNESS service bit
2018-07-11 05:19:54.673000 TestFramework (INFO): Testing non-witness transaction
2018-07-11 05:19:54.952000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-11 05:19:55.703000 TestFramework (INFO): Testing block relay
2018-07-11 05:19:58.552000 TestFramework (INFO): Testing getblocktemplate setting of segwit versionbit (before lockin)
2018-07-11 05:20:01.614000 TestFramework (INFO): Testing behavior post lockin, pre-activation
2018-07-11 05:20:01.871000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-11 05:20:02.658000 TestFramework (INFO): Testing relay of witness transactions
2018-07-11 05:20:05.049000 TestFramework (INFO): Testing block relay
2018-07-11 05:20:07.874000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-11 05:20:08.462000 TestFramework (INFO): Testing standardness of v0 outputs (before activation)
2018-07-11 05:20:08.935000 TestFramework (INFO): Testing behavior after segwit activation
2018-07-11 05:20:09.194000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-11 05:20:09.775000 TestFramework (INFO): Testing witness commitments
2018-07-11 05:20:10.259000 TestFramework (INFO): Testing witness block malleability
2018-07-11 05:20:10.698000 TestFramework (INFO): Testing witness block size limit
2018-07-11 05:20:15.916000 TestFramework (INFO): Testing extra witness data in tx
2018-07-11 05:20:16.438000 TestFramework (INFO): Testing maximum witness push size
2018-07-11 05:20:16.647000 TestFramework (INFO): Testing maximum witness program length
2018-07-11 05:20:16.810000 TestFramework (INFO): Testing witness input length
2018-07-11 05:20:17.339000 TestFramework (INFO): Testing block relay
2018-07-11 05:20:18.457000 TestFramework (INFO): Testing relay of witness transactions
2018-07-11 05:20:19.647000 TestFramework (INFO): Testing standardness of v0 outputs (after activation)
2018-07-11 05:20:20.170000 TestFramework (INFO): Testing standardness/consensus for segwit versions (0-16)
2018-07-11 05:20:24.364000 TestFramework (INFO): Testing premature coinbase witness spend
2018-07-11 05:20:25.014000 TestFramework (INFO): Testing uncompressed pubkeys
2018-07-11 05:20:25.177000 TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/c0ban/test/functional/test_framework/test_framework.py", line 120, in main
    self.run_test()
  File "test/functional/p2p-segwit.py", line 1942, in run_test
    self.test_uncompressed_pubkey()
  File "test/functional/p2p-segwit.py", line 1711, in test_uncompressed_pubkey
    self.test_node.test_transaction_acceptance(tx2, True, False, b'non-mandatory-script-verify-flag (Using non-compressed keys in segwit)')
  File "test/functional/p2p-segwit.py", line 81, in test_transaction_acceptance
    assert_equal(self.last_message["reject"].reason, reason)
  File "/c0ban/test/functional/test_framework/util.py", line 38, in assert_equal
    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
AssertionError: not(b'non-mandatory-script-verify-flag (Signature must use SIGHASH_FORKID)' == b'non-mandatory-script-verify-flag (Using non-compressed keys in segwit)')
2018-07-11 05:20:25.193000 TestFramework (INFO): Stopping nodes
2018-07-11 05:20:27.435000 TestFramework (WARNING): Not cleaning up dir /tmp/testgee304u_
2018-07-11 05:20:27.435000 TestFramework (ERROR): Test failed. Test logging available at /tmp/testgee304u_/test_framework.log
shohu commented 6 years ago

2018-07-12 14 27 02 2018-07-12 14 27 25

# test/functional/p2p-segwit.py
2018-07-12 05:21:24.244000 TestFramework (INFO): Initializing test directory /tmp/testa5yk1wxq
2018-07-12 05:21:24.744000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:13294
2018-07-12 05:21:24.745000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:13294
2018-07-12 05:21:24.746000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:13295
2018-07-12 05:21:24.800000 TestFramework (INFO): Starting tests before segwit lock in:
2018-07-12 05:21:24.800000 TestFramework (INFO): Verifying NODE_WITNESS service bit
2018-07-12 05:21:24.800000 TestFramework (INFO): Testing non-witness transaction
2018-07-12 05:21:25.013000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-12 05:21:25.768000 TestFramework (INFO): Testing block relay
2018-07-12 05:21:28.608000 TestFramework (INFO): Testing getblocktemplate setting of segwit versionbit (before lockin)
2018-07-12 05:21:33.686000 TestFramework (INFO): Testing behavior post lockin, pre-activation
2018-07-12 05:21:33.912000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-12 05:21:34.714000 TestFramework (INFO): Testing relay of witness transactions
2018-07-12 05:21:37.126000 TestFramework (INFO): Testing block relay
2018-07-12 05:21:39.903000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-12 05:21:40.541000 TestFramework (INFO): Testing standardness of v0 outputs (before activation)
2018-07-12 05:21:41.008000 TestFramework (INFO): Testing behavior after segwit activation
2018-07-12 05:21:41.237000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-12 05:21:41.887000 TestFramework (INFO): Testing witness commitments
2018-07-12 05:21:42.425000 TestFramework (INFO): Testing witness block malleability
2018-07-12 05:21:42.955000 TestFramework (INFO): Testing witness block size limit
2018-07-12 05:21:48.733000 TestFramework (INFO): Testing extra witness data in tx
2018-07-12 05:21:49.260000 TestFramework (INFO): Testing maximum witness push size
2018-07-12 05:21:49.470000 TestFramework (INFO): Testing maximum witness program length
2018-07-12 05:21:49.683000 TestFramework (INFO): Testing witness input length
2018-07-12 05:21:50.219000 TestFramework (INFO): Testing block relay
2018-07-12 05:21:51.377000 TestFramework (INFO): Testing relay of witness transactions
2018-07-12 05:21:52.563000 TestFramework (INFO): Testing standardness of v0 outputs (after activation)
2018-07-12 05:21:53.080000 TestFramework (INFO): Testing standardness/consensus for segwit versions (0-16)
2018-07-12 05:21:57.248000 TestFramework (INFO): Testing premature coinbase witness spend
2018-07-12 05:21:57.902000 TestFramework (INFO): Testing uncompressed pubkeys
2018-07-12 05:21:58.859000 TestFramework (INFO): Testing segwit signature hash version 1
2018-07-12 05:22:19.781000 TestFramework (INFO): Testing detection of non-standard P2WSH witness
2018-07-12 05:23:22.122000 TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/c0ban/test/functional/test_framework/test_framework.py", line 120, in main
    self.run_test()
  File "test/functional/p2p-segwit.py", line 1944, in run_test
    self.test_non_standard_witness()
  File "test/functional/p2p-segwit.py", line 1863, in test_non_standard_witness
    sync_blocks(self.nodes)
  File "/c0ban/test/functional/test_framework/util.py", line 380, in sync_blocks
    maxheight, "".join("\n  {!r}".format(tip) for tip in tips)))
AssertionError: Block sync to height 576 timed out:
  {'hash': '08346fd31c71f023b8f432661526547ec823a0a84b76718532ea333784c3ee9e', 'height': 576}
  {'hash': '23e3de1a59d416b615205e255993fc6256c8dff7edcc2c043a6d776338edba97', 'height': 575}
  {'hash': '08346fd31c71f023b8f432661526547ec823a0a84b76718532ea333784c3ee9e', 'height': 576}
2018-07-12 05:23:22.143000 TestFramework (INFO): Stopping nodes
2018-07-12 05:23:24.330000 TestFramework (WARNING): Not cleaning up dir /tmp/testa5yk1wxq
2018-07-12 05:23:24.330000 TestFramework (ERROR): Test failed. Test logging available at /tmp/testa5yk1wxq/test_framework.log
shohu commented 6 years ago
# test/functional/p2p-segwit.py
2018-07-13 06:18:59.505000 TestFramework (INFO): Initializing test directory /tmp/testz7obmnj1
2018-07-13 06:19:00.011000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:15311
2018-07-13 06:19:00.011000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:15311
2018-07-13 06:19:00.012000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:15312
2018-07-13 06:19:00.064000 TestFramework (INFO): Starting tests before segwit lock in:
2018-07-13 06:19:00.065000 TestFramework (INFO): Verifying NODE_WITNESS service bit
2018-07-13 06:19:00.065000 TestFramework (INFO): Testing non-witness transaction
2018-07-13 06:19:00.295000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-13 06:19:01.057000 TestFramework (INFO): Testing block relay
2018-07-13 06:19:03.914000 TestFramework (INFO): Testing getblocktemplate setting of segwit versionbit (before lockin)
2018-07-13 06:19:07.976000 TestFramework (INFO): Testing behavior post lockin, pre-activation
2018-07-13 06:19:08.240000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-13 06:19:09.038000 TestFramework (INFO): Testing relay of witness transactions
2018-07-13 06:19:11.436000 TestFramework (INFO): Testing block relay
2018-07-13 06:19:14.161000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-13 06:19:14.797000 TestFramework (INFO): Testing standardness of v0 outputs (before activation)
2018-07-13 06:19:15.268000 TestFramework (INFO): Testing behavior after segwit activation
2018-07-13 06:19:15.501000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-13 06:19:16.137000 TestFramework (INFO): Testing witness commitments
2018-07-13 06:19:16.674000 TestFramework (INFO): Testing witness block malleability
2018-07-13 06:19:17.138000 TestFramework (INFO): Testing witness block size limit
2018-07-13 06:19:22.362000 TestFramework (INFO): Testing extra witness data in tx
2018-07-13 06:19:22.885000 TestFramework (INFO): Testing maximum witness push size
2018-07-13 06:19:23.092000 TestFramework (INFO): Testing maximum witness program length
2018-07-13 06:19:23.357000 TestFramework (INFO): Testing witness input length
2018-07-13 06:19:23.892000 TestFramework (INFO): Testing block relay
2018-07-13 06:19:25.000000 TestFramework (INFO): Testing relay of witness transactions
2018-07-13 06:19:26.194000 TestFramework (INFO): Testing standardness of v0 outputs (after activation)
2018-07-13 06:19:26.557000 TestFramework (INFO): Testing standardness/consensus for segwit versions (0-16)
2018-07-13 06:19:30.740000 TestFramework (INFO): Testing premature coinbase witness spend
2018-07-13 06:19:31.348000 TestFramework (INFO): Testing uncompressed pubkeys
2018-07-13 06:19:32.285000 TestFramework (INFO): Testing segwit signature hash version 1
2018-07-13 06:19:53.089000 TestFramework (INFO): Testing detection of non-standard P2WSH witness
2018-07-13 06:19:55.210000 TestFramework (INFO): Testing software upgrade after softfork activation
2018-07-13 06:20:01.212000 TestFramework (INFO): Testing sigops limit
2018-07-13 06:21:02.935000 TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/c0ban/test/functional/test_framework/test_framework.py", line 120, in main
    self.run_test()
  File "test/functional/p2p-segwit.py", line 1947, in run_test
    self.test_witness_sigops()
  File "test/functional/p2p-segwit.py", line 1601, in test_witness_sigops
    sync_blocks(self.nodes)
  File "/c0ban/test/functional/test_framework/util.py", line 380, in sync_blocks
    maxheight, "".join("\n  {!r}".format(tip) for tip in tips)))
AssertionError: Block sync to height 578 timed out:
  {'hash': '6e87261ea3875de276aa63ea597f222cb0becfd18213d4c4a6c8e1e9a46728ef', 'height': 578}
  {'hash': '70e683440135a914bd4c1aac7065b4391c394441421f8a32cd6dad203a9aef76', 'height': 576}
  {'hash': '6e87261ea3875de276aa63ea597f222cb0becfd18213d4c4a6c8e1e9a46728ef', 'height': 578}
2018-07-13 06:21:02.957000 TestFramework (INFO): Stopping nodes
2018-07-13 06:21:05.066000 TestFramework (WARNING): Not cleaning up dir /tmp/testz7obmnj1
2018-07-13 06:21:05.067000 TestFramework (ERROR): Test failed. Test logging available at /tmp/testz7obmnj1/test_framework.log
shohu commented 6 years ago

node1

debug.log

2018-07-13 07:26:14.641817 Force relaying tx 51e4b0bcd66d5e9c9996856111dc568c1c5bbdb342f96b4b59324ef6babca3fc from whitelisted peer=1
2018-07-13 07:26:14.641850 51e4b0bcd66d5e9c9996856111dc568c1c5bbdb342f96b4b59324ef6babca3fc from peer=1 was not accepted: bad-witness-nonstandard (code 64)
shohu commented 6 years ago

I passed this test 👍

# test/functional/p2p-segwit.py
2018-07-13 07:47:38.894000 TestFramework (INFO): Initializing test directory /tmp/testw5vqh1q6
2018-07-13 07:47:39.409000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:12986
2018-07-13 07:47:39.410000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:12986
2018-07-13 07:47:39.411000 TestFramework.mininode (INFO): Connecting to Bitcoin Node: 127.0.0.1:12987
2018-07-13 07:47:39.463000 TestFramework (INFO): Starting tests before segwit lock in:
2018-07-13 07:47:39.464000 TestFramework (INFO): Verifying NODE_WITNESS service bit
2018-07-13 07:47:39.464000 TestFramework (INFO): Testing non-witness transaction
2018-07-13 07:47:39.696000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-13 07:47:40.392000 TestFramework (INFO): Testing block relay
2018-07-13 07:47:43.246000 TestFramework (INFO): Testing getblocktemplate setting of segwit versionbit (before lockin)
2018-07-13 07:47:47.305000 TestFramework (INFO): Testing behavior post lockin, pre-activation
2018-07-13 07:47:48.382000 TestFramework (INFO): Testing behavior of unnecessary witnesses
2018-07-13 07:47:49.115000 TestFramework (INFO): Testing relay of witness transactions
2018-07-13 07:47:51.569000 TestFramework (INFO): Testing block relay
2018-07-13 07:47:54.369000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-13 07:47:55.006000 TestFramework (INFO): Testing standardness of v0 outputs (before activation)
2018-07-13 07:47:55.465000 TestFramework (INFO): Testing behavior after segwit activation
2018-07-13 07:47:55.735000 TestFramework (INFO): Testing P2SH witness transactions
2018-07-13 07:47:56.373000 TestFramework (INFO): Testing witness commitments
2018-07-13 07:47:56.909000 TestFramework (INFO): Testing witness block malleability
2018-07-13 07:47:57.417000 TestFramework (INFO): Testing witness block size limit
2018-07-13 07:48:02.597000 TestFramework (INFO): Testing extra witness data in tx
2018-07-13 07:48:03.025000 TestFramework (INFO): Testing maximum witness push size
2018-07-13 07:48:03.239000 TestFramework (INFO): Testing maximum witness program length
2018-07-13 07:48:03.453000 TestFramework (INFO): Testing witness input length
2018-07-13 07:48:03.988000 TestFramework (INFO): Testing block relay
2018-07-13 07:48:05.098000 TestFramework (INFO): Testing relay of witness transactions
2018-07-13 07:48:06.328000 TestFramework (INFO): Testing standardness of v0 outputs (after activation)
2018-07-13 07:48:06.793000 TestFramework (INFO): Testing standardness/consensus for segwit versions (0-16)
2018-07-13 07:48:11.124000 TestFramework (INFO): Testing premature coinbase witness spend
2018-07-13 07:48:11.674000 TestFramework (INFO): Testing uncompressed pubkeys
2018-07-13 07:48:12.584000 TestFramework (INFO): Testing segwit signature hash version 1
2018-07-13 07:48:32.463000 TestFramework (INFO): Testing detection of non-standard P2WSH witness
2018-07-13 07:48:34.569000 TestFramework (INFO): Testing software upgrade after softfork activation
2018-07-13 07:48:39.846000 TestFramework (INFO): Testing sigops limit
2018-07-13 07:48:40.413000 TestFramework (INFO): Stopping nodes
2018-07-13 07:48:42.670000 TestFramework (INFO): Cleaning up
2018-07-13 07:48:42.688000 TestFramework (INFO): Tests successful