alto_chain/actors/application/
mod.rs

1use commonware_consensus::threshold_simplex::Prover;
2use commonware_cryptography::{
3    bls12381::primitives::{group, poly::Poly},
4    ed25519::PublicKey,
5    sha256::Digest,
6};
7
8mod actor;
9pub use actor::Actor;
10mod ingress;
11pub use ingress::Mailbox;
12mod supervisor;
13pub use supervisor::Supervisor;
14
15/// Configuration for the application.
16pub struct Config {
17    /// Prover used to decode opaque proofs from consensus.
18    pub prover: Prover<Digest>,
19
20    /// Participants active in consensus.
21    pub participants: Vec<PublicKey>,
22
23    pub identity: Poly<group::Public>,
24
25    pub share: group::Share,
26
27    /// Number of messages from consensus to hold in our backlog
28    /// before blocking.
29    pub mailbox_size: usize,
30}