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: Address
Implementations§
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.