fedimint_unknown_common/
lib.rs1#![deny(clippy::pedantic)]
2#![allow(clippy::module_name_repetitions)]
3
4use std::fmt;
5
6use config::UnknownClientConfig;
7use fedimint_core::core::{Decoder, ModuleInstanceId, ModuleKind};
8use fedimint_core::encoding::{Decodable, Encodable};
9use fedimint_core::module::{CommonModuleInit, ModuleCommon, ModuleConsensusVersion};
10use fedimint_core::plugin_types_trait_impl_common;
11use serde::{Deserialize, Serialize};
12use thiserror::Error;
13
14pub mod config;
18
19pub const KIND: ModuleKind = ModuleKind::from_static_str("unknown");
21
22pub const MODULE_CONSENSUS_VERSION: ModuleConsensusVersion = ModuleConsensusVersion::new(0, 0);
24
25#[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize, Encodable, Decodable)]
27pub struct UnknownConsensusItem;
28
29#[derive(Debug, Clone, Eq, PartialEq, Hash, Deserialize, Serialize, Encodable, Decodable)]
31pub struct UnknownInput;
32
33#[derive(Debug, Clone, Eq, PartialEq, Hash, Deserialize, Serialize, Encodable, Decodable)]
35pub struct UnknownOutput;
36
37#[derive(Debug, Clone, Eq, PartialEq, Hash, Deserialize, Serialize, Encodable, Decodable)]
39pub enum UnknownOutputOutcome {}
40
41#[derive(Debug, Clone, Eq, PartialEq, Hash, Error, Encodable, Decodable)]
43pub enum UnknownInputError {}
44
45#[derive(Debug, Clone, Eq, PartialEq, Hash, Error, Encodable, Decodable)]
47pub enum UnknownOutputError {}
48
49pub struct UnknownModuleTypes;
51
52plugin_types_trait_impl_common!(
54 KIND,
55 UnknownModuleTypes,
56 UnknownClientConfig,
57 UnknownInput,
58 UnknownOutput,
59 UnknownOutputOutcome,
60 UnknownConsensusItem,
61 UnknownInputError,
62 UnknownOutputError
63);
64
65#[derive(Debug)]
66pub struct UnknownCommonInit;
67
68impl CommonModuleInit for UnknownCommonInit {
69 const CONSENSUS_VERSION: ModuleConsensusVersion = MODULE_CONSENSUS_VERSION;
70 const KIND: ModuleKind = KIND;
71
72 type ClientConfig = UnknownClientConfig;
73
74 fn decoder() -> Decoder {
75 UnknownModuleTypes::decoder_builder().build()
76 }
77}
78
79impl fmt::Display for UnknownClientConfig {
80 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
81 write!(f, "UnknownClientConfig")
82 }
83}
84impl fmt::Display for UnknownInput {
85 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
86 write!(f, "UnknownInput")
87 }
88}
89
90impl fmt::Display for UnknownOutput {
91 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
92 write!(f, "UnknownOutput")
93 }
94}
95
96impl fmt::Display for UnknownOutputOutcome {
97 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
98 write!(f, "UnknownOutputOutcome")
99 }
100}
101
102impl fmt::Display for UnknownConsensusItem {
103 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
104 write!(f, "UnknownConsensusItem")
105 }
106}