Struct fuels_accounts::predicate::Predicate
source · pub struct Predicate { /* private fields */ }
Implementations§
source§impl Predicate
impl Predicate
pub fn address(&self) -> &Bech32Address
pub fn data(&self) -> &UnresolvedBytes
pub fn provider(&self) -> Option<&Provider>
pub fn set_provider(&mut self, provider: Provider) -> &mut Self
pub fn from_code(code: Vec<u8>) -> Self
pub fn load_from(file_path: &str) -> Result<Self>
pub fn with_data(self, data: UnresolvedBytes) -> Self
pub fn with_code(self, code: Vec<u8>) -> Self
pub fn with_provider(self, provider: Provider) -> Predicate
Trait Implementations§
source§impl Account for Predicate
impl Account for Predicate
source§fn add_fee_resources<'life0, 'async_trait, Tb>(
&'life0 self,
tb: Tb,
previous_base_amount: u64,
_witness_index: Option<u8>
) -> Pin<Box<dyn Future<Output = Result<Tb::TxType>> + Send + 'async_trait>>where
Tb: 'async_trait + TransactionBuilder,
Self: 'async_trait,
'life0: 'async_trait,
fn add_fee_resources<'life0, 'async_trait, Tb>( &'life0 self, tb: Tb, previous_base_amount: u64, _witness_index: Option<u8> ) -> Pin<Box<dyn Future<Output = Result<Tb::TxType>> + Send + 'async_trait>>where Tb: 'async_trait + TransactionBuilder, Self: 'async_trait, 'life0: 'async_trait,
Add base asset inputs to the transaction to cover the estimated fee. The original base asset amount cannot be calculated reliably from the existing transaction inputs because the selected resources may exceed the required amount to avoid dust. Therefore we require it as an argument.
Requires contract inputs to be at the start of the transactions inputs vec so that their indexes are retained
source§fn get_asset_inputs_for_amount<'life0, 'async_trait>(
&'life0 self,
asset_id: AssetId,
amount: u64,
_witness_index: Option<u8>
) -> Pin<Box<dyn Future<Output = Result<Vec<Input>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_asset_inputs_for_amount<'life0, 'async_trait>( &'life0 self, asset_id: AssetId, amount: u64, _witness_index: Option<u8> ) -> Pin<Box<dyn Future<Output = Result<Vec<Input>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns a vector consisting of
Input::Coin
s and Input::Message
s for the given
asset ID and amount. The witness_index
is the position of the witness (signature)
in the transaction’s list of witnesses. In the validation process, the node will
use the witness at this index to validate the coins returned by this method.source§fn get_asset_outputs_for_amount(
&self,
to: &Bech32Address,
asset_id: AssetId,
amount: u64
) -> Vec<Output>
fn get_asset_outputs_for_amount( &self, to: &Bech32Address, asset_id: AssetId, amount: u64 ) -> Vec<Output>
Returns a vector containing the output coin and change output given an asset and amount
source§fn transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
to: &'life1 Bech32Address,
amount: u64,
asset_id: AssetId,
tx_parameters: TxParameters
) -> Pin<Box<dyn Future<Output = Result<(String, Vec<Receipt>)>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn transfer<'life0, 'life1, 'async_trait>( &'life0 self, to: &'life1 Bech32Address, amount: u64, asset_id: AssetId, tx_parameters: TxParameters ) -> Pin<Box<dyn Future<Output = Result<(String, Vec<Receipt>)>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Transfer funds from this account to another
Address
.
Fails if amount for asset ID is larger than address’s spendable coins.
Returns the transaction ID that was sent and the list of receipts.source§fn force_transfer_to_contract<'life0, 'life1, 'async_trait>(
&'life0 self,
to: &'life1 Bech32ContractId,
balance: u64,
asset_id: AssetId,
tx_parameters: TxParameters
) -> Pin<Box<dyn Future<Output = Result<(String, Vec<Receipt>), Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn force_transfer_to_contract<'life0, 'life1, 'async_trait>( &'life0 self, to: &'life1 Bech32ContractId, balance: u64, asset_id: AssetId, tx_parameters: TxParameters ) -> Pin<Box<dyn Future<Output = Result<(String, Vec<Receipt>), Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Unconditionally transfers
balance
of type asset_id
to
the contract at to
.
Fails if balance for asset_id
is larger than this account’s spendable balance.
Returns the corresponding transaction ID and the list of receipts. Read moresource§fn withdraw_to_base_layer<'life0, 'life1, 'async_trait>(
&'life0 self,
to: &'life1 Bech32Address,
amount: u64,
tx_parameters: TxParameters
) -> Pin<Box<dyn Future<Output = Result<(String, String, Vec<Receipt>), Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn withdraw_to_base_layer<'life0, 'life1, 'async_trait>( &'life0 self, to: &'life1 Bech32Address, amount: u64, tx_parameters: TxParameters ) -> Pin<Box<dyn Future<Output = Result<(String, String, Vec<Receipt>), Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Withdraws an amount of the base asset to
an address on the base chain.
Returns the transaction ID, message ID and the list of receipts.
source§impl ViewOnlyAccount for Predicate
impl ViewOnlyAccount for Predicate
fn address(&self) -> &Bech32Address
fn try_provider(&self) -> Result<&Provider, AccountError>
fn set_provider(&mut self, provider: Provider) -> &mut Self
fn get_transactions<'life0, 'async_trait>( &'life0 self, request: PaginationRequest<String> ) -> Pin<Box<dyn Future<Output = Result<PaginatedResult<TransactionResponse, String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
source§fn get_coins<'life0, 'async_trait>(
&'life0 self,
asset_id: AssetId
) -> Pin<Box<dyn Future<Output = Result<Vec<Coin>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_coins<'life0, 'async_trait>( &'life0 self, asset_id: AssetId ) -> Pin<Box<dyn Future<Output = Result<Vec<Coin>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Gets all unspent coins of asset
asset_id
owned by the account.source§fn get_asset_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
asset_id: &'life1 AssetId
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_asset_balance<'life0, 'life1, 'async_trait>( &'life0 self, asset_id: &'life1 AssetId ) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
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.source§fn get_messages<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Message>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_messages<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Vec<Message>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Gets all unspent messages owned by the account.
source§fn get_balances<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, u64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_balances<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, u64>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Get all the spendable balances of all assets for the account. This is different from getting
the coins because we are only returning the sum of UTXOs coins amount and not the UTXOs
coins themselves.
fn get_spendable_resources<'life0, 'async_trait>( &'life0 self, asset_id: AssetId, amount: u64 ) -> Pin<Box<dyn Future<Output = Result<Vec<Resource>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for Predicate
impl Send for Predicate
impl Sync for Predicate
impl Unpin for Predicate
impl !UnwindSafe for Predicate
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)
Returns a reference to the underlying type as
Any
.