Trait StakingApi

Source
pub trait StakingApi: Send + Sync {
Show 13 methods // Required methods fn approve_terms_of_service_by_provider_id<'life0, 'async_trait>( &'life0 self, params: ApproveTermsOfServiceByProviderIdParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<ApproveTermsOfServiceByProviderIdError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn claim_rewards<'life0, 'async_trait>( &'life0 self, params: ClaimRewardsParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<ClaimRewardsError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_all_delegations<'life0, 'async_trait>( &'life0 self, params: GetAllDelegationsParams, ) -> Pin<Box<dyn Future<Output = Result<Vec<Delegation>, Error<GetAllDelegationsError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_chain_info<'life0, 'async_trait>( &'life0 self, params: GetChainInfoParams, ) -> Pin<Box<dyn Future<Output = Result<ChainInfoResponse, Error<GetChainInfoError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_chains<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<ChainDescriptor>, Error<GetChainsError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_delegation_by_id<'life0, 'async_trait>( &'life0 self, params: GetDelegationByIdParams, ) -> Pin<Box<dyn Future<Output = Result<Delegation, Error<GetDelegationByIdError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_providers<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<Provider>, Error<GetProvidersError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_summary<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<DelegationSummary, Error<GetSummaryError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_summary_by_vault<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, DelegationSummary>, Error<GetSummaryByVaultError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn split<'life0, 'async_trait>( &'life0 self, params: SplitParams, ) -> Pin<Box<dyn Future<Output = Result<SplitResponse, Error<SplitError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn stake<'life0, 'async_trait>( &'life0 self, params: StakeParams, ) -> Pin<Box<dyn Future<Output = Result<StakeResponse, Error<StakeError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn unstake<'life0, 'async_trait>( &'life0 self, params: UnstakeParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<UnstakeError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn withdraw<'life0, 'async_trait>( &'life0 self, params: WithdrawParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<WithdrawError>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}

Required Methods§

Source

fn approve_terms_of_service_by_provider_id<'life0, 'async_trait>( &'life0 self, params: ApproveTermsOfServiceByProviderIdParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<ApproveTermsOfServiceByProviderIdError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/providers/{providerId}/approveTermsOfService

Approve the terms of service of the staking provider. This must be called before performing a staking action for the first time with this provider.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn claim_rewards<'life0, 'async_trait>( &'life0 self, params: ClaimRewardsParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<ClaimRewardsError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/chains/{chainDescriptor}/claim_rewards

Perform a chain-specific Claim Rewards.

Source

fn get_all_delegations<'life0, 'async_trait>( &'life0 self, params: GetAllDelegationsParams, ) -> Pin<Box<dyn Future<Output = Result<Vec<Delegation>, Error<GetAllDelegationsError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/positions

Return detailed information on all staking positions, including the staked amount, rewards, status and more.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_chain_info<'life0, 'async_trait>( &'life0 self, params: GetChainInfoParams, ) -> Pin<Box<dyn Future<Output = Result<ChainInfoResponse, Error<GetChainInfoError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/chains/{chainDescriptor}/chainInfo

Return chain-specific, staking-related information summary (e.g. epoch details, lockup durations, estimated rewards, etc.).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_chains<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<ChainDescriptor>, Error<GetChainsError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/chains

Return an alphabetical list of supported chains.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_delegation_by_id<'life0, 'async_trait>( &'life0 self, params: GetDelegationByIdParams, ) -> Pin<Box<dyn Future<Output = Result<Delegation, Error<GetDelegationByIdError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/positions/{id}

Return detailed information on a staking position, including the staked amount, rewards, status and more.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_providers<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<Provider>, Error<GetProvidersError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/providers

Return information on all the available staking providers.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_summary<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<DelegationSummary, Error<GetSummaryError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/positions/summary

Return a summary of all vaults, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn get_summary_by_vault<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, DelegationSummary>, Error<GetSummaryByVaultError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /staking/positions/summary/vaults

Return a summary for each vault, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn split<'life0, 'async_trait>( &'life0 self, params: SplitParams, ) -> Pin<Box<dyn Future<Output = Result<SplitResponse, Error<SplitError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/chains/{chainDescriptor}/split

Perform a SOL/SOL_TEST Split on a stake account.

Source

fn stake<'life0, 'async_trait>( &'life0 self, params: StakeParams, ) -> Pin<Box<dyn Future<Output = Result<StakeResponse, Error<StakeError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/chains/{chainDescriptor}/stake

Perform a chain-specific Stake.

Source

fn unstake<'life0, 'async_trait>( &'life0 self, params: UnstakeParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<UnstakeError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/chains/{chainDescriptor}/unstake

Execute an Unstake operation

Source

fn withdraw<'life0, 'async_trait>( &'life0 self, params: WithdrawParams, ) -> Pin<Box<dyn Future<Output = Result<(), Error<WithdrawError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /staking/chains/{chainDescriptor}/withdraw

Perform a chain-specific Withdraw.

Implementors§