nimbus-eth2/beacon_chain/validators
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
..
README.md Consolidate modules by areas [part 1] (#2365) 2021-03-02 11:27:45 +01:00
action_tracker.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
keystore_management.nim Implementation of the Keymanager API (BETA) 2022-01-04 18:51:45 +02:00
slashing_protection.nim fixes (#2901) 2021-09-27 11:24:58 +02:00
slashing_protection_common.nim fixes (#2901) 2021-09-27 11:24:58 +02:00
slashing_protection_v1.nim eth2.0-specs -> consensus-specs repo rename (#2801) 2021-08-20 23:37:45 +00:00
slashing_protection_v2.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
validator_duties.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
validator_monitor.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00
validator_pool.nim time: spring cleaning (#3262) 2022-01-11 11:01:54 +01:00

README.md

Validators

This folder holds all modules related to a Beacon Chain Validator besides the binaries they interact directly with (nimbus_validator_cliant and nimbus_signing_process):

  • Validator keystore
  • Validator slashing protection
  • Validator duties
  • Validator pool