805e85e1ff
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. |
||
---|---|---|
.. | ||
README.md | ||
action_tracker.nim | ||
keystore_management.nim | ||
slashing_protection.nim | ||
slashing_protection_common.nim | ||
slashing_protection_v1.nim | ||
slashing_protection_v2.nim | ||
validator_duties.nim | ||
validator_monitor.nim | ||
validator_pool.nim |
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