1mod dataio;
4mod network;
5mod tasks;
6
7pub use aleph_bft_crypto::{
8 IncompleteMultisignatureError, Index, Indexed, Keychain, MultiKeychain, Multisigned, NodeCount,
9 NodeIndex, NodeMap, NodeSubset, PartialMultisignature, PartiallyMultisigned, Signable,
10 Signature, SignatureError, SignatureSet, Signed, UncheckedSigned,
11};
12pub use dataio::{DataProvider, FinalizationHandler, OrderedUnit, UnitFinalizationHandler};
13pub use network::{Network, Recipient};
14pub use tasks::{SpawnHandle, TaskHandle};
15
16use codec::Codec;
17use std::{fmt::Debug, hash::Hash as StdHash};
18
19pub trait Data: Eq + Clone + Send + Sync + Debug + StdHash + Codec + 'static {}
21
22impl<T> Data for T where T: Eq + Clone + Send + Sync + Debug + StdHash + Codec + 'static {}
23
24pub trait Hasher: Eq + Clone + Send + Sync + Debug + 'static {
26 type Hash: AsRef<[u8]> + Eq + Ord + Copy + Clone + Send + Sync + Debug + StdHash + Codec;
28
29 fn hash(s: &[u8]) -> Self::Hash;
30}
31
32pub type SessionId = u64;
34
35pub type Round = u16;