Skip to content

Glamsterdam devnet 8 - #17354

Open
terencechain wants to merge 23 commits into
developfrom
glamsterdam-devnet-8
Open

Glamsterdam devnet 8#17354
terencechain wants to merge 23 commits into
developfrom
glamsterdam-devnet-8

Conversation

@terencechain

Copy link
Copy Markdown
Collaborator

No description provided.

@terencechain
terencechain force-pushed the glamsterdam-devnet-8 branch 3 times, most recently from e24cc2a to 81a701c Compare August 21, 2026 01:25
kasey and others added 23 commits August 26, 2026 21:29
Marks the Gloas containers and collections that EIP-7688 makes
progressive: the beacon state, block body, attestation and its aggregate
wrappers, the payload bid and envelope, the Gloas execution payload and
execution requests, and the data column sidecar.

Generation stays gated off by default, so this commit changes no generated
code: the emitted hash tree roots still match the pinned spectest
fixtures. Building with --//tools:disable_progressive_merkleization=false,
or regenerating with SSZ_PROGRESSIVE=1, switches the annotated types over
to ProgressiveHashTreeRoot and the progressive collection validators.
…ault

Note: the generated code is modified in the following commit, so at this commit
the generated code does not match the output of the build toolchain.
Ignore builder deposit requests whose withdrawal credentials do not
carry BUILDER_WITHDRAWAL_PREFIX, both when batching new registrations
and when processing an individual request. Such deposits are dropped and
the funds are lost, matching the spec.

Register new builders with PAYLOAD_BUILDER_VERSION rather than echoing
the first credential byte, so the stored version cannot be influenced by
the depositor.
An exited builder's withdrawable epoch was pushed out on every top-up,
which let a builder with a pending balance defer its own withdrawal
indefinitely. Only reset when the builder has actually been swept, and
evaluate that before crediting the top-up so the new deposit does not
mask a zero balance.

Also guard against a nil builder at a known index rather than
dereferencing it.
Gloas drops MAX_DEPOSIT_REQUESTS_PER_PAYLOAD; the execution layer bounds
deposit requests through the block gas limit instead. Lift the cap in the
Gloas request list decoder.

The remaining per-payload maxima (withdrawals, consolidations, builder
deposits and builder exits) are still consensus checks, so assert them
explicitly in ApplyParentExecutionPayload rather than relying on the SSZ
list limits, which no longer bound the progressive types.
Align the builder withdrawal credential prefix with the Gloas spec value
of 0xB0 in both the mainnet and minimal configs. It was previously 0x03,
which collided with the range reserved for future credential types.
Lower MIN_BUILDER_WITHDRAWABILITY_DELAY from 8192 to 64 epochs so an
exiting builder's funds are not locked for an impractically long window,
and lower MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD from 2**8 to 2**6 to
match the current Gloas spec.
Move the payload deadline to the midpoint of the slot so builders have
to reveal earlier, giving the PTC more time to attest to timeliness.

Note: config/params TestLoadConfigFile now diverges from the pinned
consensus-spec fixture, which still carries PAYLOAD_DUE_BPS 7500. This
needs the spec test pin to advance before it can merge to develop.
The Gloas payload matching check read execution_payload_availability at
data.slot, which is not the slot of the attested block when slots are
skipped. Attestations to a skipped slot with data.index == 1 therefore
never earned the timely head flag.
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.

4 participants