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

 */
pub use node::*;

mod node;

pub 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 Configuration;
    type Data;

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