Skip to content

feat: recognize fast_confirmation event topic#73

Merged
samcm merged 3 commits into
masterfrom
feat/fast-confirmation-event
May 14, 2026
Merged

feat: recognize fast_confirmation event topic#73
samcm merged 3 commits into
masterfrom
feat/fast-confirmation-event

Conversation

@samcm
Copy link
Copy Markdown
Member

@samcm samcm commented May 14, 2026

Adds the topic constant + a no-op handleEvent case so beacon stops returning unknown event topic fast_confirmation once a node opts in via subscription. The raw event is already broadcast via publishEvent so consumers tapping OnEvent receive it without any typed parser. Companion to ethpandaops/xatu#830.

samcm added 2 commits May 14, 2026 11:50
Adds the topic constant + a no-op handleEvent case so beacon stops
returning "unknown event topic fast_confirmation" once a node opts in
via subscription. The raw event is already broadcast via publishEvent,
so consumers tapping OnEvent receive it without any typed parser.
samcm added a commit to ethpandaops/xatu that referenced this pull request May 14, 2026
Pulls in ethpandaops/beacon#73 so the library handleEvent switch
recognises fast_confirmation, eliminating per-event 'unknown event
topic' errors when a sentry subscribes to the topic.
Wires the topic the same way as block_gossip: typed handleEvent case,
publishFastConfirmation broker emit, and an OnFastConfirmation
subscriber. Bumps go-eth2-client to the fork pseudo-version that ships
FastConfirmationEvent so the type-assert resolves.
@samcm samcm merged commit 02a29d7 into master May 14, 2026
2 checks passed
@samcm samcm deleted the feat/fast-confirmation-event branch May 14, 2026 02:20
samcm added a commit to ethpandaops/xatu that referenced this pull request May 14, 2026
* feat: capture fast_confirmation beacon-api event end-to-end

Wires the new fast_confirmation SSE event (beacon-APIs#598) all the way
through xatu: adds the proto schema, the sentry decorator + dedup cache,
the server-side ingester registration, a tap on the raw event stream
that decorates fast_confirmation messages (since ethpandaops/beacon
doesn't yet expose a typed OnFastConfirmation), the ClickHouse table +
distributed view as a new 002 migration, the consumoor rowgen and
flatten logic, and a cross-cutting TestCompletenessEveryEventNameHasRoute
that asserts every Event_Name has a route or an allowlisted reason.

The slot field on the event is the confirmed block's slot (typically in
the past), so wallclock_slot/wallclock_epoch are also populated from
the sentry's wall clock, mirroring voluntary_exit.

Triggered by adding fast_confirmation to ethereum.beaconSubscriptions
in the sentry config.

Depends on ethpandaops/go-eth2-client#24 (currently pinned via
pseudo-version; bump to a tag once that merges).

* make fast_confirmation derived fields Nullable

Epoch 0 is genuine genesis data, not 'missing'. Sentinel-zero on
optional derived columns conflated the two. Switch propagation_slot_start_diff,
epoch, epoch_start_date_time, wallclock_slot/epoch and their *_start_date_time
to Nullable so a real null can mean 'unknown'. slot_start_date_time stays
non-null because it's in ORDER BY.

* silence goconst on shared column-key test literals

* lint: trim unused nolint:goconst markers

* bump ethpandaops/beacon to fast_confirmation-aware tip

Pulls in ethpandaops/beacon#73 so the library handleEvent switch
recognises fast_confirmation, eliminating per-event 'unknown event
topic' errors when a sentry subscribes to the topic.

* lint: function-level nolint:goconst for snapshot tests

* sentry: use beacon.OnFastConfirmation typed handler

* bump ethpandaops/beacon to v0.69.0
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