|
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,
|
@@ -484,6 +485,10 @@ def _test_getblock(self):
|
484 | 485 | self.wallet.send_self_transfer(fee_rate=fee_per_kb, from_node=node)
|
485 | 486 | blockhash = self.generate(node, 1)[0]
|
486 | 487 |
|
| 488 | + def assert_hexblock_hashes(verbosity): |
| 489 | + block = node.getblock(blockhash, verbosity) |
| 490 | + assert_equal(blockhash, hash256(bytes.fromhex(block[:160]))[::-1].hex()) |
| 491 | + |
487 | 492 | def assert_fee_not_in_block(verbosity):
|
488 | 493 | block = node.getblock(blockhash, verbosity)
|
489 | 494 | assert 'fee' not in block['tx'][1]
|
@@ -518,8 +523,13 @@ def assert_vin_does_not_contain_prevout(verbosity):
|
518 | 523 | for vin in tx["vin"]:
|
519 | 524 | assert "prevout" not in vin
|
520 | 525 |
|
| 526 | + self.log.info("Test that getblock with verbosity 0 hashes to expected value") |
| 527 | + assert_hexblock_hashes(0) |
| 528 | + assert_hexblock_hashes(False) |
| 529 | + |
521 | 530 | self.log.info("Test that getblock with verbosity 1 doesn't include fee")
|
522 | 531 | assert_fee_not_in_block(1)
|
| 532 | + assert_fee_not_in_block(True) |
523 | 533 |
|
524 | 534 | self.log.info('Test that getblock with verbosity 2 and 3 includes expected fee')
|
525 | 535 | assert_fee_in_block(2)
|
|
0 commit comments