Struct Api

Source
pub struct Api<T: Config, Client> { /* private fields */ }
Expand description

Api to talk with substrate-nodes

It is generic over the Request trait, so you can use any rpc-backend you like.

Implementations§

Source§

impl<T: Config, Client> Api<T, Client>

Source

pub fn new_offline( genesis_hash: T::Hash, metadata: Metadata, runtime_version: RuntimeVersion, client: Client, ) -> Self

Create a new api instance without any node interaction.

Source

pub fn set_signer(&mut self, signer: T::ExtrinsicSigner)

Set the api signer account.

Source

pub fn signer(&self) -> Option<&T::ExtrinsicSigner>

Get the private key pair of the api signer.

Source

pub fn genesis_hash(&self) -> T::Hash

Get the cached genesis hash of the substrate node.

Source

pub fn metadata(&self) -> &Metadata

Get the cached metadata of the substrate node.

Source

pub fn runtime_version(&self) -> &RuntimeVersion

Get the cached runtime version of the substrate node.

Source

pub fn spec_version(&self) -> u32

Get the cached spec version of the substrate node.

Source

pub fn client(&self) -> &Client

Get the rpc client.

Source

pub fn set_additional_params( &mut self, add_params: <T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::AdditionalParams, )

Set the additional params.

Source

pub fn runtime_api(&self) -> &RuntimeApiClient<T, Client>

Access the RuntimeApi.

Source

pub fn extrinsic_params(&self, nonce: T::Index) -> T::ExtrinsicParams

Get the extrinsic params with the set additional params. If no additional params are set, the default is taken.

Source§

impl<T, Client> Api<T, Client>
where T: Config, Client: Request,

Source

pub async fn new(client: Client) -> Result<Self>

Create a new Api client with call to the node to retrieve metadata.

Source§

impl<T, Client> Api<T, Client>
where T: Config, Client: Request,

Source

pub fn signer_account(&self) -> Option<&T::AccountId>

Get the public part of the api signer account.

Source

pub async fn get_nonce(&self) -> Result<T::Index>

Get nonce of self signer account.

Source§

impl<T: Config, Client> Api<T, Client>

Source

pub fn compose_extrinsic_offline<Call: Encode + Clone>( &self, call: Call, nonce: T::Index, ) -> UncheckedExtrinsic<<<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::ExtrinsicAddress, Call, <<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::Signature, <<T as Config>::ExtrinsicParams as ExtrinsicParams<<T as Config>::Index, <T as Config>::Hash>>::TxExtension>

Wrapper around the compose_extrinsic_offline! macro to be less verbose.

Trait Implementations§

Source§

impl<T, Client> BalancesExtrinsics for Api<T, Client>
where T: Config, Client: Request, Compact<T::Balance>: Encode,

Source§

type Balance = <T as Config>::Balance

Source§

type Address = <<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::ExtrinsicAddress

Source§

type Extrinsic<Call> = UncheckedExtrinsic<<Api<T, Client> as BalancesExtrinsics>::Address, Call, <<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::Signature, <<T as Config>::ExtrinsicParams as ExtrinsicParams<<T as Config>::Index, <T as Config>::Hash>>::TxExtension>

Source§

