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> + Sync,
             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> + Sync,
             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> + Sync,
             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> + Sync, 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> + Sync, 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> + Sync, 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§

Source§

impl Transaction for PublishDidTx

Source§

impl<T, O> Transaction for T
where T: TransactionInternal<Output = O> + Send,