Modify getblocktxn handler not to drop requests for old blocks

This commit is contained in:
Russell Yanofsky
2016-10-26 14:53:18 -04:00
committed by lateminer
parent e13c064eec
commit dc8f0bd8de
2 changed files with 22 additions and 4 deletions

View File

@@ -524,8 +524,8 @@ class CompactBlocksTest(BitcoinTestFramework):
def test_getblocktxn_handler(self):
print("Testing getblocktxn handler...")
# bitcoind won't respond for blocks whose height is more than 15 blocks
# deep.
# bitcoind will not send blocktxn responses for blocks whose height is
# more than 10 blocks deep.
MAX_GETBLOCKTXN_DEPTH = 10
chain_height = self.nodes[0].getblockcount()
current_height = chain_height
@@ -552,11 +552,17 @@ class CompactBlocksTest(BitcoinTestFramework):
self.test_node.last_blocktxn = None
current_height -= 1
# Next request should be ignored, as we're past the allowed depth.
# Next request should send a full block response, as we're past the
# allowed depth for a blocktxn response.
block_hash = self.nodes[0].getblockhash(current_height)
msg.block_txn_request = BlockTransactionsRequest(int(block_hash, 16), [0])
with mininode_lock:
self.test_node.last_block = None
self.test_node.last_blocktxn = None
self.test_node.send_and_ping(msg)
with mininode_lock:
self.test_node.last_block.block.calc_sha256()
assert_equal(self.test_node.last_block.block.sha256, int(block_hash, 16))
assert_equal(self.test_node.last_blocktxn, None)
def test_compactblocks_not_at_tip(self):