Skip to content

feat(l1): add payload witnesses to REST/SSZ Engine API - #7297

Draft
jsign wants to merge 2 commits into
lambdaclass:feat/engine-rest-ssz-793from
jsign:feat/engine-rest-payload-witness
Draft

jsign wants to merge 2 commits into
lambdaclass:feat/engine-rest-ssz-793from
jsign:feat/engine-rest-payload-witness

Conversation

@jsign

@jsign jsign commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Note: waiting for the underlying branch PR #6770 to merge first, so for now kept as a draft.

Motivation

Let provers and stateless validators submit a payload and receive its validation status and execution witness in one REST/SSZ request.

Description

Adds authenticated POST /engine/v1/payloads/witness and advertises it through capabilities, implementing execution-apis #885 at commit 40924d4 with support extended to Paris through Amsterdam.

  • Returns a complete witness for valid payloads, including repeated submissions, in a two-field SSZ response containing payload_status and witness.
  • Returns an empty witness list for other validation outcomes.
  • Collects witnesses during fresh execution and retrieves cached witnesses or regenerates them for known payloads.
  • Enforces witness limits: 1 KiB per state node or header, 64 KiB per code item, up to 1,048,576 items in each state/code list, and up to 256 ancestor headers.
  • Validates ancestor-header chains and fork/timestamp consistency.
  • Preserves existing JSON-RPC witness encoding and /payloads behavior.

Validation

  • cargo test -p ethrex-rpc --lib: 109 passed.
  • cargo test -p ethrex-test --test ethrex_tests rpc::engine_rest_tests: 105 passed, 1 existing test ignored.
  • cargo fmt --all --check and git diff --check passed.

@github-actions github-actions Bot added the external-contributor PR opened by a contributor outside the team label Sep 21, 2026
…gine API

Signed-off-by: jsign <jsign.uy@gmail.com>
@jsign
jsign force-pushed the feat/engine-rest-payload-witness branch from 572fc0a to 5330e0b Compare September 21, 2026 19:57
@jsign

jsign commented Sep 21, 2026

Copy link
Copy Markdown
Contributor Author

cc @iovoid for visibility -- I'll be tracking underlying #6770 and can re-base when appropiate.

@ilitteri ilitteri left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Retracted.

@jsign jsign changed the title feat(l1): add payload witnesses and sender public keys to REST/SSZ Engine API feat(l1): add payload witnesses to REST/SSZ Engine API Sep 25, 2026

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

external-contributor PR opened by a contributor outside the team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants