nimbus-eth2/beacon_chain/rpc
Jacek Sieka 805e85e1ff
time: spring cleaning (#3262)
Time in the beacon chain is expressed relative to the genesis time -
this PR creates a `beacon_time` module that collects helpers and
utilities for dealing the time units - the new module does not deal with
actual wall time (that's remains in `beacon_clock`).

Collecting the time related stuff in one place makes it easier to find,
avoids some circular imports and allows more easily identifying the code
actually needs wall time to operate.

* move genesis-time-related functionality into `spec/beacon_time`
* avoid using `chronos.Duration` for time differences - it does not
support negative values (such as when something happens earlier than it
should)
* saturate conversions between `FAR_FUTURE_XXX`, so as to avoid
overflows
* fix delay reporting in validator client so it uses the expected
deadline of the slot, not "closest wall slot"
* simplify looping over the slots of an epoch
* `compute_start_slot_at_epoch` -> `start_slot`
* `compute_epoch_at_slot` -> `epoch`

A follow-up PR will (likely) introduce saturating arithmetic for the
time units - this is merely code moves, renames and fixing of small
bugs.
2022-01-11 11:01:54 +01:00
..
rest_api.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
rest_beacon_api.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rest_config_api.nim REST cleanups (#3255) 2022-01-08 22:06:34 +02:00
rest_constants.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rest_debug_api.nim REST JSON support improvements (#3232) 2022-01-06 08:38:40 +01:00
rest_event_api.nim REST JSON support improvements (#3232) 2022-01-06 08:38:40 +01:00
rest_key_management_api.nim shift block_sim fork epochs; allow VC to work with non-multiple-of-3 SECONDS_PER_SLOT (#3244) 2022-01-05 13:41:39 +00:00
rest_nimbus_api.nim Support more content-types when specifying the Graffiti string 2022-01-06 10:56:59 +02:00
rest_node_api.nim REST cleanups (#3255) 2022-01-08 22:06:34 +02:00
rest_utils.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rest_validator_api.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rpc_api.nim REST API client, JSON-RPC cleanups (#2756) 2021-08-03 17:17:11 +02:00
rpc_beacon_api.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rpc_config_api.nim REST cleanups (#3255) 2022-01-08 22:06:34 +02:00
rpc_debug_api.nim import cleanup (#2997) 2021-10-19 16:09:26 +02:00
rpc_event_api.nim import cleanup (#2997) 2021-10-19 16:09:26 +02:00
rpc_nimbus_api.nim Handle access to historical data for which there is no state (#3217) 2022-01-05 19:38:04 +01:00
rpc_node_api.nim REST cleanups (#3255) 2022-01-08 22:06:34 +02:00
rpc_utils.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
rpc_validator_api.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
state_ttl_cache.nim Implement #3129 (Optimized history traversals in the REST API) (#3219) 2022-01-05 15:49:10 +01:00