pub trait AggregatableVote<TYPES: NodeType, VOTE: Vote<TYPES>, CERT: Certificate<TYPES, VOTE::Commitment, Voteable = VOTE::Commitment>> {
// Required methods
fn leader(
&self,
membership: &EpochMembership<TYPES>,
) -> impl Future<Output = Result<TYPES::SignatureKey>>;
fn make_cert_event(
certificate: CERT,
key: &TYPES::SignatureKey,
) -> HotShotEvent<TYPES>;
}
Expand description
Describes the functions a vote must implement for it to be aggregatable by the generic vote collection task
Required Methods§
Sourcefn leader(
&self,
membership: &EpochMembership<TYPES>,
) -> impl Future<Output = Result<TYPES::SignatureKey>>
fn leader( &self, membership: &EpochMembership<TYPES>, ) -> impl Future<Output = Result<TYPES::SignatureKey>>
Sourcefn make_cert_event(
certificate: CERT,
key: &TYPES::SignatureKey,
) -> HotShotEvent<TYPES>
fn make_cert_event( certificate: CERT, key: &TYPES::SignatureKey, ) -> HotShotEvent<TYPES>
return the Hotshot event for the completion of this CERT
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.