pub trait NodeImplementation<TYPES: NodeType>:
    Send
    + Sync
    + Clone
    + Eq
    + Hash
    + 'static
    + Serialize
    + for<'de> Deserialize<'de> {
    type Network: ConnectedNetwork<TYPES::SignatureKey>;
    type Storage: Storage<TYPES>;
    type AuctionResultsProvider: AuctionResultsProvider<TYPES>;
}
Expand description

Node implementation aggregate trait

This trait exists to collect multiple behavior implementations into one type, to allow HotShot to avoid annoying numbers of type arguments and type patching.

It is recommended you implement this trait on a zero sized type, as HotShotdoes not actually store or keep a reference to any value implementing this trait.

Required Associated Types§

source

type Network: ConnectedNetwork<TYPES::SignatureKey>

The underlying network type

source

type Storage: Storage<TYPES>

Storage for DA layer interactions

source

type AuctionResultsProvider: AuctionResultsProvider<TYPES>

The auction results type for Solver interactions

Object Safety§

This trait is not object safe.

Implementors§