commonware_broadcast/linked/signer/
config.rs1use crate::{
2 linked::{Context, Epoch},
3 Application, Collector, ThresholdCoordinator,
4};
5use commonware_cryptography::Scheme;
6use commonware_utils::Array;
7use std::time::Duration;
8
9pub struct Config<
11 C: Scheme,
12 D: Array,
13 A: Application<Context = Context<C::PublicKey>, Digest = D>,
14 Z: Collector<Digest = D>,
15 S: ThresholdCoordinator<Index = Epoch>,
16> {
17 pub crypto: C,
18 pub coordinator: S,
19 pub application: A,
20 pub collector: Z,
21 pub mailbox_size: usize,
22 pub pending_verify_size: usize,
23 pub namespace: Vec<u8>,
24 pub refresh_epoch_timeout: Duration,
25 pub rebroadcast_timeout: Duration,
26 pub epoch_bounds: (u64, u64),
27 pub height_bound: u64,
28 pub journal_name_prefix: String,
29 pub journal_heights_per_section: u64,
30 pub journal_replay_concurrency: usize,
31}