Commit Graph

5461 Commits

Author SHA1 Message Date
Michael Sproul
3b4c677727 Use release profile for Windows binaries (#3965)
## Proposed Changes

Disable `maxperf` profile on Windows due to #3964. This is required for the v3.5.0 release CI to succeed without crashing.
2023-02-12 23:14:07 +00:00
Emilia Hane
c6dfa7a1ac fixup! Add tests for blob pruning flags 2023-02-10 21:15:57 +01:00
ethDreamer
e743d75c9b Update Mock Builder for Post-Capella Tests (#3958)
* Update Mock Builder for Post-Capella Tests

* Add _mut Suffix to BidStuff Functions

* Fix Setting Gas Limit
2023-02-10 13:30:14 -06:00
Emilia Hane
d3a09af7f7 Run cargo update 2023-02-10 16:29:36 +01:00
Emilia Hane
28e9f07746 Fix lint for prune blobs pr 2023-02-10 16:23:04 +01:00
Emilia Hane
d9eed481b7 fixup! Add tests for blob pruning flags 2023-02-10 16:18:39 +01:00
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:

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