pub trait DepositDetector: Send + Sync {
// Required methods
fn get_current_block_height<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = CanisterResult<CandidBlockHeight>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_current_snapshot_height<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = CanisterResult<Option<CandidBlockHeight>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn apply_to_be_a_submitter<'life0, 'async_trait>(
&'life0 self,
height: CandidBlockHeight
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<()>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn submit_sharding_sub_report<'life0, 'async_trait>(
&'life0 self,
block_height: CandidBlockHeight,
sub_report: ShardingSubReport
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<()>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn validate_or_drop_sharding_report<'life0, 'async_trait>(
&'life0 self,
block_height: CandidBlockHeight
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<()>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit_sharding_report<'life0, 'async_trait>(
&'life0 self,
block_height: CandidBlockHeight
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<bool>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_verified_deposits_by_page<'life0, 'async_trait>(
&'life0 self,
pager: GetPageInput
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<GetPageOutput<CandidVerifiedDeposit>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_verified_deposits_by_page_with_verified_at_limitation<'life0, 'async_trait>(
&'life0 self,
pager: GetPageInput,
verified_at_start: Option<CandidBlockHeight>
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<GetPageOutput<CandidVerifiedDeposit>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_consumed_deposits_by_page<'life0, 'async_trait>(
&'life0 self,
pager: GetPageInput,
limit_height: Option<CandidBlockHeight>
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<GetPageOutput<CandidVerifiedDeposit>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_consumed_deposits_by_page_with_verified_at_limitation<'life0, 'async_trait>(
&'life0 self,
pager: GetPageInput,
verified_at_start: Option<CandidBlockHeight>,
limit_height: Option<CandidBlockHeight>
) -> Pin<Box<dyn Future<Output = CanisterResult<ActorResult<GetPageOutput<CandidVerifiedDeposit>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_sharding_report_progress_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = CanisterResult<ShardingReportProgressInfo>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}