use commonware_consensus::simplex::scheme::bls12381_threshold::vrf;
use commonware_consensus::simplex::types::{
Activity as CActivity, Context as CContext, Finalization as CFinalization,
Notarization as CNotarization,
};
use commonware_cryptography::{
bls12381::primitives::variant::{MinSig, Variant},
ed25519,
sha256::Digest,
};
pub type Context = CContext<Digest, PublicKey>;
pub type Scheme = vrf::Scheme<PublicKey, MinSig>;
pub type Seed = vrf::Seed<MinSig>;
pub use vrf::Seedable;
pub type Notarization = CNotarization<Scheme, Digest>;
pub type Finalization = CFinalization<Scheme, Digest>;
pub type Activity = CActivity<Scheme, Digest>;
pub type PublicKey = ed25519::PublicKey;
pub type Identity = <MinSig as Variant>::Public;
pub type Signature = <MinSig as Variant>::Signature;