pub trait AggregatableVote<TYPES: NodeType, VOTE: Vote<TYPES>, CERT: Certificate<TYPES, VOTE::Commitment, Voteable = VOTE::Commitment>> {
// Required methods
fn leader(
&self,
membership: &TYPES::Membership,
epoch: TYPES::Epoch,
) -> 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: &TYPES::Membership,
epoch: TYPES::Epoch,
) -> Result<TYPES::SignatureKey>
fn leader( &self, membership: &TYPES::Membership, epoch: TYPES::Epoch, ) -> 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
Object Safety§
This trait is not object safe.