Specification imports for phase0 were aliased as 'spec'. Due to the
mechanism decided upon to manage structs that vary beteween hard forks
this is no longer useful, so this removes the alias in preparation for
the Altair hard fork.
When a chain reorganisation occurs it is possible that this impacts
Vouch's attestations and proposals for the current and next epoch. This
patch listens to the Ethereum 2 events stream for reorganisation
notifications. If it finds one it cancels existing and creates new
duties, as required.
This option allows users to control the maximum amount of time that
Vouch will wait for a block to arrive before starting its attestation
process. Note that this is a spec value, so changes can have a highly
detrimental impact on Vouch's behaviour.
This adds a label `epoch_slot` to the prometheus metric
`vouch_block_receipt_delay_seconds`. It has been noted that the receipt
delay is often significantly higher for the first (and, to a lesser
extent, second) slot in a given epoch. This allows the receipt delay to
be examined for specific slots in a given epoch.