[][src]Trait sunshine_bounty_client::AbstractClient

pub trait AbstractClient<T: Runtime + Org + Vote + Donate + Bank + Bounty, P: Pair>: Send + Sync {
#[must_use]    fn has_device_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn set_device_key<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        dk: &'life1 DeviceKey,
        password: &'life2 Password,
        force: bool
    ) -> Pin<Box<dyn Future<Output = Result<T::AccountId, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn signer<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Signer<T> + Send + Sync>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn lock<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn unlock<'life0, 'life1, 'async_trait>(
        &'life0 self,
        password: &'life1 Password
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn register_flat_org<'life0, 'life1, 'async_trait>(
        &'life0 self,
        sudo: Option<<T as System>::AccountId>,
        parent_org: Option<<T as Org>::OrgId>,
        constitution: <T as Org>::IpfsReference,
        members: &'life1 [<T as System>::AccountId]
    ) -> Pin<Box<dyn Future<Output = Result<NewFlatOrganizationRegisteredEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn register_weighted_org<'life0, 'life1, 'async_trait>(
        &'life0 self,
        sudo: Option<<T as System>::AccountId>,
        parent_org: Option<<T as Org>::OrgId>,
        constitution: <T as Org>::IpfsReference,
        weighted_members: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
    ) -> Pin<Box<dyn Future<Output = Result<NewWeightedOrganizationRegisteredEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn issue_shares<'life0, 'async_trait>(
        &'life0 self,
        organization: <T as Org>::OrgId,
        who: <T as System>::AccountId,
        shares: <T as Org>::Shares
    ) -> Pin<Box<dyn Future<Output = Result<SharesIssuedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn burn_shares<'life0, 'async_trait>(
        &'life0 self,
        organization: <T as Org>::OrgId,
        who: <T as System>::AccountId,
        shares: <T as Org>::Shares
    ) -> Pin<Box<dyn Future<Output = Result<SharesBurnedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn batch_issue_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        organization: <T as Org>::OrgId,
        new_accounts: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
    ) -> Pin<Box<dyn Future<Output = Result<SharesBatchIssuedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn batch_burn_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        organization: <T as Org>::OrgId,
        old_accounts: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
    ) -> Pin<Box<dyn Future<Output = Result<SharesBatchBurnedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn reserve_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        who: &'life1 <T as System>::AccountId
    ) -> Pin<Box<dyn Future<Output = Result<SharesReservedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn unreserve_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        who: &'life1 <T as System>::AccountId
    ) -> Pin<Box<dyn Future<Output = Result<SharesUnReservedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn lock_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        who: &'life1 <T as System>::AccountId
    ) -> Pin<Box<dyn Future<Output = Result<SharesLockedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn unlock_shares<'life0, 'life1, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        who: &'life1 <T as System>::AccountId
    ) -> Pin<Box<dyn Future<Output = Result<SharesUnlockedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn create_threshold_approval_vote<'life0, 'async_trait>(
        &'life0 self,
        topic: Option<<T as Org>::IpfsReference>,
        organization: T::OrgId,
        support_requirement: T::Signal,
        turnout_requirement: Option<T::Signal>,
        duration: Option<<T as System>::BlockNumber>
    ) -> Pin<Box<dyn Future<Output = Result<NewVoteStartedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn create_unanimous_consent_approval_vote<'life0, 'async_trait>(
        &'life0 self,
        topic: Option<<T as Org>::IpfsReference>,
        organization: T::OrgId,
        duration: Option<<T as System>::BlockNumber>
    ) -> Pin<Box<dyn Future<Output = Result<NewVoteStartedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn submit_vote<'life0, 'async_trait>(
        &'life0 self,
        vote_id: <T as Vote>::VoteId,
        direction: VoterView,
        justification: Option<<T as Org>::IpfsReference>
    ) -> Pin<Box<dyn Future<Output = Result<VotedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn make_prop_donation_with_fee<'life0, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        amt: <T as Donate>::DCurrency
    ) -> Pin<Box<dyn Future<Output = Result<DonationExecutedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn make_prop_donation_without_fee<'life0, 'async_trait>(
        &'life0 self,
        org: <T as Org>::OrgId,
        amt: <T as Donate>::DCurrency
    ) -> Pin<Box<dyn Future<Output = Result<DonationExecutedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn open_org_bank_account<'life0, 'async_trait>(
        &'life0 self,
        seed: <T as Bank>::Currency,
        hosting_org: <T as Org>::OrgId,
        bank_operator: Option<<T as System>::AccountId>
    ) -> Pin<Box<dyn Future<Output = Result<OrgBankAccountOpenedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn account_posts_bounty<'life0, 'async_trait>(
        &'life0 self,
        description: <T as Org>::IpfsReference,
        amount_reserved_for_bounty: <T as Bank>::Currency,
        acceptance_committee: ResolutionMetadata<<T as Org>::OrgId, <T as Vote>::Signal, <T as System>::BlockNumber>,
        supervision_committee: Option<ResolutionMetadata<<T as Org>::OrgId, <T as Vote>::Signal, <T as System>::BlockNumber>>
    ) -> Pin<Box<dyn Future<Output = Result<BountyPostedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn account_applies_for_bounty<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        description: <T as Org>::IpfsReference,
        total_amount: <T as Bank>::Currency
    ) -> Pin<Box<dyn Future<Output = Result<BountyApplicationSubmittedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn account_triggers_application_review<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        new_grant_app_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<ApplicationReviewTriggeredEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn account_sudo_approves_application<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        application_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<SudoApprovedApplicationEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn poll_application<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        application_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<ApplicationPolledEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn submit_milestone<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        application_id: <T as Bounty>::BountyId,
        submission_reference: <T as Org>::IpfsReference,
        amount_requested: <T as Bank>::Currency
    ) -> Pin<Box<dyn Future<Output = Result<MilestoneSubmittedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn trigger_milestone_review<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        milestone_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<MilestoneReviewTriggeredEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn sudo_approves_milestone<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        milestone_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<MilestoneSudoApprovedEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn poll_milestone<'life0, 'async_trait>(
        &'life0 self,
        bounty_id: <T as Bounty>::BountyId,
        milestone_id: <T as Bounty>::BountyId
    ) -> Pin<Box<dyn Future<Output = Result<MilestonePolledEvent<T>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn subxt(&self) -> &Client<T>; }

