identity_iota::iota::rebased::transaction

Trait Transaction

Source
pub trait Transaction: Sized {
    type Output;

    // Required method
    fn execute_with_opt_gas<'life0, 'async_trait, S>(
        self,
        gas_budget: Option<u64>,
        client: &'life0 IdentityClient<S>,
    ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             S: 'async_trait + Signer<IotaKeySignature> + OptionalSync,
             Self: 'async_trait;

    // Provided methods
    fn execute<'life0, 'async_trait, S>(
        self,
        client: &'life0 IdentityClient<S>,
    ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             S: 'async_trait + Signer<IotaKeySignature> + OptionalSync,
             Self: Send + 'async_trait { ... }
    fn execute_with_gas<'life0, 'async_trait, S>(
        self,
        gas_budget: u64,
        client: &'life0 IdentityClient<S>,
    ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             S: 'async_trait + Signer<IotaKeySignature> + OptionalSync,
             Self: Send + 'async_trait { ... }
}
Expand description

Interface for operations that interact with the ledger through transactions.

Required Associated Types§

Source

type Output

The result of performing the operation.

Required Methods§

Source

fn execute_with_opt_gas<'life0, 'async_trait, S>( self, gas_budget: Option<u64>, client: &'life0 IdentityClient<S>, ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, S: 'async_trait + Signer<IotaKeySignature> + OptionalSync, Self: 'async_trait,

Executes this operation using the given client and an optional gas_budget. If no value for gas_budget is provided, an estimated value will be used.

Provided Methods§

Source

fn execute<'life0, 'async_trait, S>( self, client: &'life0 IdentityClient<S>, ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, S: 'async_trait + Signer<IotaKeySignature> + OptionalSync, Self: Send + 'async_trait,

Executes this operation using client.

Source

fn execute_with_gas<'life0, 'async_trait, S>( self, gas_budget: u64, client: &'life0 IdentityClient<S>, ) -> Pin<Box<dyn Future<Output = Result<TransactionOutput<Self::Output>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, S: 'async_trait + Signer<IotaKeySignature> + OptionalSync, Self: Send + 'async_trait,

Executes this operation using client and a well defined gas_budget.

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.

Implementors§