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
/*
   Appellation: Nodes
   Context: Module
   Creator: Joe McCain III <jo3mccain@gmail.com> (https://pzzld.eth.link/)
   Description:

*/
pub use node::*;

mod node;

type NodeError = Box<dyn std::error::Error + Send + Sync + 'static>;

pub enum Nodes {
    Full,
    Light,
}

pub enum NodeStates {
    Computing,
    Controlling,
}

pub trait NodeSpec {
    type Account;
    type Client;
    type Config;
    type Data;

    fn constructor(&self, configuration: Self::Config) -> Result<Self, NodeError>
    where
        Self: Sized;
}