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§
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> ⓘ
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.