From cb1e993df4145b750c26d27f868ce5c5269b7491 Mon Sep 17 00:00:00 2001 From: Delweng Date: Tue, 15 Aug 2023 20:32:06 +0800 Subject: [PATCH] add eth_getBlockReceipts (#438) * eth: add eth_getBlockReceipts Signed-off-by: jsvisa Signed-off-by: jsvisa * eth: blockReceipts Signed-off-by: jsvisa * getBlockReceipts maybe null Signed-off-by: jsvisa * tests: add eth_getBlockReceipts Signed-off-by: jsvisa --------- Signed-off-by: jsvisa --- src/eth/block.yaml | 16 ++++++++++++++++ .../eth_getBlockReceipts/get-block-receipts-0.io | 2 ++ .../get-block-receipts-by-hash.io | 2 ++ .../get-block-receipts-earliest.io | 2 ++ .../get-block-receipts-empty.io | 2 ++ .../get-block-receipts-future.io | 2 ++ .../get-block-receipts-latest.io | 2 ++ .../eth_getBlockReceipts/get-block-receipts-n.io | 2 ++ .../get-block-receipts-not-found.io | 2 ++ 9 files changed, 32 insertions(+) create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-0.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-by-hash.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-earliest.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-empty.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-future.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-latest.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-n.io create mode 100644 tests/eth_getBlockReceipts/get-block-receipts-not-found.io diff --git a/src/eth/block.yaml b/src/eth/block.yaml index bae5519bf..64e95fb7d 100644 --- a/src/eth/block.yaml +++ b/src/eth/block.yaml @@ -86,3 +86,19 @@ - $ref: '#/components/schemas/notFound' - title: Uncle count $ref: '#/components/schemas/uint' +- name: eth_getBlockReceipts + summary: Returns the receipts of a block by number or hash. + params: + - name: Block + required: true + schema: + $ref: '#/components/schemas/BlockNumberOrTagOrHash' + result: + name: Receipts information + schema: + oneOf: + - $ref: '#/components/schemas/notFound' + - title: Receipts information + type: array + items: + $ref: '#/components/schemas/ReceiptInfo' diff --git a/tests/eth_getBlockReceipts/get-block-receipts-0.io b/tests/eth_getBlockReceipts/get-block-receipts-0.io new file mode 100644 index 000000000..7d16f5466 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-0.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x0"]} +<< {"jsonrpc":"2.0","id":1,"result":[]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io b/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io new file mode 100644 index 000000000..f6af0580d --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-by-hash.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x7a6c6683eb052de1d9debcb78905d427464566c7a305a39d10e6fd309b797845"]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0x7a6c6683eb052de1d9debcb78905d427464566c7a305a39d10e6fd309b797845","blockNumber":"0x5","contractAddress":null,"cumulativeGasUsed":"0x538d","effectiveGasPrice":"0x1ec7cd47","from":"0x658bdf435d810c91414ec09147daa6db62406379","gasUsed":"0x538d","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x0","to":"0x0000000000000000000000000000000000031ec7","transactionHash":"0x54b25c11650dca0253ef7b91b5415680eea8dac54b029863e12db48908ad386c","transactionIndex":"0x0","type":"0x2"}]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-earliest.io b/tests/eth_getBlockReceipts/get-block-receipts-earliest.io new file mode 100644 index 000000000..71a9d8021 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-earliest.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["earliest"]} +<< {"jsonrpc":"2.0","id":1,"result":[]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-empty.io b/tests/eth_getBlockReceipts/get-block-receipts-empty.io new file mode 100644 index 000000000..70eba3f88 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-empty.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x0000000000000000000000000000000000000000000000000000000000000000"]} +<< {"jsonrpc":"2.0","id":1,"result":null} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-future.io b/tests/eth_getBlockReceipts/get-block-receipts-future.io new file mode 100644 index 000000000..4a3b3bab1 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-future.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0xa"]} +<< {"jsonrpc":"2.0","id":1,"result":null} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-latest.io b/tests/eth_getBlockReceipts/get-block-receipts-latest.io new file mode 100644 index 000000000..8406e3606 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-latest.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["latest"]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0x9032fd0afc97b3c5b28fe887051ecb2cc3a3475c102b0aeeaadaebd87d8e1cd3","blockNumber":"0x9","contractAddress":null,"cumulativeGasUsed":"0x5208","effectiveGasPrice":"0x122af098","from":"0x658bdf435d810c91414ec09147daa6db62406379","gasUsed":"0x5208","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x658bdf435d810c91414ec09147daa6db62406379","transactionHash":"0xfc00d60c731c8dae864f0e7c8475037068347d178c177f82d9761759b9b00d11","transactionIndex":"0x0","type":"0x0"}]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-n.io b/tests/eth_getBlockReceipts/get-block-receipts-n.io new file mode 100644 index 000000000..6ca35ff99 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-n.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x3"]} +<< {"jsonrpc":"2.0","id":1,"result":[{"blockHash":"0x97bf0c1e120092367636515ad0fff9b03a76c1d200edc6cbd2268e46413e7679","blockNumber":"0x3","contractAddress":"0xdcdf1e30e221ceb2ed862994fdf18b52588094da","cumulativeGasUsed":"0xcf50","effectiveGasPrice":"0x2806be9d","from":"0x658bdf435d810c91414ec09147daa6db62406379","gasUsed":"0xcf50","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xc864b642dab0258a7a671f172fa438b29d35cec47ce30d9e16720a07e1c588b9","transactionIndex":"0x0","type":"0x0"}]} diff --git a/tests/eth_getBlockReceipts/get-block-receipts-not-found.io b/tests/eth_getBlockReceipts/get-block-receipts-not-found.io new file mode 100644 index 000000000..39e2a9192 --- /dev/null +++ b/tests/eth_getBlockReceipts/get-block-receipts-not-found.io @@ -0,0 +1,2 @@ +>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":["0x00000000000000000000000000000000000000000000000000000000deadbeef"]} +<< {"jsonrpc":"2.0","id":1,"result":null}