pub struct StellarAssetClient<'a> {
pub env: Env,
pub address: Address,
/* private fields */
}Expand description
StellarAssetClient is a client for calling the contract defined in “StellarAssetInterface”.
Fields§
§env: Env§address: AddressImplementations§
Source§impl<'a> StellarAssetClient<'a>
impl<'a> StellarAssetClient<'a>
pub fn new(env: &Env, address: &Address) -> Self
Sourcepub fn set_auths(&self, auths: &'a [SorobanAuthorizationEntry]) -> Self
pub fn set_auths(&self, auths: &'a [SorobanAuthorizationEntry]) -> Self
Set authorizations in the environment which will be consumed by
contracts when they invoke Address::require_auth or
Address::require_auth_for_args functions.
Requires valid signatures for the authorization to be successful.
To mock auth without requiring valid signatures, use mock_auths.
See soroban_sdk::Env::set_auths for more details and examples.
Sourcepub fn mock_auths(&self, mock_auths: &'a [MockAuth<'a>]) -> Self
pub fn mock_auths(&self, mock_auths: &'a [MockAuth<'a>]) -> Self
Mock authorizations in the environment which will cause matching invokes
of Address::require_auth and Address::require_auth_for_args to
pass.
See soroban_sdk::Env::set_auths for more details and examples.
Sourcepub fn mock_all_auths(&self) -> Self
pub fn mock_all_auths(&self) -> Self
Mock all calls to the Address::require_auth and
Address::require_auth_for_args functions in invoked contracts,
having them succeed as if authorization was provided.
See soroban_sdk::Env::mock_all_auths for more details and
examples.
Sourcepub fn mock_all_auths_allowing_non_root_auth(&self) -> Self
pub fn mock_all_auths_allowing_non_root_auth(&self) -> Self
A version of mock_all_auths that allows authorizations that
are not present in the root invocation.
Refer to mock_all_auths documentation for details and
prefer using mock_all_auths unless non-root authorization is
required.
See soroban_sdk::Env::mock_all_auths_allowing_non_root_auth
for more details and examples.
Source§impl<'a> StellarAssetClient<'a>
impl<'a> StellarAssetClient<'a>
Sourcepub fn allowance(&self, from: &Address, spender: &Address) -> i128
pub fn allowance(&self, from: &Address, spender: &Address) -> i128
Returns the allowance for spender to transfer from from.
The amount returned is the amount that spender is allowed to transfer out of from’s balance. When the spender transfers amounts, the allowance will be reduced by the amount transferred.
§Arguments
from- The address holding the balance of tokens to be drawn from.spender- The address spending the tokens held byfrom.
Sourcepub fn try_allowance(
&self,
from: &Address,
spender: &Address,
) -> Result<Result<i128, <i128 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_allowance( &self, from: &Address, spender: &Address, ) -> Result<Result<i128, <i128 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Returns the allowance for spender to transfer from from.
The amount returned is the amount that spender is allowed to transfer out of from’s balance. When the spender transfers amounts, the allowance will be reduced by the amount transferred.
§Arguments
from- The address holding the balance of tokens to be drawn from.spender- The address spending the tokens held byfrom.
Sourcepub fn approve(
&self,
from: &Address,
spender: &Address,
amount: &i128,
expiration_ledger: &u32,
)
pub fn approve( &self, from: &Address, spender: &Address, amount: &i128, expiration_ledger: &u32, )
Set the allowance by amount for spender to transfer/burn from
from.
The amount set is the amount that spender is approved to transfer out of from’s balance. The spender will be allowed to transfer amounts, and when an amount is transferred the allowance will be reduced by the amount transferred.
§Arguments
from- The address holding the balance of tokens to be drawn from.spender- The address being authorized to spend the tokens held byfrom.amount- The tokens to be made available tospender.expiration_ledger- The ledger number where this allowance expires. Cannot be less than the current ledger number unless the amount is being set to 0. An expired entry (where expiration_ledger < the current ledger number) should be treated as a 0 amount allowance.
§Events
Emits an event with topics ["approve", from: Address, spender: Address], data = [amount: i128, expiration_ledger: u32]
Sourcepub fn try_approve(
&self,
from: &Address,
spender: &Address,
amount: &i128,
expiration_ledger: &u32,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_approve( &self, from: &Address, spender: &Address, amount: &i128, expiration_ledger: &u32, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Set the allowance by amount for spender to transfer/burn from
from.
The amount set is the amount that spender is approved to transfer out of from’s balance. The spender will be allowed to transfer amounts, and when an amount is transferred the allowance will be reduced by the amount transferred.
§Arguments
from- The address holding the balance of tokens to be drawn from.spender- The address being authorized to spend the tokens held byfrom.amount- The tokens to be made available tospender.expiration_ledger- The ledger number where this allowance expires. Cannot be less than the current ledger number unless the amount is being set to 0. An expired entry (where expiration_ledger < the current ledger number) should be treated as a 0 amount allowance.
§Events
Emits an event with topics ["approve", from: Address, spender: Address], data = [amount: i128, expiration_ledger: u32]
Sourcepub fn balance(&self, id: &Address) -> i128
pub fn balance(&self, id: &Address) -> i128
Returns the balance of id.
§Arguments
id- The address for which a balance is being queried. If the address has no existing balance, returns 0.
Sourcepub fn try_balance(
&self,
id: &Address,
) -> Result<Result<i128, <i128 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_balance( &self, id: &Address, ) -> Result<Result<i128, <i128 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Returns the balance of id.
§Arguments
id- The address for which a balance is being queried. If the address has no existing balance, returns 0.
Sourcepub fn transfer(
&self,
from: &Address,
to: impl Into<MuxedAddress>,
amount: &i128,
)
pub fn transfer( &self, from: &Address, to: impl Into<MuxedAddress>, amount: &i128, )
Transfer amount from from to to.
§Arguments
from- The address holding the balance of tokens which will be withdrawn from.to- The address which will receive the transferred tokens.amount- The amount of tokens to be transferred.
§Events
Emits an event with:
- topics
["transfer", from: Address, to: Address] - data
{ to_muxed_id: Option<u64>, amount: i128 }: Map
Legacy implementations may emit an event with:
- topics
["transfer", from: Address, to: Address] - data
amount: i128
Sourcepub fn try_transfer(
&self,
from: &Address,
to: impl Into<MuxedAddress>,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_transfer( &self, from: &Address, to: impl Into<MuxedAddress>, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Transfer amount from from to to.
§Arguments
from- The address holding the balance of tokens which will be withdrawn from.to- The address which will receive the transferred tokens.amount- The amount of tokens to be transferred.
§Events
Emits an event with:
- topics
["transfer", from: Address, to: Address] - data
{ to_muxed_id: Option<u64>, amount: i128 }: Map
Legacy implementations may emit an event with:
- topics
["transfer", from: Address, to: Address] - data
amount: i128
Sourcepub fn transfer_from(
&self,
spender: &Address,
from: &Address,
to: &Address,
amount: &i128,
)
pub fn transfer_from( &self, spender: &Address, from: &Address, to: &Address, amount: &i128, )
Transfer amount from from to to, consuming the allowance that
spender has on from’s balance. Authorized by spender
(spender.require_auth()).
The spender will be allowed to transfer the amount from from’s balance if the amount is less than or equal to the allowance that the spender has on the from’s balance. The spender’s allowance on from’s balance will be reduced by the amount.
§Arguments
spender- The address authorizing the transfer, and having its allowance consumed during the transfer.from- The address holding the balance of tokens which will be withdrawn from.to- The address which will receive the transferred tokens.amount- The amount of tokens to be transferred.
§Events
Emits an event with topics ["transfer", from: Address, to: Address], data = amount: i128
Sourcepub fn try_transfer_from(
&self,
spender: &Address,
from: &Address,
to: &Address,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_transfer_from( &self, spender: &Address, from: &Address, to: &Address, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Transfer amount from from to to, consuming the allowance that
spender has on from’s balance. Authorized by spender
(spender.require_auth()).
The spender will be allowed to transfer the amount from from’s balance if the amount is less than or equal to the allowance that the spender has on the from’s balance. The spender’s allowance on from’s balance will be reduced by the amount.
§Arguments
spender- The address authorizing the transfer, and having its allowance consumed during the transfer.from- The address holding the balance of tokens which will be withdrawn from.to- The address which will receive the transferred tokens.amount- The amount of tokens to be transferred.
§Events
Emits an event with topics ["transfer", from: Address, to: Address], data = amount: i128
Sourcepub fn burn(&self, from: &Address, amount: &i128)
pub fn burn(&self, from: &Address, amount: &i128)
Burn amount from from.
Reduces from’s balance by the amount, without transferring the balance to another holder’s balance.
§Arguments
from- The address holding the balance of tokens which will be burned from.amount- The amount of tokens to be burned.
§Events
Emits an event with topics ["burn", from: Address], data = amount: i128
Sourcepub fn try_burn(
&self,
from: &Address,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_burn( &self, from: &Address, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Burn amount from from.
Reduces from’s balance by the amount, without transferring the balance to another holder’s balance.
§Arguments
from- The address holding the balance of tokens which will be burned from.amount- The amount of tokens to be burned.
§Events
Emits an event with topics ["burn", from: Address], data = amount: i128
Sourcepub fn burn_from(&self, spender: &Address, from: &Address, amount: &i128)
pub fn burn_from(&self, spender: &Address, from: &Address, amount: &i128)
Burn amount from from, consuming the allowance of spender.
Reduces from’s balance by the amount, without transferring the balance to another holder’s balance.
The spender will be allowed to burn the amount from from’s balance, if the amount is less than or equal to the allowance that the spender has on the from’s balance. The spender’s allowance on from’s balance will be reduced by the amount.
§Arguments
spender- The address authorizing the burn, and having its allowance consumed during the burn.from- The address holding the balance of tokens which will be burned from.amount- The amount of tokens to be burned.
§Events
Emits an event with topics ["burn", from: Address], data = amount: i128
Sourcepub fn try_burn_from(
&self,
spender: &Address,
from: &Address,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_burn_from( &self, spender: &Address, from: &Address, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Burn amount from from, consuming the allowance of spender.
Reduces from’s balance by the amount, without transferring the balance to another holder’s balance.
The spender will be allowed to burn the amount from from’s balance, if the amount is less than or equal to the allowance that the spender has on the from’s balance. The spender’s allowance on from’s balance will be reduced by the amount.
§Arguments
spender- The address authorizing the burn, and having its allowance consumed during the burn.from- The address holding the balance of tokens which will be burned from.amount- The amount of tokens to be burned.
§Events
Emits an event with topics ["burn", from: Address], data = amount: i128
Sourcepub fn decimals(&self) -> u32
pub fn decimals(&self) -> u32
Returns the number of decimals used to represent amounts of this token.
§Panics
If the contract has not yet been initialized.
Sourcepub fn try_decimals(
&self,
) -> Result<Result<u32, <u32 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_decimals( &self, ) -> Result<Result<u32, <u32 as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Returns the number of decimals used to represent amounts of this token.
§Panics
If the contract has not yet been initialized.
Sourcepub fn try_name(
&self,
) -> Result<Result<String, <String as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_name( &self, ) -> Result<Result<String, <String as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sourcepub fn try_symbol(
&self,
) -> Result<Result<String, <String as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_symbol( &self, ) -> Result<Result<String, <String as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sourcepub fn try_set_admin(
&self,
new_admin: &Address,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_set_admin( &self, new_admin: &Address, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sourcepub fn try_admin(
&self,
) -> Result<Result<Address, <Address as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_admin( &self, ) -> Result<Result<Address, <Address as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sets whether the account is authorized to use its balance. If
authorized is true, id should be able to use its balance.
§Arguments
id- The address being (de-)authorized.authorize- Whether or notidcan use its balance.
§Events
Emits an event with topics ["set_authorized", id: Address], data = [authorize: bool]
Sets whether the account is authorized to use its balance. If
authorized is true, id should be able to use its balance.
§Arguments
id- The address being (de-)authorized.authorize- Whether or notidcan use its balance.
§Events
Emits an event with topics ["set_authorized", id: Address], data = [authorize: bool]
Returns true if id is authorized to use its balance.
§Arguments
id- The address for which token authorization is being checked.
Returns true if id is authorized to use its balance.
§Arguments
id- The address for which token authorization is being checked.
Sourcepub fn try_mint(
&self,
to: &Address,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_mint( &self, to: &Address, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Sourcepub fn clawback(&self, from: &Address, amount: &i128)
pub fn clawback(&self, from: &Address, amount: &i128)
Clawback amount from from account. amount is burned in the
clawback process.
§Arguments
from- The address holding the balance from which the clawback will take tokens.amount- The amount of tokens to be clawed back.
§Events
Emits an event with topics ["clawback", admin: Address, to: Address], data = amount: i128
Sourcepub fn try_clawback(
&self,
from: &Address,
amount: &i128,
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_clawback( &self, from: &Address, amount: &i128, ) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
Clawback amount from from account. amount is burned in the
clawback process.
§Arguments
from- The address holding the balance from which the clawback will take tokens.amount- The amount of tokens to be clawed back.
§Events
Emits an event with topics ["clawback", admin: Address, to: Address], data = amount: i128
Auto Trait Implementations§
impl<'a> Freeze for StellarAssetClient<'a>
impl<'a> !RefUnwindSafe for StellarAssetClient<'a>
impl<'a> !Send for StellarAssetClient<'a>
impl<'a> !Sync for StellarAssetClient<'a>
impl<'a> Unpin for StellarAssetClient<'a>
impl<'a> !UnwindSafe for StellarAssetClient<'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