|
38 | 38 | msg_block,
|
39 | 39 | )
|
40 | 40 | from test_framework.p2p import P2PInterface
|
| 41 | +from test_framework.script import hash256 |
41 | 42 | from test_framework.test_framework import BitcoinTestFramework
|
42 | 43 | from test_framework.util import (
|
43 | 44 | assert_equal,
|
@@ -485,6 +486,10 @@ def _test_getblock(self):
|
485 | 486 | self.wallet.send_self_transfer(fee_rate=fee_per_kb, from_node=node)
|
486 | 487 | blockhash = self.generate(node, 1)[0]
|
487 | 488 |
|
| 489 | + def assert_hexblock_hashes(verbosity): |
| 490 | + block = node.getblock(blockhash, verbosity) |
| 491 | + assert_equal(blockhash, hash256(bytes.fromhex(block[:160]))[::-1].hex()) |
| 492 | + |
488 | 493 | def assert_fee_not_in_block(verbosity):
|
489 | 494 | block = node.getblock(blockhash, verbosity)
|
490 | 495 | assert 'fee' not in block['tx'][1]
|
@@ -519,8 +524,13 @@ def assert_vin_does_not_contain_prevout(verbosity):
|
519 | 524 | for vin in tx["vin"]:
|
520 | 525 | assert "prevout" not in vin
|
521 | 526 |
|
| 527 | + self.log.info("Test that getblock with verbosity 0 hashes to expected value") |
| 528 | + assert_hexblock_hashes(0) |
| 529 | + assert_hexblock_hashes(False) |
| 530 | + |
522 | 531 | self.log.info("Test that getblock with verbosity 1 doesn't include fee")
|
523 | 532 | assert_fee_not_in_block(1)
|
| 533 | + assert_fee_not_in_block(True) |
524 | 534 |
|
525 | 535 | self.log.info('Test that getblock with verbosity 2 and 3 includes expected fee')
|
526 | 536 | assert_fee_in_block(2)
|
|
0 commit comments