Struct soroban_sdk::token::TokenClient
source · pub struct TokenClient<'a> {
pub env: Env,
pub address: Address,
/* private fields */
}Expand description
TokenClient is a client for calling the contract defined in “TokenInterface”.
Fields§
§env: Env§address: AddressImplementations§
source§impl<'a> TokenClient<'a>
impl<'a> TokenClient<'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> TokenClient<'a>
impl<'a> TokenClient<'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.
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.
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.
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.
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: &Address, amount: &i128)
pub fn transfer(&self, from: &Address, to: &Address, 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 = [amount: i128]
sourcepub fn try_transfer(
&self,
from: &Address,
to: &Address,
amount: &i128
) -> Result<Result<(), <() as TryFromVal<Env, Val>>::Error>, Result<Error, InvokeError>>
pub fn try_transfer( &self, from: &Address, to: &Address, 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 = [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 of
spender. Authorized by spender (spender.require_auth()).
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 of
spender. Authorized by spender (spender.require_auth()).
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_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>>
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.
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.
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>>
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for TokenClient<'a>
impl<'a> !Send for TokenClient<'a>
impl<'a> !Sync for TokenClient<'a>
impl<'a> Unpin for TokenClient<'a>
impl<'a> !UnwindSafe for TokenClient<'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
§impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
impl<T, U, V, E, C> Compare<(T, U, V)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,
§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,
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>
§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for Cwhere
C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,
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>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.