pub enum ITIP20Calls {
Show 44 variants
name(nameCall),
symbol(symbolCall),
decimals(decimalsCall),
totalSupply(totalSupplyCall),
quoteToken(quoteTokenCall),
nextQuoteToken(nextQuoteTokenCall),
balanceOf(balanceOfCall),
transfer(transferCall),
approve(approveCall),
allowance(allowanceCall),
transferFrom(transferFromCall),
mint(mintCall),
burn(burnCall),
currency(currencyCall),
supplyCap(supplyCapCall),
paused(pausedCall),
transferPolicyId(transferPolicyIdCall),
logoURI(logoURICall),
setLogoURI(setLogoURICall),
burnBlocked(burnBlockedCall),
mintWithMemo(mintWithMemoCall),
burnWithMemo(burnWithMemoCall),
transferWithMemo(transferWithMemoCall),
transferFromWithMemo(transferFromWithMemoCall),
changeTransferPolicyId(changeTransferPolicyIdCall),
setSupplyCap(setSupplyCapCall),
pause(pauseCall),
unpause(unpauseCall),
setNextQuoteToken(setNextQuoteTokenCall),
completeQuoteTokenUpdate(completeQuoteTokenUpdateCall),
PAUSE_ROLE(PAUSE_ROLECall),
UNPAUSE_ROLE(UNPAUSE_ROLECall),
ISSUER_ROLE(ISSUER_ROLECall),
BURN_BLOCKED_ROLE(BURN_BLOCKED_ROLECall),
permit(permitCall),
nonces(noncesCall),
DOMAIN_SEPARATOR(DOMAIN_SEPARATORCall),
distributeReward(distributeRewardCall),
setRewardRecipient(setRewardRecipientCall),
claimRewards(claimRewardsCall),
optedInSupply(optedInSupplyCall),
globalRewardPerToken(globalRewardPerTokenCall),
userRewardInfo(userRewardInfoCall),
getPendingRewards(getPendingRewardsCall),
}Expand description
Container for all the ITIP20 function calls.
Variants§
name(nameCall)
symbol(symbolCall)
decimals(decimalsCall)
totalSupply(totalSupplyCall)
quoteToken(quoteTokenCall)
nextQuoteToken(nextQuoteTokenCall)
balanceOf(balanceOfCall)
transfer(transferCall)
approve(approveCall)
allowance(allowanceCall)
transferFrom(transferFromCall)
mint(mintCall)
burn(burnCall)
currency(currencyCall)
supplyCap(supplyCapCall)
paused(pausedCall)
transferPolicyId(transferPolicyIdCall)
logoURI(logoURICall)
setLogoURI(setLogoURICall)
burnBlocked(burnBlockedCall)
mintWithMemo(mintWithMemoCall)
burnWithMemo(burnWithMemoCall)
transferWithMemo(transferWithMemoCall)
transferFromWithMemo(transferFromWithMemoCall)
changeTransferPolicyId(changeTransferPolicyIdCall)
setSupplyCap(setSupplyCapCall)
pause(pauseCall)
unpause(unpauseCall)
setNextQuoteToken(setNextQuoteTokenCall)
completeQuoteTokenUpdate(completeQuoteTokenUpdateCall)
PAUSE_ROLE(PAUSE_ROLECall)
UNPAUSE_ROLE(UNPAUSE_ROLECall)
ISSUER_ROLE(ISSUER_ROLECall)
BURN_BLOCKED_ROLE(BURN_BLOCKED_ROLECall)
permit(permitCall)
nonces(noncesCall)
DOMAIN_SEPARATOR(DOMAIN_SEPARATORCall)
distributeReward(distributeRewardCall)
setRewardRecipient(setRewardRecipientCall)
claimRewards(claimRewardsCall)
optedInSupply(optedInSupplyCall)
globalRewardPerToken(globalRewardPerTokenCall)
userRewardInfo(userRewardInfoCall)
getPendingRewards(getPendingRewardsCall)
Implementations§
Source§impl ITIP20Calls
impl ITIP20Calls
Sourcepub const SELECTORS: &'static [[u8; 4]]
pub const SELECTORS: &'static [[u8; 4]]
All the selectors of this enum.
Note that the selectors might not be in the same order as the variants. No guarantees are made about the order of the selectors.
Prefer using SolInterface methods instead.
Sourcepub const VARIANT_NAMES: &'static [&'static str]
pub const VARIANT_NAMES: &'static [&'static str]
The names of the variants in the same order as SELECTORS.
Sourcepub const SIGNATURES: &'static [&'static str]
pub const SIGNATURES: &'static [&'static str]
The signatures in the same order as SELECTORS.
Source§impl ITIP20Calls
impl ITIP20Calls
Sourcepub fn to(&self) -> Option<Address>
pub fn to(&self) -> Option<Address>
Returns the recipient address for the TIP-20 call, if one exists.
Sourcepub fn is_payment(input: &[u8]) -> bool
pub fn is_payment(input: &[u8]) -> bool
Returns true if input matches one of the recognized TIP-20 payment selectors:
transfer/transferWithMemotransferFrom/transferFromWithMemoapprovemint/mintWithMemoburn/burnWithMemo
§NOTES
- Only validates calldata; the caller must check the TIP-20 address prefix on
to. - Only selector and exact ABI-encoded length match, no decoding (better performance).
Sourcepub fn balance_addresses(&self) -> [Option<Address>; 2]
pub fn balance_addresses(&self) -> [Option<Address>; 2]
Returns addresses whose balance slots are accessed by this call.
For transfers: [to] or [from, to]. For mints: [to].
For burns, approves, and view calls: empty.
Sourcepub fn reward_addresses(&self, sender: Address) -> [Option<Address>; 2]
pub fn reward_addresses(&self, sender: Address) -> [Option<Address>; 2]
Returns addresses whose rewards slots are accessed by this call.
Trait Implementations§
Source§impl Clone for ITIP20Calls
impl Clone for ITIP20Calls
Source§fn clone(&self) -> ITIP20Calls
fn clone(&self) -> ITIP20Calls
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ITIP20Calls
impl Debug for ITIP20Calls
Source§impl<'de> Deserialize<'de> for ITIP20Calls
impl<'de> Deserialize<'de> for ITIP20Calls
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ITIP20Calls
Source§impl PartialEq for ITIP20Calls
impl PartialEq for ITIP20Calls
Source§fn eq(&self, other: &ITIP20Calls) -> bool
fn eq(&self, other: &ITIP20Calls) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ITIP20Calls
impl Serialize for ITIP20Calls
Source§impl SolInterface for ITIP20Calls
impl SolInterface for ITIP20Calls
Source§const MIN_DATA_LENGTH: usize = 0usize
const MIN_DATA_LENGTH: usize = 0usize
Source§fn valid_selector(selector: [u8; 4]) -> bool
fn valid_selector(selector: [u8; 4]) -> bool
true if the given selector is known to this type.Source§fn abi_decode_raw(selector: [u8; 4], data: &[u8]) -> Result<Self>
fn abi_decode_raw(selector: [u8; 4], data: &[u8]) -> Result<Self>
self.Source§fn abi_decode_raw_validate(selector: [u8; 4], data: &[u8]) -> Result<Self>
fn abi_decode_raw_validate(selector: [u8; 4], data: &[u8]) -> Result<Self>
self, with validation. Read moreSource§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
Source§fn abi_encode_raw(&self, out: &mut Vec<u8>)
fn abi_encode_raw(&self, out: &mut Vec<u8>)
self into the given buffer, without any selectors.§fn type_check(selector: [u8; 4]) -> Result<(), Error>
fn type_check(selector: [u8; 4]) -> Result<(), Error>
§fn abi_encode(&self) -> Vec<u8> ⓘ
fn abi_encode(&self) -> Vec<u8> ⓘ
self into the given buffer.§fn abi_decode(data: &[u8]) -> Result<Self, Error>
fn abi_decode(data: &[u8]) -> Result<Self, Error>
self.§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>
self, with validation. Read moreimpl StructuralPartialEq for ITIP20Calls
Auto Trait Implementations§
impl Freeze for ITIP20Calls
impl RefUnwindSafe for ITIP20Calls
impl Send for ITIP20Calls
impl Sync for ITIP20Calls
impl Unpin for ITIP20Calls
impl UnsafeUnpin for ITIP20Calls
impl UnwindSafe for ITIP20Calls
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<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for Twhere
T: RpcSend + RpcRecv,
impl<T> RpcRecv for T
impl<T> RpcSend for T
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
propagate-header only.§fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
add-extension only.§fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
map-request-body only.§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
map-response-body only.§fn compression(self) -> Compression<Self>where
Self: Sized,
fn compression(self) -> Compression<Self>where
Self: Sized,
compression-br or compression-deflate or compression-gzip or compression-zstd only.§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
decompression-br or decompression-deflate or decompression-gzip or decompression-zstd only.§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
trace only.§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
trace only.§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
follow-redirect only.§fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
sensitive-headers only.§fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
sensitive-headers only.§fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
sensitive-headers only.§fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
set-header only.§fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
set-header only.§fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
set-header only.§fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
set-header only.§fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
set-header only.§fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
set-header only.§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
request-id only.§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
request-id only.x-request-id as the header name. Read more§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
request-id only.§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
request-id only.x-request-id as the header name. Read more§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
catch-panic only.500 Internal Server responses. Read more§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
limit only.413 Payload Too Large responses. Read more§fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
normalize-path only.§fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
normalize-path only.§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 184 bytes
Size for each variant:
name: 0 bytessymbol: 0 bytesdecimals: 0 bytestotalSupply: 0 bytesquoteToken: 0 bytesnextQuoteToken: 0 bytesbalanceOf: 20 bytestransfer: 63 bytesapprove: 63 bytesallowance: 40 bytestransferFrom: 79 bytesmint: 63 bytesburn: 39 bytescurrency: 0 bytessupplyCap: 0 bytespaused: 0 bytestransferPolicyId: 0 byteslogoURI: 0 bytessetLogoURI: 31 bytesburnBlocked: 63 bytesmintWithMemo: 95 bytesburnWithMemo: 71 bytestransferWithMemo: 95 bytestransferFromWithMemo: 111 byteschangeTransferPolicyId: 15 bytessetSupplyCap: 39 bytespause: 0 bytesunpause: 0 bytessetNextQuoteToken: 20 bytescompleteQuoteTokenUpdate: 0 bytesPAUSE_ROLE: 0 bytesUNPAUSE_ROLE: 0 bytesISSUER_ROLE: 0 bytesBURN_BLOCKED_ROLE: 0 bytespermit: 183 bytesnonces: 20 bytesDOMAIN_SEPARATOR: 0 bytesdistributeReward: 39 bytessetRewardRecipient: 20 bytesclaimRewards: 0 bytesoptedInSupply: 0 bytesglobalRewardPerToken: 0 bytesuserRewardInfo: 20 bytesgetPendingRewards: 20 bytes