lighthouse/beacon_node/http_api/src
Paul Hauner e4eb0eb168 Use advanced state for block production (#2241)
## Issue Addressed

NA

## Proposed Changes

- Use the pre-states from #2174 during block production.
    - Running this on Pyrmont shows block production times dropping from ~550ms to ~150ms.
- Create `crit` and `warn` logs when a block is published to the API later than we expect.
    - On mainnet we are issuing a warn if the block is published more than 1s later than the slot start and a crit for more than 3s.
- Rename some methods on the `SnapshotCache` for clarity.
- Add the ability to pass the state root to `BeaconChain::produce_block_on_state` to avoid computing a state root. This is a very common LH optimization.
- Add a metric that tracks how late we broadcast blocks received from the HTTP API. This is *technically* a duplicate of a `ValidatorMonitor` log, but I wanted to have it for the case where we aren't monitoring validators too.
2021-03-04 04:43:31 +00:00
..
beacon_proposer_cache.rs Fix new clippy lints (#2036) 2020-12-03 01:10:26 +00:00
block_id.rs Implement standard eth2.0 API (#1569) 2020-10-01 11:12:36 +10:00
lib.rs Use advanced state for block production (#2241) 2021-03-04 04:43:31 +00:00
metrics.rs Use advanced state for block production (#2241) 2021-03-04 04:43:31 +00:00
state_id.rs Implement standard eth2.0 API (#1569) 2020-10-01 11:12:36 +10:00
validator_inclusion.rs Implement standard eth2.0 API (#1569) 2020-10-01 11:12:36 +10:00