Trait NodeType

Source
pub trait NodeType:
    Clone
    + Copy
    + Debug
    + Hash
    + PartialEq
    + Eq
    + PartialOrd
    + Ord
    + Default
    + Serialize
    + for<'de> Deserialize<'de>
    + Send
    + Sync
    + 'static {
    type View: ConsensusTime + Display;
    type Epoch: ConsensusTime + Display;
    type AuctionResult: Debug + HasUrls + DeserializeOwned + Default + PartialEq + Eq + Clone + Send + Sync;
    type BlockHeader: BlockHeader<Self>;
    type BlockPayload: BlockPayload<Self, Instance = Self::InstanceState, Transaction = Self::Transaction, ValidatedState = Self::ValidatedState>;
    type SignatureKey: SignatureKey;
    type Transaction: Transaction;
    type InstanceState: InstanceState;
    type ValidatedState: ValidatedState<Self, Instance = Self::InstanceState, Time = Self::View>;
    type Membership: Membership<Self>;
    type BuilderSignatureKey: BuilderSignatureKey;
    type StateSignatureKey: StateSignatureKey;
Show 1 associated constant and 0 method const UPGRADE_CONSTANTS: UpgradeConstants = DEFAULT_UPGRADE_CONSTANTS;
}
Expand description

Trait with all the type definitions that are used in the current hotshot setup.

Provided Associated Constants§

Source

const UPGRADE_CONSTANTS: UpgradeConstants = DEFAULT_UPGRADE_CONSTANTS

Constants used to construct upgrade proposals

Required Associated Types§

Source

type View: ConsensusTime + Display

The time type that this hotshot setup is using.

This should be the same Time that ValidatedState::Time is using.

Source

type Epoch: ConsensusTime + Display

Same as above but for epoch.

Source

type AuctionResult: Debug + HasUrls + DeserializeOwned + Default + PartialEq + Eq + Clone + Send + Sync

The AuctionSolverResult is a type that holds the data associated with a particular solver run, for a particular view.

Source

type BlockHeader: BlockHeader<Self>

The block header type that this hotshot setup is using.

Source

type BlockPayload: BlockPayload<Self, Instance = Self::InstanceState, Transaction = Self::Transaction, ValidatedState = Self::ValidatedState>

The block type that this hotshot setup is using.

This should be the same block that ValidatedState::BlockPayload is using.

Source

type SignatureKey: SignatureKey

The signature key that this hotshot setup is using.

Source

type Transaction: Transaction

The transaction type that this hotshot setup is using.

This should be equal to BlockPayload::Transaction

Source

type InstanceState: InstanceState

The instance-level state type that this hotshot setup is using.

Source

type ValidatedState: ValidatedState<Self, Instance = Self::InstanceState, Time = Self::View>

The validated state type that this hotshot setup is using.

Source

type Membership: Membership<Self>

Membership used for this implementation

Source

type BuilderSignatureKey: BuilderSignatureKey

The type builder uses to sign its messages

Source

type StateSignatureKey: StateSignatureKey

The type replica uses to sign the light client state

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§