-
Notifications
You must be signed in to change notification settings - Fork 175
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add getAggregatedAttestationV2 to support EIP-7549 (#447)
* getAggregatedAttestationV2 * Address comment * Add version header to response * Deprecate v1 api * Update changelog * Change ordering of attestation fields * Update spec reference --------- Co-authored-by: Nico Flaig <[email protected]>
- Loading branch information
Showing
5 changed files
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
get: | ||
operationId: "getAggregatedAttestationV2" | ||
summary: "Get aggregated attestation" | ||
description: | | ||
Aggregates all attestations matching given attestation data root, slot and committee index. | ||
A 503 error must be returned if the block identified by the response | ||
`beacon_block_root` is optimistic (i.e. the aggregated attestation attests | ||
to a block that has not been fully verified by an execution engine). | ||
A 404 error must be returned if no attestation is available for the requested | ||
`attestation_data_root`. | ||
tags: | ||
- ValidatorRequiredApi | ||
- Validator | ||
parameters: | ||
- name: attestation_data_root | ||
in: query | ||
required: true | ||
description: "HashTreeRoot of AttestationData that validator wants aggregated" | ||
schema: | ||
$ref: '../../beacon-node-oapi.yaml#/components/schemas/Root' | ||
- name: slot | ||
in: query | ||
required: true | ||
schema: | ||
$ref: '../../beacon-node-oapi.yaml#/components/schemas/Uint64' | ||
- name: committee_index | ||
in: query | ||
required: true | ||
schema: | ||
$ref: '../../beacon-node-oapi.yaml#/components/schemas/Uint64' | ||
responses: | ||
"200": | ||
description: "Returns aggregated `Attestation` object with same `AttestationData` root, slot and committee index." | ||
headers: | ||
Eth-Consensus-Version: | ||
$ref: '../../beacon-node-oapi.yaml#/components/headers/Eth-Consensus-Version' | ||
content: | ||
application/json: | ||
schema: | ||
title: GetAggregatedAttestationV2Response | ||
type: object | ||
required: [version, data] | ||
properties: | ||
version: | ||
type: string | ||
enum: [phase0, altair, bellatrix, capella, deneb, electra] | ||
example: "phase0" | ||
data: | ||
anyOf: | ||
- $ref: '../../beacon-node-oapi.yaml#/components/schemas/Attestation' | ||
- $ref: '../../beacon-node-oapi.yaml#/components/schemas/Electra.Attestation' | ||
"400": | ||
$ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' | ||
"404": | ||
$ref: '../../beacon-node-oapi.yaml#/components/responses/NotFound' | ||
"500": | ||
$ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
Electra: | ||
Attestation: | ||
type: object | ||
description: "The [`Attestation`](https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.3/specs/electra/beacon-chain.md#attestation) object from the CL spec." | ||
required: [aggregation_bits, data, signature, committee_bits] | ||
properties: | ||
aggregation_bits: | ||
$ref: "../primitive.yaml#/BitList" | ||
description: "Attester aggregation bits." | ||
data: | ||
$ref: "../attestation.yaml#/AttestationData" | ||
signature: | ||
$ref: "../primitive.yaml#/Signature" | ||
description: "BLS aggregate signature." | ||
committee_bits: | ||
$ref: "../primitive.yaml#/Bitvector" | ||
description: "Committee bits." | ||
example: "0x0000000000000000000000000000000000000000000000000000000000000001" |