Skip to content

Add support for Glaos - #122

Merged
ahmohamed merged 12 commits into
masterfrom
gloas
Oct 26, 2026
Merged

ahmohamed merged 12 commits into
masterfrom
gloas

Conversation

@ahmohamed

@ahmohamed ahmohamed commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Glaos Support

  • Upgrade go-eth2-client to v0.30.2 (go 1.25, OffchainLabs go-bitfield).
  • Store Gloas execution payload bids in a new t_block_execution_payload_bids table (schema v17).
  • Store a block's execution payload, taken from its envelope, once a child block confirms it was delivered.
  • Exclude builder payments from epoch withdrawal totals.

Other minor improvements:

  • Refetching no longer resets canonical, target-correct or head-correct flags (COALESCE on upsert).
  • Run the bulk attestation insert in a savepoint, so the fallback to individual inserts works.

go-eth2-client now uses github.com/OffchainLabs/go-bitfield, and requires go 1.25.
Refetched blocks and attestations do not carry canonical information, so
keep the existing values rather than overwriting them with NULL.

Also run the bulk attestation copy in a savepoint, so that a failure leaves
the transaction usable for the fallback of setting attestations individually.
Adds t_block_execution_payload_bids to hold the execution payload bid
carried by blocks from Gloas onwards.
Stores the execution payload bid with the block, and the execution payload
from the envelope once a child block confirms that the payload was delivered.
The previous version of goid returns 0 for all goroutines on Go 1.25+, causing
go-deadlock to report false recursive locking in the scheduler tests.
Builds golangci-lint from source, as the v1 release binaries are built with
Go 1.24 and refuse to lint newer Go versions.
@ahmohamed
ahmohamed requested review from AntiD2ta and Bez625 October 22, 2026 05:07
Comment thread services/blocks/standard/handler.go Resolved
Comment thread services/blocks/standard/handler.go Resolved
Comment thread services/chaindb/postgresql/blocks.go Resolved
Blobs for a Gloas block are published with its execution payload envelope, after
the block itself, so fetch them when a child block confirms the payload rather
than when the block is first seen.
A failure part way through reading the rows would otherwise be reported as blocks
without bids, causing their execution payloads to be skipped.
Avoids a query per block when obtaining multiple blocks.
@ahmohamed
ahmohamed requested a review from Bez625 October 26, 2026 03:46
@ahmohamed
ahmohamed merged commit 1a35eb3 into master Oct 26, 2026
2 checks passed
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