use crate::Scheme;
use commonware_cryptography::Hasher;
use std::num::NonZeroUsize;
mod actor;
pub use actor::Application;
use commonware_runtime::{Sink, Stream};
use commonware_stream::encrypted::{Receiver, Sender};
mod ingress;
const GENESIS: &[u8] = b"commonware is neat";
pub fn genesis<H: Hasher>() -> H::Digest {
let mut hasher = H::default();
hasher.update(GENESIS);
hasher.finalize()
}
pub struct Config<H: Hasher, Si: Sink, St: Stream> {
pub indexer: (Sender<Si>, Receiver<St>),
pub hasher: H,
pub this_network: Scheme,
pub other_network: Scheme,
pub mailbox_size: NonZeroUsize,
}