ReservationPressure class

The ephemeral reservation-PRESSURE gauge — a LOWER-BOUND count of how close the wallet is to the engine's one-time-address (ZIP-320 ephemeral) gap-limit ceiling, beyond which a TEX send cannot mint a fresh one-time address and PARKS. ⚠ outstanding is a LOWER BOUND, NOT a faithful "N of M" (#315): the underlying engine read is BLIND to slots held by sends that were CREATED then never confirmed (the common stuck shape — their output row exists from create-persist, so the read drops them), so it can read 0 while the window is actually full. So NEVER drive an availability state from it as if it were exact — surface it as a proactive "at least N of M in use" hint, and let the engine's TexSendLimitReached at send time be the real gate. (The engine CEILING itself IS dual-natured — some slots clear as transfers confirm, some never do — which is why the ceiling COPY, distinct from this gauge, promises neither "just wait" nor doom.) COUNTS-only. An INDICATOR for display, NEVER a money gate (the engine enforces the ceiling at reservation time); 0 outstanding in the common case (no TEX send has reserved an address).

INDICATOR, NOT A GATE (host contract — like RecoverableEphemeralFunds's isFinal). Drive any availability STATE off atCeiling, never off the raw ratio. Do NOT use atCeiling to DISABLE the send path — limit is a mirror of the engine default, so a stale-low mirror can flip atCeiling EARLY and a hard-disabled button would block a send the engine would actually accept. Let the user attempt; the engine's TexSendLimitReached is the real gate, and a send that does park is recoverable (it appears in WalletHandle.listParkedSends). When rendering "N of M", CLAMP N to M for display — if a future engine raises its real gap above the mirror, outstanding can exceed limit and a verbatim "12 of 10" is incoherent (atCeiling stays correct via the welded >=).

Constructors

ReservationPressure({required int outstanding, required int limit, required bool atCeiling})
const

Properties

atCeiling → bool
true iff outstanding >= limit — the next TEX send would park at the ceiling. Render the dual-natured ceiling WARNING (see the type doc — never a bare "temporarily unavailable", and never disable the send path). Welded in so the host can never render a money-relevant availability state by skipping the comparison.
final
hashCode → PlatformInt64
The hash code for this object.
no setteroverride
limit → PlatformInt64
The engine gap-limit denominator (the "N of M" M). An observability figure, not the enforcing bound.
final
outstanding → PlatformInt64
Outstanding one-time-address reservations — a LOWER BOUND (#315): the underlying engine read cannot see slots held by sends that were created and then never confirmed (the common stuck shape), so this can read 0 while the window is actually full. Treat it as "at least N in use", never as proof the window is clear; the real gate stays the typed WalletErrorKind.texSendLimitReached at send time. MAY exceed limit if the engine default ever rises above the mirror — clamp to limit for an "N of M" display.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override