diff options
author | John Newbery <john@johnnewbery.com> | 2021-01-02 15:14:23 +0000 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2022-05-15 15:37:56 -0400 |
commit | 42882fc8fc2ef5c58eb963f7f1e852dd43de6c65 (patch) | |
tree | 6058c3c45014c64f0bcd0731d40c991012b2dd6f /test/functional/p2p_compactblocks.py | |
parent | 16730b64bb4a11995d792f626c8a63318e5eaeeb (diff) | |
download | bitcoin-42882fc8fc2ef5c58eb963f7f1e852dd43de6c65.tar.xz |
[net processing] Only accept `sendcmpct` with version=2
Subsequent commits will remove support for other versions of compact blocks.
Add a test that a received `sendcmpct` message with version = 1 is
ignored.
Diffstat (limited to 'test/functional/p2p_compactblocks.py')
-rwxr-xr-x | test/functional/p2p_compactblocks.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/functional/p2p_compactblocks.py b/test/functional/p2p_compactblocks.py index 6bf4068944..8eec8dbc0d 100755 --- a/test/functional/p2p_compactblocks.py +++ b/test/functional/p2p_compactblocks.py @@ -179,6 +179,7 @@ class CompactBlocksTest(BitcoinTestFramework): # Test "sendcmpct" (between peers preferring the same version): # - No compact block announcements unless sendcmpct is sent. + # - If sendcmpct is sent with version = 1, the message is ignored. # - If sendcmpct is sent with version > 2, the message is ignored. # - If sendcmpct is sent with boolean 0, then block announcements are not # made with compact blocks. @@ -221,6 +222,13 @@ class CompactBlocksTest(BitcoinTestFramework): # Before each test, sync the headers chain. test_node.request_headers_and_sync(locator=[tip]) + # Now try a SENDCMPCT message with too-low version + test_node.send_and_ping(msg_sendcmpct(announce=True, version=1)) + check_announcement_of_new_block(node, test_node, lambda p: "cmpctblock" not in p.last_message) + + # Headers sync before next test. + test_node.request_headers_and_sync(locator=[tip]) + # Now try a SENDCMPCT message with too-high version test_node.send_and_ping(msg_sendcmpct(announce=True, version=3)) check_announcement_of_new_block(node, test_node, lambda p: "cmpctblock" not in p.last_message) |