lighthouse/beacon_node
Michael Sproul 2dc6163043 Add API version headers and map_fork_name! (#2745)
## Proposed Changes

* Add the `Eth-Consensus-Version` header to the HTTP API for the block and state endpoints. This is part of the v2.1.0 API that was recently released: https://github.com/ethereum/beacon-APIs/pull/170
* Add tests for the above. I refactored the `eth2` crate's helper functions to make this more straight-forward, and introduced some new mixin traits that I think greatly improve readability and flexibility.
* Add a new `map_with_fork!` macro which is useful for decoding a superstruct type without naming all its variants. It is now used for SSZ-decoding `BeaconBlock` and `BeaconState`, and for JSON-decoding `SignedBeaconBlock` in the API.

## Additional Info

The `map_with_fork!` changes will conflict with the Merge changes, but when resolving the conflict the changes from this branch should be preferred (it is no longer necessary to enumerate every fork). The merge fork _will_  need to be added to `map_fork_name_with`.
2021-10-28 01:18:04 +00:00
..
beacon_chain Add flag to disable lock timeouts (#2714) 2021-10-19 00:30:40 +00:00
client Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
eth1 Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
genesis Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
http_api Add API version headers and map_fork_name! (#2745) 2021-10-28 01:18:04 +00:00
http_metrics Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
lighthouse_network Add a waker to the RPC handler (#2721) 2021-10-21 06:14:36 +00:00
network Update next_fork_subscriptions correctly (#2688) 2021-10-21 04:38:44 +00:00
operation_pool Add Altair tests to op pool (#2723) 2021-10-16 05:07:23 +00:00
src Fix purge-db edge case (#2747) 2021-10-25 22:11:28 +00:00
store Add API version headers and map_fork_name! (#2745) 2021-10-28 01:18:04 +00:00
tests Altair consensus changes and refactors (#2279) 2021-07-09 06:15:32 +00:00
timer Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
websocket_server Server sent events (#1920) 2020-12-04 00:18:58 +00:00
Cargo.toml Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00