Skip to content

Commit 070e33b

Browse files
Add schemas for withdrawals from EIP-4895 (#334)
* Add schemas for withdrawals from EIP-4895 * rename params * add tests for withdrawals * apply review suggestions Co-authored-by: lightclient@protonmail.com <lightclient@protonmail.com> Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
1 parent c9717e3 commit 070e33b

File tree

22 files changed

+52
-20
lines changed

22 files changed

+52
-20
lines changed

src/schemas/block.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ Block:
7171
baseFeePerGas:
7272
title: Base fee per gas
7373
$ref: '#/components/schemas/uint'
74+
withdrawalsRoot:
75+
title: Withdrawals root
76+
$ref: '#/components/schemas/hash32'
7477
size:
7578
title: Block size
7679
$ref: '#/components/schemas/uint'
@@ -84,6 +87,11 @@ Block:
8487
type: array
8588
items:
8689
$ref: '#/components/schemas/TransactionSigned'
90+
withdrawals:
91+
title: Withdrawals
92+
type: array
93+
items:
94+
$ref: '#/components/schemas/Withdrawal'
8795
uncles:
8896
title: Uncles
8997
type: array

src/schemas/withdrawal.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Withdrawal:
2+
type: object
3+
title: Validator withdrawal
4+
required:
5+
- index
6+
- validatorIndex
7+
- recipient
8+
- amount
9+
properties:
10+
index:
11+
title: index of withdrawal
12+
$ref: '#/components/schemas/uint64'
13+
validatorIndex:
14+
title: index of validator that generated withdrawal
15+
$ref: '#/components/schemas/uint64'
16+
recipient:
17+
title: recipient for withdrawal value
18+
$ref: '#/components/schemas/address'
19+
amount:
20+
title: value contained in withdrawal
21+
$ref: '#/components/schemas/uint256'

tests/bad.rlp

31 Bytes
Binary file not shown.

tests/chain.rlp

145 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
>> {"jsonrpc":"2.0","id":1,"method":"debug_getRawBlock","params":["0x3"]}
2-
<< {"jsonrpc":"2.0","id":1,"result":"0xf90269f901faa0feffbee8fafd9860e744ac88ffb4f12752de7ccd86c2fb301c82c510b2ccd32ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a09ba750cfccbb3e45e010229e805d1d854befeb2701745e93f975dbc965f737a5a0d911c25e97e27898680d242b7780b6faef30995c355a2d5de92e6b9a7212ad3aa0056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000003834c4b408252081e80a0caec67d309990cc864a25cd5f983bb9128cd7ac06704ff1be433be73b0c7ccf0887c090d4e8d3d4a6b842806be9df869f86702842806be9e82520894658bdf435d810c91414ec09147daa6db624063798203e880820a95a040ce7918eeb045ebf8c8b1887ca139d076bda00fa828a07881d442a72626c42da0156576a68e456e295e4c9cf67cf9f53151f329438916e0f24fc69d6bbb7fbacfc0"}
2+
<< {"jsonrpc":"2.0","id":1,"result":"0xf90288f90218a021c246c7052a09711c48e91d1b4673e203310a4c8f8f97525996efc544eea25aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0ca44e2e925f3319e79c9cb799bbf5b33df7166770ceae29e9be1b15fb62c9f95a0d911c25e97e27898680d242b7780b6faef30995c355a2d5de92e6b9a7212ad3aa0056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008003834c4b408252081e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000842806be9da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421f869f86702842806be9e82520894658bdf435d810c91414ec09147daa6db624063798203e880820a95a040ce7918eeb045ebf8c8b1887ca139d076bda00fa828a07881d442a72626c42da0156576a68e456e295e4c9cf67cf9f53151f329438916e0f24fc69d6bbb7fbacfc0c0"}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
>> {"jsonrpc":"2.0","id":1,"method":"debug_getRawBlock","params":["0x0"]}
2-
<< {"jsonrpc":"2.0","id":1,"result":"0xf901faf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0078dc6061b1d8eaa8493384b59c9c65ceb917201221d08b80c4de6770b6ec7e7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180834c4b40808080a00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00c0c0"}
2+
<< {"jsonrpc":"2.0","id":1,"result":"0xf9021bf90216a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0078dc6061b1d8eaa8493384b59c9c65ceb917201221d08b80c4de6770b6ec7e7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180834c4b40808080a00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421c0c0"}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
>> {"jsonrpc":"2.0","id":1,"method":"debug_getRawHeader","params":["0x3"]}
2-
<< {"jsonrpc":"2.0","id":1,"result":"0xf901faa0feffbee8fafd9860e744ac88ffb4f12752de7ccd86c2fb301c82c510b2ccd32ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a09ba750cfccbb3e45e010229e805d1d854befeb2701745e93f975dbc965f737a5a0d911c25e97e27898680d242b7780b6faef30995c355a2d5de92e6b9a7212ad3aa0056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000003834c4b408252081e80a0caec67d309990cc864a25cd5f983bb9128cd7ac06704ff1be433be73b0c7ccf0887c090d4e8d3d4a6b842806be9d"}
2+
<< {"jsonrpc":"2.0","id":1,"result":"0xf90218a021c246c7052a09711c48e91d1b4673e203310a4c8f8f97525996efc544eea25aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0ca44e2e925f3319e79c9cb799bbf5b33df7166770ceae29e9be1b15fb62c9f95a0d911c25e97e27898680d242b7780b6faef30995c355a2d5de92e6b9a7212ad3aa0056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008003834c4b408252081e80a00000000000000000000000000000000000000000000000000000000000000000880000000000000000842806be9da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
>> {"jsonrpc":"2.0","id":1,"method":"debug_getRawHeader","params":["0x0"]}
2-
<< {"jsonrpc":"2.0","id":1,"result":"0xf901f5a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0078dc6061b1d8eaa8493384b59c9c65ceb917201221d08b80c4de6770b6ec7e7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180834c4b40808080a00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00"}
2+
<< {"jsonrpc":"2.0","id":1,"result":"0xf90216a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0078dc6061b1d8eaa8493384b59c9c65ceb917201221d08b80c4de6770b6ec7e7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180834c4b40808080a00000000000000000000000000000000000000000000000000000000000000000880000000000000000843b9aca00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
>> {"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0xaa00000000000000000000000000000000000000","0x0c5761302ec071b5c04130bf2c8c9167fe8f2efeb756c47d0f44eff683e1203e"]}
1+
>> {"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0xaa00000000000000000000000000000000000000","0x898753d8fdd8d92c1907ca21e68c7970abd290c647a202091181deec3f30a0b2"]}
22
<< {"jsonrpc":"2.0","id":1,"result":"0x1"}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByHash","params":["0x0c5761302ec071b5c04130bf2c8c9167fe8f2efeb756c47d0f44eff683e1203e",true]}
2-
<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x342770c0","difficulty":"0x20000","extraData":"0x","gasLimit":"0x4c4b40","gasUsed":"0x5208","hash":"0x0c5761302ec071b5c04130bf2c8c9167fe8f2efeb756c47d0f44eff683e1203e","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0xecfb7963e456e8c5adcaa1aa06505b6ba3108606e5bfdc60f6d4bc28d76ae342","nonce":"0x135e7c203367ef58","number":"0x1","parentHash":"0x33ed456e4ddc943a66d74940bcb732efac73c36c5252fe7883a05099acb9b612","receiptsRoot":"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x26c","stateRoot":"0x736513536b89969cfe91e2f4bb88bc90f811547b03dd49bd852a143ac19ef403","timestamp":"0xa","totalDifficulty":"0x20001","transactions":[{"blockHash":"0x0c5761302ec071b5c04130bf2c8c9167fe8f2efeb756c47d0f44eff683e1203e","blockNumber":"0x1","from":"0x658bdf435d810c91414ec09147daa6db62406379","gas":"0x5208","gasPrice":"0x342770c1","hash":"0x74e41d593675913d6d5521f46523f1bd396dff1891bdb35f59be47c7e5e0b34b","input":"0x","nonce":"0x0","to":"0x658bdf435d810c91414ec09147daa6db62406379","transactionIndex":"0x0","value":"0x3e8","type":"0x0","chainId":"0x539","v":"0xa95","r":"0xaf5fc351b9e457a31f37c84e5cd99dd3c5de60af3de33c6f4160177a2c786a60","s":"0x201da7a21046af55837330a2c52fc1543cd4d9ead00ddf178dd96935b607ff9b"}],"transactionsRoot":"0xbf06cffa242d5b5d567567b318fc73c54364a73827ab4cdbca7a9db1c788581a","uncles":[]}}
1+
>> {"jsonrpc":"2.0","id":1,"method":"eth_getBlockByHash","params":["0x898753d8fdd8d92c1907ca21e68c7970abd290c647a202091181deec3f30a0b2",true]}
2+
<< {"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x342770c0","difficulty":"0x0","extraData":"0x","gasLimit":"0x4c4b40","gasUsed":"0x5208","hash":"0x898753d8fdd8d92c1907ca21e68c7970abd290c647a202091181deec3f30a0b2","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x1","parentHash":"0x1fc027d65f820d3eef441ebeec139ebe09e471cf98516dce7b5643ccb27f418c","receiptsRoot":"0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x28b","stateRoot":"0xa112033b100ca01e159de21f1bb229133c7734c616bbf34c2f51032c6da71f75","timestamp":"0xa","totalDifficulty":"0x1","transactions":[{"blockHash":"0x898753d8fdd8d92c1907ca21e68c7970abd290c647a202091181deec3f30a0b2","blockNumber":"0x1","from":"0x658bdf435d810c91414ec09147daa6db62406379","gas":"0x5208","gasPrice":"0x342770c1","hash":"0x74e41d593675913d6d5521f46523f1bd396dff1891bdb35f59be47c7e5e0b34b","input":"0x","nonce":"0x0","to":"0x658bdf435d810c91414ec09147daa6db62406379","transactionIndex":"0x0","value":"0x3e8","type":"0x0","chainId":"0x539","v":"0xa95","r":"0xaf5fc351b9e457a31f37c84e5cd99dd3c5de60af3de33c6f4160177a2c786a60","s":"0x201da7a21046af55837330a2c52fc1543cd4d9ead00ddf178dd96935b607ff9b"}],"transactionsRoot":"0xbf06cffa242d5b5d567567b318fc73c54364a73827ab4cdbca7a9db1c788581a","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}}

0 commit comments

Comments
 (0)