pub trait InterchainTokenExecutableInterface: CustomInterchainTokenExecutable + DeriveOnly {
// Required methods
fn interchain_token_service(env: &Env) -> Address;
fn execute_with_interchain_token(
env: &Env,
source_chain: String,
message_id: String,
source_address: Bytes,
payload: Bytes,
token_id: BytesN<32>,
token_address: Address,
amount: i128,
) -> Result<(), Error>;
}Expand description
Interface for an Interchain Token Executable app. Use the InterchainTokenExecutable derive macro to implement this interface.
DO NOT IMPLEMENT THIS MANUALLY!
Required Methods§
Sourcefn interchain_token_service(env: &Env) -> Address
fn interchain_token_service(env: &Env) -> Address
Returns the address of the interchain token service contract that is authorized to execute arbitrary payloads on this contract
Sourcefn execute_with_interchain_token(
env: &Env,
source_chain: String,
message_id: String,
source_address: Bytes,
payload: Bytes,
token_id: BytesN<32>,
token_address: Address,
amount: i128,
) -> Result<(), Error>
fn execute_with_interchain_token( env: &Env, source_chain: String, message_id: String, source_address: Bytes, payload: Bytes, token_id: BytesN<32>, token_address: Address, amount: i128, ) -> Result<(), Error>
Execute a cross-chain message with the given payload and token.
§Authorization
- Only callable by ITS contract.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".