|
|
|
@ -378,8 +378,6 @@ class CompactBlocksTest(BitcoinTestFramework):
|
|
|
|
|
# request
|
|
|
|
|
for announce in ["inv", "header"]:
|
|
|
|
|
block = self.build_block_on_tip(node, segwit=segwit)
|
|
|
|
|
with mininode_lock:
|
|
|
|
|
test_node.last_message.pop("getdata", None)
|
|
|
|
|
|
|
|
|
|
if announce == "inv":
|
|
|
|
|
test_node.send_message(msg_inv([CInv(2, block.sha256)]))
|
|
|
|
@ -387,10 +385,8 @@ class CompactBlocksTest(BitcoinTestFramework):
|
|
|
|
|
test_node.send_header_for_blocks([block])
|
|
|
|
|
else:
|
|
|
|
|
test_node.send_header_for_blocks([block])
|
|
|
|
|
wait_until(lambda: "getdata" in test_node.last_message, timeout=30, lock=mininode_lock)
|
|
|
|
|
assert_equal(len(test_node.last_message["getdata"].inv), 1)
|
|
|
|
|
test_node.wait_for_getdata([block.sha256], timeout=30)
|
|
|
|
|
assert_equal(test_node.last_message["getdata"].inv[0].type, 4)
|
|
|
|
|
assert_equal(test_node.last_message["getdata"].inv[0].hash, block.sha256)
|
|
|
|
|
|
|
|
|
|
# Send back a compactblock message that omits the coinbase
|
|
|
|
|
comp_block = HeaderAndShortIDs()
|
|
|
|
@ -567,10 +563,8 @@ class CompactBlocksTest(BitcoinTestFramework):
|
|
|
|
|
assert_equal(int(node.getbestblockhash(), 16), block.hashPrevBlock)
|
|
|
|
|
|
|
|
|
|
# We should receive a getdata request
|
|
|
|
|
wait_until(lambda: "getdata" in test_node.last_message, timeout=10, lock=mininode_lock)
|
|
|
|
|
assert_equal(len(test_node.last_message["getdata"].inv), 1)
|
|
|
|
|
test_node.wait_for_getdata([block.sha256], timeout=10)
|
|
|
|
|
assert test_node.last_message["getdata"].inv[0].type == 2 or test_node.last_message["getdata"].inv[0].type == 2 | MSG_WITNESS_FLAG
|
|
|
|
|
assert_equal(test_node.last_message["getdata"].inv[0].hash, block.sha256)
|
|
|
|
|
|
|
|
|
|
# Deliver the block
|
|
|
|
|
if version == 2:
|
|
|
|
|