Contact

Struct Contact 

Source
pub struct Contact {
    pub jsonrpc_client: Arc<Box<HTTPClient>>,
    pub timeout: Duration,
}
Expand description

An instance of Contact Cosmos RPC Client.

Fields§

§jsonrpc_client: Arc<Box<HTTPClient>>§timeout: Duration

Implementations§

Source§

impl Contact

Source

pub async fn get_latest_block_number(&self) -> Result<u64, JsonRpcError>

Source

pub async fn get_latest_block( &self, ) -> Result<LatestBlockEndpointResponse, JsonRpcError>

Source

pub async fn get_syncing_status(&self) -> Result<SyncingStatus, JsonRpcError>

Source

pub async fn get_account_info( &self, address: Address, ) -> Result<ResponseWrapper<TypeWrapper<Option<CosmosAccountInfo>>>, JsonRpcError>

Gets account info for the provided Cosmos account using the accounts endpoint accounts do not have any info if they have no tokens or are otherwise never seen before an Ok(None) result indicates this

Source

pub async fn get_tx_by_hash( &self, txhash: &str, ) -> Result<TXSendResponse, JsonRpcError>

Source

pub async fn get_balances( &self, address: Address, ) -> Result<ResponseWrapper<Vec<Coin>>, JsonRpcError>

Source§

impl Contact

Source

pub async fn send_transaction<M: Clone + Serialize>( &self, msg: Transaction<M>, ) -> Result<TXSendResponse, JsonRpcError>

The advanced version of create_and_send transaction that expects you to perform your own signing and prep first.

Source

pub async fn retry_on_block<M: Clone + Serialize, T: 'static + for<'de> Deserialize<'de> + Debug>( &self, tx: Transaction<M>, ) -> Result<T, JsonRpcError>

When a transaction is in ‘block’ mode it actually asynchronously waits to go into the blockchain before returning. This is very useful in many contexts but is somewhat limited by the fact that nodes by default are configured to time out after 10 seconds. The caller of Contact of course expects the timeout they provide to be honored. This routine allows us to do that, retrying as needed until we reach the specific timeout allowed.

Source

pub async fn create_and_send_transaction( &self, coin: Coin, fee: Coin, destination: Address, private_key: PrivateKey, chain_id: Option<String>, account_number: Option<u64>, sequence: Option<u64>, ) -> Result<TXSendResponse, JsonRpcError>

The hand holding version of send transaction that does it all for you

Source§

impl Contact

Source

pub fn new(url: &str, timeout: Duration) -> Self

Trait Implementations§

Source§

impl Clone for Contact

Source§

fn clone(&self) -> Contact

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

Auto Trait Implementations§

§

impl Freeze for Contact

§

impl !RefUnwindSafe for Contact

§

impl !Send for Contact

§

impl !Sync for Contact

§

impl Unpin for Contact

§

impl !UnwindSafe for Contact

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> 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> 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> 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<T> Same for T

Source§

type Output = T

Should always be Self
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, 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<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,