realbigsean
27ed90e4dc
Electra attestation changes sean review ( #5972 )
...
* instantiate empty bitlist in unreachable code
* clean up error conversion
* fork enabled bool cleanup
* remove a couple todos
* return bools instead of options in `aggregate` and use the result
* delete commented out code
* use map macros in simple transformations
* remove signers_disjoint_from
* get ef tests compiling
* get ef tests compiling
* update intentionally excluded files
2024-06-21 14:20:10 +10:00
realbigsean
afb9122cc1
update default persisted op pool deserialization
2024-06-19 15:00:33 -04:00
dapplion
4d4c268e1e
Remove stale TODO
2024-06-19 11:31:51 +02:00
Eitan Seri-Levi
7af3f2eb35
add electra fork enabled fn to ForkName impl ( #36 )
...
* add electra fork enabled fn to ForkName impl
* remove inadvertent file
2024-06-19 11:31:50 +02:00
Michael Sproul
d5aa2d8dfe
Merge remote-tracking branch 'origin/unstable' into electra_attestation_changes
2024-06-14 12:32:47 +10:00
realbigsean
a74098044a
Rust 1.79 lints ( #5927 )
...
* max_value -> MAX
* remove unnecesary closures
* a couple more max_value -> MAX
* a couple more max_value -> MAX
* Revert "a couple more max_value -> MAX"
This reverts commit 807fe7cae9 .
* unused spec field -> phantom data
* ignore some dead code warnings
* update kurtosis repo location
2024-06-13 23:04:30 +00:00
Eitan Seri-Levi
e340998241
Fix failing attestation tests and misc electra attestation cleanup ( #5810 )
...
* - get attestation related beacon chain tests to pass
- observed attestations are now keyed off of data + committee index
- rename op pool attestationref to compactattestationref
- remove unwraps in agg pool and use options instead
- cherry pick some changes from ef-tests-electra
* cargo fmt
* fix failing test
* Revert dockerfile changes
* make committee_index return option
* function args shouldnt be a ref to attestation ref
* fmt
* fix dup imports
---------
Co-authored-by: realbigsean <seananderson33@GMAIL.com >
2024-05-30 11:51:34 -04:00
ethDreamer
75432e1135
Electra attestation changes rm decode impl ( #5856 )
...
* Remove Crappy Decode impl for Attestation
* Remove Inefficient Attestation Decode impl
* Implement Schema Upgrade / Downgrade
* Update beacon_node/beacon_chain/src/schema_change/migration_schema_v20.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com >
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com >
2024-05-30 11:34:14 -04:00
Michael Sproul
72548cb54e
Fix assert
2024-05-10 12:49:15 +10:00
Michael Sproul
16265ef455
Add comment to max cover optimisation
2024-05-10 12:44:18 +10:00
Michael Sproul
437e8516cd
Fix bugs in cross-committee aggregation
2024-05-10 12:29:57 +10:00
Eitan Seri-Levi
411fcee2ac
Compute on chain aggregate impl ( #5752 )
...
* add compute_on_chain_agg impl to op pool changes
* fmt
* get op pool tests to pass
2024-05-10 10:56:20 +10:00
Michael Sproul
7cb7653d36
Sketch op pool changes
2024-05-09 17:45:52 +10:00
ethDreamer
f30246b9d4
Some small changes ( #5739 )
2024-05-08 11:40:08 -05:00
Eitan Seri-Levi
90179d4a88
EIP7549 get_attestation_indices ( #5657 )
...
* get attesting indices electra impl
* fmt
* get tests to pass
* fmt
* fix some beacon chain tests
* fmt
* fix slasher test
* fmt got me again
* fix more tests
* fix tests
2024-05-08 11:32:44 -05:00
realbigsean
38382a3ca1
cargo fmt
2024-05-06 17:32:25 -04:00
ethDreamer
19a9479234
Superstruct AggregateAndProof ( #5715 )
...
* Upgrade `superstruct` to `0.8.0`
* superstruct `AggregateAndProof`
2024-05-06 10:09:22 -05:00
ethDreamer
e6c7f145dd
superstruct the AttesterSlashing (#5636 )
...
* `superstruct` Attester Fork Variants
* Push a little further
* Deal with Encode / Decode of AttesterSlashing
* not so sure about this..
* Stop Encode/Decode Bounds from Propagating Out
* Tons of Changes..
* More Conversions to AttestationRef
* Add AsReference trait (#15 )
* Add AsReference trait
* Fix some snafus
* Got it Compiling! :D
* Got Tests Building
* Get beacon chain tests compiling
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com >
2024-05-02 18:00:21 -05:00
Eitan Seri-Levi
3b7132bc0d
Attestation superstruct changes for EIP 7549 ( #5644 )
...
* update
* experiment
* superstruct changes
* revert
* superstruct changes
* fix tests
* indexed attestation
* indexed attestation superstruct
* updated TODOs
2024-04-30 11:49:08 -05:00
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
realbigsean
d527d124dd
Beta compiler fixes ( #5543 )
...
* remove duplicate imports in gossip tests. get rid of duplicate trait bound locations
* more double import fixes
* cargo fmt
2024-04-10 07:47:05 +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
Eitan Seri-Levi
01ec42e75a
Fix Rust beta compiler errors 1.78.0-beta.1 ( #5439 )
...
* remove redundant imports
* fix test
* contains key
* fmt
* Merge branch 'unstable' into fix-beta-compiler
2024-03-20 05:17:02 +00:00
Jimmy Chen
e8fba8d3a7
Enable BLS portable feature on all CI tests ( #4868 )
...
## Issue Addressed
Addresses the recent CI failures caused by caching `blst` for the wrong CPU type.
## Proposed Changes
- Use `FEATURES: jemalloc,portable` when building Lighthouse & `lcli` in tests
- Add a new `TEST_FEATURES` and set to `portable` for all CI test jobs.
- Updated Makefiles to read the `TEST_FEATURES` environment variable, and default to none.
2023-10-20 07:30:27 +00:00
realbigsean
4555e33048
Remove serde derive references ( #4830 )
...
* remove remaining uses of serde_derive
* fix lockfile
---------
Co-authored-by: João Oliveira <hello@jxs.pt >
2023-10-11 13:01:30 -04:00
Jimmy Chen
4ad7e15732
Address Clippy 1.73 lints on Deneb branch ( #4810 )
...
* Address Clippy 1.73 lints (#4809 )
## Proposed Changes
Fix Clippy lints enabled by default in Rust 1.73.0, released today.
* Address Clippy 1.73 lints.
---------
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
2023-10-06 12:23:57 +05:30
Jimmy Chen
c0b6b92f27
Merge unstable 20230925 into deneb-free-blobs.
2023-09-26 10:32:18 +10:00
João Oliveira
dcd69dfc62
Move dependencies to workspace ( #4650 )
...
## Issue Addressed
Synchronize dependencies and edition on the workspace `Cargo.toml`
## Proposed Changes
with https://github.com/rust-lang/cargo/issues/8415 merged it's now possible to synchronize details on the workspace `Cargo.toml` like the metadata and dependencies.
By only having dependencies that are shared between multiple crates aligned on the workspace `Cargo.toml` it's easier to not miss duplicate versions of the same dependency and therefore ease on the compile times.
## Additional Info
this PR also removes the no longer required direct dependency of the `serde_derive` crate.
should be reviewed after https://github.com/sigp/lighthouse/pull/4639 get's merged.
closes https://github.com/sigp/lighthouse/issues/4651
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
Co-authored-by: Michael Sproul <micsproul@gmail.com >
2023-09-22 04:30:56 +00:00
Jimmy Chen
ff792d950c
Merge branch 'unstable' into merge-unstable-to-deneb-20230816
...
# Conflicts:
# beacon_node/http_api/src/lib.rs
2023-08-16 14:31:59 +10:00
zhiqiangxu
f1ac12f23a
Fix some typos ( #4565 )
2023-08-14 00:29:43 +00:00
ethDreamer
2b5385fb46
Changes for devnet-8 ( #4518 )
...
* Addressed #4487
Add override threshold flag
Added tests for Override Threshold Flag
Override default shown in decimal
* Addressed #4445
Addressed Jimmy's Comments
No need for matches
Fix Mock Execution Engine Tests
Fix clippy
fix fcuv3 bug
* Fix Block Root Calculation post-Deneb
* Addressed #4444
Attestation Verification Post-Deneb
Fix Gossip Attestation Verification Test
* Addressed #4443
Fix Exit Signing for EIP-7044
Fix cross exit test
Move 7044 Logic to signing_context()
* Update EF Tests
* Addressed #4560
* Added Comments around EIP7045
* Combine Altair Deneb to Eliminate Duplicated Code
2023-08-09 15:44:47 -04:00
realbigsean
ba65812972
remove patched dependencies ( #4470 )
2023-07-05 15:53:35 -04:00
Michael Sproul
c11638c36c
Split common crates out into their own repos ( #3890 )
...
## Proposed Changes
Split out several crates which now exist in separate repos under `sigp`.
- [`ssz` and `ssz_derive`](https://github.com/sigp/ethereum_ssz )
- [`tree_hash` and `tree_hash_derive`](https://github.com/sigp/tree_hash )
- [`ethereum_hashing`](https://github.com/sigp/ethereum_hashing )
- [`ethereum_serde_utils`](https://github.com/sigp/ethereum_serde_utils )
- [`ssz_types`](https://github.com/sigp/ssz_types )
For the published crates see: https://crates.io/teams/github:sigp:crates-io?sort=recent-updates .
## Additional Info
- [x] Need to work out how to handle versioning. I was hoping to do 1.0 versions of several crates, but if they depend on `ethereum-types 0.x` that is not going to work. EDIT: decided to go with 0.5.x versions.
- [x] Need to port several changes from `tree-states`, `capella`, `eip4844` branches to the external repos.
2023-04-28 01:15:40 +00:00
Paul Hauner
2b3084f578
Use head state for exit verification ( #4183 )
...
## Issue Addressed
NA
## Proposed Changes
Similar to #4181 but without the version bump and a more nuanced fix.
Patches the high CPU usage seen after the Capella fork which was caused by processing exits when there are skip slots.
## Additional Info
~~This is an imperfect solution that will cause us to drop some exits at the fork boundary. This is tracked at #4184.~~
2023-04-14 01:11:46 +00:00
Michael Sproul
0b6850221e
Fix Capella schema downgrades ( #4004 )
2023-02-20 17:50:42 +11:00
Michael Sproul
18c8cab4da
Merge remote-tracking branch 'origin/unstable' into capella-merge
2023-02-14 12:07:27 +11:00
naviechan
9547ac069c
Implement block_rewards API (per-validator reward) ( #3907 )
...
## Issue Addressed
[#3661 ](https://github.com/sigp/lighthouse/issues/3661 )
## Proposed Changes
`/eth/v1/beacon/rewards/blocks/{block_id}`
```
{
"execution_optimistic": false,
"finalized": false,
"data": {
"proposer_index": "123",
"total": "123",
"attestations": "123",
"sync_aggregate": "123",
"proposer_slashings": "123",
"attester_slashings": "123"
}
}
```
The issue contains the implementation of three per-validator reward APIs:
* `sync_committee_rewards`
* [`attestation_rewards`](https://github.com/sigp/lighthouse/pull/3822 )
* `block_rewards`
This PR only implements the `block_rewards`.
The endpoints can be viewed in the Ethereum Beacon nodes API browser: [https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Rewards ](https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Rewards )
## Additional Info
The implementation of [consensus client reward APIs](https://github.com/eth-protocol-fellows/cohort-three/blob/master/projects/project-ideas.md#consensus-client-reward-apis ) is part of the [EPF](https://github.com/eth-protocol-fellows/cohort-three ).
Co-authored-by: kevinbogner <kevbogner@gmail.com >
Co-authored-by: navie <naviechan@gmail.com >
2023-02-07 08:33:23 +00:00
Paul Hauner
e062a7cf76
Broadcast address changes at Capella ( #3919 )
...
* Add first efforts at broadcast
* Tidy
* Move broadcast code to client
* Progress with broadcast impl
* Rename to address change
* Fix compile errors
* Use `while` loop
* Tidy
* Flip broadcast condition
* Switch to forgetting individual indices
* Always broadcast when the node starts
* Refactor into two functions
* Add testing
* Add another test
* Tidy, add more testing
* Tidy
* Add test, rename enum
* Rename enum again
* Tidy
* Break loop early
* Add V15 schema migration
* Bump schema version
* Progress with migration
* Update beacon_node/client/src/address_change_broadcast.rs
Co-authored-by: Michael Sproul <micsproul@gmail.com >
* Fix typo in function name
---------
Co-authored-by: Michael Sproul <micsproul@gmail.com >
2023-02-07 17:13:49 +11:00
Michael Sproul
d8abf2fc41
Import BLS to execution changes before Capella ( #3892 )
...
* Import BLS to execution changes before Capella
* Test for BLS to execution change HTTP API
* Pack BLS to execution changes in LIFO order
* Remove unused var
* Clippy
2023-01-21 10:39:59 +11:00
ethDreamer
11f4784ae6
Added bls_to_execution_changes to PersistedOpPool ( #3857 )
...
* Added bls_to_execution_changes to PersistedOpPool
2023-01-09 12:38:02 +11:00
ethDreamer
cb94f639b0
Isolate withdrawals-processing Feature ( #3854 )
2023-01-09 11:05:28 +11:00
Mark Mackey
2ac609b64e
Fixing Moar Failing Tests
2023-01-05 13:00:44 -06:00
Mark Mackey
933772dd06
Fixed Operation Pool Tests
2023-01-03 18:40:35 -06:00
Mark Mackey
c188cde034
merge upstream/unstable
2022-12-28 14:43:25 -06:00
Divma
ffbf70e2d9
Clippy lints for rust 1.66 ( #3810 )
...
## Issue Addressed
Fixes the new clippy lints for rust 1.66
## Proposed Changes
Most of the changes come from:
- [unnecessary_cast](https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast )
- [iter_kv_map](https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map )
- [needless_borrow](https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow )
## Additional Info
na
2022-12-16 04:04:00 +00:00
ethDreamer
b1c33361ea
Fixed Clippy Complaints & Some Failing Tests ( #3791 )
...
* Fixed Clippy Complaints & Some Failing Tests
* Update Dockerfile to Rust-1.65
* EF test file renamed
* Touch up comments based on feedback
2022-12-13 10:50:24 -06:00
Michael Sproul
788b337951
Op pool and gossip for BLS to execution changes ( #3726 )
2022-11-25 07:09:26 +11:00
Mark Mackey
2191242341
Added stuff that NEEDS IMPLEMENTING
2022-11-09 19:35:01 -06:00
realbigsean
1aec17b09c
Merge branch 'unstable' of https://github.com/sigp/lighthouse into eip4844
2022-11-04 13:23:55 -04:00