Pawan Dhananjay
091e292c99
Return eth1_data early post transition ( #7248 )
...
N/A
Return state.eth1_data() early if we have passed the transition period post electra. Even if we don't return early, the function would still return state.eth1_data() based on the current conditions. However, doing this explicitly here to match the spec. This covers setting the right eth1_data in our block.
The other thing we need to ensure is that the deposits returned by the eth1_chain is empty post transition.
The only way we get non-empty deposits post the transition is if `state.eth1_deposit_index` in the below code is less than `min(deposit_requests_start_index, state.eth1_data().deposit_count)`.
0850bcfb89/beacon_node/beacon_chain/src/eth1_chain.rs (L543-L579)
This can never happen because state.eth1_deposit_index will be equal to state.eth1_data.deposit count and cannot exceed the value.
@michaelsproul @ethDreamer please double check the logic for deposits being empty post transition. Following the logic in the spec makes my head hurt.
2025-04-07 03:16:48 +00:00
Lion - dapplion
d511ca0494
Compute roots for unfinalized by_range requests with fork-choice ( #7098 )
...
Includes PRs
- https://github.com/sigp/lighthouse/pull/7058
- https://github.com/sigp/lighthouse/pull/7066
Cleaner for the `release-v7.0.0` branch
2025-04-07 03:16:41 +00:00
Mac L
82d1674455
Rust 1.86.0 lints ( #7254 )
...
Implement lints for the new Rust compiler version 1.86.0.
2025-04-04 02:30:22 +00:00
Eitan Seri-Levi
a5ea05ce2a
Top-up pubkey cache on startup ( #7217 )
...
This is a workaround for #7216
In the case of gaps between the in-memory pub key cache and its on-disk representation, use the head state on startup to "top-up" the cache/db w/ any missing validators
2025-03-28 08:29:19 +00:00
Eitan Seri-Levi
e4c9805438
Reject attestations to blocks prior to the split ( #7084 )
2025-03-19 13:39:28 +00:00
Eitan Seri-Levi
ed1b7689ae
Manual compaction endpoint backport ( #7104 )
...
Backports:
- https://github.com/sigp/lighthouse/pull/7072
To:
- https://github.com/sigp/lighthouse/issues/7039
#7103 should be merged first
This PR introduces an endpoint that allows users to manually trigger background compaction.
2025-03-18 06:29:12 +00:00
Eitan Seri-Levi
27aabe8159
Pseudo finalization endpoint ( #7103 )
...
This is a backport of:
- https://github.com/sigp/lighthouse/pull/7059
- https://github.com/sigp/lighthouse/pull/7071
For:
- https://github.com/sigp/lighthouse/issues/7039
Introduce a new lighthouse endpoint that allows a user to force a pseudo finalization. This migrates data to the freezer db and prunes sidechains which may help reduce disk space issues on non finalized networks like Holesky
We also ban peers that send us blocks that conflict with the manually finalized checkpoint.
There were some CI fixes in https://github.com/sigp/lighthouse/pull/7071 that I tried including here
Co-authored with: @jimmygchen @pawanjay176 @michaelsproul
2025-03-18 05:21:05 +00:00
Michael Sproul
4de062626b
State cache tweaks ( #7095 )
...
Backport of:
- https://github.com/sigp/lighthouse/pull/7067
For:
- https://github.com/sigp/lighthouse/issues/7039
- Prevent writing to state cache when migrating the database
- Add `state-cache-headroom` flag to control pruning
- Prune old epoch boundary states ahead of mid-epoch states
- Never prune head block's state
- Avoid caching ancestor states unless they are on an epoch boundary
- Log when states enter/exit the cache
Co-authored-by: Eitan Seri-Levi <eserilev@ucsc.edu >
2025-03-18 02:10:21 +00:00
Eitan Seri-Levi
8ce9edc584
Add block ban flag --invalid-block-roots ( #7042 )
2025-03-17 13:18:22 +00:00
Jimmy Chen
09849e841b
Use sync_tolerance_epochs flag to control the proposer prep routines ( #7044 )
...
Replace the `2 + 2 == 5` hacks from `holesky-rescue` and use the existing `sync_tolerance_epochs` flag to control the proposer prep routines.
2025-03-06 03:50:42 +00:00
Ryan Schneider
efa6ba37bb
Make ExecutionBlock::total_difficulty Optional ( #7050 )
...
This change makes the `total_difficulty` field in `ExecutionBlock` an `Option<Uint256>` since newer clients are no longer including the `totalDifficulty` field.
I think this will fix https://github.com/sigp/lighthouse/issues/6937 but I was actually more focused on the builder registration case described below.
In our [builder-playground](https://github.com/flashbots/builder-playground ) we setup a local devnet using lighthouse, reth, and mev-boost-relay. After upgrading to reth 1.2.0 and lighthouse v7.0.0.beta.0 for Pectra, we noticed that the validator registration process was _sometimes_ failing with:
```
Feb 25 23:35:25.038 ERRO Unable to publish proposer preparation to all beacon nodes, error: Some endpoints failed, num_failed: 1 http://localhost:3500/ => RequestFailed(ServerMessage(ErrorMessage { code: 400, message: "BAD_REQUEST: error updating proposer preparations: ForkchoiceUpdate(EngineError(Api { error: Json(Error(\"missing field `totalDifficulty`\", line: 0, column: 0)) }))", stacktraces: [] })), service: preparation
Feb 25 23:35:25.099 WARN Unable to publish validator registrations to the builder network, error: Some endpoints failed, num_failed: 1 http://localhost:3500/ => RequestFailed(ServerMessage(ErrorMessage { code: 400, message: "BAD_REQUEST: error updating proposer preparations: ForkchoiceUpdate(EngineError(Api { error: Json(Error(\"missing field `totalDifficulty`\", line: 0, column: 0)) }))", stacktraces: [] })), service: preparation
```
What was even more confusing, was that it was sometimes working, which actually led to a wild goose chase thinking it was a networking issue. However, when tracing through the LH code, I came across this comment:
70194dfc6a/beacon_node/beacon_chain/src/beacon_chain.rs (L6048-L6049)
This explained why it sometimes worked, in our playground we run lighthouse with `--prepare-payload-lookahead 8000` thus there was always a 4-second window where the call wasn't made.
But, if the call was made, then this code would 100% fail with updated reth:
https://github.com/sigp/lighthouse/blob/unstable/beacon_node/execution_layer/src/lib.rs#L1688-L1692
Which would then mapped to a `Error::ForkchoiceUpdate` in `update_execution_engine_forkchoice`.
Anyways, the fix was to make `total_difficulty` Optional, and then to update any code paths where it was used. In doing so, I assume that if the EL doesn't include total difficulty then the chain is already post-merge.
2025-03-05 01:53:00 +00:00
Pawan Dhananjay
522b3cbaab
Fix builder API headers ( #7009 )
...
Resolves https://github.com/sigp/lighthouse/issues/7000
Set the accept header on builder to the correct value when requesting ssz.
This PR also adds a flag to disable ssz over the builder api altogether. In the case that builders/relays have an ssz bug, we can react quickly by asking clients to restart their nodes with the `--disable-ssz-builder` flag to force json. I'm not fully convinced if this is useful so open to removing it or opening another PR for it.
Testing this currently.
2025-02-24 03:39:13 +00:00
Pawan Dhananjay
b3b6aea1c5
Rust 1.85 lints ( #7019 )
...
N/A
2 changes:
1. Replace Option::map_or(true, ...) with is_none_or(...)
2. Remove unnecessary `Into::into` blocks where the type conversion is apparent from the types
2025-02-24 02:36:13 +00:00
Eitan Seri-Levi
afdda83798
Enable Light Client server by default ( #6950 )
2025-02-10 01:27:03 +00:00
Michael Sproul
0344f68cfd
Update attestation rewards API for Electra ( #6819 )
...
Closes:
- https://github.com/sigp/lighthouse/issues/6818
Use `MAX_EFFECTIVE_BALANCE_ELECTRA` (2048) for attestation reward calculations involving Electra.
Add a new `InteropGenesisBuilder` that tries to provide a more flexible way to build genesis states. Unfortunately due to lifetime jank, it is quite unergonomic at present. We may want to refactor this builder in future to make it easier to use.
2025-02-09 10:15:33 +00:00
Michael Sproul
2bd5bbdffb
Optimise and refine SingleAttestation conversion ( #6934 )
...
Closes
- https://github.com/sigp/lighthouse/issues/6805
- Use a new `WorkEvent::GossipAttestationToConvert` to handle the conversion from `SingleAttestation` to `Attestation` _on_ the beacon processor (prevents a Tokio thread being blocked).
- Improve the error handling for single attestations. I think previously we had no ability to reprocess single attestations for unknown blocks -- we would just error. This seemed to be the case in both gossip processing and processing of `SingleAttestation`s from the HTTP API.
- Move the `SingleAttestation -> Attestation` conversion function into `beacon_chain` so that it can return the `attestation_verification::Error` type, which has well-defined error handling and peer penalties. The now-unused variants of `types::Attestation::Error` have been removed.
2025-02-07 23:18:57 +00:00
Michael Sproul
cb117f859d
Fix fetch blobs in all-null case ( #6940 )
...
Fix another issue with fetch-blobs, similar to:
- https://github.com/sigp/lighthouse/pull/6911
Check if the list of blobs returned is all `None`, and if so, do not proceed any further.
This prevents an ugly error like:
> Feb 03 17:32:12.384 ERRO Error fetching or processing blobs from EL, block_root: 0x7326fe2dc1cb9036c9de7a07a662c86a339085597849016eadf061b70b7815ba, error: BlobProcessingError(AvailabilityCheck(Unexpected)), module
: network::network_beacon_processor:1011
2025-02-07 09:19:32 +00:00
chonghe
d6596dbe21
Keep execution payload during historical backfill when prune-payloads set to false ( #6766 )
...
- #6510
- Keep execution payload during historical backfill when `--prune-payloads false` is set
- Add a field in the historical backfill debug log to indicate if execution payload is kept
- Add a test to check historical blocks has execution payload when `--prune-payloads false is set
- Very minor typo correction that I notice when working on this
2025-02-07 09:19:29 +00:00
Akihito Nakano
7408719de8
Remove unused metrics ( #6817 )
...
N/A
Removed metrics that were defined but not used anywhere.
2025-02-07 07:48:52 +00:00
Krishang Shah
a4e3f361bf
Update metrics.rs ( #6863 )
...
Fixes #5206 , a low-hanging fruit.
2025-02-06 05:19:51 +00:00
Lion - dapplion
95cec45c38
Use data column batch verification consistently ( #6851 )
...
Resolve a `TODO(das)` to use KZG batch verification in `put_rpc_custody_columns`
Uses `verify_kzg_for_data_column_list_with_scoring` in all paths that send more than one column. To use batch verification and have attributability of which peer is sending a bad column.
Needs to move `verify_kzg_for_data_column_list_with_scoring` into the type's module to convert to the KZG verified type.
2025-02-03 06:07:45 +00:00
Lion - dapplion
027bb973f8
Compute columns in post-PeerDAS checkpoint sync ( #6760 )
...
Addresses #6026 .
Post-PeerDAS the DB expects to have data columns for the finalized block.
Instead of forcing the user to submit the columns, this PR computes the columns from the blobs that we can already fetch from the checkpointz server or with the existing CLI options.
Note 1: (EDIT) Pruning concern addressed
Note 2: I have not tested this feature
Note 3: @michaelsproul an alternative I recall is to not require the blobs / columns at this point and expect backfill to populate the finalized block
2025-01-31 06:00:52 +00:00
Eitan Seri-Levi
276eda3dfe
POST /eth/v2/beacon/pool/attestations bugfixes (#6867 )
2025-01-31 00:20:44 +00:00
Jimmy Chen
70194dfc6a
Implement PeerDAS Fulu fork activation ( #6795 )
...
Addresses #6706
This PR activates PeerDAS at the Fulu fork epoch instead of `EIP_7594_FORK_EPOCH`. This means we no longer support testing PeerDAS with Deneb / Electrs, as it's now part of a hard fork.
2025-01-30 07:01:34 +00:00
Lion - dapplion
c6ebaba892
Detect invalid proposer signature on RPC block processing ( #6519 )
...
Complements
- https://github.com/sigp/lighthouse/pull/6321
by detecting if the proposer signature is valid or not during RPC block processing. In lookup sync, if the invalid signature signature is the proposer signature, it's not deterministic on the block root. So we should only penalize the sending peer and retry. Otherwise, if it's on the body we should drop the lookup and penalize all peers that claim to have imported the block
2025-01-28 19:01:26 +00:00
Eitan Seri-Levi
a1b7d616b4
Modularize beacon node backend ( #4718 )
...
#4669
Modularize the beacon node backend to make it easier to add new database implementations
2025-01-23 02:12:16 +00:00
Jimmy Chen
f008b84079
Avoid computing columns from EL blobs if block has already been imported ( #6816 )
...
* Avoid computing columns from EL blobs if block has already been imported.
* Downgrade a `warn` log to `debug` and update handling.
2025-01-22 04:05:32 +00:00
Eitan Seri-Levi
06329ec2d1
SingleAttestation implementation (#6488 )
...
* First pass
* Add restrictions to RuntimeVariableList api
* Use empty_uninitialized and fix warnings
* Fix some todos
* Merge branch 'unstable' into max-blobs-preset
* Fix take impl on RuntimeFixedList
* cleanup
* Fix test compilations
* Fix some more tests
* Fix test from unstable
* Merge branch 'unstable' into max-blobs-preset
* SingleAttestation
* Add post attestation v2 endpoint logic to attestation service
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Implement "Bugfix and more withdrawal tests"
* Implement "Add missed exit checks to consolidation processing"
* Implement "Update initial earliest_exit_epoch calculation"
* Implement "Limit consolidating balance by validator.effective_balance"
* Implement "Use 16-bit random value in validator filter"
* Implement "Do not change creds type on consolidation"
* some tests and fixed attestqtion calc
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Rename PendingPartialWithdraw index field to validator_index
* Skip slots to get test to pass and add TODO
* Implement "Synchronously check all transactions to have non-zero length"
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Remove footgun function
* Minor simplifications
* Move from preset to config
* Fix typo
* Revert "Remove footgun function"
This reverts commit de01f923c7 .
* Try fixing tests
* Implement "bump minimal preset MAX_BLOB_COMMITMENTS_PER_BLOCK and KZG_COMMITMENT_INCLUSION_PROOF_DEPTH"
* Thread through ChainSpec
* Fix release tests
* Move RuntimeFixedVector into module and rename
* Add test
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* Added more test coverage, simplified Attestation conversion, and other minor refactors
* Removed unusued codepaths
* Fix failing test
* Implement "Remove post-altair `initialize_beacon_state_from_eth1` from specs"
* Update preset YAML
* Remove empty RuntimeVarList awefullness
* Make max_blobs_per_block a config parameter (#6329 )
Squashed commit of the following:
commit 04b3743ec1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:36:58 2025 +1100
Add test
commit 440e854199
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:24:50 2025 +1100
Move RuntimeFixedVector into module and rename
commit f66e179a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:17:17 2025 +1100
Fix release tests
commit e4bfe71cd1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:05:30 2025 +1100
Thread through ChainSpec
commit 063b79c16a
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:32:16 2025 +1100
Try fixing tests
commit 88bedf09bc
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:37 2025 +1100
Revert "Remove footgun function"
This reverts commit de01f923c7 .
commit 32483d385b
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:32 2025 +1100
Fix typo
commit 2e86585b47
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:15 2025 +1100
Move from preset to config
commit 1095d60a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:38:40 2025 +1100
Minor simplifications
commit de01f923c7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:06:57 2025 +1100
Remove footgun function
commit 0c2c8c4224
Merge: 21ecb58ff f51a292f7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:02:50 2025 +1100
Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
commit f51a292f77
Author: Daniel Knopik <107140945+dknopik@users.noreply.github.com >
Date: Fri Jan 3 20:27:21 2025 +0100
fully lint only explicitly to avoid unnecessary rebuilds (#6753 )
* fully lint only explicitly to avoid unnecessary rebuilds
commit 7e0cddef32
Author: Akihito Nakano <sora.akatsuki@gmail.com >
Date: Tue Dec 24 10:38:56 2024 +0900
Make sure we have fanout peers when publish (#6738 )
* Ensure that `fanout_peers` is always non-empty if it's `Some`
commit 21ecb58ff8
Merge: 2fcb2935e 9aefb5539
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Mon Oct 21 14:46:00 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 2fcb2935ec
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Sep 6 18:28:31 2024 -0700
Fix test from unstable
commit 12c6ef118a
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 16:16:36 2024 -0700
Fix some more tests
commit d37733b846
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 12:47:36 2024 -0700
Fix test compilations
commit 52bb581e07
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 18:38:19 2024 -0700
cleanup
commit e71020e3e6
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 17:16:10 2024 -0700
Fix take impl on RuntimeFixedList
commit 13f9bba647
Merge: 60100fc6b 4e675cf5d
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 16:08:59 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 60100fc6be
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 16:04:11 2024 -0700
Fix some todos
commit a9cb329a22
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:54:00 2024 -0700
Use empty_uninitialized and fix warnings
commit 4dc6e6515e
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:53:18 2024 -0700
Add restrictions to RuntimeVariableList api
commit 25feedfde3
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Thu Aug 29 16:11:19 2024 -0700
First pass
* Fix tests
* Implement max_blobs_per_block_electra
* Fix config issues
* Simplify BlobSidecarListFromRoot
* Disable PeerDAS tests
* Cleanup single attestation imports
* Fix some single attestation network plumbing
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Bump quota to account for new target (6)
* Remove clone
* Fix issue from review
* Try to remove ugliness
* Merge branch 'unstable' into max-blobs-preset
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Merge commit '04b3743ec1e0b650269dd8e58b540c02430d1c0d' into electra-alpha10
* Merge remote-tracking branch 'pawan/max-blobs-preset' into electra-alpha10
* Update tests to v1.5.0-beta.0
* Merge remote-tracking branch 'origin/electra-alpha10' into single_attestation
* Fix some tests
* Cargo fmt
* lint
* fmt
* Resolve merge conflicts
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* lint
* Linting
* fmt
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* Fmt
* Fix test and add TODO
* Gracefully handle slashed proposers in fork choice tests
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Keep latest changes from max_blobs_per_block PR in codec.rs
* Revert a few more regressions and add a comment
* Merge branch 'electra-alpha10' of https://github.com/sigp/lighthouse into single_attestation
* Disable more DAS tests
* Improve validator monitor test a little
* Make test more robust
* Fix sync test that didn't understand blobs
* Fill out cropped comment
* Merge remote-tracking branch 'origin/electra-alpha10' into single_attestation
* Merge remote-tracking branch 'origin/unstable' into single_attestation
* Merge remote-tracking branch 'origin/unstable' into single_attestation
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into single_attestation
* publish_attestations should accept Either<Attestation,SingleAttestation>
* log an error when failing to convert to SingleAttestation
* Use Cow to avoid clone
* Avoid reconverting to SingleAttestation
* Tweak VC error message
* update comments
* update comments
* pass in single attestation as ref to subnetid calculation method
* Improved API, new error variants and other minor tweaks
* Fix single_attestation event topic boilerplate
* fix sse event failure
* Add single_attestation event topic test coverage
2025-01-16 18:27:08 +00:00
Jimmy Chen
e98209d118
Implement PeerDAS subnet decoupling (aka custody groups) ( #6736 )
...
* Implement PeerDAS subnet decoupling (aka custody groups).
* Merge branch 'unstable' into decouple-subnets
* Refactor feature testing for spec tests (#6737 )
Squashed commit of the following:
commit 898d05ee17
Merge: ffbd25e2b 7e0cddef3
Author: Jimmy Chen <jchen.tc@gmail.com >
Date: Tue Dec 24 14:41:19 2024 +1100
Merge branch 'unstable' into refactor-ef-tests-features
commit ffbd25e2be
Author: Jimmy Chen <jchen.tc@gmail.com >
Date: Tue Dec 24 14:40:38 2024 +1100
Fix `SszStatic` tests for PeerDAS: exclude eip7594 test vectors when testing Electra types.
commit aa593cf35c
Author: Jimmy Chen <jchen.tc@gmail.com >
Date: Fri Dec 20 12:08:54 2024 +1100
Refactor spec testing for features and simplify usage.
* Fix build.
* Add input validation and improve arithmetic handling when calculating custody groups.
* Address review comments re code style consistency.
* Merge branch 'unstable' into decouple-subnets
# Conflicts:
# beacon_node/beacon_chain/src/kzg_utils.rs
# beacon_node/beacon_chain/src/observed_data_sidecars.rs
# beacon_node/lighthouse_network/src/discovery/subnet_predicate.rs
# common/eth2_network_config/built_in_network_configs/chiado/config.yaml
# common/eth2_network_config/built_in_network_configs/gnosis/config.yaml
# common/eth2_network_config/built_in_network_configs/holesky/config.yaml
# common/eth2_network_config/built_in_network_configs/mainnet/config.yaml
# common/eth2_network_config/built_in_network_configs/sepolia/config.yaml
# consensus/types/src/chain_spec.rs
* Update consensus/types/src/chain_spec.rs
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com >
* Merge remote-tracking branch 'origin/unstable' into decouple-subnets
* Update error handling.
* Address review comment.
* Merge remote-tracking branch 'origin/unstable' into decouple-subnets
# Conflicts:
# consensus/types/src/chain_spec.rs
* Update PeerDAS spec tests to `1.5.0-beta.0` and fix failing unit tests.
* Merge remote-tracking branch 'origin/unstable' into decouple-subnets
# Conflicts:
# beacon_node/lighthouse_network/src/peer_manager/mod.rs
2025-01-15 07:40:26 +00:00
Jimmy Chen
dd7591f712
Fix data columns not persisting for PeerDAS due to a getBlobs race condition ( #6756 )
...
* Fix data columns not persisting for PeerDAS due to a `getBlobs` race condition.
* Refactor blobs and columns logic in `chain.import_block` for clarity. Add more docs on `data_column_recv`.
* Add more code comments for clarity.
* Merge remote-tracking branch 'origin/unstable' into fix-column-race
# Conflicts:
# beacon_node/beacon_chain/src/block_verification_types.rs
# beacon_node/beacon_chain/src/data_availability_checker/overflow_lru_cache.rs
* Fix lint.
2025-01-15 06:56:51 +00:00
Michael Sproul
06e4d22d49
Electra spec changes for v1.5.0-beta.0 ( #6731 )
...
* First pass
* Add restrictions to RuntimeVariableList api
* Use empty_uninitialized and fix warnings
* Fix some todos
* Merge branch 'unstable' into max-blobs-preset
* Fix take impl on RuntimeFixedList
* cleanup
* Fix test compilations
* Fix some more tests
* Fix test from unstable
* Merge branch 'unstable' into max-blobs-preset
* Implement "Bugfix and more withdrawal tests"
* Implement "Add missed exit checks to consolidation processing"
* Implement "Update initial earliest_exit_epoch calculation"
* Implement "Limit consolidating balance by validator.effective_balance"
* Implement "Use 16-bit random value in validator filter"
* Implement "Do not change creds type on consolidation"
* Rename PendingPartialWithdraw index field to validator_index
* Skip slots to get test to pass and add TODO
* Implement "Synchronously check all transactions to have non-zero length"
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Remove footgun function
* Minor simplifications
* Move from preset to config
* Fix typo
* Revert "Remove footgun function"
This reverts commit de01f923c7 .
* Try fixing tests
* Implement "bump minimal preset MAX_BLOB_COMMITMENTS_PER_BLOCK and KZG_COMMITMENT_INCLUSION_PROOF_DEPTH"
* Thread through ChainSpec
* Fix release tests
* Move RuntimeFixedVector into module and rename
* Add test
* Implement "Remove post-altair `initialize_beacon_state_from_eth1` from specs"
* Update preset YAML
* Remove empty RuntimeVarList awefullness
* Make max_blobs_per_block a config parameter (#6329 )
Squashed commit of the following:
commit 04b3743ec1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:36:58 2025 +1100
Add test
commit 440e854199
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:24:50 2025 +1100
Move RuntimeFixedVector into module and rename
commit f66e179a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:17:17 2025 +1100
Fix release tests
commit e4bfe71cd1
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 17:05:30 2025 +1100
Thread through ChainSpec
commit 063b79c16a
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:32:16 2025 +1100
Try fixing tests
commit 88bedf09bc
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:37 2025 +1100
Revert "Remove footgun function"
This reverts commit de01f923c7 .
commit 32483d385b
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:32 2025 +1100
Fix typo
commit 2e86585b47
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 15:04:15 2025 +1100
Move from preset to config
commit 1095d60a40
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:38:40 2025 +1100
Minor simplifications
commit de01f923c7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:06:57 2025 +1100
Remove footgun function
commit 0c2c8c4224
Merge: 21ecb58ff f51a292f7
Author: Michael Sproul <michael@sigmaprime.io >
Date: Mon Jan 6 14:02:50 2025 +1100
Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
commit f51a292f77
Author: Daniel Knopik <107140945+dknopik@users.noreply.github.com >
Date: Fri Jan 3 20:27:21 2025 +0100
fully lint only explicitly to avoid unnecessary rebuilds (#6753 )
* fully lint only explicitly to avoid unnecessary rebuilds
commit 7e0cddef32
Author: Akihito Nakano <sora.akatsuki@gmail.com >
Date: Tue Dec 24 10:38:56 2024 +0900
Make sure we have fanout peers when publish (#6738 )
* Ensure that `fanout_peers` is always non-empty if it's `Some`
commit 21ecb58ff8
Merge: 2fcb2935e 9aefb5539
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Mon Oct 21 14:46:00 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 2fcb2935ec
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Sep 6 18:28:31 2024 -0700
Fix test from unstable
commit 12c6ef118a
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 16:16:36 2024 -0700
Fix some more tests
commit d37733b846
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Wed Sep 4 12:47:36 2024 -0700
Fix test compilations
commit 52bb581e07
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 18:38:19 2024 -0700
cleanup
commit e71020e3e6
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 17:16:10 2024 -0700
Fix take impl on RuntimeFixedList
commit 13f9bba647
Merge: 60100fc6b 4e675cf5d
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Tue Sep 3 16:08:59 2024 -0700
Merge branch 'unstable' into max-blobs-preset
commit 60100fc6be
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 16:04:11 2024 -0700
Fix some todos
commit a9cb329a22
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:54:00 2024 -0700
Use empty_uninitialized and fix warnings
commit 4dc6e6515e
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Fri Aug 30 15:53:18 2024 -0700
Add restrictions to RuntimeVariableList api
commit 25feedfde3
Author: Pawan Dhananjay <pawandhananjay@gmail.com >
Date: Thu Aug 29 16:11:19 2024 -0700
First pass
* Fix tests
* Implement max_blobs_per_block_electra
* Fix config issues
* Simplify BlobSidecarListFromRoot
* Disable PeerDAS tests
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Bump quota to account for new target (6)
* Remove clone
* Fix issue from review
* Try to remove ugliness
* Merge branch 'unstable' into max-blobs-preset
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Merge commit '04b3743ec1e0b650269dd8e58b540c02430d1c0d' into electra-alpha10
* Merge remote-tracking branch 'pawan/max-blobs-preset' into electra-alpha10
* Update tests to v1.5.0-beta.0
* Resolve merge conflicts
* Linting
* fmt
* Fix test and add TODO
* Gracefully handle slashed proposers in fork choice tests
* Merge remote-tracking branch 'origin/unstable' into electra-alpha10
* Keep latest changes from max_blobs_per_block PR in codec.rs
* Revert a few more regressions and add a comment
* Disable more DAS tests
* Improve validator monitor test a little
* Make test more robust
* Fix sync test that didn't understand blobs
* Fill out cropped comment
2025-01-13 23:17:00 +00:00
Pawan Dhananjay
05727290fb
Make max_blobs_per_block a config parameter ( #6329 )
...
* First pass
* Add restrictions to RuntimeVariableList api
* Use empty_uninitialized and fix warnings
* Fix some todos
* Merge branch 'unstable' into max-blobs-preset
* Fix take impl on RuntimeFixedList
* cleanup
* Fix test compilations
* Fix some more tests
* Fix test from unstable
* Merge branch 'unstable' into max-blobs-preset
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Remove footgun function
* Minor simplifications
* Move from preset to config
* Fix typo
* Revert "Remove footgun function"
This reverts commit de01f923c7 .
* Try fixing tests
* Thread through ChainSpec
* Fix release tests
* Move RuntimeFixedVector into module and rename
* Add test
* Remove empty RuntimeVarList awefullness
* Fix tests
* Simplify BlobSidecarListFromRoot
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Bump quota to account for new target (6)
* Remove clone
* Fix issue from review
* Try to remove ugliness
* Merge branch 'unstable' into max-blobs-preset
* Fix max value
* Fix doctest
* Fix formatting
* Fix max check
* Delete hardcoded max_blobs_per_block in RPC limits
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
2025-01-10 06:34:58 +00:00
Mac L
ecdf2d891f
Add Fulu boilerplate ( #6695 )
...
* Add Fulu boilerplate
* Add more boilerplate
* Change fulu_time to osaka_time
* Merge branch 'unstable' into fulu-boilerplate
* Fix tests
* Merge branch 'unstable' into fulu-boilerplate
* More test fixes
* Apply suggestions
* Remove `get_payload` boilerplate
* Add lightclient fulu types and fix beacon-chain-tests
* Disable Fulu in ef-tests
* Reduce boilerplate for future forks
* Small fixes
* One more fix
* Apply suggestions
* Merge branch 'unstable' into fulu-boilerplate
* Fix lints
2025-01-10 05:25:23 +00:00
Pawan Dhananjay
1f6850fae2
Rust 1.84 lints ( #6781 )
...
* Fix few lints
* Fix remaining lints
* Use fully qualified syntax
2025-01-10 01:13:29 +00:00
Jimmy Chen
80cfbea7fe
Fix incorrect data column metric name ( #6761 )
...
* Fix incorrect data column metric name.
2025-01-08 03:12:37 +00:00
Jimmy Chen
7ec748a108
Implement getBlobSidecars support for PeerDAS ( #6755 )
...
* Implement getBlobSidecars endpoint for PeerDAS.
* Merge branch 'unstable' into peerdas-get-blob-sidecars
* Fix incorrect logging.
* Replace `and_then` usage.
2025-01-08 03:12:34 +00:00
Ekaterina Riazantseva
57141d8b4b
Add 'beacon_' prefix to PeerDAS metrics names ( #6537 )
...
* Add 'beacon_' prefix to PeerDAS metrics names
* Merge remote-tracking branch 'origin/unstable' into peerdas-metrics
* Merge 'origin/unstable' into peerdas-metrics
* Merge remote-tracking branch 'origin/unstable/ into peerdas-metrics
* Add 'beacon_' prefix to 'kzg_data_column' metrics
2025-01-08 00:39:53 +00:00
Michael Sproul
07e82dabc0
Delete OTB verification service ( #6631 )
...
* Delete OTB verification service
* Merge branch 'unstable' into delete-otb
2024-12-19 05:46:06 +00:00
Mac L
b2b1faad4e
Enforce alphabetically ordered cargo deps ( #6678 )
...
* Enforce alphabetically ordered cargo deps
* Fix test-suite
* Another CI fix
* Merge branch 'unstable' into cargo-sort
* Fix conflicts
* Merge remote-tracking branch 'origin/unstable' into cargo-sort
2024-12-19 05:46:03 +00:00
Pawan Dhananjay
2662dc7f8f
Fix Sse client api ( #6685 )
...
* Use reqwest eventsource for get_events api
* await for Event::Open before returning stream
* fmt
* Merge branch 'unstable' into sse-client-fix
* Ignore lint
2024-12-18 00:05:58 +00:00
Daniel Knopik
02cb2d68ff
Enable lints for tests only running optimized ( #6664 )
...
* enable linting optimized-only tests
* fix automatically fixable or obvious lints
* fix suspicious_open_options by removing manual options
* fix `await_holding_lock`s
* avoid failing lint due to now disabled `#[cfg(debug_assertions)]`
* reduce future sizes in tests
* fix accidently flipped assert logic
* restore holding lock for web3signer download
* Merge branch 'unstable' into lint-opt-tests
2024-12-17 00:40:35 +00:00
ethDreamer
86891e6d0f
builder gas limit & some refactoring ( #6583 )
...
* Cache gas_limit
* Payload Parameters Refactor
* Enforce Proposer Gas Limit
* Fixed and Added New Tests
* Fix Beacon Chain Tests
2024-12-16 05:43:58 +00:00
Michael Sproul
a6de0d5e12
Merge remote-tracking branch 'origin/stable' into back-merge-6.0.1
2024-12-16 15:37:52 +11:00
Lion - dapplion
c92c07ff49
Track beacon processor import result metrics ( #6541 )
...
* Track beacon processor import result metrics
* Update metric name
2024-12-16 04:33:33 +00:00
Michael Sproul
f3b78889e5
Compact more when pruning states ( #6667 )
...
* Compact more when pruning states
* Merge branch 'release-v6.0.1' into compact-more
2024-12-14 08:43:00 +00:00
Michael Sproul
fc0e0ae613
Prevent reconstruction starting prematurely ( #6669 )
...
* Prevent reconstruction starting prematurely
* Simplify condition
* Merge remote-tracking branch 'origin/release-v6.0.1' into dont-start-reconstruction-early
2024-12-12 01:58:41 +00:00
Michael Sproul
b2590bcb37
Tweak reconstruction batch size ( #6668 )
...
* Tweak reconstruction batch size
* Merge branch 'release-v6.0.1' into reconstruction-batch-size
2024-12-11 22:51:46 +00:00
Michael Sproul
fa6c4c02a3
Fix Rust 1.83 Clippy lints ( #6629 )
...
* Fix Rust 1.83 Clippy lints
* Cargo fmt
2024-11-29 02:23:54 +00:00
Michael Sproul
b1e9f69460
Fix v22 schema upgrade ( #6591 )
...
* Fix v22 schema upgrade
* Ownership
2024-11-19 22:43:18 +00:00
Michael Sproul
9fdd53df56
Hierarchical state diffs ( #5978 )
...
* Start extracting freezer changes for tree-states
* Remove unused config args
* Add comments
* Remove unwraps
* Subjective more clear implementation
* Clean up hdiff
* Update xdelta3
* Tree states archive metrics (#6040 )
* Add store cache size metrics
* Add compress timer metrics
* Add diff apply compute timer metrics
* Add diff buffer cache hit metrics
* Add hdiff buffer load times
* Add blocks replayed metric
* Move metrics to store
* Future proof some metrics
---------
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
* Port and clean up forwards iterator changes
* Add and polish hierarchy-config flag
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Cleaner errors
* Fix beacon_chain test compilation
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Patch a few more freezer block roots
* Fix genesis block root bug
* Fix test failing due to pending updates
* Beacon chain tests passing
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Fix doc lint
* Implement DB schema upgrade for hierarchical state diffs (#6193 )
* DB upgrade
* Add flag
* Delete RestorePointHash
* Update docs
* Update docs
* Implement hierarchical state diffs config migration (#6245 )
* Implement hierarchical state diffs config migration
* Review PR
* Remove TODO
* Set CURRENT_SCHEMA_VERSION correctly
* Fix genesis state loading
* Re-delete some PartialBeaconState stuff
---------
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Fix test compilation
* Update schema downgrade test
* Fix tests
* Fix null anchor migration
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Fix tree states upgrade migration (#6328 )
* Towards crash safety
* Fix compilation
* Move cold summaries and state roots to new columns
* Rename StateRoots chunked field
* Update prune states
* Clean hdiff CLI flag and metrics
* Fix "staged reconstruction"
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Fix alloy issues
* Fix staged reconstruction logic
* Prevent weird slot drift
* Remove "allow" flag
* Update CLI help
* Remove FIXME about downgrade
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Remove some unnecessary error variants
* Fix new test
* Tree states archive - review comments and metrics (#6386 )
* Review PR comments and metrics
* Comments
* Add anchor metrics
* drop prev comment
* Update metadata.rs
* Apply suggestions from code review
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com >
* Update beacon_node/store/src/hot_cold_store.rs
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com >
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Clarify comment and remove anchor_slot garbage
* Simplify database anchor (#6397 )
* Simplify database anchor
* Update beacon_node/store/src/reconstruct.rs
* Add migration for anchor
* Fix and simplify light_client store tests
* Fix incompatible config test
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* More metrics
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* New historic state cache (#6475 )
* New historic state cache
* Add more metrics
* State cache hit rate metrics
* Fix store metrics
* More logs and metrics
* Fix logger
* Ensure cached states have built caches :O
* Replay blocks in preference to diffing
* Two separate caches
* Distribute cache build time to next slot
* Re-plumb historic-state-cache flag
* Clean up metrics
* Update book
* Update beacon_node/store/src/hdiff.rs
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com >
* Update beacon_node/store/src/historic_state_cache.rs
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com >
---------
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com >
* Update database docs
* Update diagram
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Update lockbud to work with bindgen/etc
* Correct pkg name for Debian
* Remove vestigial epochs_per_state_diff
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Markdown lint
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Address Jimmy's review comments
* Simplify ReplayFrom case
* Fix and document genesis_state_root
* Typo
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
* Merge branch 'unstable' into tree-states-archive
* Compute diff of validators list manually (#6556 )
* Split hdiff computation
* Dedicated logic for historical roots and summaries
* Benchmark against real states
* Mutated source?
* Version the hdiff
* Add lighthouse DB config for hierarchy exponents
* Tidy up hierarchy exponents flag
* Apply suggestions from code review
Co-authored-by: Michael Sproul <micsproul@gmail.com >
* Address PR review
* Remove hardcoded paths in benchmarks
* Delete unused function in benches
* lint
---------
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
* Test hdiff binary format stability (#6585 )
* Merge remote-tracking branch 'origin/unstable' into tree-states-archive
* Add deprecation warning for SPRP
* Update xdelta to get rid of duplicate deps
* Document test
2024-11-18 01:51:44 +00:00