lighthouse/beacon_node/eth1/src
Paul Hauner 48f73b21e6 Expand eth1 block cache, add more logs (#1938)
## Issue Addressed

NA

## Proposed Changes

- Caches later blocks than is required by `ETH1_FOLLOW_DISTANCE`.
- Adds logging to `warn` if the eth1 cache is insufficiently primed.
- Use `max_by_key` instead of `max_by` in `BeaconChain::Eth1Chain` since it's simpler.
- Rename `voting_period_start_timestamp` to `voting_target_timestamp` for accuracy.

## Additional Info

The reason for eating into the `ETH1_FOLLOW_DISTANCE` and caching blocks that are closer to the head is due to possibility for `SECONDS_PER_ETH1_BLOCK` to be incorrect (as is the case for the Pyrmont testnet on Goerli).

If `SECONDS_PER_ETH1_BLOCK` is too short, we'll skip back too far from the head and skip over blocks that would be valid [`is_candidate_block`](https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#eth1-data) blocks. This was the case on the Pyrmont testnet and resulted in Lighthouse choosing blocks that were about 30 minutes older than is ideal.
2020-11-21 00:26:15 +00:00
..
block_cache.rs Return eth1-related data via the API (#1797) 2020-11-02 00:37:30 +00:00
deposit_cache.rs Return eth1-related data via the API (#1797) 2020-11-02 00:37:30 +00:00
deposit_log.rs Ensure deposit signatures do not use aggregate functions (#1935) 2020-11-20 03:37:20 +00:00
http.rs Validate eth1 chain id (#1877) 2020-11-16 23:10:42 +00:00
inner.rs Return eth1-related data via the API (#1797) 2020-11-02 00:37:30 +00:00
lib.rs Implement standard eth2.0 API (#1569) 2020-10-01 11:12:36 +10:00
metrics.rs Add more eth1 metrics (#728) 2019-12-17 10:20:27 +11:00
service.rs Expand eth1 block cache, add more logs (#1938) 2020-11-21 00:26:15 +00:00