Crate phron_finality
source ·Modules§
- abft 🔒Main purpose of this module is to be able to use two different versions of the abft crate. Older version is referred to as ‘Legacy’ while newer as ‘Current’. We achieve this by hiding types & traits from abft crates behind our owns. In case of traits we implement both current and legacy ones. In case of types we implement trait
From
to be able convert them at the ‘glueing’ spot to the abft library. Current and legacy versions are marked by numbers. Whenever we upgrade to next version of abft we need to increment and mark each version version accordingly. - Module to glue legacy and current version of the aggregator;
- crypto 🔒
- data_io 🔒
- import 🔒
- metrics 🔒
- network 🔒
- nodes 🔒
- party 🔒
- session 🔒
- sync 🔒
Structs§
- The identifier of a block, the least amount of knowledge we can have about a block.
- Wrapper around the trait object that we get from Substrate.
- A justification, including the related header.
- Translates raw phron justifications into ones acceptable to sync.
- A wrapper around a block import that also extracts any present justifications and sends them to our components which will process them further and possibly finalize the block.
- Convert protocols to their names and vice versa.
- A wrapper around a block import that actually sends all the blocks elsewhere through a channel. Very barebones, e.g. does not work with justifications, but sufficient for passing to Aura.
- Substrate implementation of ChainStatus trait
- A sync oracle implementation tracking how recently the node was far behind the highest known justification. It defines being in major sync as being more than 15 blocks behind the highest known justification less than 10 seconds ago. It defines being offline as not getting any update for at least 6 seconds (or never at all).
- A wrapper around a block import that also marks the start and end of the import of every block in the metrics, if provided.
- Stores most recent information about validator addresses.
- Network details for a given validator in a given session.
Enums§
- A proof of block finality, currently in the form of a sufficiently long list of signatures or a sudo signature of a block for emergency finalization.
- Protocols used by the network.
- The main purpose of this data type is to enable a seamless transition between protocol versions at the Network level. It provides a generic implementation of the Decode and Encode traits (LE byte representation) by prepending byte representations for provided type parameters with their version (they need to implement the
Versioned
trait). If one provides data types that declares equal versions, the first data type parameter will have priority while decoding. Keep in mind that in such case,decode
might fail even if the second data type would be able decode provided byte representation.
Constants§
- Constant defining how often components of finality-aleph should report their state
Traits§
Functions§
- Returns a NonDefaultSetConfig for the specified protocol.
Type Aliases§
- Hasher 🔒