ExperimentalExperimentalExperimentalExperimentalOutpoints held by NON-terminal intents — waiting_to_submit,
waiting_for_batch, and batch_in_progress — to exclude from spendable
balance. Terminal states never lock.
Deliberate divergence from NArk EF storage, whose GetLockedVtxoOutpoints
locks only WaitingToSubmit/WaitingForBatch: the TS wallet balance is
offline-first and reads this set as its single source of coin locking, so
it must also hold inputs already committed to an in-progress batch. NArk
excludes BatchInProgress here but protects those inputs through its
active-intent services instead.
ExperimentalUpsert by intentTxId; implementation sets updatedAt = Date.now().
Intent persistence is inert by default. This repository opens its DB at INTENT_DB_VERSION and creates the intent stores, so it must be given a dedicated
dbNamedistinct from the wallet/contract DB until intent persistence is activated in the shared schema — otherwise the shared DB's version-conflict guard rejects the mismatched open.