Skip to content

fix: parse Lighthouse execution_proofs response shape#641

Merged
barnabasbusa merged 3 commits intomasterfrom
bbusa/fix-execution-proofs-lighthouse-schema
Apr 15, 2026
Merged

fix: parse Lighthouse execution_proofs response shape#641
barnabasbusa merged 3 commits intomasterfrom
bbusa/fix-execution-proofs-lighthouse-schema

Conversation

@barnabasbusa
Copy link
Copy Markdown
Collaborator

Summary

  • The /eth/v1/beacon/execution_proofs/{block_root} Lighthouse endpoint returns each proof wrapped in a signed envelope ({message: {proof_type, proof_data, public_input}, validator_index, signature}) — not the flat {slot, block_hash, block_root, proof_data} shape Dora expected after Display optional execution proofs #593.
  • As a result every field unmarshalled empty, the slot page logged Error parsing proof slot error="strconv.ParseUint: parsing \"\": invalid syntax", and the proofs panel was always empty.
  • Restructured ExecutionProof to match Lighthouse, decode proof_data from hex, and source slot / block_root / block_hash from the slot page context (since the API doesn't include them).

Test plan

  • go build ./handlers/... ./clients/consensus/rpc/... ./types/...
  • Verified live response shape against a running Kurtosis enclave (cl-1-lighthouse-reth)
  • Load a slot with execution proofs in the UI and confirm the proofs panel renders without warnings

🤖 Generated with Claude Code

barnabasbusa and others added 3 commits April 15, 2026 13:05
The /eth/v1/beacon/execution_proofs/{block_root} endpoint returns each
proof wrapped in a signed envelope ({message: {proof_type, proof_data,
public_input}, validator_index, signature}) and does not include slot,
block_hash, or block_root. The previous struct expected those fields at
the top level, so every proof unmarshalled empty and tripped a
"strconv.ParseUint: parsing \"\"" warning, leaving the proofs panel
blank.

Match Lighthouse's actual schema, decode proof_data from hex, and source
slot/block_root/block_hash from the slot page context.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The `div` template helper requires float64 args, but `len` returns
int, so rendering any execution proof larger than 1 KB raised
"wrong type for value; expected float64; got int" and 500'd the
slot page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match the convention used for attestations, transactions, and other
slot-page tabs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@barnabasbusa barnabasbusa merged commit c92a066 into master Apr 15, 2026
4 checks passed
@barnabasbusa barnabasbusa deleted the bbusa/fix-execution-proofs-lighthouse-schema branch April 15, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants