pub struct TIP20ChannelReserve {
pub channel_states: <Mapping<B256, PackedChannelState> as StorableType>::Handler,
pub opened_this_tx: <Mapping<B256, bool> as StorableType>::Handler,
pub channel_open_context_hash: <B256 as StorableType>::Handler,
address: Address,
storage: StorageCtx,
}Fields§
§channel_states: <Mapping<B256, PackedChannelState> as StorableType>::Handler§opened_this_tx: <Mapping<B256, bool> as StorableType>::Handler§channel_open_context_hash: <B256 as StorableType>::Handler§address: Address§storage: StorageCtxImplementations§
Source§impl TIP20ChannelReserve
impl TIP20ChannelReserve
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates an instance of the precompile.
Caution: This does not initialize the account, see Self::initialize.
fn __new(address: Address) -> Self
fn __initialize(&mut self) -> Result<()>
fn emit_event(&mut self, event: impl IntoLogData) -> Result<()>
pub fn emitted_events(&self) -> &Vec<LogData>
test-utils only.pub fn clear_emitted_events(&mut self)
test-utils only.pub fn assert_emitted_events(&self, expected: Vec<impl IntoLogData>)
test-utils only.Source§impl TIP20ChannelReserve
impl TIP20ChannelReserve
Sourcepub fn initialize(&mut self) -> Result<()>
pub fn initialize(&mut self) -> Result<()>
Initializes the precompile storage layout.
Sourcepub fn set_channel_open_context_hash(&mut self, hash: B256) -> Result<()>
pub fn set_channel_open_context_hash(&mut self, hash: B256) -> Result<()>
Seeds the enclosing transaction’s replay-protected context hash for open calls.
The handler seeds keccak256(encode_for_signing || sender) for every real transaction
type. The value is stored in transient storage so batched open calls share the same
transaction-derived hash and the context is automatically cleared before the next
transaction. If this is not called, open reads zero from transient storage and reverts.
Sourcepub fn open(&mut self, msg_sender: Address, call: openCall) -> Result<B256>
pub fn open(&mut self, msg_sender: Address, call: openCall) -> Result<B256>
Opens a channel and pulls the initial deposit from the payer into reserve.
Payees and integrators must independently decide whether any nonzero operator is acceptable before relying on the channel.
Payees cannot be zero or TIP-20 addresses. Virtual payees require a non-virtual operator. This prevents channels whose payee cannot receive direct payouts or submit vouchers itself.
Sourcepub fn settle(&mut self, msg_sender: Address, call: settleCall) -> Result<()>
pub fn settle(&mut self, msg_sender: Address, call: settleCall) -> Result<()>
Settles an increasing cumulative voucher, paying only the unsettled delta to the payee.
The payee can call directly. If an operator was set when the channel was opened, that operator can submit the payee’s voucher and route the payment to the descriptor payee.
Sourcepub fn top_up(&mut self, msg_sender: Address, call: topUpCall) -> Result<()>
pub fn top_up(&mut self, msg_sender: Address, call: topUpCall) -> Result<()>
Adds deposit to an existing channel and cancels a pending close request.
A zero top-up is allowed and only cancels a pending close request.
Sourcepub fn request_close(
&mut self,
msg_sender: Address,
call: requestCloseCall,
) -> Result<()>
pub fn request_close( &mut self, msg_sender: Address, call: requestCloseCall, ) -> Result<()>
Starts the payer’s unilateral close timer.
Repeated calls are idempotent while the timer is active.
Sourcepub fn close(&mut self, msg_sender: Address, call: closeCall) -> Result<()>
pub fn close(&mut self, msg_sender: Address, call: closeCall) -> Result<()>
Closes a channel from the payee side and refunds any uncaptured deposit to the payer.
The payee can call directly. If an operator was set when the channel was opened, that operator can close the channel and route any capture to the descriptor payee.
captureAmount can be below cumulativeAmount but cannot be below what has already
settled. A new voucher is only required when the close captures more than settled.
Sourcepub fn withdraw(
&mut self,
msg_sender: Address,
call: withdrawCall,
) -> Result<()>
pub fn withdraw( &mut self, msg_sender: Address, call: withdrawCall, ) -> Result<()>
Withdraws the payer’s remaining deposit after the close grace period has elapsed.
Sourcepub fn get_channel(&self, call: getChannelCall) -> Result<Channel>
pub fn get_channel(&self, call: getChannelCall) -> Result<Channel>
Returns a descriptor with its current on-chain state.
Sourcepub fn get_channel_state(
&self,
call: getChannelStateCall,
) -> Result<ChannelState>
pub fn get_channel_state( &self, call: getChannelStateCall, ) -> Result<ChannelState>
Returns the current state for a channel id, or the zero state for an empty slot.
Sourcepub fn get_channel_states_batch(
&self,
call: getChannelStatesBatchCall,
) -> Result<Vec<ChannelState>>
pub fn get_channel_states_batch( &self, call: getChannelStatesBatchCall, ) -> Result<Vec<ChannelState>>
Returns current states for multiple channel ids.
Sourcepub fn compute_channel_id(&self, call: computeChannelIdCall) -> Result<B256>
pub fn compute_channel_id(&self, call: computeChannelIdCall) -> Result<B256>
Computes the deterministic channel id for a full channel descriptor.
Sourcepub fn get_voucher_digest(&self, call: getVoucherDigestCall) -> Result<B256>
pub fn get_voucher_digest(&self, call: getVoucherDigestCall) -> Result<B256>
Returns the EIP-712 digest that the payer or authorized signer must sign.
Sourcepub fn domain_separator(&self) -> Result<B256>
pub fn domain_separator(&self) -> Result<B256>
Returns the EIP-712 domain separator for this chain and precompile address.
Sourcefn now_u32(&self) -> u32
fn now_u32(&self) -> u32
Returns the current block timestamp as the packed close-request representation.
Sourcefn channel_id(&self, descriptor: &ChannelDescriptor) -> Result<B256>
fn channel_id(&self, descriptor: &ChannelDescriptor) -> Result<B256>
Computes the channel id from a descriptor.
Sourcefn ensure_payee_or_operator(
msg_sender: Address,
descriptor: &ChannelDescriptor,
) -> Result<()>
fn ensure_payee_or_operator( msg_sender: Address, descriptor: &ChannelDescriptor, ) -> Result<()>
Ensures the caller is the payee or the descriptor’s nonzero operator.
Sourcefn enclosing_channel_open_context_hash(&self) -> Result<B256>
fn enclosing_channel_open_context_hash(&self) -> Result<B256>
Loads the transaction-scoped nonce hash seeded by the handler.
Sourcefn compute_channel_id_inner(
&self,
payer: Address,
payee: Address,
operator: Address,
token: Address,
salt: B256,
authorized_signer: Address,
expiring_nonce_hash: B256,
) -> Result<B256>
fn compute_channel_id_inner( &self, payer: Address, payee: Address, operator: Address, token: Address, salt: B256, authorized_signer: Address, expiring_nonce_hash: B256, ) -> Result<B256>
Computes the channel id including chain and precompile domain separation.
Sourcefn load_existing_state(&self, channel_id: B256) -> Result<PackedChannelState>
fn load_existing_state(&self, channel_id: B256) -> Result<PackedChannelState>
Loads an active channel or returns ChannelNotFound.
Sourcefn expected_signer(&self, descriptor: &ChannelDescriptor) -> Address
fn expected_signer(&self, descriptor: &ChannelDescriptor) -> Address
Returns the address authorized to sign vouchers for this descriptor.
Sourcefn validate_voucher(
&self,
descriptor: &ChannelDescriptor,
channel_id: B256,
cumulative_amount: U96,
signature: &Bytes,
) -> Result<()>
fn validate_voucher( &self, descriptor: &ChannelDescriptor, channel_id: B256, cumulative_amount: U96, signature: &Bytes, ) -> Result<()>
Validates a voucher signature against the descriptor’s expected signer.
Sourcefn get_voucher_digest_inner(
&self,
channel_id: B256,
cumulative_amount: U96,
) -> Result<B256>
fn get_voucher_digest_inner( &self, channel_id: B256, cumulative_amount: U96, ) -> Result<B256>
Computes the EIP-712 voucher digest.
Source§impl TIP20ChannelReserve
impl TIP20ChannelReserve
Sourcepub fn create_precompile(
cfg: &CfgEnv<TempoHardfork>,
actions: StorageActions,
) -> DynPrecompile
pub fn create_precompile( cfg: &CfgEnv<TempoHardfork>, actions: StorageActions, ) -> DynPrecompile
Creates the EVM precompile for this type.
Trait Implementations§
Source§impl ContractStorage for TIP20ChannelReserve
impl ContractStorage for TIP20ChannelReserve
Source§fn storage(&self) -> &StorageCtx
fn storage(&self) -> &StorageCtx
Source§fn storage_mut(&mut self) -> &mut StorageCtx
fn storage_mut(&mut self) -> &mut StorageCtx
Source§fn is_initialized(&self) -> Result<bool>
fn is_initialized(&self) -> Result<bool>
Source§impl Default for TIP20ChannelReserve
impl Default for TIP20ChannelReserve
Source§impl Precompile for TIP20ChannelReserve
impl Precompile for TIP20ChannelReserve
Auto Trait Implementations§
impl !Freeze for TIP20ChannelReserve
impl !RefUnwindSafe for TIP20ChannelReserve
impl !Sync for TIP20ChannelReserve
impl Send for TIP20ChannelReserve
impl Unpin for TIP20ChannelReserve
impl UnsafeUnpin for TIP20ChannelReserve
impl UnwindSafe for TIP20ChannelReserve
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Conv for T
impl<T> Conv for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv] from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
TxEnv] from a transaction, its sender, and encoded transaction bytes.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§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> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§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>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§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>,
Source§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: 296 bytes