MCPcopy Create free account
hub / github.com/SeismicSystems/summit / get_engine_config

Method get_engine_config

node/src/config.rs:65–105  ·  view source on GitHub ↗
(
        engine_client: C,
        oracle: O,
        key_store: KeyStore<S>,
        participants: Vec<(PublicKey, bls12381::PublicKey)>,
        db_prefix: String,
        genesis: &Genesis,
      

Source from the content-addressed store, hash-verified

63 pub fetch_concurrent: usize,
64 pub fetch_rate_per_peer: Quota,
65
66 pub namespace: String,
67 pub genesis_hash: [u8; 32],
68 /// Digest of the immutable genesis configuration ([`Genesis::config_digest`]),
69 /// used to derive the chain-bound live P2P + consensus domain.
70 pub config_digest: [u8; 32],
71 pub max_message_size_bytes: u32,
72
73 /// Initial state given to the finalizer. All other processes should get initial state from the finalizer not the config
74 pub initial_state: ConsensusState,
75 pub checkpoint_last_block: Option<Block>,
76 pub checkpoint_finalized_header: Option<FinalizedHeader<MultisigScheme>>,
77 pub blocks_per_epoch: u64,
78 pub force_verifier_only: bool,
79 /// The derived child key used as the live P2P identity when the node runs
80 /// with `--observer`; `None` on validator nodes. When set, the engine
81 /// identifies itself by this key everywhere (resolver self-exclusion,
82 /// broadcast attribution, finalizer self-lookup) instead of the master
83 /// node key in `key_store`.
84 pub observer_network_key: Option<PublicKey>,
85}
86
87impl<C: EngineClient, S: Signer, O: NetworkOracle<S::PublicKey>> EngineConfig<C, S, O> {
88 #[allow(clippy::too_many_arguments)]
89 pub fn get_engine_config(
90 engine_client: C,
91 oracle: O,
92 key_store: KeyStore<S>,
93 participants: Vec<(PublicKey, bls12381::PublicKey)>,
94 db_prefix: String,
95 genesis: &Genesis,
96 initial_state: ConsensusState,
97 checkpoint_last_block: Option<Block>,
98 checkpoint_finalized_header: Option<FinalizedHeader<MultisigScheme>>,
99 finalizer_pending_notarized_max: usize,
100 ) -> Result<Self> {
101 Ok(Self {
102 engine_client,
103 partition_prefix: db_prefix,
104 key_store,
105 participants,
106 oracle,
107 mailbox_size: MAILBOX_SIZE,
108 finalizer_pending_notarized_max,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected