pub trait SystemApiServer<BlockHash, AccountId, Nonce>: Sized + Send + Sync + 'static {
    // Required methods
    fn nonce<'life0, 'async_trait>(
        &'life0 self,
        account: AccountId
    ) -> Pin<Box<dyn Future<Output = RpcResult<Nonce>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn dry_run<'life0, 'async_trait>(
        &'life0 self,
        extrinsic: Bytes,
        at: Option<BlockHash>
    ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self>
       where BlockHash: Send + Sync + 'static + DeserializeOwned,
             AccountId: Send + Sync + 'static + DeserializeOwned,
             Nonce: Send + Sync + 'static + Clone + Serialize { ... }
}
Expand description

Server trait implementation for the SystemApi RPC API.

Required Methods§

source

fn nonce<'life0, 'async_trait>( &'life0 self, account: AccountId ) -> Pin<Box<dyn Future<Output = RpcResult<Nonce>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the next valid index (aka nonce) for given account.

This method takes into consideration all pending transactions currently in the pool and if no transactions are found in the pool it fallbacks to query the index from the runtime (aka. state nonce).

source

fn dry_run<'life0, 'async_trait>( &'life0 self, extrinsic: Bytes, at: Option<BlockHash> ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Dry run an extrinsic at a given block. Return SCALE encoded ApplyExtrinsicResult.

Provided Methods§

source

fn into_rpc(self) -> RpcModule<Self>
where BlockHash: Send + Sync + 'static + DeserializeOwned, AccountId: Send + Sync + 'static + DeserializeOwned, Nonce: Send + Sync + 'static + Clone + Serialize,

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<P, C, Block, AccountId, Nonce> SystemApiServer<<Block as Block>::Hash, AccountId, Nonce> for System<P, C, Block>
where C: ProvideRuntimeApi<Block> + HeaderBackend<Block> + Send + Sync + 'static, C::Api: AccountNonceApi<Block, AccountId, Nonce> + BlockBuilder<Block>, P: TransactionPool + 'static, Block: Block, AccountId: Clone + Display + Codec + Send + 'static, Nonce: Clone + Display + Codec + Send + AtLeast32Bit + 'static,