realbigsean
37bcba2f2a
don't block mev boost till genesis finalization
2024-05-15 08:36:24 -04:00
realbigsean
aa83e8b889
Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra
2024-05-09 21:29:53 -04:00
realbigsean
e4485570f2
update the naive agg pool interface ( #5760 )
2024-05-09 21:29:31 -04:00
realbigsean
19f8333a8b
Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra
2024-05-09 19:03:47 -04:00
ethDreamer
cb8c8f59cf
Fix Aggregation Pool for Electra ( #5754 )
...
* Fix Aggregation Pool for Electra
* Remove Outdated Interface
2024-05-09 15:50:11 -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
Jimmy Chen
63fad7e330
Remove snapshot cache related code ( #5661 )
...
* Remove snapshot cache and other references.
* Fix default state cache size in docs
* Remove cache miss comment entirely
* Add state cache CLI tests
2024-04-30 16:08:13 +00: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
Mac L
13f94ef0f3
Rename Merge to Bellatrix ( #5601 )
...
* Rename Merge to Bellatrix
* Remove tree-hash-cache which got readded from the rebase
2024-04-25 20:19:41 +00:00
ethDreamer
4a48d7b546
Encode Execution Engine Client Version In Graffiti ( #5290 )
...
* Add `engine_clientVersionV1` structs
* Implement `engine_clientVersionV1`
* Update to latest spec changes
* Implement GraffitiCalculator Service
* Added Unit Tests for GraffitiCalculator
* Address Mac's Comments
* Remove need to use clap in beacon chain
* Merge remote-tracking branch 'upstream/unstable' into el_client_version_graffiti
* Merge branch 'unstable' into el_client_version_graffiti
# Conflicts:
# beacon_node/beacon_chain/Cargo.toml
2024-04-24 06:02:48 +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
Michael Sproul
72a33604b3
Add timing for block availability ( #5510 )
...
* Add timing for block availability
* Attestation metrics analysis
* Prettier printing
* Add some metrics and timings to track late blocks
* Update to latest unstable
* fmt
* Merge latest unstable
* Small tweaks
* Try pushing blob timing down into verification
* Simplify for clippy
2024-04-23 13:13:34 +00:00
ethDreamer
f68989815c
Restore Log on Error & Spawn Blocking in Streamer ( #5585 )
...
* Restore Logging in Error Cases
* Use Spawn Blocking for Loading Blocks in Streamer
* Merge remote-tracking branch 'upstream/unstable' into request_logging_spawn_blocking
* Address Sean's Comments
* save a clone
2024-04-16 14:56:00 +00:00
Lion - dapplion
30dc260472
Move processing cache out of DA ( #5420 )
...
* Move processing cache out of DA
* Merge branch 'sigp/unstable' into non-da-processing-cach
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into non-da-processing-cache
* remove unused file, remove outdated TODO, add is_deneb check to missing blob id calculations
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into non-da-processing-cache
* fix lints
2024-04-10 17:19:40 +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
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
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
realbigsean
334aa2eabd
Single lookup improvements ( #5488 )
...
* Fix unexpected `UnrequestedBlobId` and `ExtraBlocksReturned` errors due to race conditions.
* Continue chain segment processing and skip any blocks that are already known, rather than returning an error.
* more de-dup checking
* ensure we don't reset `requested_ids` during rpc download
* better fix
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into more-dup-lookup-fixes
* remove chain hash check
* Merge branch 'fix-block-lookup-race' of https://github.com/jimmygchen/lighthouse into sean-test-lookups
* remove block check
* add back tests
* Log and CI fixes
* undue extra check
* Merge branch 'sean-test-lookups' of https://github.com/realbigsean/lighthouse into sean-test-lookups
* log improvements
* Improve logging
2024-03-27 10:01:27 +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
dknopik
0a6e4a11d7
Verify whether validators really are unknown during sync committee duty API request ( #5174 )
...
* Verify whether validators really are unknown during sync committee duty API request
* Merge branch 'unstable' into fix-4717
* Merge branch 'unstable' into fix-4717
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into fix-4717
2024-03-23 00:01:11 +00:00
Lion - dapplion
306d3eb0eb
Delete unused incomplete_processing_components ( #5418 )
...
* Delete unused incomplete_processing_components
* lint
2024-03-23 00:00:35 +00:00
realbigsean
21cdc64bfe
Improve parent lookup logging ( #5451 )
...
* upgrade parent lookup result processing logs to debug, use display instead of debug for BlockError in case a blob parent unknown error is hit, add block root to BlockIsAlreadyKnown
* fix compile
* fix compile
* fix compile
2024-03-22 18:16:13 +00:00
Michael Sproul
65a6118c53
Fix gossip verification of duplicate attester slashings ( #5385 )
...
* Fix gossip verification of duplicate attester slashings
2024-03-20 20:47:38 +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
Michael Sproul
f93844e63b
Optimise concurrent block production ( #5368 )
...
* Optimise concurrent block production
2024-03-08 05:15:28 +00:00
realbigsean
f21472991d
check the da cache and the attester cache in responding to RPC requests ( #5138 )
...
* check the da cache and the attester cache in responding to RPC requests
* use the processing cache instead
* update comment
* add da cache metrics
* rename early attester cache method
* Merge branch 'unstable' of https://github.com/sigp/lighthouse into check-da-cache-in-rpc-response
* make rustup update run on the runners
* Revert "make rustup update run on the runners"
This reverts commit d097e9bfa8 .
2024-02-19 02:22:15 +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
Sergey Kisel
64efdaf39a
#5102 Fix load_state_for_block_production metric mapping ( #5103 )
...
* #5102 Fix load_state_for_block_production metric mapping
2024-01-30 00:32:52 +00:00
Lion - dapplion
585124fb2f
Hold HeadTracker lock until persisting to disk ( #5084 )
...
* Fix head tracker drop order on un-ordered shutdown
* lint
---------
Co-authored-by: Michael Sproul <michael@sigmaprime.io >
2024-01-22 15:14:11 +11:00
Michael Sproul
7e948eec9d
Fix block v3 reward encodings ( #5049 )
...
* Fix block v3 reward encodings
* Use crates.io version
2024-01-10 10:44:07 +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
realbigsean
c55608be10
suppress error on duplicate blobs ( #4995 )
2023-12-18 12:15:12 -05:00
Pawan Dhananjay
ae4a296089
Convert a FullPayload to a BlindedPayload correctly ( #5005 )
2023-12-14 08:44:14 -05:00
Joel Rousseau
189430a45c
Add attestation simulator ( #4880 )
...
* basic scaffold
* remove unnecessary ?
* check if committee cache is init
* typed ValidatorMonitor with ethspecs + store attestations within
* nits
* process unaggregated attestation
* typo
* extract in func
* add tests
* better naming
* better naming 2
* less verbose
* use same naming as validator monitor
* use attestation_simulator
* add metrics
* remove cache
* refacto flag_indices process
* add lag
* remove copying state
* clean and lint
* extract metrics
* nits
* compare prom metrics in tests
* implement lag
* nits
* nits
* add attestation simulator service
* fmt
* return beacon_chain as arc
* nit: debug
* sed s/unaggregated/unagg.//
* fmt
* fmt
* nit: remove unused comments
* increase max unaggregated attestation hashmap to 64
* nit: sed s/clone/copied//
* improve perf: remove unecessary hashmap copy
* fix flag indices comp
* start service in client builder
* remove //
* cargo fmt
* lint
* cloned keys
* fmt
* use Slot value instead of pointer
* Update beacon_node/beacon_chain/src/attestation_simulator.rs
Co-authored-by: Paul Hauner <paul@paulhauner.com >
---------
Co-authored-by: Paul Hauner <paul@paulhauner.com >
2023-12-14 11:44:56 +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
Michael Sproul
547ed1de63
Clone state ahead of block production ( #4925 )
...
* Clone state ahead of block production
* Add pruning and fix logging
* Don't hold 2 states in mem
2023-11-30 13:49:35 +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
Jimmy Chen
6b63d18420
Fix Rust beta compiler warnings (rustc 1.75.0-beta.1 (782883f60 2023-11-12)) ( #4932 )
2023-11-18 03:55:11 +11:00
Joel Rousseau
ac8811afac
Add missed blocks to monitored validators ( #4731 )
...
* add missed_block metric
* init missed_block in constructor
* declare beaconproposercache in ValidatorMonitor
* refacto proposer_shuffling_decision_root to use epoch instead of current.epoch
* imple new proposer_shuffling_decision_root in callers
* push missed_blocks
* prune missed_blocks
* only add to hashmap if it's a monitored validator
* remove current_epoch dup + typos
* extract in func
* add prom metrics
* checkpoint is not only epoch but slot as well
* add safeguard if we start a new chain at slot 0
* clean
* remove unnecessary negative value for a slot
* typo in comment
* remove unused current_epoch
* share beacon_proposer_cache between validator_monitor and beacon_chain
* pass Hash256::zero()
* debug objects
* fix loop: lag is at the head
* sed s/get_slot/get_epoch
* fewer calls to cache.get_epoch
* fix typos
* remove cache first call
* export TYPICAL_SLOTS_PER_EPOCH and use it in validator_monitor
* switch to gauge & loop over missed_blocks hashset
* fix subnet_service tests
* remove unused var
* clean + fix nits
* add beacon_proposer_cache + validator_monitor in builder
* fix store_tests
* fix builder tests
* add tests
* add validator monitor set of tests
* clean tests
* nits
* optimise imports
* lint
* typo
* added self.aggregatable
* duplicate proposer_shuffling_decision_root
* remove duplication in passing beacon_proposer_cache
* remove duplication in passing beacon_proposer_cache
* using indices
* fmt
* implement missed blocks total
* nits
* avoid heap allocation
* remove recursion limit
* fix lint
* Fix valdiator monitor builder pattern
Unify validator monitor config struct
* renaming metrics
* renaming metrics in validator monitor
* add log if there's a missing validator index
* consistent log
* fix loop
* better loop
* move gauge to counter
* fmt
* add error message
* lint
* fix prom metrics
* set gauge to 0 when non-finalized epochs
* better wording
* remove hash256::zero in favour of block_root
* fix gauge total label
* fix last missed block validator
* Add `MissedBlock` struct
* Fix comment
* Refactor non-finalized block loop
* Fix off-by-one
* Avoid string allocation
* Fix compile error
* Remove non-finalized blocks metric
* fix func clojure
* remove unused variable
* remove unused DEFAULT_INDIVIDUAL_TRACKING_THRESHOLD
* remove unused DEFAULT_INDIVIDUAL_TRACKING_THRESHOLD in builder
* add validator index depending on the fork name
* typos
---------
Co-authored-by: Paul Hauner <paul@paulhauner.com >
2023-11-09 15:05:14 +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
Eitan Seri-Levi
4ce01ddd11
Activate clippy::manual_let_else lint ( #4889 )
...
## Issue Addressed
#4888
## Proposed Changes
Enabled `clippy::manual_let_else` lint and resolved the warning messages.
2023-10-31 10:31:02 +00:00