pub trait TxDependencyExtension: Sized + Sealed {
    // Required methods
    fn simulate<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn append_contract(self, contract_id: Bech32ContractId) -> Self;

    // Provided method
    fn determine_missing_contracts<'async_trait>(
        self,
        max_attempts: Option<u64>,
    ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
       where Self: Send + 'async_trait { ... }
}

Required Methods§

source

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

source

fn append_contract(self, contract_id: Bech32ContractId) -> Self

Appends additional external contracts as dependencies to this call. Effectively, this will be used to create additional fuel_tx::Input::Contract/fuel_tx::Output::Contract pairs and set them into the transaction. Note that this is a builder method, i.e. use it as a chain:

my_contract_instance.my_method(...).append_contract(additional_contract_id).call()
my_script_instance.main(...).append_contract(additional_contract_id).call()

Provided Methods§

source

fn determine_missing_contracts<'async_trait>( self, max_attempts: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where Self: Send + 'async_trait,

Simulates the call and attempts to resolve missing contract outputs. Forwards the received error if it cannot be fixed.

Object Safety§

This trait is not object safe.

Implementors§