Required methods

#[must_use]fn has_device_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn set_device_key<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self,
    dk: &'life1 DeviceKey,
    password: &'life2 Password,
    force: bool
) -> Pin<Box<dyn Future<Output = Result<T::AccountId, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn signer<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Signer<T> + Send + Sync>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn lock<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn unlock<'life0, 'life1, 'async_trait>(
    &'life0 self,
    password: &'life1 Password
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn register_flat_org<'life0, 'life1, 'async_trait>(
    &'life0 self,
    sudo: Option<<T as System>::AccountId>,
    parent_org: Option<<T as Org>::OrgId>,
    constitution: <T as Org>::IpfsReference,
    members: &'life1 [<T as System>::AccountId]
) -> Pin<Box<dyn Future<Output = Result<NewFlatOrganizationRegisteredEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn register_weighted_org<'life0, 'life1, 'async_trait>(
    &'life0 self,
    sudo: Option<<T as System>::AccountId>,
    parent_org: Option<<T as Org>::OrgId>,
    constitution: <T as Org>::IpfsReference,
    weighted_members: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
) -> Pin<Box<dyn Future<Output = Result<NewWeightedOrganizationRegisteredEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn issue_shares<'life0, 'async_trait>(
    &'life0 self,
    organization: <T as Org>::OrgId,
    who: <T as System>::AccountId,
    shares: <T as Org>::Shares
) -> Pin<Box<dyn Future<Output = Result<SharesIssuedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn burn_shares<'life0, 'async_trait>(
    &'life0 self,
    organization: <T as Org>::OrgId,
    who: <T as System>::AccountId,
    shares: <T as Org>::Shares
) -> Pin<Box<dyn Future<Output = Result<SharesBurnedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn batch_issue_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    organization: <T as Org>::OrgId,
    new_accounts: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
) -> Pin<Box<dyn Future<Output = Result<SharesBatchIssuedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn batch_burn_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    organization: <T as Org>::OrgId,
    old_accounts: &'life1 [(<T as System>::AccountId, <T as Org>::Shares)]
) -> Pin<Box<dyn Future<Output = Result<SharesBatchBurnedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn reserve_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    who: &'life1 <T as System>::AccountId
) -> Pin<Box<dyn Future<Output = Result<SharesReservedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn unreserve_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    who: &'life1 <T as System>::AccountId
) -> Pin<Box<dyn Future<Output = Result<SharesUnReservedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn lock_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    who: &'life1 <T as System>::AccountId
) -> Pin<Box<dyn Future<Output = Result<SharesLockedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn unlock_shares<'life0, 'life1, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    who: &'life1 <T as System>::AccountId
) -> Pin<Box<dyn Future<Output = Result<SharesUnlockedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn create_threshold_approval_vote<'life0, 'async_trait>(
    &'life0 self,
    topic: Option<<T as Org>::IpfsReference>,
    organization: T::OrgId,
    support_requirement: T::Signal,
    turnout_requirement: Option<T::Signal>,
    duration: Option<<T as System>::BlockNumber>
) -> Pin<Box<dyn Future<Output = Result<NewVoteStartedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn submit_vote<'life0, 'async_trait>(
    &'life0 self,
    vote_id: <T as Vote>::VoteId,
    direction: VoterView,
    justification: Option<<T as Org>::IpfsReference>
) -> Pin<Box<dyn Future<Output = Result<VotedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn make_prop_donation_with_fee<'life0, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    amt: <T as Donate>::DCurrency
) -> Pin<Box<dyn Future<Output = Result<DonationExecutedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn make_prop_donation_without_fee<'life0, 'async_trait>(
    &'life0 self,
    org: <T as Org>::OrgId,
    amt: <T as Donate>::DCurrency
) -> Pin<Box<dyn Future<Output = Result<DonationExecutedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn open_org_bank_account<'life0, 'async_trait>(
    &'life0 self,
    seed: <T as Bank>::Currency,
    hosting_org: <T as Org>::OrgId,
    bank_operator: Option<<T as System>::AccountId>
) -> Pin<Box<dyn Future<Output = Result<OrgBankAccountOpenedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn account_posts_bounty<'life0, 'async_trait>(
    &'life0 self,
    description: <T as Org>::IpfsReference,
    amount_reserved_for_bounty: <T as Bank>::Currency,
    acceptance_committee: ResolutionMetadata<<T as Org>::OrgId, <T as Vote>::Signal, <T as System>::BlockNumber>,
    supervision_committee: Option<ResolutionMetadata<<T as Org>::OrgId, <T as Vote>::Signal, <T as System>::BlockNumber>>
) -> Pin<Box<dyn Future<Output = Result<BountyPostedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn account_applies_for_bounty<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    description: <T as Org>::IpfsReference,
    total_amount: <T as Bank>::Currency
) -> Pin<Box<dyn Future<Output = Result<BountyApplicationSubmittedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn account_triggers_application_review<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    new_grant_app_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<ApplicationReviewTriggeredEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn account_sudo_approves_application<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    application_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<SudoApprovedApplicationEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn poll_application<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    application_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<ApplicationPolledEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn submit_milestone<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    application_id: <T as Bounty>::BountyId,
    submission_reference: <T as Org>::IpfsReference,
    amount_requested: <T as Bank>::Currency
) -> Pin<Box<dyn Future<Output = Result<MilestoneSubmittedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn trigger_milestone_review<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    milestone_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<MilestoneReviewTriggeredEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn sudo_approves_milestone<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    milestone_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<MilestoneSudoApprovedEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn poll_milestone<'life0, 'async_trait>(
    &'life0 self,
    bounty_id: <T as Bounty>::BountyId,
    milestone_id: <T as Bounty>::BountyId
) -> Pin<Box<dyn Future<Output = Result<MilestonePolledEvent<T>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

fn subxt(&self) -> &Client<T>

Loading content...

Implementors

impl<T, P, I> AbstractClient<T, P> for Client<T, P, I> where
    T: Runtime + Org + Vote + Donate + Bank + Bounty,
    <T as System>::AccountId: Into<<T as System>::Address> + Ss58Codec,
    T::Signature: Decode + From<P::Signature>,
    <T::Signature as Verify>::Signer: From<P::Public> + IdentifyAccount<AccountId = <T as System>::AccountId>,
    <<T::Extra as SignedExtra<T>>::Extra as SignedExtension>::AdditionalSigned: Send + Sync,
    P: Pair,
    <P as Pair>::Public: Into<<T as System>::AccountId>,
    <P as Pair>::Seed: From<[u8; 32]>,
    I: Store + Send + Sync
[src]

Loading content...