Skip to main content

WalletExt

Trait WalletExt 

Source
pub trait WalletExt {
    // Required methods
    fn builder_data(&self) -> impl Future<Output = Result<BuilderData>> + Send;
    fn build_transfer(
        &self,
        asset_id: AssetId,
        transfers: &[(Address, u64)],
        utxo_manager: &mut dyn UtxoProvider,
        builder_data: &BuilderData,
        fetch_coins: bool,
    ) -> impl Future<Output = Result<Transaction>> + Send;
    fn build_transaction(
        &self,
        inputs: Vec<Input>,
        outputs: Vec<Output>,
        witnesses: Vec<Witness>,
        tx_policies: TxPolicies,
    ) -> impl Future<Output = Result<Transaction>> + Send;
    fn send_transaction(
        &self,
        chain_id: ChainId,
        tx: &Transaction,
    ) -> impl Future<Output = Result<SendResult>> + Send;
    fn transfer_many(
        &self,
        asset_id: AssetId,
        transfers: &[(Address, u64)],
        utxo_manager: &mut dyn UtxoProvider,
        builder_data: &BuilderData,
        fetch_coins: bool,
        chunk_size: Option<usize>,
    ) -> impl Future<Output = Result<Vec<FuelTxCoin>>> + Send;
    fn transfer_many_and_wait(
        &self,
        asset_id: AssetId,
        transfers: &[(Address, u64)],
        utxo_manager: &mut dyn UtxoProvider,
        builder_data: &BuilderData,
        fetch_coins: bool,
        chunk_size: Option<usize>,
    ) -> impl Future<Output = Result<Vec<FuelTxCoin>>> + Send;
    fn await_send_result(
        &self,
        tx_id: &TxId,
        tx: &Transaction,
    ) -> impl Future<Output = Result<SendResult>> + Send;
}

Required Methods§

Source

fn builder_data(&self) -> impl Future<Output = Result<BuilderData>> + Send

Source

fn build_transfer( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, ) -> impl Future<Output = Result<Transaction>> + Send

Source

fn build_transaction( &self, inputs: Vec<Input>, outputs: Vec<Output>, witnesses: Vec<Witness>, tx_policies: TxPolicies, ) -> impl Future<Output = Result<Transaction>> + Send

Source

fn send_transaction( &self, chain_id: ChainId, tx: &Transaction, ) -> impl Future<Output = Result<SendResult>> + Send

Source

fn transfer_many( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, chunk_size: Option<usize>, ) -> impl Future<Output = Result<Vec<FuelTxCoin>>> + Send

Source

fn transfer_many_and_wait( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, chunk_size: Option<usize>, ) -> impl Future<Output = Result<Vec<FuelTxCoin>>> + Send

Source

fn await_send_result( &self, tx_id: &TxId, tx: &Transaction, ) -> impl Future<Output = Result<SendResult>> + Send

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.

Implementations on Foreign Types§

Source§

impl<S> WalletExt for Wallet<Unlocked<S>>
where S: Signer + Clone + Send + Sync + Debug + 'static,

Source§

async fn builder_data(&self) -> Result<BuilderData>

Source§

async fn build_transaction( &self, inputs: Vec<Input>, outputs: Vec<Output>, witnesses: Vec<Witness>, tx_policies: TxPolicies, ) -> Result<Transaction>

Source§

async fn send_transaction( &self, chain_id: ChainId, tx: &Transaction, ) -> Result<SendResult>

Source§

async fn build_transfer( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, ) -> Result<Transaction>

Source§

async fn transfer_many_and_wait( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, chunk_size: Option<usize>, ) -> Result<Vec<FuelTxCoin>>

Source§

async fn transfer_many( &self, asset_id: AssetId, transfers: &[(Address, u64)], utxo_manager: &mut dyn UtxoProvider, builder_data: &BuilderData, fetch_coins: bool, chunk_size: Option<usize>, ) -> Result<Vec<FuelTxCoin>>

Source§

async fn await_send_result( &self, tx_id: &TxId, tx: &Transaction, ) -> Result<SendResult>

Implementors§