pub trait Verifiable<T: NodeType>:
HasViewNumber
+ HasEpoch
+ Sized {
type Key: Copy + Ord + Hash + Display + Send + Sync + 'static;
type Output: Send + 'static;
// Required methods
fn key(&self) -> Option<Self::Key>;
fn check(
self,
stake_table: &[<T::SignatureKey as SignatureKey>::StakeTableEntry],
threshold: U256,
upgrade_lock: &UpgradeLock<T>,
) -> Result<Self::Output>;
}Required Associated Types§
Sourcetype Key: Copy + Ord + Hash + Display + Send + Sync + 'static
type Key: Copy + Ord + Hash + Display + Send + Sync + 'static
Identifies the Verifiable, e.g. ViewNumber or EpochNumber.
type Output: Send + 'static
Required Methods§
fn key(&self) -> Option<Self::Key>
fn check( self, stake_table: &[<T::SignatureKey as SignatureKey>::StakeTableEntry], threshold: U256, upgrade_lock: &UpgradeLock<T>, ) -> Result<Self::Output>
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.