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§
Required Methods§
Sourcefn 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,
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§
Sourcefn 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<'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
.
Sourcefn 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,
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.