realbigsean
af98e98c25
Merge branch 'electra-engine-api' of https://github.com/sigp/lighthouse into beacon-api-electra
2024-06-20 10:46:51 -04:00
realbigsean
dd0aa8e2ec
Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra
2024-06-20 10:41:17 -04: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
realbigsean
7a408b7724
Merge branch 'electra-engine-api' of https://github.com/sigp/lighthouse into beacon-api-electra
2024-05-31 08:53:12 -04:00
realbigsean
a647a3635f
Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra
2024-05-31 08:51:36 -04:00
realbigsean
49de63f792
Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra_attestation_changes
2024-05-31 08:49:04 -04:00
chonghe
ffe29c087d
Add bls_to_execution_change topic to eth1/v1/events ( #5823 )
...
* Add bls event
* Update events and types
* Add bls in event
* Event bls
* tests..rs
* change order
* another tests.rs
* Signed BLS
* Revert "another tests.rs"
This reverts commit 7f54e9c1ce .
* Revert "Signed BLS"
This reverts commit 1146bc734b .
* withdrawal_keyparis
* Fix genesis
2024-05-30 05:48:29 +00:00
realbigsean
c8fca4f1d0
udpates for aggregate attestation endpoint
2024-05-08 22:18:07 -04:00
realbigsean
7c0a8f840e
Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra
2024-05-08 12:48:09 -04: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
e2e82ff1b9
process withdrawals updates
2024-05-06 18:56:16 -04:00
ethDreamer
19a9479234
Superstruct AggregateAndProof ( #5715 )
...
* Upgrade `superstruct` to `0.8.0`
* superstruct `AggregateAndProof`
2024-05-06 10:09:22 -05:00
Mark Mackey
3a41e137d1
Merge remote-tracking branch 'upstream/unstable' into electra_attestation_changes
2024-05-02 18:23:32 -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
Eitan Seri-Levi
d3bf9a8956
Proposer and attester slashing sse events ( #5327 )
...
* default vc to block v3 endpoint and deprecate block-v3 flag
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into unstable
* add proposer and attester event variants
* add TOOOs
* add tests, event triggers
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into proposer-and-attester-slashing-sse-events
* revert
* revert
* remove double event tracking
* Merge branch 'unstable' into proposer-and-attester-slashing-sse-events
* remove todo, fix test
* resolve merge conflicts
* Merge branch 'proposer-and-attester-slashing-sse-events' of https://github.com/eserilev/lighthouse into proposer-and-attester-slashing-sse-events
* leftover debugging
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into proposer-and-attester-slashing-sse-events
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into proposer-and-attester-slashing-sse-events
2024-04-30 08:56:45 +00: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
Eitan Seri-Levi
ee69e14db9
Add is_parent_strong proposer re-org check ( #5417 )
...
* initial fork choice additions
* add helper fns
* add is_parent_strong
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into add_is_parent_strong_check
* disabling proposer reorg should set parent_threshold to u64 max
* add new flag, is_parent_strong check in override fcu params
* cherry-pick changes
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into add_is_parent_strong_check
* cleanup
* fmt
* Minor review tweaks
2024-04-04 19:38:06 +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
Mac L
f8fdb71f50
Add Electra fork boilerplate ( #5122 )
...
* Add Electra fork boilerplate
* Remove electra from spec tests
* Fix tests
* Remove sneaky log file
* Fix more tests
* Fix even more tests and add suggestions
* Remove unrelated lcli addition
* Update more tests
* Merge branch 'unstable' into electra
* Add comment for test-suite lcli override
* Merge branch 'unstable' into electra
* Cleanup
* Merge branch 'unstable' into electra
* Apply suggestions
* Merge branch 'unstable' into electra
* Merge sigp/unstable into electra
* Merge branch 'unstable' into electra
2024-04-02 12:35:02 +00:00
Eitan Seri-Levi
e4d4e439cb
Add Capella & Deneb light client support ( #4946 )
...
* rebase and add comment
* conditional test
* test
* optimistic chould be working now
* finality should be working now
* try again
* try again
* clippy fix
* add lc bootstrap beacon api
* add lc optimistic/finality update to events
* fmt
* That error isn't occuring on my computer but I think this should fix it
* Merge branch 'unstable' into light_client_beacon_api_1
# Conflicts:
# beacon_node/beacon_chain/src/events.rs
# beacon_node/http_api/src/lib.rs
# beacon_node/http_api/src/test_utils.rs
# beacon_node/http_api/tests/main.rs
# beacon_node/lighthouse_network/src/rpc/codec/ssz_snappy.rs
# beacon_node/lighthouse_network/src/rpc/methods.rs
# beacon_node/lighthouse_network/src/service/api_types.rs
# beacon_node/network/src/beacon_processor/worker/rpc_methods.rs
# beacon_node/tests/test.rs
# common/eth2/src/types.rs
# lighthouse/src/main.rs
* Add missing test file
* Update light client types to comply with Altair light client spec.
* Fix test compilation
* Merge branch 'unstable' into light_client_beacon_api_1
* Support deserializing light client structures for the Bellatrix fork
* Move `get_light_client_bootstrap` logic to `BeaconChain`. `LightClientBootstrap` API to return `ForkVersionedResponse`.
* Misc fixes.
- log cleanup
- move http_api config mutation to `config::get_config` for consistency
- fix light client API responses
* Add light client bootstrap API test and fix existing ones.
* Merge branch 'unstable' into light_client_beacon_api_1
* Fix test for `light-client-server` http api config.
* Appease clippy
* Add Altair light client SSZ tests
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into light_client_beacon_api_1
* updates to light client header
* light client header from signed beacon block
* using options
* implement helper functions
* placeholder conversion from vec hash256 to exec branch
* add deneb
* using fixed vector
* remove unwraps
* by epoch
* compute merkle proof
* merkle proof
* update comments
* resolve merge conflicts
* linting
* Merge branch 'unstable' into light-client-ssz-tests
# Conflicts:
# beacon_node/beacon_chain/src/beacon_chain.rs
# consensus/types/src/light_client_bootstrap.rs
# consensus/types/src/light_client_header.rs
* superstruct attempt
* superstruct changes
* lint
* altair
* update
* update
* changes to light_client_optimistic_ and finality
* merge unstable
* refactor
* resolved merge conflicts
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into capella_deneb_light_client_types
* block_to_light_client_header fork aware
* fmt
* comment fix
* comment fix
* include merge fork, update deserialize_by_fork, refactor
* fmt
* pass by ref to prevent clone
* rename merkle proof fn
* add FIXME
* LightClientHeader TestRandom
* fix comments
* fork version deserialize
* merge unstable
* move fn arguments, fork name calc
* use task executor
* remove unneeded fns
* remove dead code
* add manual ssz decoding/encoding and add ssz_tests_by_fork macro
* merge deneb types with tests
* merge ssz tests, revert code deletion, cleanup
* move chainspec
* update ssz tests
* fmt
* light client ssz tests
* change to superstruct
* changes from feedback
* linting
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into capella_deneb_light_client_types
* test fix
* cleanup
* Remove unused `derive`.
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into capella_deneb_light_client_types
* beta compiler fix
* merge
2024-03-25 11:01:56 +00:00
Michael Sproul
bf118a17d4
Fix block v3 header decoding ( #5366 )
...
* Fix block v3 header decoding
2024-03-07 03:31:06 +00:00
Michael Sproul
f17fb291b7
Handle unknown head during attestation publishing ( #5010 )
...
* Handle unknown head during attestation publishing
* Merge remote-tracking branch 'origin/unstable' into queue-http-attestations
* Simplify task spawner
* Improve logging
* Add a test
* Improve error logging
* Merge remote-tracking branch 'origin/unstable' into queue-http-attestations
* Fix beta compiler warnings
2024-02-15 12:24:47 +00:00
Lion - dapplion
b035638f9b
Compute recent lightclient updates ( #4969 )
...
* Compute recent lightclient updates
* Review PR
* Merge remote-tracking branch 'upstream/unstable' into lc-prod-recent-updates
* Review PR
* consistent naming
* add metrics
* revert dropping reprocessing queue
* Update light client optimistic update re-processing logic. (#7 )
* Add light client server simulator tests. Co-authored by @dapplion.
* Merge branch 'unstable' into fork/dapplion/lc-prod-recent-updates
* Fix lint
* Enable light client server in simulator test.
* Fix test for light client optimistic updates and finality updates.
2024-01-31 05:25:51 +00:00
Jack McPherson
abeb358f0b
Remove custom SSZ beacon states route ( #5065 )
...
* Remove SSZ state root route
* Remove SSZ states route from client impl
* Patch tests
* Merge branch 'unstable' into 5063-delete-ssz-state-route
* Further remove dead code
2024-01-30 00:33:05 +00:00
Pawan Dhananjay
b55b58b3c6
Fix indices filter in blobs_sidecar http endpoint ( #5118 )
...
* add get blobs unit test
* Use a multi_key_query for blob_sidecar indices
* Fix test
* Remove env_logger
---------
Co-authored-by: realbigsean <seananderson33@GMAIL.com >
2024-01-24 09:35:24 +11:00
Michael Sproul
a403138ed0
Reduce size of futures in HTTP API to prevent stack overflows ( #5104 )
...
* Box::pin a few big futures
* Arc the blocks early in publication
* Fix more tests
2024-01-23 15:32:07 +11:00
Michael Sproul
185646acb2
Fix PublishBlockRequest SSZ decoding ( #5078 )
...
* Fix PublishBlockRequest SSZ decoding
* Send header for block v1 ssz client
* Delete unused function
2024-01-19 12:56:30 +11:00
realbigsean
f70c32ec70
create unified slashing cache ( #5033 )
...
* create unified slashing cache
* add observed slashable file
* fix broadcast validation tests
* revert block seen cache changes
* clean up slashable cache test
* check header signatures for RPC blobs
* don't throw error on RPC signature invalie
2024-01-08 10:30:57 -05:00
Eitan Seri-Levi
9c1505d082
Block v3 builder boost factor ( #5035 )
...
* builder boost factor
* default boost factor
* revert
* deprecate always_prefer_builder_payload, builder-profit-threshold, ignore_builder_override_suggestion_threshold and builder_comparison_factor flags
* revert
* set deprecated flags to no op, revert should_override_builder
* fix test, calc boosted relay value correctly, dont calculate if none
* Add deprecation warnings and restore CLI docs
2024-01-08 11:10:32 +11:00
Michael Sproul
af11e78ae1
Clean up blockv3 metadata and client ( #5015 )
...
* Improve block production v3 client
* Delete wayward line
* Overhaul JSON endpoint as well
* Rename timeout param
* Update tests
* I broke everything
* Ah this is an insane fix
* Remove unnecessary optionals
* Doc fix
2023-12-22 09:39:17 -05:00
Michael Sproul
b882519d2f
Implement POST validators/validator_balances APIs ( #4872 )
...
* Add POST for fetching validators from state
* Implement POST for balances
* Tests
2023-12-08 12:09:36 +11:00
Pawan Dhananjay
31044402ee
Sidecar inclusion proof ( #4900 )
...
* Refactor BlobSidecar to new type
* Fix some compile errors
* Gossip verification compiles
* Fix http api types take 1
* Fix another round of compile errors
* Beacon node crate compiles
* EF tests compile
* Remove all blob signing from VC
* fmt
* Tests compile
* Fix some tests
* Fix more http tests
* get compiling
* Fix gossip conditions and tests
* Add basic proof generation and verification
* remove unnecessary ssz decode
* add back build_sidecar
* remove default at fork for blobs
* fix beacon chain tests
* get relase tests compiling
* fix lints
* fix existing spec tests
* add new ef tests
* fix gossip duplicate rule
* lints
* add back sidecar signature check in gossip
* add finalized descendant check to blob sidecar gossip
* fix error conversion
* fix release tests
* sidecar inclusion self review cleanup
* Add proof verification and computation metrics
* Remove accidentally committed file
* Unify some block and blob errors; add slashing conditions for sidecars
* Address review comment
* Clean up re-org tests (#4957 )
* Address more review comments
* Add Comments & Eliminate Unnecessary Clones
* update names
* Update beacon_node/beacon_chain/src/metrics.rs
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
* Update beacon_node/network/src/network_beacon_processor/tests.rs
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
* pr feedback
* fix test compile
* Sidecar Inclusion proof small refactor and updates (#4967 )
* Update some comments, variables and small cosmetic fixes.
* Couple blobs and proofs into a tuple in `PayloadAndBlobs` for simplicity and safety.
* Update function comment.
* Update testing/ef_tests/src/cases/merkle_proof_validity.rs
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
* Rename the block and blob wrapper types used in the beacon API interfaces.
* make sure gossip invalid blobs are passed to the slasher (#4970 )
* Add blob headers to slasher before adding to DA checker
* Replace Vec with HashSet in BlockQueue
* fmt
* Rename gindex -> index
* Simplify gossip condition
---------
Co-authored-by: realbigsean <seananderson33@gmail.com >
Co-authored-by: realbigsean <sean@sigmaprime.io >
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
Co-authored-by: Mark Mackey <mark@sigmaprime.io >
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
2023-12-05 11:19:59 -05:00
Gua00va
44aaf13ff0
Standard Liveness Endpoint ( #4853 )
...
* Changes to use required Endpoint
* Format
* fixed doppleganger service
* minor fix
* efficiency changes
* fixed tests
* remove commented line
---------
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
2023-11-30 17:41:22 +11:00
GeemoCandama
8a599ec7dc
API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events ( #3954 )
...
* rebase and add comment
* conditional test
* test
* optimistic chould be working now
* finality should be working now
* try again
* try again
* clippy fix
* add lc bootstrap beacon api
* add lc optimistic/finality update to events
* fmt
* That error isn't occuring on my computer but I think this should fix it
* Add missing test file
* Update light client types to comply with Altair light client spec.
* Fix test compilation
* Support deserializing light client structures for the Bellatrix fork
* Move `get_light_client_bootstrap` logic to `BeaconChain`. `LightClientBootstrap` API to return `ForkVersionedResponse`.
* Misc fixes.
- log cleanup
- move http_api config mutation to `config::get_config` for consistency
- fix light client API responses
* Add light client bootstrap API test and fix existing ones.
* Fix test for `light-client-server` http api config.
* Appease clippy
* Efficiency improvement when retrieving beacon state.
---------
Co-authored-by: Jimmy Chen <jchen.tc@gmail.com >
2023-11-28 17:14:29 +11:00
Eitan Seri-Levi
98f159cc18
fmt
2023-11-20 21:37:58 -08:00
Eitan Seri-Levi
24a0a7ffd0
remove cache check
2023-11-20 21:37:04 -08:00
Eitan Seri-Levi
228180bb35
add some more block v3 tests
2023-11-20 20:46:13 -08:00
Eitan Seri-Levi
a380f6ef1f
Add block-v3 SSZ tests ( #4902 )
...
* create block-v3 ssz tests
* fmt
2023-11-09 15:05:35 +11:00
Eitan Seri-Levi
07f53b18fc
Block v3 endpoint ( #4629 )
...
## Issue Addressed
#4582
## Proposed Changes
Add a new v3 block fetching flow that can decide to return a Full OR Blinded payload
## Additional Info
Co-authored-by: Michael Sproul <micsproul@gmail.com >
2023-11-03 00:12:18 +00:00
Jimmy Chen
c5c84f1213
Merge branch 'unstable' into merge-unstable-to-deneb-20231005
...
# Conflicts:
# .github/workflows/test-suite.yml
# Cargo.lock
# beacon_node/execution_layer/Cargo.toml
# beacon_node/execution_layer/src/test_utils/mock_builder.rs
# beacon_node/execution_layer/src/test_utils/mod.rs
# beacon_node/network/src/service/tests.rs
# consensus/types/src/builder_bid.rs
2023-10-05 15:54:44 +11:00
realbigsean
7605494791
Use only lighthouse types in the mock builder ( #4793 )
...
## Proposed Changes
- only use LH types to avoid build issues
- use warp instead of axum for the server to avoid importing the dep
## Additional Info
- wondering if we can move the `execution_layer/test_utils` to its own crate and import it as a dev dependency
- this would be made easier by separating out our engine API types into their own crate so we can use them in the test crate
- or maybe we can look into using reth types for the engine api if they are in their own crate
Co-authored-by: realbigsean <seananderson33@gmail.com >
2023-10-03 17:59:28 +00:00
Jimmy Chen
8f07a96b88
Fix failing tests.
2023-09-26 12:39:58 +10:00
Jimmy Chen
7a3cb135d4
Fix tests and add BlockContents decoding. Remove unused builder_threshold field in ApiTesterConfig.
2023-09-26 10:57:21 +10:00
Jimmy Chen
c0b6b92f27
Merge unstable 20230925 into deneb-free-blobs.
2023-09-26 10:32:18 +10:00
Eitan Seri-Levi
992b476eac
Add SSZ support to validator block production endpoints ( #4534 )
...
## Issue Addressed
#4531
## Proposed Changes
add SSZ support to the following block production endpoints:
GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}
## Additional Info
i updated a few existing tests to use ssz instead of writing completely new tests
2023-09-21 06:38:31 +00:00
Michael Sproul
4b6cb3db2c
Prevent port re-use in HTTP API tests ( #4745 )
...
## Issue Addressed
CI is plagued by `AddrAlreadyInUse` failures, which are caused by race conditions in allocating free ports.
This PR removes all usages of the `unused_port` crate for Lighthouse's HTTP API, in favour of passing `:0` as the listen address. As a result, the listen address isn't known ahead of time and must be read from the listening socket after it binds. This requires tying some self-referential knots, which is a little disruptive, but hopefully doesn't clash too much with Deneb 🤞
There are still a few usages of `unused_tcp4_port` left in cases where we start external processes, like the `watch` Postgres DB, Anvil, Geth, Nethermind, etc. Removing these usages is non-trivial because it's hard to read the port back from an external process after starting it with `--port 0`. We might be able to do something on Linux where we read from `/proc/`, but I'll leave that for future work.
2023-09-20 01:19:03 +00:00
Jimmy Chen
d4aedab21f
Fix some compilation errors in tests
2023-09-11 14:07:08 +10:00
Jimmy Chen
6771954c5f
Merge unstable 20230911 into deneb-free-blobs.
2023-09-11 12:09:58 +10:00