fn balance_transfer_allow_death<'life0, 'async_trait>( &'life0 self, to: Self::Address, amount: Self::Balance, ) -> Pin<Box<dyn Future<Output = Option<Self::Extrinsic<TransferAllowDeathCall<Self::Address, Self::Balance>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Transfer some liquid free balance to another account.
Source§

fn balance_transfer_keep_alive<'life0, 'async_trait>( &'life0 self, to: Self::Address, amount: Self::Balance, ) -> Pin<Box<dyn Future<Output = Option<Self::Extrinsic<TransferKeepAliveCall<Self::Address, Self::Balance>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Transfer some liquid free balance to another account.
Source§

fn balance_force_set_balance<'life0, 'async_trait>( &'life0 self, who: Self::Address, free_balance: Self::Balance, ) -> Pin<Box<dyn Future<Output = Option<Self::Extrinsic<ForceSetBalanceCall<Self::Address, Self::Balance>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Set the balances of a given account.
Source§

impl<T: Clone + Config, Client: Clone> Clone for Api<T, Client>

Source§

fn clone(&self) -> Api<T, Client>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, Client> FetchEvents for Api<T, Client>
where T: Config, Client: Request,

Source§

type Hash = <T as Config>::Hash

Source§

fn fetch_events_from_block<'life0, 'async_trait>( &'life0 self, block_hash: Self::Hash, ) -> Pin<Box<dyn Future<Output = Result<Events<Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch all block events from node for the given block hash.
Source§

fn fetch_events_for_extrinsic<'life0, 'async_trait>( &'life0 self, block_hash: Self::Hash, extrinsic_hash: Self::Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<EventDetails<Self::Hash>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch all associated events for a given extrinsic hash and block hash.
Source§

impl<T, Client> GetAccountInformation for Api<T, Client>
where T: Config, Client: Request,

Source§

type AccountId = <T as Config>::AccountId

Source§

type Index = <T as Config>::Index

Source§

type AccountData = <T as Config>::AccountData

Source§

fn get_system_account_next_index<'life0, 'async_trait>( &'life0 self, account_id: Self::AccountId, ) -> Pin<Box<dyn Future<Output = Result<Self::Index>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the next account index as available on the node.
Source§

fn get_account_info<'life0, 'life1, 'async_trait>( &'life0 self, address: &'life1 Self::AccountId, ) -> Pin<Box<dyn Future<Output = Result<Option<AccountInfo<Self::Index, Self::AccountData>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn get_account_data<'life0, 'life1, 'async_trait>( &'life0 self, address: &'life1 Self::AccountId, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::AccountData>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn get_account_nonce<'life0, 'life1, 'async_trait>( &'life0 self, account: &'life1 Self::AccountId, ) -> Pin<Box<dyn Future<Output = Result<Self::Index>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get nonce of an account.
Source§

impl<T, Client> GetBalance for Api<T, Client>
where T: Config, Client: Request,

Source§

type Balance = <T as Config>::Balance

Source§

fn get_existential_deposit<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::Balance>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl<T, Client> GetChainInfo for Api<T, Client>
where T: Config, Client: Request,

Source§

type BlockNumber = <T as Config>::BlockNumber

Source§

type Hash = <T as Config>::Hash

Source§

type Header = <T as Config>::Header

Source§

type Block = <T as Config>::Block

Source§

fn get_finalized_head<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_header<'life0, 'async_trait>( &'life0 self, hash: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::Header>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_block_hash<'life0, 'async_trait>( &'life0 self, number: Option<Self::BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_genesis_block<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::Block>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the genesis block
Source§

fn get_block<'life0, 'async_trait>( &'life0 self, hash: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::Block>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_block_by_num<'life0, 'async_trait>( &'life0 self, number: Option<Self::BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<Option<Self::Block>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_signed_block<'life0, 'async_trait>( &'life0 self, hash: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<SignedBlock<Self::Block>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

A signed block is a block with Justification ,i.e., a Grandpa finality proof. The interval at which finality proofs are provided is set via the the GrandpaConfig.justification_period in a node’s service.rs. The Justification may be None.
Source§

fn get_signed_block_by_num<'life0, 'async_trait>( &'life0 self, number: Option<Self::BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<Option<SignedBlock<Self::Block>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_finalized_block<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<SignedBlock<Self::Block>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the last finalized signed block.
Source§

fn get_signed_blocks<'life0, 'life1, 'async_trait>( &'life0 self, block_numbers: &'life1 [Self::BlockNumber], ) -> Pin<Box<dyn Future<Output = Result<Vec<SignedBlock<Self::Block>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Returns a vector containing the blocks with the block numbers given in the input parameter. If fetching any of the block fails then a Result::Err will be returned.
Source§

impl<T, Client> GetStorage for Api<T, Client>
where T: Config, Client: Request,

Source§

type Hash = <T as Config>::Hash

Source§

fn get_storage<'life0, 'async_trait, V>( &'life0 self, pallet: &'static str, storage_item: &'static str, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<V>>> + 'async_trait>>
where V: 'async_trait + Decode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage value. Read more
Source§

fn get_storage_map<'life0, 'async_trait, K, V>( &'life0 self, pallet: &'static str, storage_item: &'static str, map_key: K, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<V>>> + 'async_trait>>
where K: 'async_trait + Encode, V: 'async_trait + Decode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage value from a map for the given map_key. Read more
Source§

fn get_storage_map_key_prefix<'life0, 'async_trait>( &'life0 self, pallet: &'static str, storage_item: &'static str, ) -> Pin<Box<dyn Future<Output = Result<StorageKey>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve the key prefix for a storage map. This is the prefix needed for get_storage_keys_paged().
Source§

fn get_storage_double_map<'life0, 'async_trait, K, Q, V>( &'life0 self, pallet: &'static str, storage_item: &'static str, first_double_map_key: K, second_double_map_key: Q, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<V>>> + 'async_trait>>
where K: 'async_trait + Encode, Q: 'async_trait + Encode, V: 'async_trait + Decode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage value from a double map for the given keys: first_double_map_key and second_double_map_key. Read more
Source§

fn get_storage_double_map_key_prefix<'life0, 'async_trait, K>( &'life0 self, storage_prefix: &'static str, storage_key_name: &'static str, first: K, ) -> Pin<Box<dyn Future<Output = Result<StorageKey>> + 'async_trait>>
where K: 'async_trait + Encode, Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_storage_by_key<'life0, 'async_trait, V>( &'life0 self, storage_key: StorageKey, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<V>>> + 'async_trait>>
where V: 'async_trait + Decode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage value from the given storage_key. Read more
Source§

fn get_storage_keys_paged_limited<'life0, 'async_trait>( &'life0 self, storage_key_prefix: Option<StorageKey>, count: u32, start_key: Option<StorageKey>, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Vec<StorageKey>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve the keys with prefix with pagination support. Call the RPC substrate storage_keys_paged, which limits the number of returned keys. Read more
Source§

fn get_storage_keys_paged<'life0, 'async_trait>( &'life0 self, storage_key_prefix: Option<StorageKey>, count: u32, start_key: Option<StorageKey>, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Vec<StorageKey>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve up to count keys. Support prefix and pagination support. The number of keys returned is not limited. For big numbers, the rpc calls will be made several times. Up to count keys will be returned. If start_key is passed, return next keys in storage in lexicographic order. Read more
Source§

fn get_opaque_storage_by_key<'life0, 'async_trait>( &'life0 self, storage_key: StorageKey, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve the raw storage for the given storage_key. Read more
Source§

fn get_storage_value_proof<'life0, 'async_trait>( &'life0 self, pallet: &'static str, storage_item: &'static str, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<ReadProof<Self::Hash>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage proof of the corresponding storage value. Read more
Source§

fn get_storage_map_proof<'life0, 'async_trait, K>( &'life0 self, pallet: &'static str, storage_item: &'static str, map_key: K, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<ReadProof<Self::Hash>>>> + 'async_trait>>
where K: 'async_trait + Encode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage proof of the corresponding storage map value. Read more
Source§

fn get_storage_double_map_proof<'life0, 'async_trait, K, Q>( &'life0 self, pallet: &'static str, storage_item: &'static str, first_double_map_key: K, second_double_map_key: Q, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<ReadProof<Self::Hash>>>> + 'async_trait>>
where K: 'async_trait + Encode, Q: 'async_trait + Encode, Self: 'async_trait, 'life0: 'async_trait,

Retrieve the storage proof of the corresponding storage double map value. Read more
Source§

fn get_storage_proof_by_keys<'life0, 'async_trait>( &'life0 self, storage_keys: Vec<StorageKey>, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<ReadProof<Self::Hash>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve the proof of the corresponding storage entries. Read more
Source§

fn get_keys<'life0, 'async_trait>( &'life0 self, storage_key: StorageKey, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn get_constant<'life0, 'async_trait, C>( &'life0 self, pallet: &'static str, constant: &'static str, ) -> Pin<Box<dyn Future<Output = Result<C>> + 'async_trait>>
where C: 'async_trait + Decode, Self: 'async_trait, 'life0: 'async_trait,

Source§

impl<T, Client> GetTransactionPayment for Api<T, Client>
where T: Config, Client: Request, T::Balance: TryFrom<NumberOrHex> + FromStr,

Source§

type Hash = <T as Config>::Hash

Source§

type Balance = <T as Config>::Balance

Source§

fn get_fee_details<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<FeeDetails<Self::Balance>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn get_payment_info<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Option<RuntimeDispatchInfo<Self::Balance>>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

impl<T, Client> SubmitAndWatch for Api<T, Client>
where T: Config, Client: Subscribe + Request,

Source§

type Client = Client

Source§

type Hash = <T as Config>::Hash

Source§

fn submit_and_watch_extrinsic<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, ) -> Pin<Box<dyn Future<Output = Result<TransactionSubscriptionFor<Self::Client, Self::Hash>>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit an extrinsic an return a Subscription to watch the extrinsic progress. Read more
Source§

fn submit_and_watch_opaque_extrinsic<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, ) -> Pin<Box<dyn Future<Output = Result<TransactionSubscriptionFor<Self::Client, Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Submit an encoded, opaque extrinsic an return a Subscription to watch the extrinsic progress. Read more
Source§

fn submit_and_watch_extrinsic_until<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, watch_until: XtStatus, ) -> Pin<Box<dyn Future<Output = Result<ExtrinsicReport<Self::Hash>>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit an extrinsic and watch it until the desired status is reached, if no error is encountered previously. Read more
Source§

fn submit_and_watch_opaque_extrinsic_until<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, watch_until: XtStatus, ) -> Pin<Box<dyn Future<Output = Result<ExtrinsicReport<Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Submit an encoded, opaque extrinsic until the desired status is reached, if no error is encountered previously. Read more
Source§

fn populate_events<'life0, 'life1, 'async_trait>( &'life0 self, report: &'life1 mut ExtrinsicReport<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the events for the specified report and attaches them to the mutable report. If the function fails events might still be added to the report. Read more
Source§

fn submit_and_watch_extrinsic_until_without_events<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, watch_until: XtStatus, ) -> Pin<Box<dyn Future<Output = Result<ExtrinsicReport<Self::Hash>>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit an extrinsic and watch it until the desired status is reached, if no error is encountered previously. The events are not fetched. So no events are listed in the report. To fetch the triggered events, please use submit_and_watch_extrinsic_until. Upon success, a report containing the following information is returned: Read more
Source§

fn submit_and_watch_opaque_extrinsic_until_without_events<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, watch_until: XtStatus, ) -> Pin<Box<dyn Future<Output = Result<ExtrinsicReport<Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Submit an encoded, opaque extrinsic and watch it until the desired status is reached, if no error is encountered previously. The events are not fetched. So no events are listed in the report. To fetch the triggered events, please use submit_and_watch_opaque_extrinsic_until. Upon success, a report containing the following information is returned: Read more
Source§

impl<T, Client> SubmitExtrinsic for Api<T, Client>
where T: Config, Client: Request,

Source§

type Hash = <T as Config>::Hash

Source§

fn submit_extrinsic<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, ) -> Pin<Box<dyn Future<Output = Result<Self::Hash>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit an encodable extrinsic to the substrate node. Returns the extrinsic hash.
Source§

fn submit_opaque_extrinsic<'life0, 'life1, 'async_trait>( &'life0 self, encoded_extrinsic: &'life1 Bytes, ) -> Pin<Box<dyn Future<Output = Result<Self::Hash>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Submit an encoded, opaque extrinsic to the substrate node. Returns the extrinsic hash.
Source§

impl<T, Client> SubscribeChain for Api<T, Client>
where T: Config, Client: Subscribe,

Source§

type Client = Client

Source§

type Header = <T as Config>::Header

Source§

fn subscribe_finalized_heads<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<<Self::Client as Subscribe>::Subscription<Self::Header>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl<T, Client> SubscribeEvents for Api<T, Client>
where T: Config, Client: Subscribe,

Source§

type Client = Client

Source§

type Hash = <T as Config>::Hash

Source§

fn subscribe_events<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<EventSubscriptionFor<Self::Client, Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to events.
Source§

impl<T, Client> SubscribeState for Api<T, Client>
where T: Config, Client: Subscribe,

Source§

type Client = Client

Source§

type Hash = <T as Config>::Hash

Source§

fn subscribe_state<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, pallet: &'life1 str, storage_key_name: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<StorageChangeSetSubscriptionFor<Self::Client, Self::Hash>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

impl<T, Client> SystemApi for Api<T, Client>
where T: Config, Client: Request,

Source§

type ChainType = ChainType

Source§

type Properties = Map<String, Value>

Source§

type Health = Health

Source§

fn get_system_name<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the node’s implementation name.
Source§

fn get_system_version<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the node implementation’s version. Should be a semver string.
Source§

fn get_system_chain<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the chain’s name. Given as a string identifier.
Source§

fn get_system_chain_type<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::ChainType>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the chain’s type.
Source§

fn get_system_properties<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::Properties>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a custom set of properties as a JSON object, defined in the chain spec.
Source§

fn get_system_health<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::Health>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Return health status of the node. Read more
Source§

fn get_system_local_peer_id<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the base58-encoded PeerId of the node.
Source§

fn get_system_local_listen_addresses<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the multi-addresses that the local node is listening on. Read more
Source§

impl<T, Client> UpdateRuntime for Api<T, Client>
where T: Config, Client: Request,

Source§

fn update_runtime<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the runtime and metadata of the api via node query. Ideally, this function is called if a substrate update runtime event is encountered.
Source§

impl<T, Client> UtilityExtrinsics for Api<T, Client>
where T: Config, Client: Request,

Source§

type Extrinsic<Call> = UncheckedExtrinsic<<<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::ExtrinsicAddress, Call, <<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::Signature, <<T as Config>::ExtrinsicParams as ExtrinsicParams<<T as Config>::Index, <T as Config>::Hash>>::TxExtension>

Source§

fn batch<'life0, 'async_trait, Call>( &'life0 self, calls: Vec<Call>, ) -> Pin<Box<dyn Future<Output = Option<Self::Extrinsic<BatchCall<Call>>>> + 'async_trait>>
where Call: 'async_trait + Encode + Clone, Self: 'async_trait, 'life0: 'async_trait,

Source§

fn force_batch<'life0, 'async_trait, Call>( &'life0 self, calls: Vec<Call>, ) -> Pin<Box<dyn Future<Output = Option<Self::Extrinsic<BatchCall<Call>>>> + 'async_trait>>
where Call: 'async_trait + Encode + Clone, Self: 'async_trait, 'life0: 'async_trait,

Auto Trait Implementations§

§

impl<T, Client> Freeze for Api<T, Client>

§

impl<T, Client> RefUnwindSafe for Api<T, Client>

§

impl<T, Client> Send for Api<T, Client>
where <T as Config>::ExtrinsicSigner: Send, Client: Sync + Send, <<T as Config>::ExtrinsicParams as ExtrinsicParams<<T as Config>::Index, <T as Config>::Hash>>::AdditionalParams: Send, T: Send,

§

impl<T, Client> Sync for Api<T, Client>
where <T as Config>::ExtrinsicSigner: Sync, Client: Sync + Send, <<T as Config>::ExtrinsicParams as ExtrinsicParams<<T as Config>::Index, <T as Config>::Hash>>::AdditionalParams: Sync, T: Sync,

§

impl<T, Client> Unpin for Api<T, Client>

§

impl<T, Client> UnwindSafe for Api<T, Client>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CheckedConversion for T

Source§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
Source§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

Source§

fn into_tuple(self) -> Dest

Source§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

Source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

Source§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatedConversion for T

Source§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
Source§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

Source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
Source§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

Source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> JsonSchemaMaybe for T

Source§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> MaybeSendSync for T