pub trait PowInterface: Send + Sync {
    // Required methods
    fn next_pivot_decision<'life0, 'async_trait>(
        &'life0 self,
        parent_decision: H256
    ) -> Pin<Box<dyn Future<Output = Option<(u64, H256)>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn validate_proposal_pivot_decision(
        &self,
        parent_decision: H256,
        me_decision: H256
    ) -> bool;
    fn get_staking_events(
        &self,
        parent_height: u64,
        me_height: u64,
        parent_decision: H256,
        me_decision: H256
    ) -> Result<Vec<StakingEvent>>;
    fn wait_for_initialization<'life0, 'async_trait>(
        &'life0 self,
        last_decision: H256
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn is_normal_phase(&self) -> bool;
}

Required Methods§

source

fn next_pivot_decision<'life0, 'async_trait>( &'life0 self, parent_decision: H256 ) -> Pin<Box<dyn Future<Output = Option<(u64, H256)>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn validate_proposal_pivot_decision( &self, parent_decision: H256, me_decision: H256 ) -> bool

source

fn get_staking_events( &self, parent_height: u64, me_height: u64, parent_decision: H256, me_decision: H256 ) -> Result<Vec<StakingEvent>>

source

fn wait_for_initialization<'life0, 'async_trait>( &'life0 self, last_decision: H256 ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn is_normal_phase(&self) -> bool

Implementors§