Commit Graph

6700 Commits

Author SHA1 Message Date
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:

a119edc739/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`](38514c07f2/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
Emilia Hane
625980e484 Fix rebase conflicts 2023-02-09 07:36:07 +01:00
Emilia Hane
04f635c0ac Remove IDE file 2023-02-09 07:35:47 +01:00
Emilia Hane
3679a0f1cb Improve syntax 2023-02-09 07:35:47 +01:00
Emilia Hane
3c0aa201e3 fixup! Help user configure blobs freezer correctly between start ups 2023-02-09 07:35:47 +01:00
Emilia Hane
0ba0775812 Help user configure blobs freezer correctly between start ups 2023-02-09 07:35:45 +01:00