Skip to content

fix(http): reroute SingleAttestation payloads on the attestation topic#26

Open
samcm wants to merge 2 commits into
masterfrom
fix/attestation-single-fallback
Open

fix(http): reroute SingleAttestation payloads on the attestation topic#26
samcm wants to merge 2 commits into
masterfrom
fix/attestation-single-fallback

Conversation

@samcm
Copy link
Copy Markdown
Member

@samcm samcm commented May 14, 2026

Grandine post-Electra emits SingleAttestation JSON on the attestation SSE topic (instead of single_attestation), which triggers a constant stream of Failed to parse attestation: aggregation bits missing errors at xatu-sentry and drops every event. This change detects the SingleAttestation shape on parse failure and dispatches via the existing handleSingleAttestationEvent, so consumers keep getting the events and the error spam stops.

  • New isSingleAttestationPayload probes for attester_index in the JSON.
  • On attestation-topic parse failure with that shape, we rewrite msg.Event to single_attestation and call the existing single-attestation handler so both typed (SingleAttestationHandler) and generic (Handler) consumers route correctly.

Grandine (post-Electra) emits SingleAttestation objects on the
"attestation" SSE topic instead of "single_attestation", causing a
constant stream of "Failed to parse attestation: aggregation bits
missing" errors and lost events. Detect the SingleAttestation shape on
parse failure and dispatch through the single_attestation handler so the
event still reaches consumers and the error spam stops.
Note that SingleAttestation is an EIP-7549 (Electra) construct, so the probe
never matches pre-Electra payloads — they always carry aggregation_bits and
go through the normal VersionedAttestation path.
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