Struct fuels_accounts::provider::Provider
source · pub struct Provider {
pub client: FuelClient,
pub consensus_parameters: ConsensusParameters,
}
Expand description
Encapsulates common client operations in the SDK.
Note that you may also use client
, which is an instance
of FuelClient
, directly, which provides a broader API.
Fields§
§client: FuelClient
§consensus_parameters: ConsensusParameters
Implementations§
source§impl Provider
impl Provider
pub fn new( client: FuelClient, consensus_parameters: ConsensusParameters ) -> Self
sourcepub async fn send_transaction<T: Transaction>(&self, tx: T) -> Result<TxId>
pub async fn send_transaction<T: Transaction>(&self, tx: T) -> Result<TxId>
Sends a transaction to the underlying Provider’s client.
pub async fn get_receipts(&self, tx_id: &TxId) -> Result<Vec<Receipt>>
sourcepub async fn connect(url: impl AsRef<str>) -> Result<Provider>
pub async fn connect(url: impl AsRef<str>) -> Result<Provider>
Connects to an existing node at the given address.
pub async fn chain_info(&self) -> Result<ChainInfo, ProviderError>
pub fn consensus_parameters(&self) -> ConsensusParameters
pub fn chain_id(&self) -> ChainId
pub async fn node_info(&self) -> Result<NodeInfo, ProviderError>
pub async fn checked_dry_run<T: Transaction>( &self, tx: T ) -> Result<Vec<Receipt>>
pub async fn dry_run<T: Transaction>(&self, tx: T) -> Result<Vec<Receipt>>
pub async fn dry_run_no_validation<T: Transaction>( &self, tx: T ) -> Result<Vec<Receipt>>
sourcepub async fn get_coins(
&self,
from: &Bech32Address,
asset_id: AssetId
) -> Result<Vec<Coin>, ProviderError>
pub async fn get_coins( &self, from: &Bech32Address, asset_id: AssetId ) -> Result<Vec<Coin>, ProviderError>
Gets all unspent coins owned by address from
, with asset ID asset_id
.
sourcepub async fn get_spendable_resources(
&self,
filter: ResourceFilter
) -> Result<Vec<CoinType>, ProviderError>
pub async fn get_spendable_resources( &self, filter: ResourceFilter ) -> Result<Vec<CoinType>, ProviderError>
Get some spendable coins of asset asset_id
for address from
that add up at least to
amount amount
. The returned coins (UTXOs) are actual coins that can be spent. The number
of coins (UXTOs) is optimized to prevent dust accumulation.
sourcepub async fn get_asset_balance(
&self,
address: &Bech32Address,
asset_id: AssetId
) -> Result<u64, ProviderError>
pub async fn get_asset_balance( &self, address: &Bech32Address, asset_id: AssetId ) -> Result<u64, ProviderError>
Get the balance of all spendable coins asset_id
for address address
. This is different
from getting coins because we are just returning a number (the sum of UTXOs amount) instead
of the UTXOs.
sourcepub async fn get_contract_asset_balance(
&self,
contract_id: &Bech32ContractId,
asset_id: AssetId
) -> Result<u64, ProviderError>
pub async fn get_contract_asset_balance( &self, contract_id: &Bech32ContractId, asset_id: AssetId ) -> Result<u64, ProviderError>
Get the balance of all spendable coins asset_id
for contract with id contract_id
.
sourcepub async fn get_balances(
&self,
address: &Bech32Address
) -> Result<HashMap<String, u64>, ProviderError>
pub async fn get_balances( &self, address: &Bech32Address ) -> Result<HashMap<String, u64>, ProviderError>
Get all the spendable balances of all assets for address address
. This is different from
getting the coins because we are only returning the numbers (the sum of UTXOs coins amount
for each asset id) and not the UTXOs coins themselves
sourcepub async fn get_contract_balances(
&self,
contract_id: &Bech32ContractId
) -> Result<HashMap<AssetId, u64>, ProviderError>
pub async fn get_contract_balances( &self, contract_id: &Bech32ContractId ) -> Result<HashMap<AssetId, u64>, ProviderError>
Get all balances of all assets for the contract with id contract_id
.
pub async fn get_transaction_by_id( &self, tx_id: &TxId ) -> Result<Option<TransactionResponse>, ProviderError>
pub async fn get_transactions( &self, request: PaginationRequest<String> ) -> Result<PaginatedResult<TransactionResponse, String>, ProviderError>
pub async fn get_transactions_by_owner( &self, owner: &Bech32Address, request: PaginationRequest<String> ) -> Result<PaginatedResult<TransactionResponse, String>, ProviderError>
pub async fn latest_block_height(&self) -> Result<u32, ProviderError>
pub async fn latest_block_time( &self ) -> Result<Option<DateTime<Utc>>, ProviderError>
pub async fn produce_blocks( &self, blocks_to_produce: u64, start_time: Option<DateTime<Utc>> ) -> Result<u32>
sourcepub async fn block(
&self,
block_id: &Bytes32
) -> Result<Option<Block>, ProviderError>
pub async fn block( &self, block_id: &Bytes32 ) -> Result<Option<Block>, ProviderError>
Get block by id.
pub async fn get_blocks( &self, request: PaginationRequest<String> ) -> Result<PaginatedResult<Block, String>, ProviderError>
pub async fn estimate_transaction_cost<T: Transaction>( &self, tx: T, tolerance: Option<f64> ) -> Result<TransactionCost>
pub async fn get_messages( &self, from: &Bech32Address ) -> Result<Vec<Message>, ProviderError>
pub async fn get_message_proof( &self, tx_id: &TxId, message_id: &MessageId, commit_block_id: Option<&Bytes32>, commit_block_height: Option<u32> ) -> Result<Option<MessageProof>, ProviderError>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Provider
impl Send for Provider
impl Sync for Provider
impl Unpin for Provider
impl !UnwindSafe for Provider
Blanket Implementations§
source§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere T: Any + Debug,
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Any
.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,
fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,
§impl<T> StorageAsRef for T
impl<T> StorageAsRef for T
fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,
fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.