pub enum ITIP20ChannelReserveCalls {
Show 14 variants
CLOSE_GRACE_PERIOD(CLOSE_GRACE_PERIODCall),
VOUCHER_TYPEHASH(VOUCHER_TYPEHASHCall),
open(openCall),
settle(settleCall),
topUp(topUpCall),
close(closeCall),
requestClose(requestCloseCall),
withdraw(withdrawCall),
getChannel(getChannelCall),
getChannelState(getChannelStateCall),
getChannelStatesBatch(getChannelStatesBatchCall),
computeChannelId(computeChannelIdCall),
getVoucherDigest(getVoucherDigestCall),
domainSeparator(domainSeparatorCall),
}Expand description
Container for all the ITIP20ChannelReserve function calls.
Variants§
CLOSE_GRACE_PERIOD(CLOSE_GRACE_PERIODCall)
VOUCHER_TYPEHASH(VOUCHER_TYPEHASHCall)
open(openCall)
settle(settleCall)
topUp(topUpCall)
close(closeCall)
requestClose(requestCloseCall)
withdraw(withdrawCall)
getChannel(getChannelCall)
getChannelState(getChannelStateCall)
getChannelStatesBatch(getChannelStatesBatchCall)
computeChannelId(computeChannelIdCall)
getVoucherDigest(getVoucherDigestCall)
domainSeparator(domainSeparatorCall)
Implementations§
Source§impl ITIP20ChannelReserveCalls
impl ITIP20ChannelReserveCalls
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 ITIP20ChannelReserveCalls
impl ITIP20ChannelReserveCalls
Sourcepub fn is_payment_with_valid_signature(
input: &[u8],
validate_signature: impl Fn(&[u8]) -> bool,
) -> bool
pub fn is_payment_with_valid_signature( input: &[u8], validate_signature: impl Fn(&[u8]) -> bool, ) -> bool
Returns true if input matches one of the recognized TIP-20 channel reserve payment
selectors: open, topUp, settle, close, requestClose, withdraw.
§NOTES
- Only validates calldata; caller must check that
to == TIP20_CHANNEL_RESERVE_ADDRESS. - Static-only calls require exact ABI-encoded length.
- Dynamic calls require valid ABI decoding and calldata length <=
MAX_PAYMENT_CALLDATA_LEN. - Dynamic calls also require valid
signatureencoding.
Trait Implementations§
Source§impl Clone for ITIP20ChannelReserveCalls
impl Clone for ITIP20ChannelReserveCalls
Source§fn clone(&self) -> ITIP20ChannelReserveCalls
fn clone(&self) -> ITIP20ChannelReserveCalls
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 ITIP20ChannelReserveCalls
impl Debug for ITIP20ChannelReserveCalls
Source§impl<'de> Deserialize<'de> for ITIP20ChannelReserveCalls
impl<'de> Deserialize<'de> for ITIP20ChannelReserveCalls
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 ITIP20ChannelReserveCalls
Source§impl PartialEq for ITIP20ChannelReserveCalls
impl PartialEq for ITIP20ChannelReserveCalls
Source§fn eq(&self, other: &ITIP20ChannelReserveCalls) -> bool
fn eq(&self, other: &ITIP20ChannelReserveCalls) -> bool
self and other values to be equal, and is used by ==.Source§impl SolInterface for ITIP20ChannelReserveCalls
impl SolInterface for ITIP20ChannelReserveCalls
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 ITIP20ChannelReserveCalls
Auto Trait Implementations§
impl !Freeze for ITIP20ChannelReserveCalls
impl RefUnwindSafe for ITIP20ChannelReserveCalls
impl Send for ITIP20ChannelReserveCalls
impl Sync for ITIP20ChannelReserveCalls
impl Unpin for ITIP20ChannelReserveCalls
impl UnsafeUnpin for ITIP20ChannelReserveCalls
impl UnwindSafe for ITIP20ChannelReserveCalls
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: 240 bytes
Size for each variant:
CLOSE_GRACE_PERIOD: 0 bytesVOUCHER_TYPEHASH: 0 bytesopen: 135 bytessettle: 223 bytestopUp: 191 bytesclose: 239 bytesrequestClose: 164 byteswithdraw: 164 bytesgetChannel: 164 bytesgetChannelState: 32 bytesgetChannelStatesBatch: 31 bytescomputeChannelId: 164 bytesgetVoucherDigest: 55 bytesdomainSeparator: 0 bytes