Commit Graph

7568 Commits

Author SHA1 Message Date
Eitan Seri-Levi
477c106f42 Merge branch 'gloas-checkpoint-sync' into glamsterdam-devnet-5 2026-06-06 15:23:55 +03:00
Eitan Seri-Levi
7fee59d31a fix tests 2026-06-06 14:54:19 +03:00
Eitan Seri-Levi
7dc7bfeb77 test changes 2026-06-06 14:54:19 +03:00
Eitan Seri-Levi
d75d79c591 checkpoint envelope test 2026-06-06 14:54:19 +03:00
Eitan Seri-Levi
01ca43f415 Implement gloas checkpoint sync 2026-06-06 14:54:19 +03:00
Pawan Dhananjay
de12c83622 Merge branch 'unstable' into gloas-range-sync 2026-06-05 17:14:40 -07:00
Pawan Dhananjay
6ac7b9cf5d Remove comment 2026-06-05 15:50:01 -07:00
Jimmy Chen
65f1a832e4 Optimise slow block verification tests (#9274)
Reduce CI time for `block_verification` tests that exceed 120s on Fulu/Gloas forks.

- Cache the chain segment across tests using `LazyLock<OnceCell>` (was rebuilt 10+ times independently)
- Reduce chain length from 320 to 192 slots (10 epochs to 6 epochs)
- Reduce `BLOCK_INDICES` from 7 to 3
- Reduce `chain_segment_varying_chunk_size` from 5 to 3

AI assisted, self reviewed.

Before vs After comparison (1 sample only):

* **Before**: 19 tests exceeded the 120s slow threshold.
* **After**: zero exceed it. Overall: 1,890s down to 797s (-58%).

```
| Test                                                 |  Before |   After |  Change |
|------------------------------------------------------|---------|---------|---------|
| chain_segment_varying_chunk_size                     |   239s  |     98s |    -59% |
| invalid_signature_attester_slashing                  |   175s  |     64s |    -64% |
| invalid_signature_exit                               |   173s  |     62s |    -64% |
| invalid_signature_deposit                            |   170s  |     60s |    -65% |
| invalid_signature_attestation                        |   165s  |     62s |    -63% |
| invalid_signature_proposer_slashing                  |   161s  |     56s |    -66% |
| block_gossip_verification                            |   154s  |     91s |    -41% |
| invalid_signature_block_proposal                     |   151s  |     58s |    -61% |
| invalid_signature_randao_reveal                      |   149s  |     54s |    -64% |
| invalid_signature_gossip_block                       |   135s  |     46s |    -66% |
|------------------------------------------------------|---------|---------|---------|
| TOTAL                                                |  1890s  |    797s |    -58% |
```


  


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

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-06-05 20:51:33 +00:00
Alleysira
abe7ca20a9 fix(network): clear ENR nfd field when no next fork is scheduled during runtime transitions (#9131)
No. But related to #9009 and #8996


  - Change the `ForkContext::next_fork_digest()` to return `[u8; 4]` (returning `[0u8; 4]` for "no next fork").
- Update the initialization path and runtime fork transition path accordingly.

Added tests:
- [x] `test_next_fork_digest` — existing test passes with non-Option return type
- [x] `test_next_fork_digest_returns_zero_when_no_next_fork` — init at last BPO fork returns `[0u8; 4]`
- [x] `test_next_fork_digest_zero_after_runtime_transition_to_last_fork` — simulates `update_current_fork` to last fork, then verifies zero


Co-Authored-By: alleysira <1367108378@qq.com>

Co-Authored-By: Alleysira <56925051+Alleysira@users.noreply.github.com>

Co-Authored-By: chonghe <44791194+chong-he@users.noreply.github.com>
2026-06-05 20:16:28 +00:00
Eitan Seri-Levi
42e678189c Update gloas api routes to match updated spec (#9418)
tldr the routes got pluralized
https://github.com/ethereum/beacon-APIs/pull/613


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-06-05 20:16:06 +00:00
Daniel Knopik
e78e1d38ba Update libp2p (#9331)
Update libp2p to benefit from recent improvements, including partial messages bugfixes.


  


Co-Authored-By: Daniel Knopik <daniel@dknopik.de>
2026-06-05 14:50:19 +00:00
Eitan Seri-Levi
7d4b0bc731 Merge remote-tracking branch 'pawan/gloas-range-sync' into glamsterdam-devnet-5 2026-06-05 17:49:54 +03:00
Eitan Seri-Levi
e55acaf343 Resolve merge conflicts 2026-06-05 17:46:30 +03:00
Eitan Seri-Levi
43ab5a1dd5 Merge branch 'unstable' of https://github.com/sigp/lighthouse into glamsterdam-devnet-5 2026-06-05 17:30:12 +03:00
Pawan Dhananjay
6698872f8a Improve error types for envelopes (#9414)
N/A


  Currently, we have `EnvelopeError` having a `ImportError` wrapping a `BlockError`. I feel this is extremely unintuitive because most of the envelope processing functions can simply return an `EnvelopeError` that makes sense in the function's context. It revealed further ugliness when implementing range sync in #9362

This PR does 2 main things:
1. Removes `ImportError(BlockError)` variant
2. Adds `EnvelopeError(EnvelopeError)` variant to a `BlockError`.

I feel this is more natural as there can be envelope errors when we try importing a Block but envelope errors can be contained to just envelope related errors.

The main blocker to doing this was `PayloadVerificationHandle` returning a `BlockError`. It uses a very small subset of `BlockError` which I extracted to its own error type which can be converted into both a BlockError and EnvelopeError.

This allows us to keep most of the pure envelope processing functions to just return EnvelopeErrors while we convert it to a `BlockError` only in import paths where we need to return a consolidated `BlockError`.


Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com>
2026-06-05 13:57:28 +00:00
Lion - dapplion
494b00a349 Fix O(n²) find_head and stack overflow in filter_block_tree (#9090)
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
2026-06-05 01:24:49 +00:00
Pawan Dhananjay
23abee8ffe Fix more comments 2026-06-04 17:02:37 -07:00
Eitan Seri-Levi
da42d37456 Ensure PTC votes accurately reflect data availability (#9412)
Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-06-05 00:01:20 +00:00
Pawan Dhananjay
7b11ae17fb Merge branch 'unstable' into gloas-range-sync 2026-06-04 16:57:51 -07:00
Lion - dapplion
eeae8514b1 Remove unused spec field from AvailableBlock (#9411)
N/A


  Remove unused spec field from AvailableBlock


Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-06-04 19:14:32 +00:00
Pawan Dhananjay
87d4b01d7e Address some lion's comments 2026-06-04 11:51:11 -07:00
dapplion
131ea11f00 Remove Gloas test skips introduced by #9382
Range sync now imports payload envelopes, so the chain_segment and
invalid_signature tests no longer need to early-return under Gloas.
Drop the now-unused fork_name_from_env import.
2026-06-04 18:19:29 +02:00
dapplion
8131cd3bf5 Merge remote-tracking branch 'sigp/unstable' into gloas-range-sync 2026-06-04 18:11:45 +02:00
dapplion
dd6b7eae04 Fix stale into_available_block() callers in tests
The signature was simplified to take no arguments; update the three
remaining test call sites that still passed (&da_checker, spec).
2026-06-04 18:10:13 +02:00
Lion - dapplion
d98de9f8dd Reject importing Gloas block until parent's payload is imported (#9382)
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
2026-06-04 15:53:05 +00:00
dapplion
cbbd15b045 Simplifications 2026-06-04 15:48:59 +02:00
Jimmy Chen
91456fb218 Regression test for range sync CGC race condition (#8039)
Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2026-06-04 07:24:27 +00:00
Pawan Dhananjay
d31f92272a Merge branch 'unstable' into gloas-range-sync 2026-06-03 17:55:59 -07:00
Pawan Dhananjay
8db15e3a96 Reduce diff 2026-06-03 17:30:20 -07:00
Pawan Dhananjay
4e62da2244 Add coupling tests 2026-06-03 17:16:42 -07:00
Pawan Dhananjay
67a81af225 Address more review comments 2026-06-03 16:58:45 -07:00
Eitan Seri-Levi
7d631de316 Merge branch 'gloas-fix-proposer-pref-gossip-verification' into glamsterdam-devnet-5 2026-06-03 22:27:14 +03:00
Eitan Seri-Levi
74938661d9 Merge branch 'unstable' of https://github.com/sigp/lighthouse into glamsterdam-devnet-5 2026-06-03 22:26:52 +03:00
Eitan Seri-Levi
d617c826fe Gloas data column reprocess queue (#9339)
When debugging ePBS with columns, we noticed that columns arriving before their block dont pass gossip verification checks and are dropped. This PR ensures that columns arriving before the block are sent to the reprocess queue. Once their block arrives, they are reprocessed.

This isn't an issue pre-gloas because we don't make block root checks for fulu data columns. This allows us to gossip verify the column and send it to the DA cache before the block arrives.

I think we also need to handle this edge case for partial data columns. Theres an existing TODO for that already.


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>
2026-06-03 16:07:41 +00:00
Lion - dapplion
eab5163d68 Remove RequestState trait from lookup sync (#9391)
Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
2026-06-03 15:29:04 +00:00
João Oliveira
c2ac519c69 Disable Mplex by default (#9365)
Co-Authored-By: João Oliveira <hello@jxs.pt>
2026-06-03 08:05:31 +00:00
Eitan Seri-Levi
80a7b2a27f Fix 2026-06-03 10:18:33 +03:00
Eitan Seri-Levi
c4fc6fb0c5 Disable peer penalties 2026-06-03 10:13:15 +03:00
Eitan Seri-Levi
ad902d17c2 Fix tests 2026-06-03 10:07:09 +03:00
Eitan Seri-Levi
d580be65cf Fix 2026-06-03 08:49:33 +03:00
Eitan Seri-Levi
3892966d33 fix deposit bridge logic and ignore some tests 2026-06-03 08:21:45 +03:00
Pawan Dhananjay
61f38d9365 Fix envelope block_root in tests 2026-06-02 19:03:34 -07:00
Pawan Dhananjay
27de5958d1 Fix more tests 2026-06-02 18:00:59 -07:00
Pawan Dhananjay
c52dab62da Fix tests 2026-06-02 16:57:17 -07:00
Pawan Dhananjay
1993438ac8 Fix and add new tests 2026-06-02 15:38:12 -07:00
Pawan Dhananjay
f2c812564a Merge branch 'unstable' into gloas-range-sync 2026-06-02 14:32:52 -07:00
Pawan Dhananjay
2ce1797df5 Try to construct a consistent gloas rangesyncblock 2026-06-02 14:16:31 -07:00
Pawan Dhananjay
1b3f28a862 Address review comments 2026-06-02 13:27:15 -07:00
Lion - dapplion
d7d56e6312 Delete unnecessary SyncMessage variants (#9379)
- Simplification from https://github.com/sigp/lighthouse/pull/9155

Lookup sync does not cache sidecars, so sending the full network object adds unnecessary complexity. Sync only needs to know: We have received a header that has an unknown parent.


  Replace `UnknownParentDataColumn` and `UnknownParentPartialDataColumn` for `UnknownParentSidecarHeader`


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

Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com>
2026-06-02 14:57:03 +00:00
Eitan Seri-Levi
1336bf742a remove bridge deposit mechanism post gloas 4704 2026-06-02 14:39:04 +03:00