Enum LockupFate
- Namespace
- NArk.ArkadeIntents.Recovery
- Assembly
- NArk.ArkadeIntents.dll
What the chain says became of a swap lockup.
public enum LockupFate
Fields
Claimed = 2Spent by a witness carrying a preimage that hashes to this swap's payment hash.
Only a claim leaf can reveal one, and the only legitimate way the counterparty obtains it is by completing its side — so this is proof rather than inference.
Exited = 4At least one output was unilaterally exited: it now sits on-chain under the same script, where no off-chain claim or refund can reach it.
Not terminal and not a loss — the leaves are unchanged, so finishing the unroll and spending on-chain still ends the swap either way. It outranks Open deliberately: an output that is "still unspent" but unreachable off-chain is not a swap that is merely running, and reporting it as one is what leaves a caller waiting for a spend that cannot come.
Open = 1At least one output is still unspent and still reachable. Not over.
Returned = 3Fully spent, and nothing that spent it revealed a matching preimage — so it came back to us.
Decidable without asking anyone: every leaf that is not a claim is a refund. The covenant's non-interactive refund is pinned to our own address, and the other refund leaves all need our own signature. "Spent, but not by a hash-verified claim" therefore means the money went back.
Swept = 5At least one unspent output was swept by the operator after the lockup expired.
The covenant's leaves can no longer spend it; recovering it is a separate operation on the wallet's own recovery path. Ranked beside Exited for the same reason — the money is somewhere a refund cannot reach.
Unknown = 0Nothing was learned. Never an answer.
No outputs visible, or one spent by a transaction the indexer could not produce. Indexer lag and a lockup that was never funded look identical from here, and neither is evidence of anything — which is why this is distinct from Returned rather than folded into it. Reading silence as a refund is how a swap that settled gets reported as one that did not.