identity_iota_interaction

Trait IotaClientTrait

Source
pub trait IotaClientTrait {
    type Error;
    type NativeResponse;

    // Required methods
    fn quorum_driver_api(
        &self,
    ) -> Box<dyn QuorumDriverTrait<Error = Self::Error, NativeResponse = Self::NativeResponse> + Send + '_>;
    fn read_api(
        &self,
    ) -> Box<dyn ReadTrait<Error = Self::Error, NativeResponse = Self::NativeResponse> + Send + '_>;
    fn coin_read_api(
        &self,
    ) -> Box<dyn CoinReadTrait<Error = Self::Error> + Send + '_>;
    fn event_api(&self) -> Box<dyn EventTrait<Error = Self::Error> + Send + '_>;
    fn execute_transaction<'life0, 'life1, 'life2, 'async_trait, S>(
        &'life0 self,
        sender_address: IotaAddress,
        sender_public_key: &'life1 [u8],
        tx_bcs: ProgrammableTransactionBcs,
        gas_budget: Option<u64>,
        signer: &'life2 S,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn IotaTransactionBlockResponseT<Error = Self::Error, NativeResponse = Self::NativeResponse>>, Self::Error>> + Send + 'async_trait>>
       where S: 'async_trait + Signer<IotaKeySignature> + Sync,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn default_gas_budget<'life0, 'life1, 'async_trait>(
        &'life0 self,
        sender_address: IotaAddress,
        tx_bcs: &'life1 ProgrammableTransactionBcs,
    ) -> Pin<Box<dyn Future<Output = Result<u64, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_previous_version<'life0, 'async_trait>(
        &'life0 self,
        iod: IotaObjectData,
    ) -> Pin<Box<dyn Future<Output = Result<Option<IotaObjectData>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_past_object<'life0, 'async_trait>(
        &'life0 self,
        object_id: ObjectID,
        version: SequenceNumber,
    ) -> Pin<Box<dyn Future<Output = Result<IotaPastObjectResponse, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Associated Types§

Source

type Error

Error type used

Source

type NativeResponse

The response type used in the platform specific client sdk

Required Methods§

Source

fn quorum_driver_api( &self, ) -> Box<dyn QuorumDriverTrait<Error = Self::Error, NativeResponse = Self::NativeResponse> + Send + '_>

Source

fn read_api( &self, ) -> Box<dyn ReadTrait<Error = Self::Error, NativeResponse = Self::NativeResponse> + Send + '_>

Source

fn coin_read_api( &self, ) -> Box<dyn CoinReadTrait<Error = Self::Error> + Send + '_>

Source

fn event_api(&self) -> Box<dyn EventTrait<Error = Self::Error> + Send + '_>

Source

fn execute_transaction<'life0, 'life1, 'life2, 'async_trait, S>( &'life0 self, sender_address: IotaAddress, sender_public_key: &'life1 [u8], tx_bcs: ProgrammableTransactionBcs, gas_budget: Option<u64>, signer: &'life2 S, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn IotaTransactionBlockResponseT<Error = Self::Error, NativeResponse = Self::NativeResponse>>, Self::Error>> + Send + 'async_trait>>
where S: 'async_trait + Signer<IotaKeySignature> + Sync, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn default_gas_budget<'life0, 'life1, 'async_trait>( &'life0 self, sender_address: IotaAddress, tx_bcs: &'life1 ProgrammableTransactionBcs, ) -> Pin<Box<dyn Future<Output = Result<u64, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_previous_version<'life0, 'async_trait>( &'life0 self, iod: IotaObjectData, ) -> Pin<Box<dyn Future<Output = Result<Option<IotaObjectData>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_past_object<'life0, 'async_trait>( &'life0 self, object_id: ObjectID, version: SequenceNumber, ) -> Pin<Box<dyn Future<Output = Result<IotaPastObjectResponse, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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§