Skip to content

Commit

Permalink
Add publishAggregateAndProofsV2 to support EIP-7549 (#456)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored Jul 15, 2024
1 parent 41cc574 commit 860584e
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ There are likely to be descriptions etc outside of the list below, but new query
| [#448](https://github.com/ethereum/beacon-APIs/pull/448) `POST /eth/v2/beacon/pool/attestations` added | | | | | |
| [#448](https://github.com/ethereum/beacon-APIs/pull/448) `GET /eth/v2/beacon/pool/attester_slashings` added | | | | | |
| [#448](https://github.com/ethereum/beacon-APIs/pull/448) `POST /eth/v2/beacon/pool/attester_slashings` added | | | | | |
| [#456](https://github.com/ethereum/beacon-APIs/pull/456) `POST /eth/v2/validator/aggregate_and_proofs` added | | | | | |


The Following are no longer in the Standard API, removed since the latest version.
Expand Down
33 changes: 33 additions & 0 deletions apis/validator/aggregate_and_proofs.v2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
post:
operationId: "publishAggregateAndProofsV2"
summary: "Publish multiple aggregate and proofs"
description: "Verifies given aggregate and proofs and publishes them on appropriate gossipsub topic."
tags:
- ValidatorRequiredApi
- Validator
parameters:
- in: header
schema:
$ref: '../../beacon-node-oapi.yaml#/components/schemas/ConsensusVersion'
required: true
name: Eth-Consensus-Version
description: "Version of the aggregate and proofs being submitted."
requestBody:
required: true
content:
application/json:
schema:
anyOf:
- type: array
items:
$ref: '../../beacon-node-oapi.yaml#/components/schemas/SignedAggregateAndProof'
- type: array
items:
$ref: '../../beacon-node-oapi.yaml#/components/schemas/Electra.SignedAggregateAndProof'
responses:
"200":
description: "Successful response"
"400":
$ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest'
"500":
$ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError'
1 change: 1 addition & 0 deletions apis/validator/aggregate_and_proofs.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
post:
operationId: "publishAggregateAndProofs"
summary: "Publish multiple aggregate and proofs"
deprecated: true
description: "Verifies given aggregate and proofs and publishes them on appropriate gossipsub topic."
tags:
- ValidatorRequiredApi
Expand Down
4 changes: 4 additions & 0 deletions beacon-node-oapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ paths:
$ref: "./apis/validator/aggregate_attestation.v2.yaml"
/eth/v1/validator/aggregate_and_proofs:
$ref: "./apis/validator/aggregate_and_proofs.yaml"
/eth/v2/validator/aggregate_and_proofs:
$ref: "./apis/validator/aggregate_and_proofs.v2.yaml"
/eth/v1/validator/beacon_committee_subscriptions:
$ref: "./apis/validator/beacon_committee_subscriptions.yaml"
/eth/v1/validator/sync_committee_subscriptions:
Expand Down Expand Up @@ -383,6 +385,8 @@ components:
$ref: './types/electra/attestation.yaml#/Electra/Attestation'
Electra.AttesterSlashing:
$ref: './types/electra/attester_slashing.yaml#/Electra/AttesterSlashing'
Electra.SignedAggregateAndProof:
$ref: './types/electra/validator.yaml#/Electra/SignedAggregateAndProof'
Node:
$ref: './types/fork_choice.yaml#/Node'
ExtraData:
Expand Down
29 changes: 29 additions & 0 deletions types/electra/validator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Electra:
AggregateAndProof:
allOf:
- $ref: '#/Electra/Aggregate'
- type: object
required: [selection_proof]
properties:
selection_proof:
$ref: '../primitive.yaml#/Signature'

Aggregate:
type: object
description: "The [`AggregateAndProof`](https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/electra/validator.md#aggregateandproof) without selection_proof"
required: [aggregator_index, aggregate]
properties:
aggregator_index:
$ref: '../primitive.yaml#/Uint64'
aggregate:
$ref: './attestation.yaml#/Electra/Attestation'

SignedAggregateAndProof:
type: object
description: "The [`SignedAggregateAndProof`](https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/electra/validator.md#signedaggregateandproof) object"
required: [message, signature]
properties:
message:
$ref: "#/Electra/AggregateAndProof"
signature:
$ref: "../primitive.yaml#/Signature"

0 comments on commit 860584e

Please sign in to comment.