Commit Graph
6105 Commits
Author SHA1 Message Date
ethDreamer 39f8327f73 Properly Deserialize ForkVersionedResponses (#3944)
* Move ForkVersionedResponse to consensus/types

* Properly Deserialize ForkVersionedResponses

* Elide Types in from_value Calls

* Added Tests for ForkVersionedResponse Deserialize

* Address Sean's Comments & Make Less Restrictive

* Utilize `map_fork_name!`
2023-02-10 08:49:25 -06:00
Emilia Hane a1768b16b9 fixup! Update dependencies (#3946) 2023-02-10 15:43:40 +01:00
Michael Sproul d890f2bf6b Update dependencies (#3946)
Resolves the cargo-audit failure caused by https://rustsec.org/advisories/RUSTSEC-2023-0010.

I also removed the ignore for `RUSTSEC-2020-0159` as we are no longer using a vulnerable version of `chrono`. We still need the other ignore for `time 0.1` because we depend on it via `sloggers -> chrono -> time 0.1`.
2023-02-10 15:35:01 +01:00
Emilia Hane 3dd42e5723 Remove unused dependencies 2023-02-10 15:35:01 +01:00
Emilia Hane 0104d6143c fixup! Fix latest clippy lints 2023-02-10 15:35:01 +01:00
Emilia Hane 02cca3478b Fix conflicts rebasing eip4844 2023-02-10 15:35:01 +01:00
Michael Sproul 1f3eef2c5f Unpin fixed-hash (#3917)
## Proposed Changes
Remove the `[patch]` for `fixed-hash`.

We pinned it years ago in #2710 to fix `arbitrary` support. Nowadays the 0.7 version of `fixed-hash` is only used by the `web3` crate and doesn't need `arbitrary`.

~~Blocked on #3916 but could be merged in the same Bors batch.~~
2023-02-10 15:35:01 +01:00
Emilia Hane 615402abcf fixup! Fix conflicts rebasing eip4844 2023-02-10 15:35:00 +01:00
Emilia Hane db36eb978b Fix latest clippy lints 2023-02-10 15:35:00 +01:00
Emilia Hane 2653f88b5f Fix conflicts rebasing eip4844 2023-02-10 15:35:00 +01:00
Emilia Hane c7b49feb9e fixup! Change CI clippy 2023-02-10 15:35:00 +01:00
Emilia Hane e0a9cd6b84 Change CI clippy 2023-02-10 15:35:00 +01:00
Emilia Hane 43bf908e7a Fix release tests 2023-02-10 15:34:59 +01:00
Emilia Hane 481718856c Fix clippy 2023-02-10 15:34:59 +01:00
Emilia Hane 4d3ff347a3 Fixes after rebasing eip4844 2023-02-10 15:34:58 +01:00
Emilia Hane 5437dcae9c Fix conflicts rebasing eip4844 2023-02-10 15:34:58 +01:00
Emilia Hane 7545ae9e9b fixup! Fix block lookup debug tests 2023-02-10 15:34:46 +01:00
realbigsean a68e3eac2c pr feedback 2023-02-10 08:25:42 -05:00
Emilia Hane 6beca6defc Fix range sync tests 2023-02-10 09:41:24 +01:00
Emilia Hane e9e198a2b6 Fix conflicts rebasing eip4844 2023-02-10 09:41:23 +01:00
Emilia Hane d292a3a6a8 Fix conflicts rebasing eip4844 2023-02-10 09:41:23 +01:00
Emilia Hane 994990063a Fix weak_subjectivity_sync test 2023-02-10 09:41:23 +01:00
Emilia Hane 546d63f83c Fix rebase conflicts 2023-02-10 09:41:23 +01:00
Emilia Hane 50e01bef1f Add eip4844 fork to tests 2023-02-10 09:41:22 +01:00
Emilia Hane 09370e70d9 Fix rebase conflicts 2023-02-10 09:41:19 +01:00
Emilia Hane 69c30bb6eb Fix release test 2023-02-10 09:39:22 +01:00
Emilia Hane 8365d76277 fixup! Debug tests 2023-02-10 09:39:22 +01:00
Emilia Hane 16cb9cfca2 fixup! Debug tests 2023-02-10 09:39:22 +01:00
Emilia Hane 7220f35ff6 Debug tests 2023-02-10 09:39:21 +01:00
Emilia Hane 995b2715f2 Fix network block_lookups test 2023-02-10 09:39:21 +01:00
Emilia Hane 3676ce78b5 Fix rebase conflicts 2023-02-10 09:39:21 +01:00
Michael Sproul c9354a9d25 Tweaks to reward APIs (#3957)
## Proposed Changes

* Return the effective balance in gwei to align with the spec ([ideal attestation rewards](https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Rewards/getAttestationsRewards)).
* Use quoted `i64`s for attestation and sync committee rewards.
2023-02-10 06:19:42 +00:00
Paul Hauner 5276dd0cb0 Fix edge-case when finding the finalized descendant (#3924)
## Issue Addressed

NA

## Description

We were missing an edge case when checking to see if a block is a descendant of the finalized checkpoint. This edge case is described for one of the tests in this PR:

https://github.com/sigp/lighthouse/blob/a119edc739e9dcefe1cb800a2ce9eb4baab55f20/consensus/proto_array/src/proto_array_fork_choice.rs#L1018-L1047

This bug presented itself in the following mainnet log:

```
Jan 26 15:12:42.841 ERRO Unable to validate attestation error: MissingBeaconState(0x7c30cb80ec3d4ec624133abfa70e4c6cfecfca456bfbbbff3393e14e5b20bf25), peer_id: 16Uiu2HAm8RPRciXJYtYc5c3qtCRdrZwkHn2BXN3XP1nSi1gxHYit, type: "unaggregated", slot: Slot(5660161), beacon_block_root: 0x4a45e59da7cb9487f4836c83bdd1b741b4f31c67010c7ae343fa6771b3330489
```

Here the BN is rejecting an attestation because of a "missing beacon state". Whilst it was correct to reject the attestation, it should have rejected it because it attests to a block that conflicts with finality rather than claiming that the database is inconsistent.

The block that this attestation points to (`0x4a45`) is block `C` in the above diagram. It is a non-canonical block in the first slot of an epoch that conflicts with the finalized checkpoint. Due to our lazy pruning of proto array, `0x4a45` was still present in proto-array. Our missed edge-case in [`ForkChoice::is_descendant_of_finalized`](https://github.com/sigp/lighthouse/blob/38514c07f222ff7783834c48cf5c0a6ee7f346d0/consensus/fork_choice/src/fork_choice.rs#L1375-L1379) would have indicated to us that the block is a descendant of the finalized block. Therefore, we would have accepted the attestation thinking that it attests to a descendant of the finalized *checkpoint*.

Since we didn't have the shuffling for this erroneously processed block, we attempted to read its state from the database. This failed because we prune states from the database by keeping track of the tips of the chain and iterating back until we find a finalized block. This would have deleted `C` from the database, hence the `MissingBeaconState` error.
2023-02-09 23:51:18 +00:00
Pawan Dhananjay 2b735a9e8b Add attestation duty slot metric (#2704)
## Issue Addressed

Resolves #2521 

## Proposed Changes

Add a metric that indicates the next attestation duty slot for all managed validators in the validator client.
2023-02-09 23:51:17 +00:00
Emilia Hane 12720f9ac5 fixup! Help user choose blobs db 2023-02-09 10:37:53 +01:00
Emilia Hane 1300fb7ffa Fix conflicts from rebasing eip4844 2023-02-09 10:37:11 +01:00
Emilia Hane 290e1d2ff7 fixup! Complete making blocks and blobs db atomic 2023-02-09 07:50:57 +01:00
Emilia Hane 38fe2dce3f fixup! Complete making blocks and blobs db atomic 2023-02-09 07:50:55 +01:00
Emilia Hane ca934b7cb5 Fix rebase conflicts 2023-02-09 07:50:30 +01:00
Emilia Hane 72cd68c0a4 Complete making blocks and blobs db atomic 2023-02-09 07:46:27 +01:00
Emilia Hane 89cccfc397 Fix rebase conflicts 2023-02-09 07:46:25 +01:00
Emilia Hane ba882958ed Delete blobs along with block 2023-02-09 07:42:46 +01:00
Emilia Hane 04fafebfa6 fixup! Throw error when params don't match with previous run 2023-02-09 07:42:46 +01:00
Emilia Hane 00ce8d9572 Throw error when params don't match with previous run 2023-02-09 07:42:46 +01:00
Emilia Hane d8e501d3ab Add todos 2023-02-09 07:42:43 +01:00
Emilia Hane f971f3a3a2 Fix rebase conflicts 2023-02-09 07:41:38 +01:00
Emilia Hane f8c3e7fc91 Lint fix 2023-02-09 07:36:11 +01:00
Emilia Hane 7f91dd803c Help user choose blobs db 2023-02-09 07:36:11 +01:00
Emilia Hane 22915c2d7e fixup! Store blobs in correct db for atomic ops 2023-02-09 07:36:10 +01:00
Emilia Hane dcb5495745 Store blobs in correct db for atomic ops 2023-02-09 07:36:10 +01:00