Skip to main content

TransactionTuner

Trait TransactionTuner 

Source
pub trait TransactionTuner: Sealed {
    // Required methods
    fn required_assets(&self, base_asset_id: AssetId) -> Vec<(AssetId, u128)>;
    fn transaction_builder<T: Account>(
        &self,
        tx_policies: TxPolicies,
        variable_output_policy: VariableOutputPolicy,
        consensus_parameters: &ConsensusParameters,
        asset_input: Vec<Input>,
        account: &T,
    ) -> Result<ScriptTransactionBuilder>;
    fn build_tx<'life0, 'life1, 'async_trait, T>(
        &'life0 self,
        tb: ScriptTransactionBuilder,
        account: &'life1 T,
    ) -> Pin<Box<dyn Future<Output = Result<ScriptTransaction>> + Send + 'async_trait>>
       where T: 'async_trait + Account,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}

Required Methods§

Source

fn required_assets(&self, base_asset_id: AssetId) -> Vec<(AssetId, u128)>

Source

fn transaction_builder<T: Account>( &self, tx_policies: TxPolicies, variable_output_policy: VariableOutputPolicy, consensus_parameters: &ConsensusParameters, asset_input: Vec<Input>, account: &T, ) -> Result<ScriptTransactionBuilder>

Source

fn build_tx<'life0, 'life1, 'async_trait, T>( &'life0 self, tb: ScriptTransactionBuilder, account: &'life1 T, ) -> Pin<Box<dyn Future<Output = Result<ScriptTransaction>> + Send + 'async_trait>>
where T: 'async_trait + Account, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl TransactionTuner for Vec<ContractCall>

Source§

fn build_tx<'life0, 'life1, 'async_trait, T>( &'life0 self, tb: ScriptTransactionBuilder, account: &'life1 T, ) -> Pin<Box<dyn Future<Output = Result<ScriptTransaction>> + Send + 'async_trait>>
where T: 'async_trait + Account, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Returns the script that executes the contract calls

Source§

fn required_assets(&self, base_asset_id: AssetId) -> Vec<(AssetId, u128)>

Source§

fn transaction_builder<T: Account>( &self, tx_policies: TxPolicies, variable_output_policy: VariableOutputPolicy, consensus_parameters: &ConsensusParameters, asset_input: Vec<Input>, account: &T, ) -> Result<ScriptTransactionBuilder>

Implementors§