1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
use datasize::DataSize;
use serde::Deserialize;
use crate::{
logging::LoggingConfig, types::NodeConfig, BlockProposerConfig, ConsensusConfig,
ContractRuntimeConfig, DeployAcceptorConfig, EventStreamServerConfig, FetcherConfig,
GossipConfig, LinearChainSyncConfig, RestServerConfig, RpcServerConfig, SmallNetworkConfig,
StorageConfig,
};
#[derive(DataSize, Debug, Default, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Config {
pub node: NodeConfig,
pub logging: LoggingConfig,
pub consensus: ConsensusConfig,
pub network: SmallNetworkConfig,
pub event_stream_server: EventStreamServerConfig,
pub rest_server: RestServerConfig,
pub rpc_server: RpcServerConfig,
pub storage: StorageConfig,
pub gossip: GossipConfig,
pub fetcher: FetcherConfig,
pub contract_runtime: ContractRuntimeConfig,
pub deploy_acceptor: DeployAcceptorConfig,
pub linear_chain_sync: LinearChainSyncConfig,
#[serde(default)]
pub block_proposer: BlockProposerConfig,
}