Skip to content

Commit 41f6890

Browse files
committed
address PR comments
1 parent a3ad6c5 commit 41f6890

File tree

4 files changed

+60
-14
lines changed

4 files changed

+60
-14
lines changed

apis/beacon/proofs/execution_proofs.yaml

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,19 @@ get:
22
operationId: getExecutionProofs
33
summary: Get execution proofs
44
description: |
5-
Retrieves execution proofs known by the node.
6-
parameters:
7-
- name: new_payload_request_root
8-
in: query
9-
required: false
10-
schema:
11-
$ref: '../../../beacon-node-oapi.yaml#/components/schemas/Root'
12-
description: "Filter by new payload request root"
5+
Retrieves execution proofs for a given block id.
6+
Depending on `Accept` header it can be returned either as JSON or as bytes serialized by SSZ.
7+
8+
Proofs are returned as an ordered list of `ProverSignedExecutionProof` objects.
9+
10+
Proofs are only available for recent blocks within the proof retention period.
1311
tags:
1412
- Beacon
13+
parameters:
14+
- name: block_id
15+
in: path
16+
required: true
17+
$ref: "../../../beacon-node-oapi.yaml#/components/parameters/BlockId"
1518
responses:
1619
"200":
1720
description: Successful response
@@ -20,20 +23,38 @@ get:
2023
schema:
2124
title: GetExecutionProofsResponse
2225
type: object
23-
required: [data]
26+
required: [execution_optimistic, finalized, data]
2427
properties:
28+
execution_optimistic:
29+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ExecutionOptimistic"
30+
finalized:
31+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/Finalized"
2532
data:
2633
type: array
2734
items:
2835
$ref: '../../../beacon-node-oapi.yaml#/components/schemas/EIP8025.ProverSignedExecutionProof'
36+
application/octet-stream:
37+
schema:
38+
description: "SSZ serialized `List[ProverSignedExecutionProof, MAX_EXECUTION_PROOFS_PER_PAYLOAD]` bytes. Use Accept header to choose this response type"
2939
"400":
30-
description: "The new_payload_request_root could not be parsed"
40+
description: "The block ID supplied could not be parsed"
3141
content:
3242
application/json:
3343
schema:
3444
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
3545
example:
3646
code: 400
37-
message: "Invalid new_payload_request_root"
47+
message: "Invalid block ID: current"
48+
"404":
49+
description: "Block not found"
50+
content:
51+
application/json:
52+
schema:
53+
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
54+
example:
55+
code: 404
56+
message: "Block not found"
57+
"406":
58+
$ref: "../../../beacon-node-oapi.yaml#/components/responses/NotAcceptable"
3859
"500":
3960
$ref: '../../../beacon-node-oapi.yaml#/components/responses/InternalError'

apis/prover/execution_proofs.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ post:
44
description: |
55
Receives unsigned execution proofs from the proof engine. The beacon node
66
validates, signs, stores, and broadcasts them on the `execution_proof` gossip topic.
7+
Each proof includes the `proof_gen_id` to link it to the original proof generation request.
78
tags:
89
- Prover
910
requestBody:
@@ -13,10 +14,10 @@ post:
1314
schema:
1415
type: array
1516
items:
16-
$ref: '../../beacon-node-oapi.yaml#/components/schemas/EIP8025.ExecutionProof'
17+
$ref: '../../beacon-node-oapi.yaml#/components/schemas/EIP8025.GeneratedProof'
1718
application/octet-stream:
1819
schema:
19-
description: "SSZ serialized List[ExecutionProof, MAX_EXECUTION_PROOFS_PER_PAYLOAD]"
20+
description: "SSZ serialized List[GeneratedProof, MAX_EXECUTION_PROOFS_PER_PAYLOAD]"
2021
responses:
2122
"200":
2223
description: "Proofs received and validated successfully"

beacon-node-oapi.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ tags:
6262
[Checkout validator flow](./validator-flow.md) to learn how to use this api.
6363
- name: Rewards
6464
description: Endpoints to query rewards and penalties for validators.
65+
- name: Prover
66+
description: Endpoints for execution proof generation and submission.
6567

6668
paths:
6769

@@ -144,7 +146,7 @@ paths:
144146
$ref: "./apis/beacon/pool/voluntary_exits.yaml"
145147
/eth/v1/beacon/pool/bls_to_execution_changes:
146148
$ref: "./apis/beacon/pool/bls_to_execution_changes.yaml"
147-
/eth/v1/beacon/proofs/execution_proofs:
149+
/eth/v1/beacon/proofs/execution_proofs/{block_id}:
148150
$ref: "./apis/beacon/proofs/execution_proofs.yaml"
149151
/eth/v1/prover/execution_proofs:
150152
$ref: "./apis/prover/execution_proofs.yaml"
@@ -437,10 +439,14 @@ components:
437439
$ref: "./types/fulu/block_contents.yaml#/Fulu/SignedBlockContents"
438440
Fulu.DataColumnSidecars:
439441
$ref: "./types/fulu/data_column_sidecar.yaml#/Fulu/DataColumnSidecars"
442+
EIP8025.ProofGenId:
443+
$ref: './types/eip8025/execution_proof.yaml#/EIP8025/ProofGenId'
440444
EIP8025.PublicInput:
441445
$ref: './types/eip8025/execution_proof.yaml#/EIP8025/PublicInput'
442446
EIP8025.ExecutionProof:
443447
$ref: './types/eip8025/execution_proof.yaml#/EIP8025/ExecutionProof'
448+
EIP8025.GeneratedProof:
449+
$ref: './types/eip8025/execution_proof.yaml#/EIP8025/GeneratedProof'
444450
EIP8025.ProverSignedExecutionProof:
445451
$ref: './types/eip8025/execution_proof.yaml#/EIP8025/ProverSignedExecutionProof'
446452
Node:

types/eip8025/execution_proof.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
EIP8025:
2+
ProofGenId:
3+
type: string
4+
format: hex
5+
pattern: "^0x[a-fA-F0-9]{16}$"
6+
description: "8-byte identifier for tracking proof generation requests"
7+
example: "0x0102030405060708"
8+
9+
GeneratedProof:
10+
type: object
11+
description: "Generated execution proof with associated proof generation ID"
12+
required: [proof_gen_id, execution_proof]
13+
properties:
14+
proof_gen_id:
15+
$ref: '#/EIP8025/ProofGenId'
16+
description: "ID linking this proof to the original request"
17+
execution_proof:
18+
$ref: '#/EIP8025/ExecutionProof'
19+
220
PublicInput:
321
type: object
422
description: "Public input for execution proof verification"

0 commit comments

Comments
 (0)