pub trait AxelarExampleInterface: AxelarExecutableInterface {
// Required methods
fn gas_service(env: &Env) -> Address;
fn send(
env: &Env,
caller: Address,
destination_chain: String,
destination_address: String,
message: Bytes,
gas_token: Option<Token>,
);
fn send_token(
env: &Env,
caller: Address,
token_id: BytesN<32>,
destination_chain: String,
destination_app_contract: Bytes,
amount: i128,
recipient: Option<Bytes>,
gas_token: Option<Token>,
) -> Result<(), AxelarExampleError>;
}Required Methods§
Sourcefn gas_service(env: &Env) -> Address
fn gas_service(env: &Env) -> Address
Retrieves the address of the gas service.
Sourcefn send(
env: &Env,
caller: Address,
destination_chain: String,
destination_address: String,
message: Bytes,
gas_token: Option<Token>,
)
fn send( env: &Env, caller: Address, destination_chain: String, destination_address: String, message: Bytes, gas_token: Option<Token>, )
Sends a message to a specified destination chain.
The function also handles the payment of gas for the cross-chain transaction.
§Arguments
caller- The address of the caller initiating the message.destination_chain- The name of the destination chain where the message will be sent.destination_address- The address on the destination chain where the message will be sent.message- The message to be sent.gas_token- An optional gas token used to pay for gas during the transaction.
§Authorization
- The
callermust authorize.
Sourcefn send_token(
env: &Env,
caller: Address,
token_id: BytesN<32>,
destination_chain: String,
destination_app_contract: Bytes,
amount: i128,
recipient: Option<Bytes>,
gas_token: Option<Token>,
) -> Result<(), AxelarExampleError>
fn send_token( env: &Env, caller: Address, token_id: BytesN<32>, destination_chain: String, destination_app_contract: Bytes, amount: i128, recipient: Option<Bytes>, gas_token: Option<Token>, ) -> Result<(), AxelarExampleError>
Sends a token to a specified destination chain.
The function also emits an event upon successful transfer.
§Arguments
caller- The address of the caller initiating the token transfer.token_id- The ID of the token to be transferred.destination_chain- The name of the destination chain where the token will be sent.destination_app_contract- The address of the application contract on the destination chain.amount- The amount of the token to be transferred.recipient- An optional recipient address on the destination chain.gas_token- An optional gas token used to pay for gas during the transaction.
§Authorization
- The
callermust authorize.
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.