pub struct AxelarExecutableClient<'a> {
pub env: Env,
pub address: Address,
/* private fields */
}Expand description
AxelarExecutableClient is a client for calling the contract defined in “AxelarExecutableInterface”.
Fields§
§env: Env§address: AddressImplementations§
Source§impl<'a> AxelarExecutableClient<'a>
impl<'a> AxelarExecutableClient<'a>
Sourcepub fn try_gateway(
&self,
) -> Result<Result<Address, <Address as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_gateway( &self, ) -> Result<Result<Address, <Address as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Return the trusted gateway contract id.
Sourcepub fn execute(
&self,
source_chain: &String,
message_id: &String,
source_address: &String,
payload: &Bytes,
)
pub fn execute( &self, source_chain: &String, message_id: &String, source_address: &String, payload: &Bytes, )
Execute a cross-chain contract call with the given payload. This function must validate that the contract call is received from the trusted gateway.
Sourcepub fn try_execute(
&self,
source_chain: &String,
message_id: &String,
source_address: &String,
payload: &Bytes,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_execute( &self, source_chain: &String, message_id: &String, source_address: &String, payload: &Bytes, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Execute a cross-chain contract call with the given payload. This function must validate that the contract call is received from the trusted gateway.
Sourcepub fn validate(
&self,
source_chain: &String,
message_id: &String,
source_address: &String,
payload: &Bytes,
)
pub fn validate( &self, source_chain: &String, message_id: &String, source_address: &String, payload: &Bytes, )
Validate if a gateway has approved a contract call.
This should be called from an implementation of execute before executing custom app logic.
This method doesn’t get exposed from the contract, as Soroban SDK’s contractimpl macro ignores default trait methods.
Sourcepub fn try_validate(
&self,
source_chain: &String,
message_id: &String,
source_address: &String,
payload: &Bytes,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_validate( &self, source_chain: &String, message_id: &String, source_address: &String, payload: &Bytes, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Validate if a gateway has approved a contract call.
This should be called from an implementation of execute before executing custom app logic.
This method doesn’t get exposed from the contract, as Soroban SDK’s contractimpl macro ignores default trait methods.
Auto Trait Implementations§
impl<'a> Freeze for AxelarExecutableClient<'a>
impl<'a> !RefUnwindSafe for AxelarExecutableClient<'a>
impl<'a> !Send for AxelarExecutableClient<'a>
impl<'a> !Sync for AxelarExecutableClient<'a>
impl<'a> Unpin for AxelarExecutableClient<'a>
impl<'a> !UnwindSafe for AxelarExecutableClient<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more