Return eth1-related data via the API (#1797)

## Issue Addressed

- Related to #1691

## Proposed Changes

Adds the following API endpoints:

- `GET lighthouse/eth1/syncing`: status about how synced we are with Eth1.
- `GET lighthouse/eth1/block_cache`: all locally cached eth1 blocks.
- `GET lighthouse/eth1/deposit_cache`: all locally cached eth1 deposits.

Additionally:

- Moves some types from the `beacon_node/eth1` to the `common/eth2` crate, so they can be used in the API without duplication.
- Allow `update_deposit_cache` and `update_block_cache` to take an optional head block number to avoid duplicate requests.

## Additional Info

TBC
This commit is contained in:
Paul Hauner
2020-11-02 00:37:30 +00:00
parent 6c0c050fbb
commit 7afbaa807e
18 changed files with 638 additions and 101 deletions

3
Cargo.lock generated
View File

@@ -363,6 +363,7 @@ dependencies = [
"derivative",
"environment",
"eth1",
"eth2",
"eth2_config",
"eth2_hashing",
"eth2_ssz",
@@ -1599,6 +1600,7 @@ version = "0.2.0"
dependencies = [
"environment",
"eth1_test_rig",
"eth2",
"eth2_hashing",
"eth2_ssz",
"eth2_ssz_derive",
@@ -1644,6 +1646,7 @@ dependencies = [
"eth2_keystore",
"eth2_libp2p",
"eth2_ssz",
"eth2_ssz_derive",
"hex",
"libsecp256k1",
"procinfo",