Skip to content

Add omission claims to Heze (EIP-7805) - #5698

Draft
Marchhill wants to merge 15 commits into
ethereum:masterfrom
Marchhill:inclusion-list-claims
Draft

Marchhill wants to merge 15 commits into
ethereum:masterfrom
Marchhill:inclusion-list-claims

Conversation

@Marchhill

@Marchhill Marchhill commented Sep 29, 2026 •

Copy link
Copy Markdown

Commits omission claims in payload bids and forwards their reveal with separate ILs in committee-position order. A VALID newPayload response carries a completed inclusion verdict, without a context ID or polling endpoint. Execution-sync retries retain the original inputs.

Unavailable verdicts use the empty-payload branch at the proposal-slot parent decision; slow honest checks remain a latency-benchmark requirement. Adds network-size headroom for the claim list and regression coverage for the local-build fallback.

Related: ethereum/EIPs#12394, ethereum/execution-apis#911, ethereum/execution-specs#3777.

@github-actions github-actions Bot added testing CI, actions, tests, testing infra heze labels Sep 29, 2026
@Marchhill Marchhill changed the title Add inclusion list claims for EIP-8369 profiles Add inclusion list claims to Heze (EIP-7805) Sep 29, 2026
@Marchhill Marchhill changed the title Add inclusion list claims to Heze (EIP-7805) Add omission claims to Heze (EIP-7805) Oct 13, 2026
Marchhill added a commit to NethermindEth/nethermind that referenced this pull request Oct 15, 2026
…nclusion checks

Brings Profile 2 and the Bogota engine API to ethereum/EIPs#12394 and #12396,
ethereum/execution-apis#911, ethereum/consensus-specs#5698 and
ethereum/execution-specs#3777.

- engine_newPayloadV6 and engine_newPayloadWithWitnessV6 take one inclusion
  list per committee position and omissionClaims {transactionHash,
  evaluationIndex}, replacing the flat list and its membership bitvectors.
  Each list is checked against its byte cap before deduplication; malformed
  lists or claims answer -32602.
- Inclusion is checked apart from execution. A VALID payload is answered at
  once with inclusionCheckId and the check's verdict, null while it is
  pending; engine_getInclusionListVerdictV1 polls it and answers -38007 for an
  unknown check. A check that cannot be decided is forgotten, not completed.
- engine_forkchoiceUpdatedV5 takes PayloadAttributesV5.inclusionLists and
  returns PayloadStatusV1. The retained-list answers and the queued-copy
  tracking kept for per-call lists are removed.
- engine_getPayloadV7 returns omissionClaims; the builder fills each list's
  VERIFY budget separately.
- The VERIFY fill runs per committee position over the separate lists.
- The pipeline records the gas used before each transaction whenever
  Profile 2 is active, for claims judged after execution.
- MAX_INCLUSION_LIST_CLAIMS is renamed MAX_OMISSION_CLAIMS.
Also apply make lint formatting to Heze files.
Retain upstream BeaconBlockBody changes alongside the omission-claim envelopes. Apply non-mutating missing-slot lookups to the per-list helper and extend the existing regression check.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

heze testing CI, actions, tests, testing infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant