Gloas HTTP API tests passing (#9154)

Get the Gloas HTTP API tests passing, partly through fixes and partly through disabling tests that don't fit the Gloas paradigm.


Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
Michael Sproul
2026-04-30 18:15:26 +10:00
committed by GitHub
parent 728356ad03
commit 8bb14d6f3d
8 changed files with 249 additions and 53 deletions

View File

@@ -61,10 +61,7 @@ async fn state_by_root_pruned_from_fork_choice() {
type E = MinimalEthSpec;
let validator_count = 24;
// TODO(EIP-7732): extend test for Gloas by reverting back to using `ForkName::latest()`
// Issue is that this test does block production via `extend_chain_with_sync` which expects to be able to use `state.latest_execution_payload_header` during block production, but Gloas uses `latest_execution_bid` instead
// This will be resolved in a subsequent block processing PR
let spec = ForkName::Fulu.make_genesis_spec(E::default_spec());
let spec = ForkName::latest().make_genesis_spec(E::default_spec());
let tester = InteractiveTester::<E>::new_with_initializer_and_mutator(
Some(spec.clone()),
@@ -403,10 +400,8 @@ pub async fn proposer_boost_re_org_test(
) {
assert!(head_slot > 0);
// Test using the latest fork so that we simulate conditions as similar to mainnet as possible.
// TODO(EIP-7732): extend test for Gloas by reverting back to using `ForkName::latest()`
// Issue is that `get_validator_blocks_v3` below expects to be able to use `state.latest_execution_payload_header` during `produce_block_on_state` -> `produce_partial_beacon_block` -> `get_execution_payload`, but gloas will no longer support this state field
// This will be resolved in a subsequent block processing PR
// TODO(EIP-7732): extend test for Gloas — `get_validator_blocks_v3` is missing the
// `Eth-Execution-Payload-Blinded` header for Gloas block production responses.
let mut spec = ForkName::Fulu.make_genesis_spec(E::default_spec());
spec.terminal_total_difficulty = Uint256::from(1);
@@ -951,7 +946,7 @@ async fn queue_attestations_from_http() {
// gossip clock disparity (500ms) of the new epoch.
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn proposer_duties_with_gossip_tolerance() {
let validator_count = 24;
let validator_count = 64;
let tester = InteractiveTester::<E>::new(None, validator_count).await;
let harness = &tester.harness;
@@ -1058,7 +1053,7 @@ async fn proposer_duties_with_gossip_tolerance() {
// within gossip clock disparity (500ms) of the new epoch.
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn proposer_duties_v2_with_gossip_tolerance() {
let validator_count = 24;
let validator_count = 64;
let tester = InteractiveTester::<E>::new(None, validator_count).await;
let harness = &tester.harness;
@@ -1300,7 +1295,7 @@ async fn lighthouse_restart_custody_backfill() {
return;
}
let validator_count = 24;
let validator_count = 64;
let tester = InteractiveTester::<E>::new_supernode(Some(spec), validator_count).await;
let harness = &tester.harness;
@@ -1367,7 +1362,7 @@ async fn lighthouse_custody_info() {
spec.min_epochs_for_blob_sidecars_requests = 2;
spec.min_epochs_for_data_column_sidecars_requests = 2;
let validator_count = 24;
let validator_count = 64;
let tester = InteractiveTester::<E>::new(Some(spec), validator_count).await;
let harness = &tester.harness;