Commit Graph

5477 Commits

Author SHA1 Message Date
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
Emilia Hane
05c51b37b1
fix rebase conflicts 2023-02-09 07:35:10 +01:00
Emilia Hane
e0b1a0841c
fixup! Store blobs in separate freezer or historical state freezer 2023-02-09 07:35:10 +01:00
Emilia Hane
f9737628fc
Store blobs in separate freezer or historical state freezer 2023-02-09 07:34:59 +01:00
Paul Hauner
aa5b7ef783 Remove participation rate from API docs (#3955)
## Issue Addressed

NA

## Proposed Changes

Removes the "Participation Rate" since it references an undefined variable: `previous_epoch_attesting_gwei`.

I didn't replace it with anything since I think "Justification/Finalization Rate" already expresses what it was trying to express.

## Additional Info

NA
2023-02-09 04:31:22 +00:00
Nazar Hussain
c33eb29ee3 Fix the whitespace in docker workflow (#3952)
## Issue Addressed

Fix a whitespace issue that was causing failure in the docker build. 


## Additional Info

https://github.com/sigp/lighthouse/pull/3948
2023-02-08 20:23:21 +00:00
realbigsean
41567194e9
Merge pull request #3852 from emhane/prune_blobs
Prune blobs
2023-02-08 13:39:26 -05:00
realbigsean
99da11e9f4
fix lints 2023-02-08 11:03:34 -05:00
realbigsean
902f64a946
remove clone of access lists 2023-02-08 10:59:48 -05:00
realbigsean
dd40adc5c0
check byte length when converting to uint256 and hash256 from bytes. Add comments 2023-02-08 10:38:45 -05:00
Emilia Hane
6a37e84399
fixup! Fix regression in DB write atomicity 2023-02-08 11:44:46 +01:00
Emilia Hane
bc468b4ce5
fixup! Improve use of whitespace 2023-02-08 11:44:45 +01:00
Michael Sproul
ac4b5b580c
Fix regression in DB write atomicity 2023-02-08 11:44:45 +01:00
Emilia Hane
9d919917f5
Removed unused code 2023-02-08 11:44:45 +01:00
Emilia Hane
d7eb9441cf
Reorder loading of db metadata from disk to allow for future changes to schema 2023-02-08 11:44:45 +01:00
Emilia Hane
d599e41f3d
Remove debug comment
Co-authored-by: Michael Sproul <micsproul@gmail.com>
2023-02-08 11:44:44 +01:00
Emilia Hane
577262ccbf
Improve use of whitespace
Co-authored-by: Michael Sproul <micsproul@gmail.com>
2023-02-08 11:44:44 +01:00
Emilia Hane
56c84178f2
Fix conflicts rebasing eip4844 2023-02-08 11:44:44 +01:00
Emilia Hane
b2abec5d35
Verify StoreConfig 2023-02-08 11:44:44 +01:00
Emilia Hane
00ca21e84c
Make implementation of BlobInfo more coder friendly 2023-02-08 11:44:43 +01:00
Emilia Hane
8f137df02e
fixup! Allow user to set an epoch margin for pruning 2023-02-08 11:44:43 +01:00
Emilia Hane
a2eda76291
Correct comment 2023-02-08 11:44:43 +01:00
Emilia Hane
1e59cb9dea
Add tests for blob pruning flags 2023-02-08 11:44:43 +01:00
Emilia Hane
9ee9b6df76
Remove unused stuff 2023-02-08 11:44:42 +01:00