Enum ArkadeSwapIntentStatus
- Namespace
- NArk.ArkadeIntents.Models
- Assembly
- NArk.ArkadeIntents.dll
Lifecycle of a non-interactive swap, derived from the covenant VTXO's on-chain state (mirrors
the arkade wallet's AssetSwapStatus).
public enum ArkadeSwapIntentStatus
Fields
Cancelled = 5The swap was cancelled and the deposit returned.
Cancelling = 3The cancel path is being spent; set before spending so the monitor can't read the cancel as a fill.
Claimable = 2The counterparty funded a receive covenant and it is ours to spend, or an EVM route has revealed P at L and now requires a verified ERC20 claim.
The receive direction inverts who waits on whom: the solver pays out first, so an unspent lockup is not a swap still waiting on someone else — it is money sitting in a script only our claim can move, on a clock, before the solver's own reclaim path opens.
Fulfilled = 4The solver spent the covenant VTXO — the swap completed.
Funding = 0The swap is recorded and its funding spend is in flight, or its outcome is not yet known.
Written BEFORE the money moves, which is the only ordering that cannot lose a swap: a crash after funding but before recording would otherwise leave funds in a script nothing is watching. The cost is the opposite and much cheaper case — a row for a spend that never landed, which reconciliation can see precisely because the row exists.
Pending = 1Deposit funded; waiting for the solver to fill (or for expiry).
Recoverable = 6The covenant VTXO expired/was swept without a fill; the deposit is recoverable on-chain.
Refundable = 7The refund deadline passed with the deposit still unspent (BtcToLightning only). Anyone may now push the covenant refund, which can pay nowhere but the maker's own address.
Resolved = 8The covenant VTXO was spent once both the fill and refund paths were live (BtcToLightning only), so which one it was is decidable only from the spending witness — a preimage there means the solver filled. Either way the maker's exposure is over.