Skip to content

Commit 5cb324e

Browse files
authored
Define electra types and apis (#105)
* Define types and apis * Add examples * address comment from @ralexstokes and @nflaig * Update submodule commit
1 parent 91e2916 commit 5cb324e

File tree

7 files changed

+329
-3
lines changed

7 files changed

+329
-3
lines changed

apis/builder/blinded_blocks.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,16 @@ post:
3030
- $ref: "../../builder-oapi.yaml#/components/schemas/Bellatrix.SignedBlindedBeaconBlock"
3131
- $ref: "../../builder-oapi.yaml#/components/schemas/Capella.SignedBlindedBeaconBlock"
3232
- $ref: "../../builder-oapi.yaml#/components/schemas/Deneb.SignedBlindedBeaconBlock"
33+
- $ref: "../../builder-oapi.yaml#/components/schemas/Electra.SignedBlindedBeaconBlock"
3334
examples:
3435
bellatrix:
3536
$ref: "../../builder-oapi.yaml#/components/examples/Bellatrix.SignedBlindedBeaconBlock"
3637
capella:
3738
$ref: "../../builder-oapi.yaml#/components/examples/Capella.SignedBlindedBeaconBlock"
3839
deneb:
3940
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.SignedBlindedBeaconBlock"
41+
electra:
42+
$ref: "../../builder-oapi.yaml#/components/examples/Electra.SignedBlindedBeaconBlock"
4043

4144
responses:
4245
"200":
@@ -50,7 +53,7 @@ post:
5053
properties:
5154
version:
5255
type: string
53-
enum: [ bellatrix, capella, deneb ]
56+
enum: [ bellatrix, capella, deneb, electra ]
5457
example: "bellatrix"
5558
data:
5659
anyOf:
@@ -64,6 +67,8 @@ post:
6467
$ref: "../../builder-oapi.yaml#/components/examples/Capella.ExecutionPayload"
6568
deneb:
6669
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.ExecutionPayloadAndBlobsBundle"
70+
electra:
71+
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.ExecutionPayloadAndBlobsBundle"
6772
"400":
6873
description: Error response.
6974
content:

apis/builder/header.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,23 @@ get:
4444
properties:
4545
version:
4646
type: string
47-
enum: [ bellatrix, capella, deneb ]
47+
enum: [ bellatrix, capella, deneb, electra ]
4848
example: "bellatrix"
4949
data:
5050
anyOf:
5151
- $ref: "../../builder-oapi.yaml#/components/schemas/Bellatrix.SignedBuilderBid"
5252
- $ref: "../../builder-oapi.yaml#/components/schemas/Capella.SignedBuilderBid"
5353
- $ref: "../../builder-oapi.yaml#/components/schemas/Deneb.SignedBuilderBid"
54+
- $ref: "../../builder-oapi.yaml#/components/schemas/Electra.SignedBuilderBid"
5455
examples:
5556
bellatrix:
5657
$ref: "../../builder-oapi.yaml#/components/examples/Bellatrix.SignedBuilderBid"
5758
capella:
5859
$ref: "../../builder-oapi.yaml#/components/examples/Capella.SignedBuilderBid"
5960
deneb:
6061
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.SignedBuilderBid"
62+
electra:
63+
$ref: "../../builder-oapi.yaml#/components/examples/Electra.SignedBuilderBid"
6164
"204":
6265
description: No header is available.
6366
"400":

beacon-apis

Submodule beacon-apis updated 69 files

builder-oapi.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ components:
7777
$ref: "./types/deneb/execution_payload_and_blobs_bundle.yaml#/Deneb/ExecutionPayloadAndBlobsBundle"
7878
SignedValidatorRegistration:
7979
$ref: "./beacon-apis/types/registration.yaml#/SignedValidatorRegistration"
80+
Electra.SignedBlindedBeaconBlock:
81+
$ref: "./beacon-apis/types/electra/block.yaml#/Electra/SignedBlindedBeaconBlock"
82+
Electra.SignedBuilderBid:
83+
$ref: "./types/electra/bid.yaml#/Electra/SignedBuilderBid"
8084

8185
responses:
8286
InternalError:
@@ -101,3 +105,7 @@ components:
101105
$ref: "./examples/deneb/execution_payload_and_blobs_bundle.json"
102106
Deneb.SignedBuilderBid:
103107
$ref: "./examples/deneb/signed_builder_bid.json"
108+
Electra.SignedBlindedBeaconBlock:
109+
$ref: "./examples/electra/signed_blinded_beacon_block.json"
110+
Electra.SignedBuilderBid:
111+
$ref: "./examples/electra/signed_builder_bid.json"
Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
{
2+
"value": {
3+
"message": {
4+
"slot": "1",
5+
"proposer_index": "1",
6+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
7+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
8+
"body": {
9+
"randao_reveal": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
10+
"eth1_data": {
11+
"deposit_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
12+
"deposit_count": "1",
13+
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
14+
},
15+
"graffiti": "0xdeadbeefc0ffeedeadbeefc0ffeedeadbeefc0ffeedeadbeefc0ffeedeadbeef",
16+
"proposer_slashings": [
17+
{
18+
"signed_header_1": {
19+
"message": {
20+
"slot": "1",
21+
"proposer_index": "1",
22+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
23+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
24+
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
25+
},
26+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
27+
},
28+
"signed_header_2": {
29+
"message": {
30+
"slot": "1",
31+
"proposer_index": "1",
32+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
33+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
34+
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
35+
},
36+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
37+
}
38+
}
39+
],
40+
"attester_slashings": [
41+
{
42+
"attestation_1": {
43+
"attesting_indices": [
44+
"1"
45+
],
46+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
47+
"data": {
48+
"slot": "1",
49+
"index": "1",
50+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
51+
"source": {
52+
"epoch": "1",
53+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
54+
},
55+
"target": {
56+
"epoch": "1",
57+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
58+
}
59+
}
60+
},
61+
"attestation_2": {
62+
"attesting_indices": [
63+
"1"
64+
],
65+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
66+
"data": {
67+
"slot": "1",
68+
"index": "1",
69+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
70+
"source": {
71+
"epoch": "1",
72+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
73+
},
74+
"target": {
75+
"epoch": "1",
76+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
77+
}
78+
}
79+
}
80+
}
81+
],
82+
"attestations": [
83+
{
84+
"aggregation_bits": "0x01",
85+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
86+
"data": {
87+
"slot": "1",
88+
"index": "1",
89+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
90+
"source": {
91+
"epoch": "1",
92+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
93+
},
94+
"target": {
95+
"epoch": "1",
96+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
97+
}
98+
}
99+
}
100+
],
101+
"deposits": [
102+
{
103+
"proof": [
104+
"0xeeffb6c21a01d3abf09cd6c56e5d48f5ea0fc3bb0de906e3beea3e73776329cb",
105+
"0x601c3b24a99d023224d50811bed19449890febb719a31d09ac414c4632f3c0ba",
106+
"0xbb5e485e0a366e16510de33731d71204ad2fe0f7c600861fc2ac4685212c34e3",
107+
"0x0006964745296a3e6ebf3954a1541e73205f1eefaddfc48ca9dc856bf159bca2",
108+
"0x2c6020f1f9712b89f59550aec05b7c23cb1b113762399c0ca5b8fdd2fa85ce57",
109+
"0x1c15634783e1d9d2cb969da66fd72cafca5026191d911b83211318d183c5ea59",
110+
"0xdfbdf99a1fde57899df1545be1f91bc8a8a9f46c4bac619e28e92aff276de41f",
111+
"0xfe9b0f0c05fde6bd26ce63d394058844ad4451f70b6d2547f49c5c2a5c7891a1",
112+
"0x165f84ee467d18dbafdb07275dc42fb988ab696b0a7ad94c52f4d7a27144b994",
113+
"0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1",
114+
"0xecdbe5e5056b968aa726a08f1aa33f5d41540eed42f59ace020431cf38a5144e",
115+
"0xc4498c5eb1feeb0b225a3f332bdf523dbc013a5b336a851fce1c055b4019a457",
116+
"0xb7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f",
117+
"0x8a9b66ad79116c9fc6eed14bde76e8f486669e59b0b5bb0c60a6b3caea38b83d",
118+
"0x267c5455e4806b5d0ad5573552d0162e0983595bac25dacd9078174a2766643a",
119+
"0x27e0c6357985de4d6026d6da14f31e8bfe14524056fec69dc06d6f8a239344af",
120+
"0xf8455aebc24849bea870fbcef1235e2d27c8fd27db24e26d30d0173f3b207874",
121+
"0xaba01bf7fe57be4373f47ff8ea6adc4348fab087b69b2518ce630820f95f4150",
122+
"0xd47152335d9460f2b6fb7aba05ced32a52e9f46659ccd3daa2059661d75a6308",
123+
"0xf893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f",
124+
"0xcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa",
125+
"0x8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c",
126+
"0xfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167",
127+
"0xe71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7",
128+
"0x31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0",
129+
"0x21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544",
130+
"0x619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765",
131+
"0x7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4",
132+
"0x848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1",
133+
"0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636",
134+
"0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c",
135+
"0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7",
136+
"0xf7ed070000000000000000000000000000000000000000000000000000000000"
137+
],
138+
"data": {
139+
"pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
140+
"withdrawal_credentials": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
141+
"amount": "1",
142+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
143+
}
144+
}
145+
],
146+
"voluntary_exits": [
147+
{
148+
"message": {
149+
"epoch": "1",
150+
"validator_index": "1"
151+
},
152+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
153+
}
154+
],
155+
"sync_aggregate": {
156+
"sync_committee_bits": "0x01",
157+
"sync_committee_signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
158+
},
159+
"execution_payload_header": {
160+
"parent_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
161+
"fee_recipient": "0xabcf8e0d4e9587369b2301d0790347320302cc09",
162+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
163+
"receipts_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
164+
"logs_bloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
165+
"prev_randao": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
166+
"block_number": "1",
167+
"gas_limit": "1",
168+
"gas_used": "1",
169+
"timestamp": "1",
170+
"extra_data": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
171+
"base_fee_per_gas": "1",
172+
"blob_gas_used": "1",
173+
"excess_blob_gas": "1",
174+
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
175+
"transactions_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
176+
"withdrawals_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
177+
},
178+
"bls_to_execution_changes": [
179+
{
180+
"message": {
181+
"validator_index": "1",
182+
"from_bls_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
183+
"to_execution_address": "0xabcf8e0d4e9587369b2301d0790347320302cc09"
184+
},
185+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
186+
}
187+
],
188+
"blob_kzg_commitments": [
189+
"0xa94170080872584e54a1cf092d845703b13907f2e6b3b1c0ad573b910530499e3bcd48c6378846b80d2bfa58c81cf3d5"
190+
],
191+
"execution_requests": {
192+
"deposits": [
193+
{
194+
"pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
195+
"withdrawal_credentials": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
196+
"amount": "1",
197+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
198+
"index": "1",
199+
}
200+
],
201+
"withdrawals": [
202+
{
203+
"source_address": "0xabcf8e0d4e9587369b2301d0790347320302cc09",
204+
"validator_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
205+
"amount": "1",
206+
}
207+
],
208+
"consolidations": [
209+
{
210+
"source_address": "0xabcf8e0d4e9587369b2301d0790347320302cc09",
211+
"source_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
212+
"target_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
213+
}
214+
]
215+
}
216+
}
217+
},
218+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
219+
}
220+
}

0 commit comments

Comments
 (0)