Table of Contents

Enum RefundBlockedReason

Namespace
NArk.ArkadeIntents.Recovery
Assembly
NArk.ArkadeIntents.dll

Why a refund cannot be pushed from this wallet, as opposed to not being due yet.

public enum RefundBlockedReason

Fields

ContractMismatch = 2

The contract rebuilds to a script other than the one that was funded.

The parameters and the script are stored independently, so a parameter written wrong — or dropped by a field-mapped backend — yields a contract that looks entirely valid and simply cannot sign for the money. An Arkade server key rotated since funding does the same.

ContractMissing = 1

The lockup contract is not in this store, so the funded script cannot be rebuilt.

Usually a wallet restored from a seed without the contract rows that went with it. The money is untouched and the swap is not lost — it needs the store that recorded how the script was built, or a restore that rebuilds it.

NoLocktime = 3

The swap carries no refund locktime, so there is no deadline to test against.

NoSigner = 0

The wallet holds no signer, so nothing here can sign the refund leaf.

Remarks

The distinction matters because the two look identical to a caller and mean opposite things. "Not yet" resolves itself by waiting; these do not resolve at all until something about the wallet changes, and a loop that treats them as "not yet" retries forever while a window closes.