import {
RateLimitedError,
QuoteExpiredError,
DuplicateOrderError,
ValidationError,
PrivataError,
} from "@privata/wallet-api";
try {
await privata.createOrder({ ... });
} catch (e) {
if (e instanceof RateLimitedError) return retry(after: e.retryAfterMs);
if (e instanceof QuoteExpiredError) return reQuote();
if (e instanceof DuplicateOrderError) return privata.getOrder(e.existingOrderId);
if (e instanceof ValidationError) return showFieldErrors(e.fields);
// Surface unknown errors with request_id so support can trace.
if (e instanceof PrivataError) {
log.error({ code: e.code, requestId: e.requestId }, e.message);
}
throw e;
}