Trait Client

Source
pub trait Client {
Show 31 methods // Required method fn perform<'life0, 'async_trait, R>( &'life0 self, request: R, ) -> Pin<Box<dyn Future<Output = Result<R::Output, Error>> + Send + 'async_trait>> where R: SimpleRequest + 'async_trait, Self: 'async_trait, 'life0: 'async_trait; // Provided methods fn abci_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Info, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn abci_query<'life0, 'async_trait, V>( &'life0 self, path: Option<String>, data: V, height: Option<Height>, prove: bool, ) -> Pin<Box<dyn Future<Output = Result<AbciQuery, Error>> + Send + 'async_trait>> where V: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn block<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn block_by_hash<'life0, 'async_trait>( &'life0 self, hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn latest_block<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn header<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn header_by_hash<'life0, 'async_trait>( &'life0 self, hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn block_results<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn latest_block_results<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn block_search<'life0, 'async_trait>( &'life0 self, query: Query, page: u32, per_page: u8, order: Order, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn blockchain<'life0, 'async_trait, H>( &'life0 self, min: H, max: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn broadcast_tx_async<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn broadcast_tx_sync<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn broadcast_tx_commit<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn commit<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn consensus_params<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn consensus_state<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn validators<'life0, 'async_trait, H>( &'life0 self, height: H, paging: Paging, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn latest_consensus_params<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn latest_commit<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn health<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn genesis<'life0, 'async_trait, AppState>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Genesis<AppState>, Error>> + Send + 'async_trait>> where AppState: Debug + Serialize + DeserializeOwned + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn genesis_chunked<'life0, 'async_trait>( &'life0 self, chunk: u64, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn genesis_chunked_stream<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = Result<Vec<u8>, Error>> + '_>>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn net_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn broadcast_evidence<'life0, 'async_trait>( &'life0 self, e: Evidence, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn tx<'life0, 'async_trait>( &'life0 self, hash: Hash, prove: bool, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn tx_search<'life0, 'async_trait>( &'life0 self, query: Query, prove: bool, page: u32, per_page: u8, order: Order, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn wait_until_healthy<'life0, 'async_trait, T>( &'life0 self, timeout: T, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where T: Into<Duration> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait { ... }
}
Expand description

Provides lightweight access to the Tendermint RPC. It gives access to all endpoints with the exception of the event subscription-related ones.

To access event subscription capabilities, use a client that implements the SubscriptionClient trait.

Required Methods§

Source

fn perform<'life0, 'async_trait, R>( &'life0 self, request: R, ) -> Pin<Box<dyn Future<Output = Result<R::Output, Error>> + Send + 'async_trait>>
where R: SimpleRequest + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Perform a request against the RPC endpoint.

This method is used by the default implementations of specific endpoint methods. The latest protocol dialect is assumed to be invoked.

Provided Methods§

Source

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

/abci_info: get information about the ABCI application.

Source

fn abci_query<'life0, 'async_trait, V>( &'life0 self, path: Option<String>, data: V, height: Option<Height>, prove: bool, ) -> Pin<Box<dyn Future<Output = Result<AbciQuery, Error>> + Send + 'async_trait>>
where V: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/abci_query: query the ABCI application

Source

fn block<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/block: get block at a given height.

Source

fn block_by_hash<'life0, 'async_trait>( &'life0 self, hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

/block_by_hash: get block by hash.

Source

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

/block: get the latest block.

Source

fn header<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/header: get block header at a given height.

Source

fn header_by_hash<'life0, 'async_trait>( &'life0 self, hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

/header_by_hash: get block by hash.

Source

fn block_results<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/block_results: get ABCI results for a block at a particular height.

Source

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

/block_results: get ABCI results for the latest block.

/block_search: search for blocks by BeginBlock and EndBlock events.

Source

fn blockchain<'life0, 'async_trait, H>( &'life0 self, min: H, max: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/blockchain: get block headers for min <= height <= max.

Block headers are returned in descending order (highest first).

Returns at most 20 items.

Source

fn broadcast_tx_async<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/broadcast_tx_async: broadcast a transaction, returning immediately.

Source

fn broadcast_tx_sync<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/broadcast_tx_sync: broadcast a transaction, returning the response from CheckTx.

Source

fn broadcast_tx_commit<'life0, 'async_trait, T>( &'life0 self, tx: T, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where T: Into<Vec<u8>> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/broadcast_tx_commit: broadcast a transaction, returning the response from DeliverTx.

Source

fn commit<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/commit: get block commit at a given height.

Source

fn consensus_params<'life0, 'async_trait, H>( &'life0 self, height: H, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/consensus_params: get current consensus parameters at the specified height.

Source

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

/consensus_state: get current consensus state

Source

fn validators<'life0, 'async_trait, H>( &'life0 self, height: H, paging: Paging, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where H: Into<Height> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/validators: get validators a given height.

Source

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

/consensus_params: get the latest consensus parameters.

Source

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

/commit: get the latest block commit

Source

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

/health: get node health.

Returns empty result (200 OK) on success, no response in case of an error.

Source

fn genesis<'life0, 'async_trait, AppState>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Genesis<AppState>, Error>> + Send + 'async_trait>>
where AppState: Debug + Serialize + DeserializeOwned + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

/genesis: get genesis file.

Source

fn genesis_chunked<'life0, 'async_trait>( &'life0 self, chunk: u64, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Source

fn genesis_chunked_stream<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = Result<Vec<u8>, Error>> + '_>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

/genesis_chunked: get genesis file in multiple chunks.

Source

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

/net_info: obtain information about P2P and other network connections.

Source

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

/status: get Tendermint status including node info, pubkey, latest block hash, app hash, block height and time.

Source

fn broadcast_evidence<'life0, 'async_trait>( &'life0 self, e: Evidence, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

/broadcast_evidence: broadcast an evidence.

Source

fn tx<'life0, 'async_trait>( &'life0 self, hash: Hash, prove: bool, ) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

/tx: find transaction by hash.

/tx_search: search for transactions with their results.

Source

fn wait_until_healthy<'life0, 'async_trait, T>( &'life0 self, timeout: T, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where T: Into<Duration> + Send + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

Poll the /health endpoint until it returns a successful result or the given timeout has elapsed.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§