Struct JsonRpcClient

Source
pub struct JsonRpcClient<T> { /* private fields */ }

Implementations§

Source§

impl<T> JsonRpcClient<T>

Source

pub fn new(transport: T) -> Self

Trait Implementations§

Source§

impl<T: Debug> Debug for JsonRpcClient<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Provider for JsonRpcClient<T>
where T: JsonRpcTransport + Sync + Send,

Source§

fn get_block_with_tx_hashes<'life0, 'async_trait, B>( &'life0 self, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<MaybePendingBlockWithTxHashes, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get block information with transaction hashes given the block id

Source§

fn get_block_with_txs<'life0, 'async_trait, B>( &'life0 self, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<MaybePendingBlockWithTxs, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get block information with full transactions given the block id

Source§

fn get_state_update<'life0, 'async_trait, B>( &'life0 self, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<MaybePendingStateUpdate, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the information about the result of executing the requested block

Source§

fn get_storage_at<'life0, 'async_trait, A, K, B>( &'life0 self, contract_address: A, key: K, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<FieldElement, ProviderError<Self::Error>>> + Send + 'async_trait>>
where A: AsRef<FieldElement> + Send + Sync + 'async_trait, K: AsRef<FieldElement> + Send + Sync + 'async_trait, B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the value of the storage at the given address and key

Source§

fn get_transaction_by_hash<'life0, 'async_trait, H>( &'life0 self, transaction_hash: H, ) -> Pin<Box<dyn Future<Output = Result<Transaction, ProviderError<Self::Error>>> + Send + 'async_trait>>
where H: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the details and status of a submitted transaction

Source§

fn get_transaction_by_block_id_and_index<'life0, 'async_trait, B>( &'life0 self, block_id: B, index: u64, ) -> Pin<Box<dyn Future<Output = Result<Transaction, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the details of a transaction by a given block id and index

Source§

fn get_transaction_receipt<'life0, 'async_trait, H>( &'life0 self, transaction_hash: H, ) -> Pin<Box<dyn Future<Output = Result<MaybePendingTransactionReceipt, ProviderError<Self::Error>>> + Send + 'async_trait>>
where H: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the details of a transaction by a given block number and index

Source§

fn get_class<'life0, 'async_trait, B, H>( &'life0 self, block_id: B, class_hash: H, ) -> Pin<Box<dyn Future<Output = Result<ContractClass, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, H: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the contract class definition in the given block associated with the given hash

Source§

fn get_class_hash_at<'life0, 'async_trait, B, A>( &'life0 self, block_id: B, contract_address: A, ) -> Pin<Box<dyn Future<Output = Result<FieldElement, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, A: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the contract class hash in the given block for the contract deployed at the given address

Source§

fn get_class_at<'life0, 'async_trait, B, A>( &'life0 self, block_id: B, contract_address: A, ) -> Pin<Box<dyn Future<Output = Result<ContractClass, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, A: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the contract class definition in the given block at the given address

Source§

fn get_block_transaction_count<'life0, 'async_trait, B>( &'life0 self, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<u64, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the number of transactions in a block given a block id

Source§

fn call<'life0, 'async_trait, R, B>( &'life0 self, request: R, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<Vec<FieldElement>, ProviderError<Self::Error>>> + Send + 'async_trait>>
where R: AsRef<FunctionCall> + Send + Sync + 'async_trait, B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Call a starknet function without creating a Starknet transaction

Source§

fn estimate_fee<'life0, 'async_trait, R, B>( &'life0 self, request: R, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<Vec<FeeEstimate>, ProviderError<Self::Error>>> + Send + 'async_trait>>
where R: AsRef<[BroadcastedTransaction]> + Send + Sync + 'async_trait, B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Estimate the fee for a given Starknet transaction

Source§

fn estimate_message_fee<'life0, 'async_trait, M, B>( &'life0 self, message: M, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<FeeEstimate, ProviderError<Self::Error>>> + Send + 'async_trait>>
where M: AsRef<MsgFromL1> + Send + Sync + 'async_trait, B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Estimate the L2 fee of a message sent on L1

Source§

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

Get the most recent accepted block number

Source§

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

Get the most recent accepted block hash and number

Source§

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

Return the currently configured Starknet chain id

Source§

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

Returns the transactions in the transaction pool, recognized by this sequencer

Source§

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

Returns an object about the sync status, or false if the node is not synching

Source§

fn get_events<'life0, 'async_trait>( &'life0 self, filter: EventFilter, continuation_token: Option<String>, chunk_size: u64, ) -> Pin<Box<dyn Future<Output = Result<EventsPage, ProviderError<Self::Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns all events matching the given filter

Source§

fn get_nonce<'life0, 'async_trait, B, A>( &'life0 self, block_id: B, contract_address: A, ) -> Pin<Box<dyn Future<Output = Result<FieldElement, ProviderError<Self::Error>>> + Send + 'async_trait>>
where B: AsRef<BlockId> + Send + Sync + 'async_trait, A: AsRef<FieldElement> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Get the nonce associated with the given address in the given block

Source§

fn add_invoke_transaction<'life0, 'async_trait, I>( &'life0 self, invoke_transaction: I, ) -> Pin<Box<dyn Future<Output = Result<InvokeTransactionResult, ProviderError<Self::Error>>> + Send + 'async_trait>>
where I: AsRef<BroadcastedInvokeTransaction> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit a new transaction to be added to the chain

Source§

fn add_declare_transaction<'life0, 'async_trait, D>( &'life0 self, declare_transaction: D, ) -> Pin<Box<dyn Future<Output = Result<DeclareTransactionResult, ProviderError<Self::Error>>> + Send + 'async_trait>>
where D: AsRef<BroadcastedDeclareTransaction> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit a new transaction to be added to the chain

Source§

fn add_deploy_account_transaction<'life0, 'async_trait, D>( &'life0 self, deploy_account_transaction: D, ) -> Pin<Box<dyn Future<Output = Result<DeployAccountTransactionResult, ProviderError<Self::Error>>> + Send + 'async_trait>>
where D: AsRef<BroadcastedDeployAccountTransaction> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Submit a new deploy account transaction

Source§

type Error = JsonRpcClientError<<T as JsonRpcTransport>::Error>

Source§

fn estimate_fee_single<'life0, 'async_trait, R, B>( &'life0 self, request: R, block_id: B, ) -> Pin<Box<dyn Future<Output = Result<FeeEstimate, ProviderError<Self::Error>>> + Send + 'async_trait>>
where R: AsRef<BroadcastedTransaction> + Send + Sync + 'async_trait, B: AsRef<BlockId> + Send + Sync + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

Same as [estimate_fee], but only with one estimate.

Auto Trait Implementations§

§

impl<T> Freeze for JsonRpcClient<T>
where T: Freeze,

§

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

§

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

§

impl<T> Sync for JsonRpcClient<T>
where T: Sync,

§

impl<T> Unpin for JsonRpcClient<T>
where T: Unpin,

§

impl<T> UnwindSafe for JsonRpcClient<T>
where T: UnwindSafe,

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

Source§

type Output = T

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