Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8e5b90a
Add builder API types, request-auth domain, and eth2 client methods (…
ethDreamer Aug 13, 2026
510e3a2
Add Gloas Builder API client and adapt execution layer (Gloas builder…
ethDreamer Aug 13, 2026
e71bb39
Add Gloas bid selection, block production, and bid gossip processing …
ethDreamer Aug 13, 2026
510daa9
Convert produceBlockV4 to POST and round-trip Eth-Builder-Url (Gloas …
ethDreamer Aug 13, 2026
d921468
Migrate the validator client to the Gloas builder API (Gloas builder …
ethDreamer Aug 13, 2026
3371193
Add per-validator builder configuration API
jimmygchen Aug 19, 2026
946d648
Refine per-validator builder configuration API
jimmygchen Aug 19, 2026
a130f93
Simplify builder configuration request types
jimmygchen Aug 19, 2026
4a6b1a6
Tighten builder configuration request handling
jimmygchen Aug 19, 2026
c3d30e4
Clarify builder uint64 deserializer name
jimmygchen Aug 19, 2026
9b837c9
Document strict keymanager uint64 parsing
jimmygchen Aug 19, 2026
1fa90ce
Simplify builder configuration updates
jimmygchen Aug 19, 2026
cbc13c9
Simplify builder configuration publication
jimmygchen Aug 19, 2026
f0f272a
Clarify builder configuration updates
jimmygchen Aug 19, 2026
3b6e84e
add gas limit schedule
eserilev Aug 19, 2026
b3509fc
Merge sigp/codex/feat-per-validator-builder-config (Gloas builder API…
eserilev Aug 19, 2026
9351323
Fix builder payment weight double count under target equivocation
eserilev Aug 19, 2026
29f3d7c
Explicitly set bid fields when upgrading to Gloas
eserilev Aug 19, 2026
c113502
Merge builder payment equivocation fix and explicit bid fields at fork
eserilev Aug 19, 2026
06b6fec
Merge gas limit schedule (#9878) into glamsterdam-devnet-8
eserilev Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ members = [
"boot_node",
"common/account_utils",
"common/axum_utils",
"common/builder_types",
"common/clap_utils",
"common/deposit_contract",
"common/directory",
Expand Down Expand Up @@ -77,6 +78,7 @@ members = [
"testing/web3signer_tests",
"validator_client",
"validator_client/beacon_node_fallback",
"validator_client/builder_store",
"validator_client/doppelganger_service",
"validator_client/graffiti_file",
"validator_client/http_api",
Expand Down Expand Up @@ -118,6 +120,9 @@ beacon_processor = { path = "beacon_node/beacon_processor" }
bincode = "1"
bitvec = "1"
bls = { path = "crypto/bls" }
builder_client = { path = "beacon_node/builder_client" }
builder_store = { path = "validator_client/builder_store" }
builder_types = { path = "common/builder_types" }
byteorder = "1"
bytes = "1.11.1"
cargo_metadata = "0.19"
Expand Down
1 change: 1 addition & 0 deletions beacon_node/beacon_chain/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ alloy-primitives = { workspace = true }
arbitrary = { workspace = true, optional = true }
bitvec = { workspace = true }
bls = { workspace = true }
builder_client = { workspace = true }
educe = { workspace = true }
eth2 = { workspace = true, features = ["lighthouse", "network"] }
eth2_network_config = { workspace = true }
Expand Down
13 changes: 12 additions & 1 deletion beacon_node/beacon_chain/src/beacon_chain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ use crate::{
CachedHead, metrics,
};
use bls::{PublicKey, PublicKeyBytes, Signature};
use builder_client::Builders;
use eth2::beacon_response::ForkVersionedResponse;
use eth2::types::{
EventKind, PtcDuty, SseBlobSidecar, SseBlock, SseDataColumnSidecar,
Expand Down Expand Up @@ -456,6 +457,9 @@ pub struct BeaconChain<T: BeaconChainTypes> {
pub execution_layer: Option<ExecutionLayer<T::EthSpec>>,
/// Client for the EIP-8025 proof engine, if one is configured.
pub proof_engine: Option<Arc<ProofEngine>>,
/// Orchestrates direct builder bid requests and preference submissions over the Gloas Builder
/// API. Present only when the Gloas fork is scheduled.
pub builders: Option<Arc<Builders>>,
/// Stores information about the canonical head and finalized/justified checkpoints of the
/// chain. Also contains the fork choice struct, for computing the canonical head.
pub canonical_head: CanonicalHead<T>,
Expand Down Expand Up @@ -6644,7 +6648,14 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
};

let target_gas_limit = if prepare_slot_fork.gloas_enabled() {
let proposer_gas_limit = execution_layer.get_proposer_gas_limit(proposer).await;
let proposer_gas_limit = execution_layer
.get_proposer_gas_limit(proposer)
.await
.or_else(|| {
self.spec.get_scheduled_gas_limit(
prepare_slot.epoch(T::EthSpec::slots_per_epoch()),
)
});
if proposer_gas_limit.is_none() {
warn!(
%proposer,
Expand Down
Loading
Loading