Trait mithril_aggregator::MultiSigner
source · pub trait MultiSigner: Sync + Send {
// Required methods
fn verify_single_signature<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn verify_single_signature_for_next_stake_distribution<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn create_multi_signature<'life0, 'life1, 'async_trait>(
&'life0 self,
open_message: &'life1 OpenMessage,
) -> Pin<Box<dyn Future<Output = StdResult<Option<ProtocolMultiSignature>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Expand description
MultiSigner is the cryptographic engine in charge of producing multi signatures from individual signatures
Required Methods§
sourcefn verify_single_signature<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn verify_single_signature<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Verify a single signature
sourcefn verify_single_signature_for_next_stake_distribution<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn verify_single_signature_for_next_stake_distribution<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
message: &'life1 str,
signatures: &'life2 SingleSignatures,
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Verify a single signature using the stake distribution of the next epoch
sourcefn create_multi_signature<'life0, 'life1, 'async_trait>(
&'life0 self,
open_message: &'life1 OpenMessage,
) -> Pin<Box<dyn Future<Output = StdResult<Option<ProtocolMultiSignature>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_multi_signature<'life0, 'life1, 'async_trait>(
&'life0 self,
open_message: &'life1 OpenMessage,
) -> Pin<Box<dyn Future<Output = StdResult<Option<ProtocolMultiSignature>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Creates a multi signature from single signatures