mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-05-05 19:38:54 +02:00
Merge bitcoin/bitcoin#23836: rest: Expose block filters follow-ups
4523d28b6b[test] compare filter and header with the result of the getblockfilter RPC (Niklas Gögge)3a2464f216[rest] drop superfluous rpc serializations flags for block filters (Niklas Gögge)064abd14a5[rest] add a more verbose error message for invalid header counts (Niklas Gögge)83b8f3a896[refactor] various style fix-ups (Niklas Gögge) Pull request description: This PR addresses unresolved review comments from [#17631](https://github.com/bitcoin/bitcoin/pull/17631). This includes: * various style fix-ups * returning a more verbose error message for invalid header counts * removing superfluous rpc serializations flags for block filters * improving the test to include comparing the block filters returned from the rest with the ones returned from the `getblockfilter` RPC. ACKs for top commit: jnewbery: ACK4523d28b6bbrunoerg: tACK4523d28b6bTree-SHA512: 634e6b2ae3e1d5f31675a50cfe11a5e74bf5a51b9e7b512d9e18879bf2ed424fc0ac6ec633023f192e3ad12cf0c73b0b51de79dd7ec00844dba3e1493d823b8c
This commit is contained in:
@@ -273,13 +273,19 @@ class RESTTest (BitcoinTestFramework):
|
||||
json_obj = self.test_rest_request(f"/headers/5/{bb_hash}")
|
||||
assert_equal(len(json_obj), 5) # now we should have 5 header objects
|
||||
json_obj = self.test_rest_request(f"/blockfilterheaders/basic/5/{bb_hash}")
|
||||
first_filter_header = json_obj[0]
|
||||
assert_equal(len(json_obj), 5) # now we should have 5 filter header objects
|
||||
self.test_rest_request(f"/blockfilter/basic/{bb_hash}", req_type=ReqType.BIN, ret_type=RetType.OBJ)
|
||||
json_obj = self.test_rest_request(f"/blockfilter/basic/{bb_hash}")
|
||||
|
||||
# Compare with normal RPC blockfilter response
|
||||
rpc_blockfilter = self.nodes[0].getblockfilter(bb_hash)
|
||||
assert_equal(first_filter_header, rpc_blockfilter['header'])
|
||||
assert_equal(json_obj['filter'], rpc_blockfilter['filter'])
|
||||
|
||||
# Test number parsing
|
||||
for num in ['5a', '-5', '0', '2001', '99999999999999999999999999999999999']:
|
||||
assert_equal(
|
||||
bytes(f'Header count out of acceptable range (1-2000): {num}\r\n', 'ascii'),
|
||||
bytes(f'Header count is invalid or out of acceptable range (1-2000): {num}\r\n', 'ascii'),
|
||||
self.test_rest_request(f"/headers/{num}/{bb_hash}", ret_type=RetType.BYTES, status=400),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user