@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias EscrowTransferStatus

    EscrowTransferStatus:
        | "PENDING"
        | "CREATED"
        | "RECIPIENT_SET"
        | "CLAIMED"
        | "CANCELLED"
        | "REJECTED"
        | "EXPIRED"
        | "FAILED"

    Lifecycle states for an escrow transfer. Conventions match sibling tables (withdrawal, deposit, swap, redemption): UPPERCASE_SNAKE_CASE, past-tense terminal states, single PENDING for any in-flight transition.

    • PENDING — DB row created, on-chain create_escrow not yet confirmed
    • CREATED — on-chain escrow exists, recipient wallet not yet attached
    • RECIPIENT_SETupdate_escrow succeeded, recipient wallet attached
    • CLAIMED — funds released to recipient (terminal)
    • CANCELLED — sender-initiated recall (terminal). Spelling matches sibling enums (deposit, ledger_account_transfer both use the en-GB double-L variant).
    • REJECTED — recipient- or authority-initiated rejection (terminal)
    • EXPIRED — auto-expired after 10 days (terminal)
    • FAILED — non-recoverable error during any transition (terminal)

    The cross-cluster backfill collapses every legacy *ing intermediate to PENDING; the original legacy value is preserved in the row's history jsonb so nothing is lost.