Skip to content

feat(sentry): land execution_payload / _gossip SSE events (flat shape) - #868

Merged
samcm merged 2 commits into
release/gloasfrom
feat/flat-exec-payload
Jul 8, 2026
Merged

feat(sentry): land execution_payload / _gossip SSE events (flat shape)#868
samcm merged 2 commits into
release/gloasfrom
feat/flat-exec-payload

Conversation

@samcm

@samcm samcm commented Jul 8, 2026

Copy link
Copy Markdown
Member

The EIP-7732 execution_payload / execution_payload_gossip beacon-API events carry a flat payload summary (slot, builder_index, block_hash, block_root, execution_optimistic), not a full SignedExecutionPayloadEnvelope, so the sentry failed to parse them ("message missing") across all six CL clients and both tables stayed empty since the glamsterdam rollout. This repins go-eth2-client (#39) + beacon (#78) to decode the flat event, repoints the proto + handlers + route to it, and adds migration 009 reshaping the (empty) tables to match — dropping the vestigial state_root/slot_number columns and adding execution_optimistic to the non-gossip table.

Merge order is go-eth2-client#39 → beacon#78 → this, and migration 009 must deploy in lockstep with the consumoor image. Depends on ethpandaops/go-eth2-client#39, ethpandaops/beacon#78.

https://claude.ai/code/session_014KRVmYwRSsK5pFbghweigM

The EIP-7732 execution_payload and execution_payload_gossip beacon-API events
carry a flat payload summary — {slot, builder_index, block_hash, block_root,
execution_optimistic} — not a full SignedExecutionPayloadEnvelope (see
beacon-APIs apis/eventstream/index.yaml). The sentry decoded them as the full
envelope, so every event failed to parse ("message missing") across all six CL
clients and both tables stayed empty since the glamsterdam rollout.

- Repin go-eth2-client + beacon to the builds that decode the flat event into
  api/v1.ExecutionPayloadEvent and route it through the broker.
- New xatu proto ExecutionPayloadEvent; DecoratedEvent fields 249/255 repointed
  from SignedExecutionPayloadEnvelope to it.
- Rewrite both sentry handlers + route flatteners to the flat shape.
- Migration 009 reshapes the (empty) tables to match the event: drop the
  vestigial state_root + slot_number columns, add execution_optimistic to the
  execution_payload table (the gossip event omits it, so its table does too).

Regenerated route .gen.go + proto; snapshot tests pass against a live
ClickHouse and parse the real captured wire samples.

Claude-Session: https://claude.ai/code/session_014KRVmYwRSsK5pFbghweigM
@samcm
samcm marked this pull request as ready for review July 8, 2026 06:42
- Remove now-unused execution_payload_envelope.proto import (buf lint) — no
  DecoratedEvent field references SignedExecutionPayloadEnvelope anymore.
- Repin go-eth2-client + beacon to the merged #39/#78 commits.
- Bump quic-go v0.59.0 -> v0.59.1 (GO-2026-5676).

Claude-Session: https://claude.ai/code/session_014KRVmYwRSsK5pFbghweigM
@samcm
samcm merged commit 65a8fbe into release/gloas Jul 8, 2026
9 checks passed
@samcm
samcm deleted the feat/flat-exec-payload branch July 8, 2026 06:57
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.

1 participant