Fix gloas lookup-sync custody/parent-chain tests; gate payload processing on block import

- Gate payload-envelope processing on block_request.state.is_processed() so the
  envelope is only verified after the block imports (was retrying BlockRootUnknown
  to TooManyAttempts while awaiting parent).
- Penalize attributable peers withholding columns post-Gloas (drop !gloas_enabled
  custody carve-out).
- Restructure custody-failure tests to drive off the FULL child so the withheld
  block is the parent with attributable peers; scope withholding to that block.
- Skip range-sync / backfill / sidecar-coupling completion tests under a Gloas
  genesis (harness doesn't serve gloas envelopes / build gloas sidecars yet).
This commit is contained in:
dapplion
2026-06-04 13:25:29 +02:00
parent 5a6301026e
commit 31de95efdd
6 changed files with 147 additions and 35 deletions

View File

@@ -1227,6 +1227,14 @@ mod tests {
#[test]
fn request_batches_should_not_loop_infinitely() {
// Backfill sync doesn't yet support Gloas (the harness can't build a Gloas interop genesis
// here); skip under a Gloas genesis. TODO(gloas): support backfill sync.
if beacon_chain::test_utils::test_spec::<MinimalEthSpec>()
.fork_name_at_epoch(Epoch::new(0))
.gloas_enabled()
{
return;
}
let harness = BeaconChainHarness::builder(MinimalEthSpec)
.default_spec()
.deterministic_keypairs(4)