Michael Sproul
61962898e2
In-memory tree states ( #5533 )
...
* Consensus changes
* EF tests
* lcli
* common and watch
* account manager
* cargo
* fork choice
* promise cache
* beacon chain
* interop genesis
* http api
* lighthouse
* op pool
* beacon chain misc
* parallel state cache
* store
* fix issues in store
* IT COMPILES
* Remove some unnecessary module qualification
* Revert Arced pubkey optimization (#5536 )
* Merge remote-tracking branch 'origin/unstable' into tree-states-memory
* Fix caching, rebasing and some tests
* Remove unused deps
* Merge remote-tracking branch 'origin/unstable' into tree-states-memory
* Small cleanups
* Revert shuffling cache/promise cache changes
* Fix state advance bugs
* Fix shuffling tests
* Remove some resolved FIXMEs
* Remove StateProcessingStrategy
* Optimise withdrawals calculation
* Don't reorg if state cache is missed
* Remove inconsistent state func
* Fix beta compiler
* Rebase early, rebase often
* Fix state caching behaviour
* Update to milhouse release
* Fix on-disk consensus context format
* Merge remote-tracking branch 'origin/unstable' into tree-states-memory
* Squashed commit of the following:
commit 3a16649023
Author: Michael Sproul <michael@sigmaprime.io >
Date: Thu Apr 18 14:26:09 2024 +1000
Fix on-disk consensus context format
* Keep indexed attestations, thanks Sean
* Merge branch 'on-disk-consensus-context' into tree-states-memory
* Merge branch 'unstable' into tree-states-memory
* Address half of Sean's review
* More simplifications from Sean's review
* Cache state after get_advanced_hot_state
2024-04-24 01:22:36 +00:00
ethDreamer
cda926ce1b
Rename Functions to More Closely Match Spec ( #5591 )
...
* Rename Functions to More Closely Match Spec
2024-04-16 19:03:08 +00:00
Michael Sproul
feb531f85b
Single-pass epoch processing and optimised block processing ( #5279 )
...
* Single-pass epoch processing (#4483 , #4573 )
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
* Delete unused epoch processing code (#5170 )
* Delete unused epoch processing code
* Compare total deltas
* Remove unnecessary apply_pending
* cargo fmt
* Remove newline
* Use epoch cache in block packing (#5223 )
* Remove progressive balances mode (#5224 )
* inline inactivity_penalty_quotient_for_state
* drop previous_epoch_total_active_balance
* fc lint
* spec compliant process_sync_aggregate (#15 )
* spec compliant process_sync_aggregate
* Update consensus/state_processing/src/per_block_processing/altair/sync_committee.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com >
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com >
* Delete the participation cache (#16 )
* update help
* Fix op_pool tests
* Fix fork choice tests
* Merge remote-tracking branch 'sigp/unstable' into epoch-single-pass
* Simplify exit cache (#5280 )
* Fix clippy on exit cache
* Clean up single-pass a bit (#5282 )
* Address Mark's review of single-pass (#5386 )
* Merge remote-tracking branch 'origin/unstable' into epoch-single-pass
* Address Sean's review comments (#5414 )
* Address most of Sean's review comments
* Simplify total balance cache building
* Clean up unused junk
* Merge remote-tracking branch 'origin/unstable' into epoch-single-pass
* More self-review
* Merge remote-tracking branch 'origin/unstable' into epoch-single-pass
* Merge branch 'unstable' into epoch-single-pass
* Fix imports for beta compiler
* Fix tests, probably
2024-04-04 13:14:36 +00:00
Mac L
969d12dc6f
Use E for EthSpec globally ( #5264 )
...
* Use `E` for `EthSpec` globally
* Fix tests
* Merge branch 'unstable' into e-ethspec
* Merge branch 'unstable' into e-ethspec
# Conflicts:
# beacon_node/execution_layer/src/engine_api.rs
# beacon_node/execution_layer/src/engine_api/http.rs
# beacon_node/execution_layer/src/engine_api/json_structures.rs
# beacon_node/execution_layer/src/test_utils/handle_rpc.rs
# beacon_node/store/src/partial_beacon_state.rs
# consensus/types/src/beacon_block.rs
# consensus/types/src/beacon_block_body.rs
# consensus/types/src/beacon_state.rs
# consensus/types/src/config_and_preset.rs
# consensus/types/src/execution_payload.rs
# consensus/types/src/execution_payload_header.rs
# consensus/types/src/light_client_optimistic_update.rs
# consensus/types/src/payload.rs
# lcli/src/parse_ssz.rs
2024-04-02 15:12:25 +00:00
Michael Sproul
b4689e20c6
Altair consensus changes and refactors ( #2279 )
...
## Proposed Changes
Implement the consensus changes necessary for the upcoming Altair hard fork.
## Additional Info
This is quite a heavy refactor, with pivotal types like the `BeaconState` and `BeaconBlock` changing from structs to enums. This ripples through the whole codebase with field accesses changing to methods, e.g. `state.slot` => `state.slot()`.
Co-authored-by: realbigsean <seananderson33@gmail.com >
2021-07-09 06:15:32 +00:00
Michael Sproul
3412a3ec54
Remove saturating arith from state_processing ( #1644 )
...
## Issue Addressed
Resolves #1100
## Proposed Changes
* Implement the `SafeArith` trait for `Slot` and `Epoch`, so that methods like `safe_add` become available.
* Tweak the `SafeArith` trait to allow a different `Rhs` type (analagous to `std::ops::Add`, etc).
* Add a `legacy-arith` feature to `types` and `state_processing` that conditionally enables implementations of
the `std` ops with saturating semantics.
* Check compilation of `types` and `state_processing` _without_ `legacy-arith` on CI,
thus guaranteeing that they only use the `SafeArith` primitives 🎉
## Additional Info
The `legacy-arith` feature gets turned on by all higher-level crates that depend on `state_processing` or `types`, thus allowing the beacon chain, networking, and other components to continue to rely on the availability of ops like `+`, `-`, `*`, etc.
**This is a consensus-breaking change**, but brings us in line with the spec, and our incompatibilities shouldn't have been reachable with any valid configuration of Eth2 parameters.
2020-09-25 05:18:21 +00:00
Michael Sproul
305724770d
Bump all spec tags to v0.12.1 ( #1275 )
2020-06-19 11:18:27 +10:00
Paul Hauner
4331834003
Directory Restructure ( #1163 )
...
* Move tests -> testing
* Directory restructure
* Update Cargo.toml during restructure
* Update Makefile during restructure
* Fix arbitrary path
2020-05-18 21:24:23 +10:00