Commit Graph

1232 Commits

Author SHA1 Message Date
Eitan Seri-Levi
4076927a76 Update 2026-05-12 15:23:11 +03:00
Eitan Seri-Levi
f968c7e5bb Dont penalize payload envelope peers after gossip verification (#9283)
We got in a little bit of trouble in devnet-3. After gossip verifying an envelope and before importing it, we got the following error

```
May 07 08:04:24.383 WARN  Execution payload envelope rejected           reason: "EnvelopeProcessingError(WithdrawalsRootMismatch { state: 0x852d38aaecc9f4e2e309919f74020c7bbcf050fea4a20edf3304f171e44ee9d5, payload:
```

The envelope had already passed gossip verification checks and was correctly propagated to the network, we should not penalize peers for doing this. This caused our node to isolate itself from the rest of the network. This PR removes peer penalties for any envelope that passes gossip validation


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-05-12 01:59:54 +00:00
Eitan Seri-Levi
27cfa18c17 Fix 2026-05-08 23:36:58 +03:00
Eitan Seri-Levi
b53a969c30 fix: use execution_payload_block_hash for Pending payload status in fcU
When gloas envelopes are imported optimistically (EL returns SYNCING),
the payload status is Pending. Previously, Pending used
execution_payload_parent_hash for the head_hash in forkchoiceUpdated,
which tells geth to stay at the parent — never advancing.

Fix: use execution_payload_block_hash (the bid's committed hash) for
Pending status, same as Full. This tells geth to sync to the new head,
which is the purpose of optimistic sync. Geth will validate it and
transition from SYNCING to VALID on subsequent newPayload calls.

Also re-enables backfill sync for gloas with a dedicated
import_historical_gloas_block_batch that properly handles RangeSyncBlock::Gloas
variants (storing envelopes alongside blocks).
2026-05-08 08:53:25 +00:00
Eitan Seri-Levi
f818612795 fix: remove premature on_valid_payload_envelope_received + disable backfill for GLOaS
1. Remove on_valid_payload_envelope_received call before process_block
   in chain segment import. The block isn't in fork choice yet, so it
   always fails with NodeUnknown. import_envelope_from_range_sync
   handles this correctly after process_block.

2. Disable backfill sync when GLOaS is scheduled. Backfill calls
   into_available_block which panics on GLOaS RangeSyncBlock variant.
   Backfill for GLOaS is not yet implemented.
2026-05-07 14:26:04 +00:00
Lion - dapplion
7148bfcdd1 Implement beacon_blocks_by_head (#9237)
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-05-07 02:41:01 +00:00
Mac L
3351db1ba8 Remove TestRandom (#9006)
We  have a legacy `TestRandom` trait which generates random types for testing and fuzzing.
This function overlaps with `arbitrary` which is used very commonly in the ecosystem.


  Remove `TestRandom` and generate random type instances using `Arbitrary`.


Co-Authored-By: Mac L <mjladson@pm.me>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-05-05 06:35:57 +00:00
Eitan Seri-Levi
2d68396a08 FIX CHECKPOINT SYNC 2026-05-04 17:27:38 +03:00
Eitan Seri-Levi
a6144def54 Merge branch 'unstable' into gloas-parent-envelope-unknown-lookup 2026-05-04 16:01:26 +02:00
Eitan Seri-Levi
22da18f640 Merge remote-tracking branch 'origin/gloas-range-sync' into glamsterdam-devnet-2 2026-05-04 16:51:06 +03:00
Eitan Seri-Levi
e0048b5206 Another hack 2026-05-04 16:50:35 +03:00
Eitan Seri-Levi
8341b44105 Merge 2026-05-04 16:33:31 +03:00
Eitan Seri-Levi
75d4333776 Hack for checkpoint sync 2026-05-04 15:46:48 +03:00
Eitan Seri-Levi
36aee54be2 Merge remote-tracking branch 'origin/gloas-range-sync' into glamsterdam-devnet-2 2026-05-04 14:58:45 +03:00
Eitan Seri-Levi
3d23f9be0d Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-range-sync 2026-05-04 14:58:16 +03:00
Eitan Seri-Levi
3015fa4842 Merge branch 'gloas-range-sync' of https://github.com/eserilev/lighthouse into gloas-range-sync 2026-05-04 14:58:07 +03:00
Eitan Seri-Levi
6af1a927b8 Actually do something with the responses... 2026-05-04 14:57:49 +03:00
Eitan Seri-Levi
9cf155a0dd Implement gloas proposer preference vc duty (#9208)
Allow for the vc to submit its proposer preferences to the network


  


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

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-05-04 11:33:09 +00:00
Eitan Seri-Levi
7e502a5e65 Fix 2026-05-01 18:23:33 +02:00
Eitan Seri-Levi
47bcd0b347 Fix TODO 2026-05-01 11:12:18 +02:00
dapplion
0ce058835a Address review comments
- data_availability_checker.rs: use !gloas_enabled() instead of < ForkName::Gloas
  (jimmygchen, dapplion).
- beacon_chain.rs: get_data_columns checks data_availability_checker first,
  then pending_payload_cache (dapplion).
- pending_components.rs: merge_data_columns drops the unused Result return
  (jimmygchen). num_completed_columns uses filter() instead of filter_map (jimmygchen).
- pending_column.rs: TODO marker on the hard-coded Gloas variant in
  try_to_sidecar (jimmygchen).
- pending_payload_cache/mod.rs: gloas_spec test helper collapsed to
  ForkName::Gloas.make_genesis_spec(E::default_spec()) (jimmygchen).
- gossip_methods.rs / sync/manager.rs: replace UnknownBlockHashFromAttestation
  fallback with TODO(gloas) for proper Gloas lookup sync (dapplion).
2026-05-01 10:16:06 +02:00
dapplion
dac8a6ec8d Gloas: fix test failures (KZG verifier wiring, harness columns, WSS sync)
Brings the FORK_NAME=gloas beacon_chain test suite from 31 failures to green:

- v1 KZG batch verifier couldn't verify Gloas columns. Added
  verify_columns_against_block helper that picks commitments per fork
  (Fulu: inline on column; Gloas: signed_execution_payload_bid).
- BeaconChainHarness::process_envelope didn't persist columns. Now mirrors
  what production does in import_available_execution_payload_envelope.
- get_or_reconstruct_blobs returned an error for Gloas. Now short-circuits to
  Ok(None); WSS test copies columns from source to dest directly.
- update_data_column_signed_header (block_verification tests) only handled
  Fulu shape. Added a Gloas branch that re-keys to canonical_root.
- BlockError::EnvelopeBlockRootUnknown changed to tuple variant.
- Removed duplicate process_payload_envelope_availability.
2026-05-01 10:06:52 +02:00
Eitan Seri-Levi
fd1a8e1564 use slot so we dont hit the cache twice 2026-05-01 02:54:57 +02:00
Eitan Seri-Levi
378eaedf9c Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-payload-cache 2026-05-01 02:22:42 +02:00
Eitan Seri-Levi
a840c40cbe Gloas range sync 2026-04-30 16:40:05 +02:00
Eitan Seri-Levi
28a9342831 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-range-sync 2026-04-30 15:54:22 +02:00
dapplion
23d5be1a0e Fix pending payload cache test lint 2026-04-30 13:41:51 +02:00
dapplion
0b7397eb4e Refactor 2026-04-30 13:39:05 +02:00
dapplion
bd8cfa35f4 Refine Gloas data column availability 2026-04-30 12:36:36 +02:00
Eitan Seri-Levi
666fcbd7c9 intro single_envelope_lookup.rs 2026-04-30 11:31:08 +02:00
Eitan Seri-Levi
fe4ad22ac4 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-parent-envelope-unknown-lookup 2026-04-30 10:33:19 +02:00
Daniel Knopik
ae17107f78 fix test runs 2026-04-30 09:45:59 +02:00
chonghe
8d77b1c08d Remove test_logger feature (#9125)
- #9107


  Remove all instances of `test_logger` in the code


Co-Authored-By: Tan Chee Keong <tanck@sigmaprime.io>
2026-04-30 04:57:47 +00:00
dapplion
ce00ae2dc7 Use stable if matches! instead of if let match guard
`if let` guards are nightly-only (rust-lang/rust#51114), causing
`error[E0658]` and a CI `check-code` failure. Replace with the stable
`if matches!(...)` form suggested by rustc.
2026-04-30 00:08:35 +02:00
Daniel Knopik
e742d0b4f1 fix tests 2026-04-29 23:18:36 +02:00
Daniel Knopik
c5ca824ec3 merge from unstable 2026-04-29 23:00:51 +02:00
Daniel Knopik
7cf76ac7af clean up 2026-04-29 17:38:49 +02:00
Daniel Knopik
2d3354551e error handling and wiring up 2026-04-29 17:38:48 +02:00
Daniel Knopik
d7f5e24ede nuke router 2026-04-29 14:24:25 +02:00
jking-aus
16132a3694 Spec v1.7.0-alpha.6 and Gloas genesis (#9190)
Co-Authored-By: Josh King <josh@sigmaprime.io>

Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-04-29 08:23:24 +00:00
Eitan Seri-Levi
93293ee8e8 Merge branch 'unstable' of https://github.com/sigp/lighthouse into gloas-range-sync 2026-04-29 09:47:15 +02:00
Daniel Knopik
c76eb3e4c5 merge from unstable 2026-04-29 09:33:34 +02:00
Eitan Seri-Levi
e8c865dcc6 Gossip reprocessed payload envelopes that are timely (#9210)
Payloads from the reprocess queue should be gossiped after import if they are still timely. In devnets this happens frequently since there are many cases where the envelope arrives before the block


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-04-28 21:50:07 +00:00
Daniel Knopik
60e1ded4c3 Merge branch 'unstable' into gloas-payload-cache 2026-04-28 22:00:19 +02:00
Eitan Seri-Levi
46c9f313e3 tests 2026-04-28 21:12:22 +02:00
Daniel Knopik
a03906d4c0 fix remaining errors 2026-04-28 17:39:43 +02:00
Eitan Seri-Levi
d5ad1d8178 fix 2026-04-28 17:32:42 +02:00
Eitan Seri-Levi
802f77f700 Range sync 2026-04-28 17:25:53 +02:00
Daniel Knopik
4535753c9b starting to cell-ize 2026-04-28 17:09:42 +02:00
Daniel Knopik
3a5492fba7 initial straightforward merge changes 2026-04-28 17:09:41 +02:00