cancelVault({ requestId }) sends the owner’s cancel from their wallet, with
the cost covered by Endstate. With a tap session it then reads eligibility
until Endstate no longer names the request, and resolves once it does, so
useCanVault offers the vault again.
It needs no tap session, only the wallet that approved the request; without
one it resolves once the network included the cancel. If Endstate has not
seen the cancel within two minutes, or the read fails, it still resolves and
useCanVault keeps its last answer.
Example
Returns
(args: { requestId: string }) => Promise<WalletSubmission>
Resolves with
{ transactionHash, address, resourceId }. Rejects with
submission.not_executable when the request is already closed, and with
auth.forbidden when this wallet did not approve it."idle" | "pending" | "success" | "error"
The outcome of the latest call for the current tap, wallet and sign-in.
WalletSubmission | null
The latest cancel the wallet sent.
Error | null
The failure that moved
status to "error".() => void
Returns the hook to
"idle".
