From 6d13ffa11ee696cad2a041fff5e8d144cdb67b4b Mon Sep 17 00:00:00 2001 From: NC <17676176+ensi321@users.noreply.github.com> Date: Mon, 13 Jan 2025 18:23:08 -0800 Subject: [PATCH 01/19] Add IL related endpoints --- apis/validator/duties/inclusion_list.yaml | 56 ++++++++++++++++++++ apis/validator/inclusion_lists.yaml | 64 +++++++++++++++++++++++ beacon-node-oapi.yaml | 11 +++- types/focil/inclusion_list.yaml | 30 +++++++++++ types/validator.yaml | 14 +++++ 5 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 apis/validator/duties/inclusion_list.yaml create mode 100644 apis/validator/inclusion_lists.yaml create mode 100644 types/focil/inclusion_list.yaml diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml new file mode 100644 index 00000000..8e963538 --- /dev/null +++ b/apis/validator/duties/inclusion_list.yaml @@ -0,0 +1,56 @@ +post: + tags: + - ValidatorRequiredApi + - Validator + summary: "Get inclusion list committee duties" + operationId: "getInclusionListCommitteeDuties" + description: "Requests the beacon node to provide a set of inclusion list committee duties for a particular epoch." + parameters: + - name: epoch + description: "Should only be allowed 1 epoch ahead" + in: path + required: true + schema: + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/Uint64" + requestBody: + description: "An array of the validator indices for which to obtain the duties." + required: true + content: + application/json: + schema: + title: GetInclusionListCommitteeDutiesBody + type: array + minItems: 1 + items: + $ref: '../../../beacon-node-oapi.yaml#/components/schemas/Uint64' + responses: + "200": + description: Success response + content: + application/json: + schema: + title: GetInclusionListCommitteeDutiesResponse + type: object + required: [dependent_root, execution_optimistic, data] + properties: + dependent_root: + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/DependentRoot" + execution_optimistic: + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/ExecutionOptimistic" + data: + type: array + items: + $ref: '../../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionListDuty' + "400": + description: "Invalid epoch or index" + content: + application/json: + schema: + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage" + example: + code: 400 + message: "Invalid epoch: -2" + "500": + $ref: '../../../beacon-node-oapi.yaml#/components/responses/InternalError' + "503": + $ref: '../../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing' diff --git a/apis/validator/inclusion_lists.yaml b/apis/validator/inclusion_lists.yaml new file mode 100644 index 00000000..33d4a1cc --- /dev/null +++ b/apis/validator/inclusion_lists.yaml @@ -0,0 +1,64 @@ +get: + tags: + - ValidatorRequiredApi + - Validator + operationId: "produceInclusionLists" + summary: "Produce inclusion lists" + description: Requests that the beacon node produce multiple InclusionList. + parameters: + - name: slot + in: query + required: true + description: "The slot for which an inclusion list should be created." + schema: + $ref: ../../beacon-node-oapi.yaml#/components/schemas/Uint64 + - name: validator_indices + in: query + description: "Array of validator indices for which inclusion lists should be created." + required: true + schema: + type: array + uniqueItems: true + items: + $ref: '../../beacon-node-oapi.yaml#/components/schemas/Uint64' + responses: + "200": + description: Success response + content: + application/json: + schema: + title: ProduceInclusionListResponse + type: object + required: [data] + properties: + data: + $ref: '../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionLists' + "400": + $ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' + "500": + $ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError' + "503": + $ref: '../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing' + +post: + tags: + - ValidatorRequiredApi + - Validator + operationId: "publishInclusionLists" + summary: "Publish multiple inclusion lists" + description: "Verifies given inclusion lists and publishes them on appropriate gossipsub topic." + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '../../beacon-node-oapi.yaml#/components/schemas/SignedInclusionList' + responses: + "200": + description: "Successful response" + "400": + $ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' + "500": + $ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError' diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index e364456b..654e6f96 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -184,6 +184,8 @@ paths: $ref: "./apis/validator/duties/proposer.yaml" /eth/v1/validator/duties/sync/{epoch}: $ref: "./apis/validator/duties/sync.yaml" + /eth/v1/validator/duties/inclusion_list/{epoch}: + $ref: "./apis/validator/duties/inclusion_list.yaml" /eth/v2/validator/blocks/{slot}: $ref: "./apis/validator/block.v2.yaml" /eth/v3/validator/blocks/{slot}: @@ -218,7 +220,8 @@ paths: $ref: "./apis/validator/register_validator.yaml" /eth/v1/validator/liveness/{epoch}: $ref: "./apis/validator/liveness.yaml" - + /eth/v1/validator/inclusion_list: + $ref: "./apis/validator/inclusion_lists.yaml" /eth/v1/events: $ref: "./apis/eventstream/index.yaml" @@ -261,6 +264,8 @@ components: $ref: './types/validator.yaml#/ProposerDuty' Altair.SyncDuty: $ref: './types/validator.yaml#/Altair/SyncDuty' + Focil.InclusionListDuty: + $ref: './types/validator.yaml#/Focil/InclusionListDuty' SignedAggregateAndProof: $ref: './types/validator.yaml#/SignedAggregateAndProof' Attestation: @@ -427,6 +432,10 @@ components: $ref: './types/electra/light_client.yaml#/Electra/LightClientFinalityUpdate' Electra.LightClientOptimisticUpdate: $ref: './types/electra/light_client.yaml#/Electra/LightClientOptimisticUpdate' + Focil.InclusionLists: + $ref: './types/focil/inclusion_list.yaml#/Focil/InclusionLists' + Focil.SignedInclusionList: + $ref: './types/focil/inclusion_list.yaml#/Focil/SignedInclusionList' Node: $ref: './types/fork_choice.yaml#/Node' ExtraData: diff --git a/types/focil/inclusion_list.yaml b/types/focil/inclusion_list.yaml new file mode 100644 index 00000000..e7c90865 --- /dev/null +++ b/types/focil/inclusion_list.yaml @@ -0,0 +1,30 @@ +Focil: + InclusionLists: + type: array + items: + $ref: '#/Focil/InclusionList' + minItems: 1 + + SignedInclusionList: + type: object + description: "The [`SignedInclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#signedinclusionlist) object from the CL spec." + required: [message, signature] + properties: + message: + $ref: "#/Focil/InclusionList" + signature: + $ref: '../primitive.yaml#/Signature' + + InclusionList: + type: object + description: "The [`InclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#inclusionlist) object from the CL spec." + required: [slot, validator_index, inclusion_list_committee_root, transactions] + properties: + slot: + $ref: "../primitive.yaml#/Uint64" + validator_index: + $ref: "../primitive.yaml#/Uint64" + inclusion_list_committee_root: + $ref: '../primitive.yaml#/Root' + transactions: + $ref: '../bellatrix/transactions.yaml#/Bellatrix/Transactions' diff --git a/types/validator.yaml b/types/validator.yaml index bcb60fd2..f738f6d1 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -111,3 +111,17 @@ SignedAggregateAndProof: $ref: "#/AggregateAndProof" signature: $ref: "./primitive.yaml#/Signature" + +Focil: + InclusionListDuty: + type: object + required: [pubkey, validator_index, slot] + properties: + pubkey: + $ref: './primitive.yaml#/Pubkey' + validator_index: + $ref: "./primitive.yaml#/Uint64" + description: "Index of validator in validator registry." + slot: + $ref: "./primitive.yaml#/Uint64" + description: "The slot at which the validator must propose inclusion list." From da49591853f5572f50681c82c46adb77842990e3 Mon Sep 17 00:00:00 2001 From: NC <17676176+ensi321@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:33:38 -0800 Subject: [PATCH 02/19] Update types/validator.yaml Co-authored-by: Nico Flaig --- types/validator.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/validator.yaml b/types/validator.yaml index f738f6d1..a1c7f6c6 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -124,4 +124,4 @@ Focil: description: "Index of validator in validator registry." slot: $ref: "./primitive.yaml#/Uint64" - description: "The slot at which the validator must propose inclusion list." + description: "The slot at which the validator must propose an inclusion list." From 8a898350947bec91e73ba46ee8f7eb66ac653d1e Mon Sep 17 00:00:00 2001 From: NC <17676176+ensi321@users.noreply.github.com> Date: Wed, 15 Jan 2025 21:28:19 -0800 Subject: [PATCH 03/19] Remove multiple ILs support on endpoints --- ...clusion_lists.yaml => inclusion_list.yaml} | 31 +++++++------------ beacon-node-oapi.yaml | 6 ++-- types/focil/inclusion_list.yaml | 6 ---- 3 files changed, 15 insertions(+), 28 deletions(-) rename apis/validator/{inclusion_lists.yaml => inclusion_list.yaml} (61%) diff --git a/apis/validator/inclusion_lists.yaml b/apis/validator/inclusion_list.yaml similarity index 61% rename from apis/validator/inclusion_lists.yaml rename to apis/validator/inclusion_list.yaml index 33d4a1cc..31315aad 100644 --- a/apis/validator/inclusion_lists.yaml +++ b/apis/validator/inclusion_list.yaml @@ -2,9 +2,9 @@ get: tags: - ValidatorRequiredApi - Validator - operationId: "produceInclusionLists" - summary: "Produce inclusion lists" - description: Requests that the beacon node produce multiple InclusionList. + operationId: "produceInclusionList" + summary: "Produce an inclusion list" + description: Requests that the beacon node produce an InclusionList. parameters: - name: slot in: query @@ -12,15 +12,6 @@ get: description: "The slot for which an inclusion list should be created." schema: $ref: ../../beacon-node-oapi.yaml#/components/schemas/Uint64 - - name: validator_indices - in: query - description: "Array of validator indices for which inclusion lists should be created." - required: true - schema: - type: array - uniqueItems: true - items: - $ref: '../../beacon-node-oapi.yaml#/components/schemas/Uint64' responses: "200": description: Success response @@ -32,7 +23,7 @@ get: required: [data] properties: data: - $ref: '../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionLists' + $ref: '../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionList' "400": $ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' "500": @@ -44,17 +35,19 @@ post: tags: - ValidatorRequiredApi - Validator - operationId: "publishInclusionLists" - summary: "Publish multiple inclusion lists" - description: "Verifies given inclusion lists and publishes them on appropriate gossipsub topic." + operationId: "publishInclusionList" + summary: "Publish an inclusion list" + description: "Verifies given an inclusion list and publishes them on appropriate gossipsub topic." requestBody: required: true content: application/json: schema: - type: array - items: - $ref: '../../beacon-node-oapi.yaml#/components/schemas/SignedInclusionList' + type: object + required: [data] + properties: + data: + $ref: '../../beacon-node-oapi.yaml#/components/schemas/SignedInclusionList' responses: "200": description: "Successful response" diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index 654e6f96..c3370b83 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -221,7 +221,7 @@ paths: /eth/v1/validator/liveness/{epoch}: $ref: "./apis/validator/liveness.yaml" /eth/v1/validator/inclusion_list: - $ref: "./apis/validator/inclusion_lists.yaml" + $ref: "./apis/validator/inclusion_list.yaml" /eth/v1/events: $ref: "./apis/eventstream/index.yaml" @@ -432,8 +432,8 @@ components: $ref: './types/electra/light_client.yaml#/Electra/LightClientFinalityUpdate' Electra.LightClientOptimisticUpdate: $ref: './types/electra/light_client.yaml#/Electra/LightClientOptimisticUpdate' - Focil.InclusionLists: - $ref: './types/focil/inclusion_list.yaml#/Focil/InclusionLists' + Focil.InclusionList: + $ref: './types/focil/inclusion_list.yaml#/Focil/InclusionList' Focil.SignedInclusionList: $ref: './types/focil/inclusion_list.yaml#/Focil/SignedInclusionList' Node: diff --git a/types/focil/inclusion_list.yaml b/types/focil/inclusion_list.yaml index e7c90865..c42f5c9b 100644 --- a/types/focil/inclusion_list.yaml +++ b/types/focil/inclusion_list.yaml @@ -1,10 +1,4 @@ Focil: - InclusionLists: - type: array - items: - $ref: '#/Focil/InclusionList' - minItems: 1 - SignedInclusionList: type: object description: "The [`SignedInclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#signedinclusionlist) object from the CL spec." From 699e7f8c73f102ae783b220126b0c2705a80c34b Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 11:23:00 +0000 Subject: [PATCH 04/19] Add note about chain reorgs to duties endpoint --- apis/validator/duties/inclusion_list.yaml | 26 ++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml index 8e963538..ac4efaba 100644 --- a/apis/validator/duties/inclusion_list.yaml +++ b/apis/validator/duties/inclusion_list.yaml @@ -4,7 +4,23 @@ post: - Validator summary: "Get inclusion list committee duties" operationId: "getInclusionListCommitteeDuties" - description: "Requests the beacon node to provide a set of inclusion list committee duties for a particular epoch." + description: + "Requests the beacon node to provide a set of inclusion list committee duties for a particular epoch. + + Duties should only need to be checked once per epoch, + however a chain reorganization (of > MIN_SEED_LOOKAHEAD epochs) could occur, + resulting in a change of duties. For full safety, you should monitor head events and confirm the + dependent root in this response matches: + + - event.previous_duty_dependent_root when `compute_epoch_at_slot(event.slot) == epoch` + + - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) + 1 == epoch` + + - event.block otherwise + + + The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)` + or the genesis block root in the case of underflow." parameters: - name: epoch description: "Should only be allowed 1 epoch ahead" @@ -22,7 +38,7 @@ post: type: array minItems: 1 items: - $ref: '../../../beacon-node-oapi.yaml#/components/schemas/Uint64' + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/Uint64" responses: "200": description: Success response @@ -40,7 +56,7 @@ post: data: type: array items: - $ref: '../../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionListDuty' + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionListDuty" "400": description: "Invalid epoch or index" content: @@ -51,6 +67,6 @@ post: code: 400 message: "Invalid epoch: -2" "500": - $ref: '../../../beacon-node-oapi.yaml#/components/responses/InternalError' + $ref: "../../../beacon-node-oapi.yaml#/components/responses/InternalError" "503": - $ref: '../../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing' + $ref: "../../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing" From 38de0761062cff4d6acab93b4922a60d335b5b82 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 11:31:27 +0000 Subject: [PATCH 05/19] Fix lint errors --- apis/validator/inclusion_list.yaml | 14 +++++++------- types/focil/inclusion_list.yaml | 24 ++++++++++++------------ types/validator.yaml | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index 31315aad..a6bb1fab 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -23,13 +23,13 @@ get: required: [data] properties: data: - $ref: '../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionList' + $ref: "../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionList" "400": - $ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' + $ref: "../../beacon-node-oapi.yaml#/components/responses/InvalidRequest" "500": - $ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError' + $ref: "../../beacon-node-oapi.yaml#/components/responses/InternalError" "503": - $ref: '../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing' + $ref: "../../beacon-node-oapi.yaml#/components/responses/CurrentlySyncing" post: tags: @@ -47,11 +47,11 @@ post: required: [data] properties: data: - $ref: '../../beacon-node-oapi.yaml#/components/schemas/SignedInclusionList' + $ref: "../../beacon-node-oapi.yaml#/components/schemas/Focil.SignedInclusionList" responses: "200": description: "Successful response" "400": - $ref: '../../beacon-node-oapi.yaml#/components/responses/InvalidRequest' + $ref: "../../beacon-node-oapi.yaml#/components/responses/InvalidRequest" "500": - $ref: '../../beacon-node-oapi.yaml#/components/responses/InternalError' + $ref: "../../beacon-node-oapi.yaml#/components/responses/InternalError" diff --git a/types/focil/inclusion_list.yaml b/types/focil/inclusion_list.yaml index c42f5c9b..1bb6e85b 100644 --- a/types/focil/inclusion_list.yaml +++ b/types/focil/inclusion_list.yaml @@ -1,14 +1,4 @@ Focil: - SignedInclusionList: - type: object - description: "The [`SignedInclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#signedinclusionlist) object from the CL spec." - required: [message, signature] - properties: - message: - $ref: "#/Focil/InclusionList" - signature: - $ref: '../primitive.yaml#/Signature' - InclusionList: type: object description: "The [`InclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#inclusionlist) object from the CL spec." @@ -19,6 +9,16 @@ Focil: validator_index: $ref: "../primitive.yaml#/Uint64" inclusion_list_committee_root: - $ref: '../primitive.yaml#/Root' + $ref: "../primitive.yaml#/Root" transactions: - $ref: '../bellatrix/transactions.yaml#/Bellatrix/Transactions' + $ref: "../bellatrix/transactions.yaml#/Bellatrix/Transactions" + + SignedInclusionList: + type: object + description: "The [`SignedInclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#signedinclusionlist) object from the CL spec." + required: [message, signature] + properties: + message: + $ref: "#/Focil/InclusionList" + signature: + $ref: "../primitive.yaml#/Signature" diff --git a/types/validator.yaml b/types/validator.yaml index a1c7f6c6..f3451fa8 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -118,7 +118,7 @@ Focil: required: [pubkey, validator_index, slot] properties: pubkey: - $ref: './primitive.yaml#/Pubkey' + $ref: "./primitive.yaml#/Pubkey" validator_index: $ref: "./primitive.yaml#/Uint64" description: "Index of validator in validator registry." From 625d5d7e5ad73e3aaaf5f1b5c44aca2bd929c9da Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 11:38:35 +0000 Subject: [PATCH 06/19] Update endpoint descriptions --- apis/validator/inclusion_list.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index a6bb1fab..dabc65d6 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -4,7 +4,7 @@ get: - Validator operationId: "produceInclusionList" summary: "Produce an inclusion list" - description: Requests that the beacon node produce an InclusionList. + description: Requests the beacon node to produce an inclusion list. parameters: - name: slot in: query @@ -37,7 +37,7 @@ post: - Validator operationId: "publishInclusionList" summary: "Publish an inclusion list" - description: "Verifies given an inclusion list and publishes them on appropriate gossipsub topic." + description: "Verifies given inclusion list and publishes it on appropriate gossipsub topic." requestBody: required: true content: From f1b92e288687c387f4b93753a9ae00dfad8e816d Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 11:55:48 +0000 Subject: [PATCH 07/19] Make inclusion endpoints fork-aware to be forward compatible --- apis/validator/inclusion_list.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index dabc65d6..cbb33c75 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -15,13 +15,20 @@ get: responses: "200": description: Success response + headers: + Eth-Consensus-Version: + $ref: "../../beacon-node-oapi.yaml#/components/headers/Eth-Consensus-Version" content: application/json: schema: title: ProduceInclusionListResponse type: object - required: [data] + required: [version, data] properties: + version: + type: string + enum: [phase0, altair, bellatrix, capella, deneb, electra, focil] + example: "focil" data: $ref: "../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionList" "400": @@ -38,6 +45,13 @@ post: operationId: "publishInclusionList" summary: "Publish an inclusion list" description: "Verifies given inclusion list and publishes it on appropriate gossipsub topic." + parameters: + - in: header + schema: + $ref: "../../beacon-node-oapi.yaml#/components/schemas/ConsensusVersion" + required: true + name: Eth-Consensus-Version + description: "The active consensus version to which the inclusion list being submitted belongs." requestBody: required: true content: From 08626c85556c18f7181ff9166a5915dab592a296 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 12:04:40 +0000 Subject: [PATCH 08/19] Add inclusion_list event --- apis/eventstream/index.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apis/eventstream/index.yaml b/apis/eventstream/index.yaml index 825a9225..ca4c7501 100644 --- a/apis/eventstream/index.yaml +++ b/apis/eventstream/index.yaml @@ -38,6 +38,7 @@ get: - light_client_optimistic_update - payload_attributes - blob_sidecar + - inclusion_list responses: "200": description: Opened SSE stream. @@ -152,6 +153,11 @@ get: value: | event: blob_sidecar data: {"block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "index": "1", "slot": "1", "kzg_commitment": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505", "versioned_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"} + inclusion_list: + description: The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic + value: | + event: inclusion_list + data: {"version": "focil", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} "400": description: "The topics supplied could not be parsed" content: From 7daae4520d05f83d5d7a8c1ce7a7d37a07bae181 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 12:06:26 +0000 Subject: [PATCH 09/19] Add focil to word list --- wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/wordlist.txt b/wordlist.txt index bfb27ac7..fd5524f4 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -36,3 +36,4 @@ KZGProof KZGProofs KZGCommitmentInclusionProof LMD +focil From 3e6c25ef3b2836063255cfd8d5a435d7e47fc8b7 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 12:50:17 +0000 Subject: [PATCH 10/19] Tag new inclusion list endpoint / event as Experimental --- apis/eventstream/index.yaml | 2 +- apis/validator/duties/inclusion_list.yaml | 3 +-- apis/validator/inclusion_list.yaml | 6 ++---- beacon-node-oapi.yaml | 3 +++ 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apis/eventstream/index.yaml b/apis/eventstream/index.yaml index ca4c7501..f9b690ec 100644 --- a/apis/eventstream/index.yaml +++ b/apis/eventstream/index.yaml @@ -154,7 +154,7 @@ get: event: blob_sidecar data: {"block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "index": "1", "slot": "1", "kzg_commitment": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505", "versioned_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"} inclusion_list: - description: The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic + description: (Experimental) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic value: | event: inclusion_list data: {"version": "focil", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml index ac4efaba..d5373aa2 100644 --- a/apis/validator/duties/inclusion_list.yaml +++ b/apis/validator/duties/inclusion_list.yaml @@ -1,7 +1,6 @@ post: tags: - - ValidatorRequiredApi - - Validator + - Experimental summary: "Get inclusion list committee duties" operationId: "getInclusionListCommitteeDuties" description: diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index cbb33c75..6e05258a 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -1,7 +1,6 @@ get: tags: - - ValidatorRequiredApi - - Validator + - Experimental operationId: "produceInclusionList" summary: "Produce an inclusion list" description: Requests the beacon node to produce an inclusion list. @@ -40,8 +39,7 @@ get: post: tags: - - ValidatorRequiredApi - - Validator + - Experimental operationId: "publishInclusionList" summary: "Publish an inclusion list" description: "Verifies given inclusion list and publishes it on appropriate gossipsub topic." diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index c3370b83..ba694b1f 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -64,6 +64,8 @@ tags: [Checkout validator flow](./validator-flow.md) to learn how to use this api. - name: Rewards description: Endpoints to query rewards and penalties for validators. + - name: Experimental + description: Endpoints associated with new EIPs that are not yet included in a hard fork. paths: @@ -222,6 +224,7 @@ paths: $ref: "./apis/validator/liveness.yaml" /eth/v1/validator/inclusion_list: $ref: "./apis/validator/inclusion_list.yaml" + /eth/v1/events: $ref: "./apis/eventstream/index.yaml" From 58125b7e0657dbb2490012246bfabf15f24cdeb0 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 13:02:48 +0000 Subject: [PATCH 11/19] Add EIPs to word list --- wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/wordlist.txt b/wordlist.txt index fd5524f4..c3068cb7 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -36,4 +36,5 @@ KZGProof KZGProofs KZGCommitmentInclusionProof LMD +EIPs focil From b82eaf152555e4717f8e721adb9c372ae296da18 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Mon, 27 Jan 2025 22:57:27 +0000 Subject: [PATCH 12/19] Rename tag from Experimental to Draft --- apis/eventstream/index.yaml | 2 +- apis/validator/duties/inclusion_list.yaml | 2 +- apis/validator/inclusion_list.yaml | 4 ++-- beacon-node-oapi.yaml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apis/eventstream/index.yaml b/apis/eventstream/index.yaml index f9b690ec..9a8c9c8d 100644 --- a/apis/eventstream/index.yaml +++ b/apis/eventstream/index.yaml @@ -154,7 +154,7 @@ get: event: blob_sidecar data: {"block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "index": "1", "slot": "1", "kzg_commitment": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505", "versioned_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"} inclusion_list: - description: (Experimental) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic + description: (Draft) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic value: | event: inclusion_list data: {"version": "focil", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml index d5373aa2..fa5ada94 100644 --- a/apis/validator/duties/inclusion_list.yaml +++ b/apis/validator/duties/inclusion_list.yaml @@ -1,6 +1,6 @@ post: tags: - - Experimental + - Draft summary: "Get inclusion list committee duties" operationId: "getInclusionListCommitteeDuties" description: diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index 6e05258a..c83c0e9f 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -1,6 +1,6 @@ get: tags: - - Experimental + - Draft operationId: "produceInclusionList" summary: "Produce an inclusion list" description: Requests the beacon node to produce an inclusion list. @@ -39,7 +39,7 @@ get: post: tags: - - Experimental + - Draft operationId: "publishInclusionList" summary: "Publish an inclusion list" description: "Verifies given inclusion list and publishes it on appropriate gossipsub topic." diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index ba694b1f..7697b2ea 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -64,7 +64,7 @@ tags: [Checkout validator flow](./validator-flow.md) to learn how to use this api. - name: Rewards description: Endpoints to query rewards and penalties for validators. - - name: Experimental + - name: Draft description: Endpoints associated with new EIPs that are not yet included in a hard fork. paths: From 4ded861accf3e9ec1c7fb02f0db99b41b8bcef53 Mon Sep 17 00:00:00 2001 From: NC <17676176+ensi321@users.noreply.github.com> Date: Tue, 28 Jan 2025 06:41:38 -0800 Subject: [PATCH 13/19] Simplifies produceInclusionList. Move ILC root to ILC duty --- apis/validator/inclusion_list.yaml | 2 +- beacon-node-oapi.yaml | 2 ++ types/validator.yaml | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index c83c0e9f..4ce08b18 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -29,7 +29,7 @@ get: enum: [phase0, altair, bellatrix, capella, deneb, electra, focil] example: "focil" data: - $ref: "../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionList" + $ref: "../../beacon-node-oapi.yaml#/components/schemas/Bellatrix.Transactions" "400": $ref: "../../beacon-node-oapi.yaml#/components/responses/InvalidRequest" "500": diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index 7697b2ea..cf7eadeb 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -355,6 +355,8 @@ components: $ref: './types/bellatrix/block.yaml#/Bellatrix/BlindedBeaconBlock' Bellatrix.SignedBlindedBeaconBlock: $ref: './types/bellatrix/block.yaml#/Bellatrix/SignedBlindedBeaconBlock' + Bellatrix.Transactions: + $ref: './types/bellatrix/transactions.yaml#/Bellatrix/Transactions' ConsensusVersion: type: string enum: [phase0, altair, bellatrix, capella, deneb, electra] diff --git a/types/validator.yaml b/types/validator.yaml index f3451fa8..3e04f286 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -115,7 +115,7 @@ SignedAggregateAndProof: Focil: InclusionListDuty: type: object - required: [pubkey, validator_index, slot] + required: [pubkey, validator_index, slot, inclusion_list_committee_root] properties: pubkey: $ref: "./primitive.yaml#/Pubkey" @@ -125,3 +125,6 @@ Focil: slot: $ref: "./primitive.yaml#/Uint64" description: "The slot at which the validator must propose an inclusion list." + inclusion_list_committee_root: + $ref: "./primitive.yaml#/Root" + description: "The root of inclusion list committee that the duty is part of" From 94e1f2c632916887fc780f038d60512b362c6e6a Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 28 Jan 2025 22:55:25 +0000 Subject: [PATCH 14/19] Update description --- types/validator.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/validator.yaml b/types/validator.yaml index 3e04f286..76bfa6d6 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -127,4 +127,4 @@ Focil: description: "The slot at which the validator must propose an inclusion list." inclusion_list_committee_root: $ref: "./primitive.yaml#/Root" - description: "The root of inclusion list committee that the duty is part of" + description: "The root of inclusion list committee that the validator is part of." From f42c53307db1988203516e5f69c254eb36051552 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 28 Jan 2025 23:00:05 +0000 Subject: [PATCH 15/19] Remove version meta, shouldn't be required if it's jsut a list of txs --- apis/validator/inclusion_list.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index 4ce08b18..7a9fded9 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -14,20 +14,13 @@ get: responses: "200": description: Success response - headers: - Eth-Consensus-Version: - $ref: "../../beacon-node-oapi.yaml#/components/headers/Eth-Consensus-Version" content: application/json: schema: title: ProduceInclusionListResponse type: object - required: [version, data] + required: [data] properties: - version: - type: string - enum: [phase0, altair, bellatrix, capella, deneb, electra, focil] - example: "focil" data: $ref: "../../beacon-node-oapi.yaml#/components/schemas/Bellatrix.Transactions" "400": From aa63c0983c4ddb3815a4c560f82f9d08acf94e3f Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 4 Feb 2025 14:20:54 +0000 Subject: [PATCH 16/19] Use eip7805 instead of focil as fork name --- apis/eventstream/index.yaml | 2 +- apis/validator/duties/inclusion_list.yaml | 2 +- apis/validator/inclusion_list.yaml | 2 +- beacon-node-oapi.yaml | 12 ++++++------ types/{focil => eip7805}/inclusion_list.yaml | 4 ++-- types/validator.yaml | 2 +- wordlist.txt | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) rename types/{focil => eip7805}/inclusion_list.yaml (95%) diff --git a/apis/eventstream/index.yaml b/apis/eventstream/index.yaml index 9a8c9c8d..24c6e65b 100644 --- a/apis/eventstream/index.yaml +++ b/apis/eventstream/index.yaml @@ -157,7 +157,7 @@ get: description: (Draft) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic value: | event: inclusion_list - data: {"version": "focil", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} + data: {"version": "eip7805", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} "400": description: "The topics supplied could not be parsed" content: diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml index fa5ada94..4ec6f954 100644 --- a/apis/validator/duties/inclusion_list.yaml +++ b/apis/validator/duties/inclusion_list.yaml @@ -55,7 +55,7 @@ post: data: type: array items: - $ref: "../../../beacon-node-oapi.yaml#/components/schemas/Focil.InclusionListDuty" + $ref: "../../../beacon-node-oapi.yaml#/components/schemas/EIP7805.InclusionListDuty" "400": description: "Invalid epoch or index" content: diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index 7a9fded9..33dba7ab 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -52,7 +52,7 @@ post: required: [data] properties: data: - $ref: "../../beacon-node-oapi.yaml#/components/schemas/Focil.SignedInclusionList" + $ref: "../../beacon-node-oapi.yaml#/components/schemas/EIP7805.SignedInclusionList" responses: "200": description: "Successful response" diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index cf7eadeb..e89c5ff5 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -267,8 +267,8 @@ components: $ref: './types/validator.yaml#/ProposerDuty' Altair.SyncDuty: $ref: './types/validator.yaml#/Altair/SyncDuty' - Focil.InclusionListDuty: - $ref: './types/validator.yaml#/Focil/InclusionListDuty' + EIP7805.InclusionListDuty: + $ref: './types/validator.yaml#/EIP7805/InclusionListDuty' SignedAggregateAndProof: $ref: './types/validator.yaml#/SignedAggregateAndProof' Attestation: @@ -437,10 +437,10 @@ components: $ref: './types/electra/light_client.yaml#/Electra/LightClientFinalityUpdate' Electra.LightClientOptimisticUpdate: $ref: './types/electra/light_client.yaml#/Electra/LightClientOptimisticUpdate' - Focil.InclusionList: - $ref: './types/focil/inclusion_list.yaml#/Focil/InclusionList' - Focil.SignedInclusionList: - $ref: './types/focil/inclusion_list.yaml#/Focil/SignedInclusionList' + EIP7805.InclusionList: + $ref: './types/eip7805/inclusion_list.yaml#/EIP7805/InclusionList' + EIP7805.SignedInclusionList: + $ref: './types/eip7805/inclusion_list.yaml#/EIP7805/SignedInclusionList' Node: $ref: './types/fork_choice.yaml#/Node' ExtraData: diff --git a/types/focil/inclusion_list.yaml b/types/eip7805/inclusion_list.yaml similarity index 95% rename from types/focil/inclusion_list.yaml rename to types/eip7805/inclusion_list.yaml index 1bb6e85b..f9e4d39b 100644 --- a/types/focil/inclusion_list.yaml +++ b/types/eip7805/inclusion_list.yaml @@ -1,4 +1,4 @@ -Focil: +EIP7805: InclusionList: type: object description: "The [`InclusionList`](https://github.com/ethereum/consensus-specs/blob/702b9e5c320d5e35bc49d45f07bfc0db7565ec88/specs/_features/eip7805/beacon-chain.md#inclusionlist) object from the CL spec." @@ -19,6 +19,6 @@ Focil: required: [message, signature] properties: message: - $ref: "#/Focil/InclusionList" + $ref: "#/EIP7805/InclusionList" signature: $ref: "../primitive.yaml#/Signature" diff --git a/types/validator.yaml b/types/validator.yaml index 76bfa6d6..22eed368 100644 --- a/types/validator.yaml +++ b/types/validator.yaml @@ -112,7 +112,7 @@ SignedAggregateAndProof: signature: $ref: "./primitive.yaml#/Signature" -Focil: +EIP7805: InclusionListDuty: type: object required: [pubkey, validator_index, slot, inclusion_list_committee_root] diff --git a/wordlist.txt b/wordlist.txt index c3068cb7..f1c73d5a 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -37,4 +37,4 @@ KZGProofs KZGCommitmentInclusionProof LMD EIPs -focil +eip7805 From 177145ee8be9fbf70c84431f7a3106085bb6fb51 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 4 Feb 2025 14:24:46 +0000 Subject: [PATCH 17/19] Use EIP-7805 as tag to separate new apis --- apis/eventstream/index.yaml | 2 +- apis/validator/duties/inclusion_list.yaml | 2 +- apis/validator/inclusion_list.yaml | 4 ++-- beacon-node-oapi.yaml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apis/eventstream/index.yaml b/apis/eventstream/index.yaml index 24c6e65b..904463b3 100644 --- a/apis/eventstream/index.yaml +++ b/apis/eventstream/index.yaml @@ -154,7 +154,7 @@ get: event: blob_sidecar data: {"block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "index": "1", "slot": "1", "kzg_commitment": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505", "versioned_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"} inclusion_list: - description: (Draft) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic + description: (EIP-7805) The node has received a SignedInclusionList (from P2P or API) that passes validation rules of the `inclusion_list` topic value: | event: inclusion_list data: {"version": "eip7805", "data": {"message": {"slot": "0", "validator_index": "0", "inclusion_list_committee_root": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": ["0x0000000000000000000000000000000000000000000000000000000000000000"]}, "signature": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}} diff --git a/apis/validator/duties/inclusion_list.yaml b/apis/validator/duties/inclusion_list.yaml index 4ec6f954..86cb858b 100644 --- a/apis/validator/duties/inclusion_list.yaml +++ b/apis/validator/duties/inclusion_list.yaml @@ -1,6 +1,6 @@ post: tags: - - Draft + - EIP-7805 summary: "Get inclusion list committee duties" operationId: "getInclusionListCommitteeDuties" description: diff --git a/apis/validator/inclusion_list.yaml b/apis/validator/inclusion_list.yaml index 33dba7ab..26973b63 100644 --- a/apis/validator/inclusion_list.yaml +++ b/apis/validator/inclusion_list.yaml @@ -1,6 +1,6 @@ get: tags: - - Draft + - EIP-7805 operationId: "produceInclusionList" summary: "Produce an inclusion list" description: Requests the beacon node to produce an inclusion list. @@ -32,7 +32,7 @@ get: post: tags: - - Draft + - EIP-7805 operationId: "publishInclusionList" summary: "Publish an inclusion list" description: "Verifies given inclusion list and publishes it on appropriate gossipsub topic." diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index e89c5ff5..260ded2e 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -64,8 +64,8 @@ tags: [Checkout validator flow](./validator-flow.md) to learn how to use this api. - name: Rewards description: Endpoints to query rewards and penalties for validators. - - name: Draft - description: Endpoints associated with new EIPs that are not yet included in a hard fork. + - name: EIP-7805 + description: Endpoints required for EIP-7805 Fork-choice enforced Inclusion Lists (FOCIL) paths: From 272fe30cec85823f82a1f5ccb9f227cd34d67cd9 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 4 Feb 2025 14:44:24 +0000 Subject: [PATCH 18/19] Update word list --- wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/wordlist.txt b/wordlist.txt index f1c73d5a..8cd87654 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -37,4 +37,5 @@ KZGProofs KZGCommitmentInclusionProof LMD EIPs +FOCIL eip7805 From 99a184b71144e1f56e4d1bdaafdf628f783b2762 Mon Sep 17 00:00:00 2001 From: Nico Flaig Date: Tue, 4 Feb 2025 14:55:41 +0000 Subject: [PATCH 19/19] Update tag description --- beacon-node-oapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon-node-oapi.yaml b/beacon-node-oapi.yaml index de773434..b49ba79d 100644 --- a/beacon-node-oapi.yaml +++ b/beacon-node-oapi.yaml @@ -65,7 +65,7 @@ tags: - name: Rewards description: Endpoints to query rewards and penalties for validators. - name: EIP-7805 - description: Endpoints required for EIP-7805 Fork-choice enforced Inclusion Lists (FOCIL) + description: "Endpoints required for EIP-7805: Fork-choice enforced Inclusion Lists (FOCIL)" paths: