pub trait NodeType:
Clone
+ Copy
+ Debug
+ Hash
+ PartialEq
+ Eq
+ Default
+ Serialize
+ for<'de> Deserialize<'de>
+ Send
+ Sync
+ 'static {
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>;
type Membership: Membership<Self>;
type BuilderSignatureKey: BuilderSignatureKey;
type StateSignatureKey: StateSignatureKey + LCV1StateSignatureKey + LCV2StateSignatureKey + LCV3StateSignatureKey;
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 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>
type ValidatedState: ValidatedState<Self, Instance = Self::InstanceState>
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 + LCV1StateSignatureKey + LCV2StateSignatureKey + LCV3StateSignatureKey
type StateSignatureKey: StateSignatureKey + LCV1StateSignatureKey + LCV2StateSignatureKey + LCV3StateSignatureKey
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".