TransactionBuilder

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.

Implementations on Foreign Types§

Source§

impl TransactionBuilder for EthereumTransactionBuilder

Source§

impl TransactionBuilder for PolkadotTransactionBuilder

Implementors§