Skip to content

fix(buy-fiat): log incomplete-creditor skips at WARN, not ERROR#3866

Closed
Danswar wants to merge 1 commit into
developfrom
fix/buy-fiat-skip-warn
Closed

fix(buy-fiat): log incomplete-creditor skips at WARN, not ERROR#3866
Danswar wants to merge 1 commit into
developfrom
fix/buy-fiat-skip-warn

Conversation

@Danswar

@Danswar Danswar commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Problem

#3858 made addFiatOutputs isolate per-record failures (so one bad record no longer aborts the whole payout run — correct). But the most common per-record failure is a buy-fiat with incomplete creditor data (missing IBAN/address/etc.), and that is now logged at ERROR every cycle for every affected record. On dfxdev this turned the old single abort/min into ~200 ERROR/hr (BuyFiat 418/480/485/518/519… "Missing required creditor fields").

Change

Incomplete creditor data is a handled skip (the record is retried next cycle once details are provided), not a failure — so log it at WARN. Unexpected errors still log at ERROR, so a real outage stays visible (same skip-vs-real-error split as the exchange-credentials guard in #3859).

isIncompleteCreditorData(e) matches the Missing required creditor fields validation error thrown by FiatOutputService.createInternal; both the immediate and batched payout catch blocks branch on it.

Verification

  • npx tsc --noEmit — clean
  • jest buy-fiat — 4/4 pass

addFiatOutputs (#3858) isolates per-record failures, but a buy-fiat with
incomplete creditor data (missing IBAN/address/etc.) then logs at ERROR every
cycle — a handled skip, not a failure. Log those at WARN; unexpected errors
still surface as ERROR so a real outage stays visible.
@Danswar Danswar force-pushed the fix/buy-fiat-skip-warn branch from 1f6ac03 to 8af8e80 Compare June 10, 2026 19:13
@davidleomay

Copy link
Copy Markdown
Member

This is a DEV phenomena, should stay an error on PRD. Cleaned up the data and closing this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants