WalletSpendKind enum

What kind of money-committing action is being authorized — drives the host's prompt copy ("Authorize this payment" vs "Authorize recovering funds"). Every arm the package can emit; a host switch stays exhaustive.

Inheritance
Available extensions

Values

send → const WalletSpendKind

An interactive send to an external recipient (signs + broadcasts now).

queuedSend → const WalletSpendKind

An offline-queued send. Emitted at TWO distinct moments, and a host prompt may want different copy for each — WalletSpendIntent.bindingToken tells them apart (null ⇔ the commit moment):

  • COMMIT (session.queueSend, binding null): the intent is durably persisted now; signing happens later. See the caveat on WalletSendAuthorizer.authorizeSpend.
  • AUTHORIZE-NOW (session.authorizeParkedSend, FR-23-b, binding set): the user asked the SDK to sign a parked send at this moment, so the signature happens INSIDE this bracket — like send, not deferred. This is how an offline queue drains at host custody at all.
shield → const WalletSpendKind

Shielding the wallet's own transparent funds (signs + broadcasts now).

unshield → const WalletSpendKind

Moving shielded funds to the wallet's own transparent address (signs + broadcasts now).

sweep → const WalletSpendKind

The manual one-time-address recovery sweep (signs + broadcasts one tx per funded address — the total is unknown up front, so WalletSpendIntent.amountZat is null).

reclaim → const WalletSpendKind

Reopening a bricked one-time-address (TEX) send window (#315): a small self-mint from the wallet's own shielded pool to its own one-time address so the window frees up (signs + broadcasts now). Wallet-INTERNAL — the moved amount returns to the wallet via sweep; the true cost is the two transactions' network fees. WalletSpendIntent.amountZat is null (the fee isn't known up front, and the principal is not a debit — it returns).

swapDeposit → const WalletSpendKind

A swap's outgoing ZEC deposit (OutOfZec execute). Signs + broadcasts NOW, inside this bracket (FR-23-a / custody invariant): the deposit is durably enqueued then signed at execute, while the user is present — so swap works at every custody tier (a host-custody wallet serves the seed here). NOT the deferred-signing caveat that queuedSend still carries. An IntoZec execute moves no wallet funds and is never authorized.

Properties

hashCode → int
The hash code for this object.
no setterinherited
index → int
A numeric identifier for the enumerated value.
no setterinherited
name → String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
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.
inherited

Constants

values → const List<WalletSpendKind>
A constant List of the values in this enum, in order of their declaration.