Module phron_finality::abft
source · Expand description
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.
Re-exports§
pub use crypto::Keychain;
pub use current::create_phron_config as current_create_phron_config;
pub use current::run_member as run_current_member;
pub use current::NetworkData as CurrentNetworkData;
pub use legacy::create_phron_config as legacy_create_phron_config;
pub use legacy::run_member as run_legacy_member;
pub use legacy::NetworkData as LegacyNetworkData;
pub use network::NetworkWrapper;
pub use traits::SpawnHandle;
pub use traits::Wrapper as HashWrapper;
pub use types::NodeCount;
pub use types::NodeIndex;
pub use types::Recipient;
Modules§
- common 🔒
- crypto 🔒
- current 🔒
- legacy 🔒
- network 🔒
- traits 🔒Implementations and definitions of traits used in legacy & current abft
- types 🔒Types common for current & legacy abft used across finality-aleph
Structs§
- Wrapper for
SignatureSet
to be able to implement both legacy and currentPartialMultisignature
trait. InnerSignatureSet
is imported fromaleph_bft_crypto
with a fixed version for compatibility reasons: this is also used in the justification that already exists in our chain history, and we need to be careful with changing this.
Constants§
- Current version of abft.
- Legacy version of abft.