Ultimate

X_CURRENCY_REDEFINED

Means

one currency code registered twice with different meanings

Typical cause

a second registerCurrency for a code already in force — a shipped ISO row, or an earlier registration — carrying a different exponent or name. An identical second call is a no-op, so a module imported twice is not a crash; cause prints both declarations

Fix

keep one registerCurrency({ code: 'XBT', exponent: 2, name: 'XBT' }) call and delete the other. Changing a live exponent means migrating every stored amount in that currency first — each one shifts by a power of ten

Listed under i18n, money, time

This page as markdown