currency mirrors the CurrencyRegistry: one row per registered code, with the quote asset new launches in that currency use, whether it is a real stablecoin or a Windrose currency backed by a vault, and the most recent rate the keeper oracle posted for it.
Fields
Indexes:
vault, symbol.
Examples
Every currency, alphabetically:curl:
Reading the rate
lastRate is how many units of the currency one US dollar buys, in 1e18 fixed point: an INR rate of 83250000000000000000 means 83.25 INR per USD. To convert a price or amount:
- Launch currency to USD: divide by
lastRate(and multiply by1e18to stay in fixed point). - USD to launch currency: multiply by
lastRate / 1e18.
lastRate.
How the table is maintained
The table is seeded fromregistry.allCodes() and registry.get(code) the first time a handler needs it, and updated by CurrencySet when the registry owner adds a synthetic, changes a tier or toggles enabled. lastRate and lastRateAt are written by every RatePosted for a code the registry lists; rates for unlisted codes only appear in rates.
On Robinhood Chain and Robinhood testnet EUR is not registered, so there is no EUR row there; Arc testnet registers EURC as tier 1.