guts_consensus/simplex/
types.rs

1//! Type definitions for Simplex BFT consensus.
2//!
3//! This module provides the core type aliases used throughout the
4//! Simplex consensus implementation.
5
6use commonware_consensus::simplex::signing_scheme::ed25519;
7use commonware_consensus::simplex::types::{
8    Activity as CActivity, Finalization as CFinalization, Notarization as CNotarization,
9};
10use commonware_cryptography::sha256::Digest;
11
12/// The signing scheme used for consensus.
13///
14/// We use ed25519 for simplicity and HSM compatibility.
15/// For production with threshold signatures, consider bls12381_threshold.
16pub type Scheme = ed25519::Scheme;
17
18/// Notarization certificate type.
19pub type Notarization = CNotarization<Scheme, Digest>;
20
21/// Finalization certificate type.
22pub type Finalization = CFinalization<Scheme, Digest>;
23
24/// Activity report type.
25pub type Activity = CActivity<Scheme, Digest>;
26
27/// Re-export the public key type.
28pub use commonware_cryptography::ed25519::PublicKey as ValidatorPublicKey;
29
30/// Re-export the private key type.
31pub use commonware_cryptography::ed25519::PrivateKey as ValidatorPrivateKey;