Commit Graph

259 Commits

Author SHA1 Message Date
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
Eitan Seri-Levi
f85a124362 Electra attestation changes from Lions review (#5971)
* dedup/cleanup and remove unneeded hashset use

* remove irrelevant TODOs
2024-06-20 09:36:43 -04:00
realbigsean
3977b92c49 remove dup method get_indexed_attestation_from_committees 2024-06-19 13:45:47 -04:00
dapplion
d67270f899 committees are sorted 2024-06-19 12:59:27 +02:00
dapplion
a8d8989c05 Use ok_or instead of if let else 2024-06-19 12:50:41 +02:00
dapplion
9e6e76fb89 Remove get_indexed_attestation_from_signed_aggregate 2024-06-19 12:47:38 +02:00
dapplion
45d007a71f Add PendingAttestationInElectra 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
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
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
Mark Mackey
f9c50bca07 Fix Bug In Block Processing with 0x02 Credentials 2024-05-20 14:55:12 -04:00
Mark Mackey
217fa9f805 Fix Consolidation Sigs & Withdrawals 2024-05-12 20:31:20 +03:00
ethDreamer
af7ba6ff70 Fix Electra Fork Choice Tests (#5764) 2024-05-12 12:41:29 +03:00
ethDreamer
3b1fb0ad81 Fix Electra Fork Choice Tests (#5764) 2024-05-12 12:24:19 +03:00
realbigsean
a97e86c1a6 only increment the state deposit index on old deposit flow 2024-05-11 05:07:59 -04:00
realbigsean
b819d2d0a6 Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra 2024-05-10 21:16:59 -04:00
realbigsean
e1dcfb6960 update committee offset 2024-05-10 21:15:21 -04:00
realbigsean
89e4de90d5 don't fail on empty consolidations 2024-05-10 12:09:39 -04:00
realbigsean
3ea3d226e1 Merge branch 'electra_attestation_changes' of https://github.com/sigp/lighthouse into block-processing-electra 2024-05-09 09:44:58 -04:00
realbigsean
e32dfcdcad fix get attesting indices (#5742)
* fix get attesting indices

* better errors

* fix compile

* only get committee index once
2024-05-09 09:34:56 -04:00
realbigsean
7abb7621d5 fix attestation verification 2024-05-08 14:11:22 -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
8517236aed update slash_validator 2024-05-07 16:24:14 -04:00
realbigsean
5728f78032 clean up 2024-05-07 16:02:14 -04:00
realbigsean
75ab913a3a exit updates 2024-05-07 15:32:07 -04:00
realbigsean
31955c2e7f update process operations function 2024-05-07 14:52:16 -04:00
realbigsean
c40bec9319 add consolidation processing 2024-05-07 14:01:44 -04:00
realbigsean
32357d8f0a process deposit receipts 2024-05-07 11:07:12 -04:00
realbigsean
1d5f75582f add execution layer withdrawal request processing 2024-05-07 10:25:53 -04:00
realbigsean
3c688410cc add apply_deposit changes 2024-05-07 08:48:01 -04:00
realbigsean
f1f9f92dec update process_operations deposit length check 2024-05-06 21:56:50 -04:00
realbigsean
e0abede1d1 cleanup withdrawals processing 2024-05-06 21:25:47 -04:00
realbigsean
e2e82ff1b9 process withdrawals updates 2024-05-06 18:56:16 -04:00
realbigsean
9f6de8e5d7 Merge remote-tracking branch 'sigp/unstable' into electra_attestation_changes 2024-05-06 17:26:43 -04:00
ethDreamer
19a9479234 Superstruct AggregateAndProof (#5715)
* Upgrade `superstruct` to `0.8.0`

* superstruct `AggregateAndProof`
2024-05-06 10:09:22 -05:00
Pawan Dhananjay
1af3f0f9d8 Make modified helpers in electra fork aware (#5698)
* Make modified helpers in electra fork aware

* Make more functions fork aware

* formatting fixes only.
2024-05-03 09:54:01 +00: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
Michael Sproul
ee974db0ba Add metric for current epoch total balance (#5688)
* Add metric for current epoch total balance
2024-05-02 04:50:30 +00: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
realbigsean
000a4fdf4d Electra other containers (#5652)
* add new fields to execution payload and header

* beacon state changes

* partial beacon state

* safe arith in upgrade to electra

* initialize balances cache in interop genesis state

* Revert "initialize balances cache in interop genesis state"

This reverts commit c60b522865.

* always initialize balances cache if necessary in electra upgrade

* build cache earlier

* fix block test

* per fork NUM_FIELDS_POW2

* Merge branch 'unstable' of https://github.com/sigp/lighthouse into electra-other-containers

* fix lints

* get fields based on post state, as is spec'd

* fix type and move cache build
2024-04-26 20:17:23 +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
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
5a9e973f04 Fix on-disk consensus context format (#5598)
* Fix on-disk consensus context format

* Keep indexed attestations, thanks Sean
2024-04-19 08:18:30 +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
GeemoCandama
32be063f0f Support LightClientFinalityUpdate and LightClientOptimisticUpdate rpcs (#3849)
* add light client optimistic and finality update rpc

* Arc the updates in the response

* add conditional advertisement for both LightClientOptimisticUpdate and LightClientFinalityUpdate

* alter display for inboundrequest light client optimistic and finality updates

* remove LightClientOptimistic/FinalityReuest struct and some minor fixes

* rebase

* failing rpc_test for LightClientBootstrap and beginning of MockLib2pLightClient

* minor change

* added MockRPCHandler by importing everything except OutboundRequest. Need to implement the ConnectionHandler trait now should be copy pastable

* almost there but ran into issue where needed to implement BaseOutboundRequest.

* failing but running with a light client service of sorts

* small test change

* changed Protocol::LightClientBootstrap response limit

* deleted some stuff from ConnectionHandler Implementation for the mock light client if you need to make something with multiple requests work maybe check here

* deleted purging expired inbound/outbound streams code

* deleted drive inbound streams that need to be processed

* removed unused imports

* made things private again

* deleted inject_fully_negotiated_inbound

* made more things private again

* more

* turned the logger off in the test

* added failing test for new rpc

* add rate limit for new rpcs

* change InboundUpgrade function to use new rpcs. fmt. add test for LightClientFinalityUpdate

* rebasing fix

* add LightClientUpdate to handle_rpc functions

* added context bytes

* fmt

* use correct unsed_tcp4_port function

* fix for recent config changes and adding context_bytes for the light client protocols

* fix clippy complaint

* Merge branch 'unstable' into lc-reqresp

# Conflicts:
#	beacon_node/beacon_processor/src/lib.rs
#	beacon_node/lighthouse_network/src/peer_manager/mod.rs
#	beacon_node/lighthouse_network/src/rpc/codec/ssz_snappy.rs
#	beacon_node/lighthouse_network/src/rpc/config.rs
#	beacon_node/lighthouse_network/src/rpc/methods.rs
#	beacon_node/lighthouse_network/src/rpc/mod.rs
#	beacon_node/lighthouse_network/src/rpc/outbound.rs
#	beacon_node/lighthouse_network/src/rpc/protocol.rs
#	beacon_node/lighthouse_network/src/rpc/rate_limiter.rs
#	beacon_node/lighthouse_network/src/rpc/self_limiter.rs
#	beacon_node/lighthouse_network/src/service/api_types.rs
#	beacon_node/lighthouse_network/tests/common/mod.rs
#	beacon_node/lighthouse_network/tests/rpc_tests.rs
#	beacon_node/network/src/network_beacon_processor/rpc_methods.rs
#	beacon_node/network/src/router.rs

* Error handling updates and various cleanups.

* Moar minor clean ups.

* Do not ban peer for rate limiting light client requests

* Merge branch 'unstable' into lc-reqresp. Also removed the mock light client tests to make it compile (See #4940).

# Conflicts:
#	beacon_node/lighthouse_network/src/rpc/codec/ssz_snappy.rs
#	beacon_node/lighthouse_network/src/rpc/methods.rs
#	beacon_node/lighthouse_network/src/rpc/mod.rs
#	beacon_node/lighthouse_network/src/rpc/protocol.rs
#	beacon_node/lighthouse_network/src/service/api_types.rs
#	beacon_node/lighthouse_network/tests/common/mod.rs
#	beacon_node/network/src/network_beacon_processor/rpc_methods.rs
#	beacon_node/network/src/router.rs
#	consensus/types/src/light_client_bootstrap.rs
#	consensus/types/src/light_client_finality_update.rs
#	consensus/types/src/light_client_optimistic_update.rs

* Remove unnecessary changes

* Add missing light client queue handling.

* Merge branch 'unstable' into lc-reqresp

* Merge branch 'unstable' into lc-reqresp

# Conflicts:
#	beacon_node/lighthouse_network/src/rpc/codec/ssz_snappy.rs
#	beacon_node/lighthouse_network/src/service/api_types.rs
#	consensus/types/src/light_client_finality_update.rs
#	consensus/types/src/light_client_optimistic_update.rs

* Add context bytes for light client RPC responses.

* Add RPC limits for light client object.

* Fix lint

* Fix incorrect light client max size computation.

* Merge branch 'unstable' into lc-reqresp

# Conflicts:
#	beacon_node/lighthouse_network/src/rpc/codec/ssz_snappy.rs
#	beacon_node/lighthouse_network/src/rpc/protocol.rs
#	beacon_node/lighthouse_network/src/service/api_types.rs

* Remove unwanted local changes.

* Merge branch 'unstable' into lc-reqresp

* Replace `unimplemented` electra code path with deneb values.
2024-04-09 07:23:39 +00:00
Michael Sproul
06eb181b42 Delete ParticipationCache (#5525)
* Delete `ParticipationCache`
2024-04-05 03:15:42 +00:00