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