fedimint_meta_common/
config.rs
1use fedimint_core::core::ModuleKind;
2use fedimint_core::encoding::{Decodable, Encodable};
3use fedimint_core::plugin_types_trait_impl_config;
4use serde::{Deserialize, Serialize};
5
6use crate::MetaCommonInit;
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct MetaGenParams {
11 pub local: MetaGenParamsLocal,
12 pub consensus: MetaGenParamsConsensus,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize, Default)]
17pub struct MetaGenParamsLocal;
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct MetaGenParamsConsensus;
22
23impl Default for MetaGenParams {
24 fn default() -> Self {
25 Self {
26 local: MetaGenParamsLocal,
27 consensus: MetaGenParamsConsensus,
28 }
29 }
30}
31
32#[derive(Clone, Debug, Serialize, Deserialize)]
34pub struct MetaConfig {
35 pub private: MetaConfigPrivate,
36 pub consensus: MetaConfigConsensus,
37}
38
39#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, Encodable, Decodable, Hash)]
41pub struct MetaClientConfig;
42
43#[derive(Clone, Debug, Serialize, Deserialize, Decodable, Encodable)]
45pub struct MetaConfigLocal;
46
47#[derive(Clone, Debug, Serialize, Deserialize, Decodable, Encodable)]
49pub struct MetaConfigConsensus;
50
51#[derive(Clone, Debug, Serialize, Deserialize)]
53pub struct MetaConfigPrivate;
54
55plugin_types_trait_impl_config!(
57 MetaCommonInit,
58 MetaGenParams,
59 MetaGenParamsLocal,
60 MetaGenParamsConsensus,
61 MetaConfig,
62 MetaConfigPrivate,
63 MetaConfigConsensus,
64 MetaClientConfig
65);