pub trait AggregatorRunnerTrait: Sync + Send {
Show 19 methods
// Required methods
fn get_time_point_from_chain<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<TimePoint>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_current_open_message_for_signed_entity_type<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_current_non_certified_open_message<'life0, 'life1, 'async_trait>(
&'life0 self,
current_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn is_certificate_chain_valid<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_stake_distribution<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn open_signer_registration_round<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn close_signer_registration_round<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_protocol_parameters<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn compute_protocol_message<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<ProtocolMessage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn mark_open_message_if_expired<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_new_pending_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: TimePoint,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<CertificatePending>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn save_pending_certificate<'life0, 'async_trait>(
&'life0 self,
pending_certificate: CertificatePending
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn drop_pending_certificate<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<CertificatePending>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<Certificate>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_artifact<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
certificate: &'life2 Certificate
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn update_era_checker<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn inform_new_epoch<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn precompute_epoch_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_open_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
protocol_message: &'life2 ProtocolMessage
) -> Pin<Box<dyn Future<Output = StdResult<OpenMessage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Expand description
This trait is intended to allow mocking the AggregatorRunner in tests. It exposes all the methods needed by the state machine.
Required Methods§
sourcefn get_time_point_from_chain<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<TimePoint>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_time_point_from_chain<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<TimePoint>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the current TimePoint from the chain
sourcefn get_current_open_message_for_signed_entity_type<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_current_open_message_for_signed_entity_type<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves the current open message for a given signed entity type.
sourcefn get_current_non_certified_open_message<'life0, 'life1, 'async_trait>(
&'life0 self,
current_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_current_non_certified_open_message<'life0, 'life1, 'async_trait>(
&'life0 self,
current_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves the current non-certified open message.
sourcefn is_certificate_chain_valid<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_certificate_chain_valid<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check if a certificate chain is valid.
sourcefn update_stake_distribution<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_stake_distribution<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the stake distribution from the blockchain and store it.
sourcefn open_signer_registration_round<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open_signer_registration_round<'life0, 'life1, 'async_trait>(
&'life0 self,
new_time_point: &'life1 TimePoint
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Open the signer registration round of an epoch.
sourcefn close_signer_registration_round<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close_signer_registration_round<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the signer registration round of an epoch.
sourcefn update_protocol_parameters<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_protocol_parameters<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Ask the EpochService to update the protocol parameters.
sourcefn compute_protocol_message<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<ProtocolMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn compute_protocol_message<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<ProtocolMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Compute the protocol message
sourcefn mark_open_message_if_expired<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mark_open_message_if_expired<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<OpenMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Mark expired open message.
sourcefn create_new_pending_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: TimePoint,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<CertificatePending>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_new_pending_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
time_point: TimePoint,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<CertificatePending>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new pending certificate.
sourcefn save_pending_certificate<'life0, 'async_trait>(
&'life0 self,
pending_certificate: CertificatePending
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn save_pending_certificate<'life0, 'async_trait>(
&'life0 self,
pending_certificate: CertificatePending
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Store the given pending certificate.
sourcefn drop_pending_certificate<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<CertificatePending>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn drop_pending_certificate<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<Option<CertificatePending>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Drop the actual pending certificate in the store.
sourcefn create_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<Certificate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_certificate<'life0, 'life1, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType
) -> Pin<Box<dyn Future<Output = StdResult<Option<Certificate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Tell the certifier to try to create a new certificate.
sourcefn create_artifact<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
certificate: &'life2 Certificate
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_artifact<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
certificate: &'life2 Certificate
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create an artifact and persist it.
sourcefn update_era_checker<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_era_checker<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update the EraChecker with EraReader information.
sourcefn inform_new_epoch<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn inform_new_epoch<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Ask services to update themselves for the new epoch
sourcefn precompute_epoch_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn precompute_epoch_data<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = StdResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Precompute what doesn’t change for the actual epoch
sourcefn create_open_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
protocol_message: &'life2 ProtocolMessage
) -> Pin<Box<dyn Future<Output = StdResult<OpenMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_open_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signed_entity_type: &'life1 SignedEntityType,
protocol_message: &'life2 ProtocolMessage
) -> Pin<Box<dyn Future<Output = StdResult<OpenMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create new open message