Commit Graph
4875 Commits
Author SHA1 Message Date
realbigsean ef9579602f geth binary location update 2022-12-08 08:49:39 -05:00
realbigsean 715002a615 use is synced for notifier again 2022-12-08 08:42:27 -05:00
realbigsean 14fa1e527f remove unused log and fix EL config serde 2022-12-08 08:32:59 -05:00
realbigsean 8c95ab07a3 remove fCU v3 query 2022-12-08 08:21:39 -05:00
realbigsean 658e9d9bba saturating sub epoch for blob boundary 2022-12-07 15:40:51 -05:00
realbigsean 5a42f6b067 range block or block+blob requests 2022-12-07 15:35:46 -05:00
realbigsean a0d4aecf30 requests block + blob always post eip4844 2022-12-07 15:30:08 -05:00
realbigsean b616c0a056 reset genesis.json fork times 2022-12-07 14:04:46 -05:00
realbigsean 6d4fb41b84 fix blob slot validation 2022-12-07 13:49:24 -05:00
realbigsean dbc57ba2d9 merge with upstream 2022-12-07 13:11:21 -05:00
realbigsean 6c8b1b323b merge upstream 2022-12-07 12:27:21 -05:00
realbigsean 33721d17b2 Revert "fix compilation errors (#25)"
This reverts commit ae054d2663.
2022-12-07 12:25:11 -05:00
realbigsean e5f26516bd add trusted setup, query different version of EL endpoint at each fork 2022-12-07 12:01:21 -05:00
Jimmy Chen ae054d2663 fix compilation errors (#25) 2022-12-07 10:07:55 -05:00
realbigsean 2704955b2e local testnet config updates 2022-12-06 08:54:46 -05:00
ethDreamer b6486e809d Fixed moar tests (#3774) 2022-12-05 09:08:55 +11:00
5282e200be Merge 'upstream/unstable' into capella (#3773)
* Add API endpoint to count statuses of all validators (#3756)
* Delete DB schema migrations for v11 and earlier (#3761)

Co-authored-by: Mac L <mjladson@pm.me>
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
2022-12-03 14:05:25 -06:00
ethDreamer 1a39976715 Fixed Compiler Warnings & Failing Tests (#3771) 2022-12-03 10:42:12 +11:00
Pawan Dhananjay e72d9fb922 Working post bellatrix local testnet 2022-12-02 19:50:45 +05:30
Pawan Dhananjay df3615664e Embed interop validators into genesis 2022-12-02 12:55:27 +05:30
Pawan Dhananjay ff24773a5a Add EL scripts 2022-12-02 12:55:27 +05:30
realbigsean 2cd971c7d3 attempt to fix serde for opt hex be u256 2022-12-01 15:17:57 -05:00
realbigsean c96234f38c fix hex be opt 2022-12-01 14:20:50 -05:00
realbigsean 8102a01085 merge with upstream 2022-12-01 11:13:07 -05:00
Michael Sproul 6c9de4a53a Merge pull request #3762 from ethDreamer/capella_eip4844_merge_unstable
merge `capella` with `unstable`
2022-12-01 11:15:51 +11:00
Mark Mackey 8a04c3428e Merged with unstable 2022-11-30 17:29:10 -06:00
Diva M 979a95d62f handle unknown parents for block-blob pairs
wip

handle unknown parents for block-blob pairs
2022-11-30 17:21:54 -05:00
realbigsean 2157d91b43 process single block and blob 2022-11-30 11:51:18 -05:00
realbigsean fc9d0a512d handle blobs by range requests 2022-11-30 10:02:29 -05:00
realbigsean 422d145902 chain segment processing for blobs 2022-11-30 09:40:15 -05:00
Michael SproulandMichael Sproul 22115049ee Prioritise important parts of block processing (#3696)
## Issue Addressed

Closes https://github.com/sigp/lighthouse/issues/2327

## Proposed Changes

This is an extension of some ideas I implemented while working on `tree-states`:

- Cache the indexed attestations from blocks in the `ConsensusContext`. Previously we were re-computing them 3-4 times over.
- Clean up `import_block` by splitting each part into `import_block_XXX`.
- Move some stuff off hot paths, specifically:
  - Relocate non-essential tasks that were running between receiving the payload verification status and priming the early attester cache. These tasks are moved after the cache priming:
    - Attestation observation
    - Validator monitor updates
    - Slasher updates
    - Updating the shuffling cache
  - Fork choice attestation observation now happens at the end of block verification in parallel with payload verification (this seems to save 5-10ms).
  - Payload verification now happens _before_ advancing the pre-state and writing it to disk! States were previously being written eagerly and adding ~20-30ms in front of verifying the execution payload. State catchup also sometimes takes ~500ms if we get a cache miss and need to rebuild the tree hash cache.

The remaining task that's taking substantial time (~20ms) is importing the block to fork choice. I _think_ this is because of pull-tips, and we should be able to optimise it out with a clever total active balance cache in the state (which would be computed in parallel with payload verification). I've decided to leave that for future work though. For now it can be observed via the new `beacon_block_processing_post_exec_pre_attestable_seconds` metric.


Co-authored-by: Michael Sproul <micsproul@gmail.com>
2022-11-30 05:22:58 +00:00
Divma b4f4c0d253 Ipv6 bootnodes (#3752)
## Issue Addressed
our bootnodes as of now support only ipv4. this makes it so that they support ipv6

## Proposed Changes
- Adds code necessary to update the bootnodes to run on dual stack nodes and therefore contact and store ipv6 nodes.
- Adds some metrics about connectivity type of stored peers. It might have been nice to see some metrics over the sessions but that feels out of scope right now.

## Additional Info
- some code quality improvements sneaked in since the changes seemed small
- I think it depends on the OS, but enabling mapped addresses on an ipv6 node without dual stack support enabled could fail silently, making these nodes effectively ipv6 only. In the future I'll probably change this to use two sockets, which should fail loudly
2022-11-30 03:21:35 +00:00
Mark Mackey f5e6a54f05 Refactored Execution Layer & Fixed Some Tests 2022-11-29 18:18:33 -06:00
Mark Mackey 36170ec428 Fixed some BeaconChain Tests 2022-11-29 18:18:18 -06:00
Mark Mackey e0ea26c228 Remove withdrawals guard for PayloadAttributesV2 2022-11-29 18:03:29 -06:00
ethDreamer 342489a0c3 Fixed Payload Deserialization in DB (#3758) 2022-11-30 10:27:13 +11:00
Pawan Dhananjay 8b56446b64 Add more kzg validations 2022-11-29 16:04:18 +05:30
Pawan Dhananjay 0ed3f7474c Remove empty blob handling as it's handled in kzg library 2022-11-29 15:15:05 +05:30
GeemoCandama 3534c85e30 Optimize finalized chain sync by skipping newPayload messages (#3738)
## Issue Addressed

#3704 

## Proposed Changes
Adds is_syncing_finalized: bool parameter for block verification functions. Sets the payload_verification_status to Optimistic if is_syncing_finalized is true. Uses SyncState in NetworkGlobals in BeaconProcessor to retrieve the syncing status.

## Additional Info
I could implement FinalizedSignatureVerifiedBlock if you think it would be nicer.
2022-11-29 08:19:27 +00:00
Paul Hauner a2969ba7de Improve debugging experience for builder proposals (#3725)
## Issue Addressed

NA

## Proposed Changes

This PR sets out to improve the logging/metrics experience when interacting with the builder. Namely, it:

- Adds/changes metrics (see "Metrics Changes" section).
- Adds new logs which show the duration of requests to the builder/local EL.
- Refactors existing logs for consistency and so that the `parent_hash` is include in all relevant logs (we can grep for this field when trying to trace the flow of block production).


Additionally, when I was implementing this PR I noticed that we skip some verification of the builder payload in the scenario where the builder return `Ok` but the local EL returns with `Err`. Namely, we were skipping the bid signature and other values like parent hash and prev randao. In this PR I've changed it so we *always* check these values and reject the bid if they're incorrect. With these changes, we'll sometimes choose to skip a proposal rather than propose something invalid -- that's the only side-effect to the changes that I can see.

## Metrics Changes

- Changed: `execution_layer_request_times`:
    - `method = "get_blinded_payload_local"`: time taken to get a payload from a local EE.
    - `method = "get_blinded_payload_builder"`: time taken to get a blinded payload from a builder.
    - `method = "post_blinded_payload_builder"`: time taken to get a builder to reveal a payload they've previously supplied us.
- `execution_layer_get_payload_outcome`
    - `outcome = "success"`: we successfully produced a payload from a builder or local EE.
    - `outcome = "failure"`: we were unable to get a payload from a builder or local EE.
- New: `execution_layer_builder_reveal_payload_outcome`
    - `outcome = "success"`: a builder revealed a payload from a signed, blinded block.
    - `outcome = "failure"`: the builder did not reveal the payload.
- New: `execution_layer_get_payload_source`
    - `type = "builder"`: we used a payload from a builder to produce a block.
    - `type = "local"`: we used a payload from a local EE to produce a block.
- New: `execution_layer_get_payload_builder_rejections` has a `reason` field to describe why we rejected a payload from a builder.
- New: `execution_layer_payload_bids` tracks the bid (in gwei) from the builder or local EE (local EE not yet supported, waiting on EEs to expose the value). Can only record values that fit inside an i64 (roughly 9 million ETH).
## Additional Info

NA
2022-11-29 05:51:42 +00:00
Diva M e548073602 Merge branch 'blob-syncing' into eip4844-devnet-v3 2022-11-28 15:10:50 -05:00
Diva M c532f4438c debug impl for wrapper type 2022-11-28 14:54:47 -05:00
Diva M 050acf67a3 Revert "TEMP HACK to get it compiling"
This reverts commit 3c79c33d86.
2022-11-28 14:36:07 -05:00
Diva M 3c79c33d86 TEMP HACK to get it compiling 2022-11-28 14:30:40 -05:00
Diva M 4760dbb078 add wrapper type 2022-11-28 14:22:19 -05:00
Diva M 805df307f6 wip 2022-11-28 14:13:12 -05:00
realbigsean e962e80bb4 fix compile errors 2022-11-28 12:16:45 -05:00
realbigsean 6d7235f2c8 add blob info 2022-11-28 11:36:48 -05:00
realbigsean 0027cdcd3a Merge branch 'eip4844-devnet-v3' of https://github.com/realbigsean/lighthouse into eip4844-devnet-v3 2022-11-28 11:26:55 -05:00
realbigsean 92cae14409 add blob info 2022-11-28 11:26:46 -05:00