Trait TransactionBuilder

Source
pub trait TransactionBuilder: Sized + Default {
    type MetadataParams: Serialize + Clone;
    type Metadata: DeserializeOwned + Send + Sync + 'static;

    // Required methods
    fn transfer(
        &self,
        address: &Address,
        amount: u128,
    ) -> Result<Self::MetadataParams, Error>;
    fn method_call(
        &self,
        contract: &str,
        method: &str,
        values: &[String],
        amount: u128,
    ) -> Result<Self::MetadataParams, Error>;
    fn deploy_contract(
        &self,
        contract_binary: Vec<u8>,
    ) -> Result<Self::MetadataParams, Error>;
    fn create_and_sign(
        &self,
        config: &BlockchainConfig,
        metadata_params: &Self::MetadataParams,
        metdata: &Self::Metadata,
        secret_key: &SecretKey,
    ) -> Vec<u8> ;
}

Required Associated Types§

Required Methods§

Source

fn transfer( &self, address: &Address, amount: u128, ) -> Result<Self::MetadataParams, Error>

Source

fn method_call( &self, contract: &str, method: &str, values: &[String], amount: u128, ) -> Result<Self::MetadataParams, Error>

Source

fn deploy_contract( &self, contract_binary: Vec<u8>, ) -> Result<Self::MetadataParams, Error>

Source

fn create_and_sign( &self, config: &BlockchainConfig, metadata_params: &Self::MetadataParams, metdata: &Self::Metadata, secret_key: &SecretKey, ) -> Vec<u8>

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§