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§
Sourceconst UPGRADE_CONSTANTS: UpgradeConstants = DEFAULT_UPGRADE_CONSTANTS
const UPGRADE_CONSTANTS: UpgradeConstants = DEFAULT_UPGRADE_CONSTANTS
Constants used to construct upgrade proposals
Required Associated Types§
Sourcetype View: ConsensusTime + Display
type View: ConsensusTime + Display
The time type that this hotshot setup is using.
This should be the same Time
that ValidatedState::Time
is using.
Sourcetype Epoch: ConsensusTime + Display
type Epoch: ConsensusTime + Display
Same as above but for epoch.
Sourcetype AuctionResult: Debug + HasUrls + DeserializeOwned + Default + PartialEq + Eq + Clone + Send + Sync
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.
Sourcetype BlockHeader: BlockHeader<Self>
type BlockHeader: BlockHeader<Self>
The block header type that this hotshot setup is using.
Sourcetype BlockPayload: BlockPayload<Self, Instance = Self::InstanceState, Transaction = Self::Transaction, ValidatedState = Self::ValidatedState>
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.
Sourcetype SignatureKey: SignatureKey
type SignatureKey: SignatureKey
The signature key that this hotshot setup is using.
Sourcetype Transaction: Transaction
type Transaction: Transaction
The transaction type that this hotshot setup is using.
This should be equal to BlockPayload::Transaction
Sourcetype InstanceState: InstanceState
type InstanceState: InstanceState
The instance-level state type that this hotshot setup is using.
Sourcetype ValidatedState: ValidatedState<Self, Instance = Self::InstanceState, Time = Self::View>
type ValidatedState: ValidatedState<Self, Instance = Self::InstanceState, Time = Self::View>
The validated state type that this hotshot setup is using.
Sourcetype Membership: Membership<Self>
type Membership: Membership<Self>
Membership used for this implementation
Sourcetype BuilderSignatureKey: BuilderSignatureKey
type BuilderSignatureKey: BuilderSignatureKey
The type builder uses to sign its messages
Sourcetype StateSignatureKey: StateSignatureKey
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.