You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(cketh): report a failed funding as failed, not pending reimbursement
`processed_transaction_status` classified every failed finalized transaction as
`PendingReimbursement`, which the Candid interface defines as "transaction
failed and will be reimbursed". A sweeper funding is never reimbursed, so
`retrieve_eth_status` and `withdrawal_status` promised a reimbursement that
nothing will ever settle — and the status would stay wrong forever, since only
recording a reimbursement moves it on.
Add a `Failed` variant to `TxFinalizedStatus` for a failure that will not be
reimbursed, and pick between the two by asking the request whether it is
reimbursable. This needs the didc override, as any addition to a returned
variant does.
Tests cover all three paths: a failed funding reports `Failed`, a successful one
still reports `Success`, and a failed *user* withdrawal still reports
`PendingReimbursement` — without that last one the first would also pass if the
branch were inverted.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments