module Data.Currency where
import Prelude hiding (Ordering (..))
import Control.Monad ((>=>))
import Data.Aeson as Aeson
import Data.Aeson (FromJSON (..), ToJSON (..))
import Data.Bson (Val (..), (=:))
import qualified Data.Bson as Bson
import Data.Data (Data)
import Data.Text (Text)
import Data.Typeable (Typeable)
import GHC.Generics (Generic)
import qualified Safe
import System.Random (Random (..))
data Currency = Currency
{ alpha :: Alpha
, numeric :: Int
, minor :: Int
, name :: Text
} deriving (Show, Eq, Read, Generic, Data, Typeable)
instance FromJSON Currency where parseJSON = Aeson.genericParseJSON Aeson.defaultOptions
instance ToJSON Currency where toJSON = Aeson.genericToJSON Aeson.defaultOptions
instance Val Currency where
val Currency{..} = Bson.Doc
[ "alpha" =: alpha
, "numeric" =: numeric
, "minor" =: minor
, "name" =: name
]
cast' v = case v of
Bson.Doc doc -> Currency
<$> Bson.lookup "alpha" doc
<*> Bson.lookup "numeric" doc
<*> Bson.lookup "minor" doc
<*> Bson.lookup "name" doc
_ -> Nothing
instance Random Currency where
random g =
let (i, g') = randomR (0, length currencies 1) g
in (currencies !! i, g')
randomR (a, b) g =
let currencies' = dropWhile (/= a) $ takeWhile (/= b) currencies
(i, g') = randomR (0, length currencies' 1) g
in (currencies' !! i, g')
data Alpha
= AED
| AFN
| ALL
| AMD
| ANG
| AOA
| ARS
| AUD
| AWG
| AZN
| BAM
| BBD
| BDT
| BGN
| BHD
| BIF
| BMD
| BND
| BOB
| BOV
| BRL
| BSD
| BTN
| BWP
| BYN
| BZD
| CAD
| CDF
| CHE
| CHF
| CHW
| CLF
| CLP
| CNY
| COP
| COU
| CRC
| CUC
| CUP
| CVE
| CZK
| DJF
| DKK
| DOP
| DZD
| EGP
| ERN
| ETB
| EUR
| FJD
| FKP
| GBP
| GEL
| GHS
| GIP
| GMD
| GNF
| GTQ
| GYD
| HKD
| HNL
| HRK
| HTG
| HUF
| IDR
| ILS
| INR
| IQD
| IRR
| ISK
| JMD
| JOD
| JPY
| KES
| KGS
| KHR
| KMF
| KPW
| KRW
| KWD
| KYD
| KZT
| LAK
| LBP
| LKR
| LRD
| LSL
| LYD
| MAD
| MDL
| MGA
| MKD
| MMK
| MNT
| MOP
| MRO
| MUR
| MVR
| MWK
| MXN
| MXV
| MYR
| MZN
| NAD
| NGN
| NIO
| NOK
| NPR
| NZD
| OMR
| PAB
| PEN
| PGK
| PHP
| PKR
| PLN
| PYG
| QAR
| RON
| RSD
| RUB
| RWF
| SAR
| SBD
| SCR
| SDG
| SEK
| SGD
| SHP
| SLL
| SOS
| SRD
| SSP
| STD
| SVC
| SYP
| SZL
| THB
| TJS
| TMT
| TND
| TOP
| TRY
| TTD
| TWD
| TZS
| UAH
| UGX
| USD
| USN
| UYI
| UYU
| UZS
| VEF
| VND
| VUV
| WST
| XAF
| XAG
| XAU
| XBA
| XBB
| XBC
| XBD
| XCD
| XDR
| XOF
| XPD
| XPF
| XPT
| XSU
| XTS
| XUA
| XXX
| YER
| ZAR
| ZMW
| ZWL
deriving (Show, Eq, Ord, Enum, Bounded, Read, Generic, Data, Typeable)
instance FromJSON Alpha where parseJSON = Aeson.genericParseJSON Aeson.defaultOptions
instance ToJSON Alpha where toJSON = Aeson.genericToJSON Aeson.defaultOptions
instance Val Alpha where val = val . show
cast' = cast' >=> Safe.readMay
instance Random Alpha where
random g =
let (r, g') = randomR (fromEnum (minBound :: Alpha), fromEnum(maxBound :: Alpha)) g
in (toEnum r, g')
randomR (l, h) g =
let (r, g') = randomR (fromEnum l, fromEnum h) g
in (toEnum r, g')
unitOfAccount :: Currency
unitOfAccount =
Currency XUA 965 0 "ADB Unit of Account"
afghani :: Currency
afghani =
Currency AFN 971 2 "Afghani"
algerianDinar :: Currency
algerianDinar =
Currency DZD 012 2 "Algerian Dinar"
argentinePeso :: Currency
argentinePeso =
Currency ARS 032 2 "Argentine Peso"
armenianDram :: Currency
armenianDram =
Currency AMD 051 2 "Armenian Dram"
arubanFlorin :: Currency
arubanFlorin =
Currency AWG 533 2 "Aruban Florin"
australianDollar :: Currency
australianDollar =
Currency AUD 036 2 "Australian Dollar"
azerbaijanManat :: Currency
azerbaijanManat =
Currency AZN 944 2 "Azerbaijan Manat"
bahamianDollar :: Currency
bahamianDollar =
Currency BSD 044 2 "Bahamian Dollar"
bahrainiDinar :: Currency
bahrainiDinar =
Currency BHD 048 3 "Bahraini Dinar"
baht :: Currency
baht =
Currency THB 764 2 "Baht"
balboa :: Currency
balboa =
Currency PAB 590 2 "Balboa"
barbadosDollar :: Currency
barbadosDollar =
Currency BBD 052 2 "Barbados Dollar"
belarusianRuble :: Currency
belarusianRuble =
Currency BYN 933 2 "Belarusian Ruble"
belizeDollar :: Currency
belizeDollar =
Currency BZD 084 2 "Belize Dollar"
bermudianDollar :: Currency
bermudianDollar =
Currency BMD 060 2 "Bermudian Dollar"
boliviano :: Currency
boliviano =
Currency BOB 068 2 "Boliviano"
bolívar :: Currency
bolívar =
Currency VEF 937 2 "Bolívar"
bondMarketsCompositeUnit :: Currency
bondMarketsCompositeUnit =
Currency XBA 955 0 "Bond Markets Unit European Composite Unit (EURCO)"
bondMarketsMonetaryUnit :: Currency
bondMarketsMonetaryUnit =
Currency XBB 956 0 "Bond Markets Unit European Monetary Unit (E.M.U.-6)"
bondMarketsUnitofAccount17 :: Currency
bondMarketsUnitofAccount17 =
Currency XBD 958 0 "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)"
bondMarketsUnitofAccount9 :: Currency
bondMarketsUnitofAccount9 =
Currency XBC 957 0 "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)"
brazilianReal :: Currency
brazilianReal =
Currency BRL 986 2 "Brazilian Real"
bruneiDollar :: Currency
bruneiDollar =
Currency BND 096 2 "Brunei Dollar"
bulgarianLev :: Currency
bulgarianLev =
Currency BGN 975 2 "Bulgarian Lev"
burundiFranc :: Currency
burundiFranc =
Currency BIF 108 0 "Burundi Franc"
cfaFrancBCEAO :: Currency
cfaFrancBCEAO =
Currency XOF 952 0 "CFA Franc BCEAO"
cfaFrancBEAC :: Currency
cfaFrancBEAC =
Currency XAF 950 0 "CFA Franc BEAC"
cfpFranc :: Currency
cfpFranc =
Currency XPF 953 0 "CFP Franc"
caboVerdeEscudo :: Currency
caboVerdeEscudo =
Currency CVE 132 2 "Cabo Verde Escudo"
canadianDollar :: Currency
canadianDollar =
Currency CAD 124 2 "Canadian Dollar"
caymanIslandsDollar :: Currency
caymanIslandsDollar =
Currency KYD 136 2 "Cayman Islands Dollar"
chileanPeso :: Currency
chileanPeso =
Currency CLP 152 0 "Chilean Peso"
testing :: Currency
testing =
Currency XTS 963 0 "Codes specifically reserved for testing purposes"
colombianPeso :: Currency
colombianPeso =
Currency COP 170 2 "Colombian Peso"
comorianFranc :: Currency
comorianFranc =
Currency KMF 174 0 "Comorian Franc"
congoleseFranc :: Currency
congoleseFranc =
Currency CDF 976 2 "Congolese Franc"
convertibleMark :: Currency
convertibleMark =
Currency BAM 977 2 "Convertible Mark"
cordobaOro :: Currency
cordobaOro =
Currency NIO 558 2 "Cordoba Oro"
costaRicanColon :: Currency
costaRicanColon =
Currency CRC 188 2 "Costa Rican Colon"
cubanPeso :: Currency
cubanPeso =
Currency CUP 192 2 "Cuban Peso"
czechKoruna :: Currency
czechKoruna =
Currency CZK 203 2 "Czech Koruna"
dalasi :: Currency
dalasi =
Currency GMD 270 2 "Dalasi"
danishKrone :: Currency
danishKrone =
Currency DKK 208 2 "Danish Krone"
denar :: Currency
denar =
Currency MKD 807 2 "Denar"
djiboutiFranc :: Currency
djiboutiFranc =
Currency DJF 262 0 "Djibouti Franc"
dobra :: Currency
dobra =
Currency STD 678 2 "Dobra"
dominicanPeso :: Currency
dominicanPeso =
Currency DOP 214 2 "Dominican Peso"
dong :: Currency
dong =
Currency VND 704 0 "Dong"
eastCaribbeanDollar :: Currency
eastCaribbeanDollar =
Currency XCD 951 2 "East Caribbean Dollar"
egyptianPound :: Currency
egyptianPound =
Currency EGP 818 2 "Egyptian Pound"
elSalvadorColon :: Currency
elSalvadorColon =
Currency SVC 222 2 "El Salvador Colon"
ethiopianBirr :: Currency
ethiopianBirr =
Currency ETB 230 2 "Ethiopian Birr"
euro :: Currency
euro =
Currency EUR 978 2 "Euro"
falklandIslandsPound :: Currency
falklandIslandsPound =
Currency FKP 238 2 "Falkland Islands Pound"
fijiDollar :: Currency
fijiDollar =
Currency FJD 242 2 "Fiji Dollar"
forint :: Currency
forint =
Currency HUF 348 2 "Forint"
ghanaCedi :: Currency
ghanaCedi =
Currency GHS 936 2 "Ghana Cedi"
gibraltarPound :: Currency
gibraltarPound =
Currency GIP 292 2 "Gibraltar Pound"
gold :: Currency
gold =
Currency XAU 959 0 "Gold"
gourde :: Currency
gourde =
Currency HTG 332 2 "Gourde"
guarani :: Currency
guarani =
Currency PYG 600 0 "Guarani"
guineanFranc :: Currency
guineanFranc =
Currency GNF 324 0 "Guinean Franc"
guyanaDollar :: Currency
guyanaDollar =
Currency GYD 328 2 "Guyana Dollar"
hongKongDollar :: Currency
hongKongDollar =
Currency HKD 344 2 "Hong Kong Dollar"
hryvnia :: Currency
hryvnia =
Currency UAH 980 2 "Hryvnia"
icelandKrona :: Currency
icelandKrona =
Currency ISK 352 0 "Iceland Krona"
indianRupee :: Currency
indianRupee =
Currency INR 356 2 "Indian Rupee"
iranianRial :: Currency
iranianRial =
Currency IRR 364 2 "Iranian Rial"
iraqiDinar :: Currency
iraqiDinar =
Currency IQD 368 3 "Iraqi Dinar"
jamaicanDollar :: Currency
jamaicanDollar =
Currency JMD 388 2 "Jamaican Dollar"
jordanianDinar :: Currency
jordanianDinar =
Currency JOD 400 3 "Jordanian Dinar"
kenyanShilling :: Currency
kenyanShilling =
Currency KES 404 2 "Kenyan Shilling"
kina :: Currency
kina =
Currency PGK 598 2 "Kina"
kuna :: Currency
kuna =
Currency HRK 191 2 "Kuna"
kuwaitiDinar :: Currency
kuwaitiDinar =
Currency KWD 414 3 "Kuwaiti Dinar"
kwanza :: Currency
kwanza =
Currency AOA 973 2 "Kwanza"
kyat :: Currency
kyat =
Currency MMK 104 2 "Kyat"
laoKip :: Currency
laoKip =
Currency LAK 418 2 "Lao Kip"
lari :: Currency
lari =
Currency GEL 981 2 "Lari"
lebanesePound :: Currency
lebanesePound =
Currency LBP 422 2 "Lebanese Pound"
lek :: Currency
lek =
Currency ALL 008 2 "Lek"
lempira :: Currency
lempira =
Currency HNL 340 2 "Lempira"
leone :: Currency
leone =
Currency SLL 694 2 "Leone"
liberianDollar :: Currency
liberianDollar =
Currency LRD 430 2 "Liberian Dollar"
libyanDinar :: Currency
libyanDinar =
Currency LYD 434 3 "Libyan Dinar"
lilangeni :: Currency
lilangeni =
Currency SZL 748 2 "Lilangeni"
loti :: Currency
loti =
Currency LSL 426 2 "Loti"
malagasyAriary :: Currency
malagasyAriary =
Currency MGA 969 2 "Malagasy Ariary"
malawiKwacha :: Currency
malawiKwacha =
Currency MWK 454 2 "Malawi Kwacha"
malaysianRinggit :: Currency
malaysianRinggit =
Currency MYR 458 2 "Malaysian Ringgit"
mauritiusRupee :: Currency
mauritiusRupee =
Currency MUR 480 2 "Mauritius Rupee"
mexicanPeso :: Currency
mexicanPeso =
Currency MXN 484 2 "Mexican Peso"
mexicanUnidadDeInversion :: Currency
mexicanUnidadDeInversion =
Currency MXV 979 2 "Mexican Unidad de Inversion (UDI)"
moldovanLeu :: Currency
moldovanLeu =
Currency MDL 498 2 "Moldovan Leu"
moroccanDirham :: Currency
moroccanDirham =
Currency MAD 504 2 "Moroccan Dirham"
mozambiqueMetical :: Currency
mozambiqueMetical =
Currency MZN 943 2 "Mozambique Metical"
mvdol :: Currency
mvdol =
Currency BOV 984 2 "Mvdol"
naira :: Currency
naira =
Currency NGN 566 2 "Naira"
nakfa :: Currency
nakfa =
Currency ERN 232 2 "Nakfa"
namibiaDollar :: Currency
namibiaDollar =
Currency NAD 516 2 "Namibia Dollar"
nepaleseRupee :: Currency
nepaleseRupee =
Currency NPR 524 2 "Nepalese Rupee"
netherlandsAntilleanGuilder :: Currency
netherlandsAntilleanGuilder =
Currency ANG 532 2 "Netherlands Antillean Guilder"
newIsraeliSheqel :: Currency
newIsraeliSheqel =
Currency ILS 376 2 "New Israeli Sheqel"
newTaiwanDollar :: Currency
newTaiwanDollar =
Currency TWD 901 2 "New Taiwan Dollar"
newZealandDollar :: Currency
newZealandDollar =
Currency NZD 554 2 "New Zealand Dollar"
ngultrum :: Currency
ngultrum =
Currency BTN 064 2 "Ngultrum"
northKoreanWon :: Currency
northKoreanWon =
Currency KPW 408 2 "North Korean Won"
norwegianKrone :: Currency
norwegianKrone =
Currency NOK 578 2 "Norwegian Krone"
ouguiya :: Currency
ouguiya =
Currency MRO 478 2 "Ouguiya"
pakistanRupee :: Currency
pakistanRupee =
Currency PKR 586 2 "Pakistan Rupee"
palladium :: Currency
palladium =
Currency XPD 964 0 "Palladium"
pataca :: Currency
pataca =
Currency MOP 446 2 "Pataca"
paanga :: Currency
paanga =
Currency TOP 776 2 "Pa’anga"
pesoConvertible :: Currency
pesoConvertible =
Currency CUC 931 2 "Peso Convertible"
pesoUruguayo :: Currency
pesoUruguayo =
Currency UYU 858 2 "Peso Uruguayo"
philippinePeso :: Currency
philippinePeso =
Currency PHP 608 2 "Philippine Peso"
platinum :: Currency
platinum =
Currency XPT 962 0 "Platinum"
poundSterling :: Currency
poundSterling =
Currency GBP 826 2 "Pound Sterling"
pula :: Currency
pula =
Currency BWP 072 2 "Pula"
qatariRial :: Currency
qatariRial =
Currency QAR 634 2 "Qatari Rial"
quetzal :: Currency
quetzal =
Currency GTQ 320 2 "Quetzal"
rand :: Currency
rand =
Currency ZAR 710 2 "Rand"
rialOmani :: Currency
rialOmani =
Currency OMR 512 3 "Rial Omani"
riel :: Currency
riel =
Currency KHR 116 2 "Riel"
romanianLeu :: Currency
romanianLeu =
Currency RON 946 2 "Romanian Leu"
rufiyaa :: Currency
rufiyaa =
Currency MVR 462 2 "Rufiyaa"
rupiah :: Currency
rupiah =
Currency IDR 360 2 "Rupiah"
russianRuble :: Currency
russianRuble =
Currency RUB 643 2 "Russian Ruble"
rwandaFranc :: Currency
rwandaFranc =
Currency RWF 646 0 "Rwanda Franc"
sdr :: Currency
sdr =
Currency XDR 960 0 "SDR (Special Drawing Right)"
saintHelenaPound :: Currency
saintHelenaPound =
Currency SHP 654 2 "Saint-Helena Pound"
saudiRiyal :: Currency
saudiRiyal =
Currency SAR 682 2 "Saudi Riyal"
serbianDinar :: Currency
serbianDinar =
Currency RSD 941 2 "Serbian Dinar"
seychellesRupee :: Currency
seychellesRupee =
Currency SCR 690 2 "Seychelles Rupee"
silver :: Currency
silver =
Currency XAG 961 0 "Silver"
singaporeDollar :: Currency
singaporeDollar =
Currency SGD 702 2 "Singapore Dollar"
sol :: Currency
sol =
Currency PEN 604 2 "Sol"
solomonIslandsDollar :: Currency
solomonIslandsDollar =
Currency SBD 090 2 "Solomon Islands Dollar"
som :: Currency
som =
Currency KGS 417 2 "Som"
somaliShilling :: Currency
somaliShilling =
Currency SOS 706 2 "Somali Shilling"
somoni :: Currency
somoni =
Currency TJS 972 2 "Somoni"
southSudanesePound :: Currency
southSudanesePound =
Currency SSP 728 2 "South Sudanese Pound"
sriLankaRupee :: Currency
sriLankaRupee =
Currency LKR 144 2 "Sri Lanka Rupee"
sucre :: Currency
sucre =
Currency XSU 994 0 "Sucre"
sudanesePound :: Currency
sudanesePound =
Currency SDG 938 2 "Sudanese Pound"
surinamDollar :: Currency
surinamDollar =
Currency SRD 968 2 "Surinam Dollar"
swedishKrona :: Currency
swedishKrona =
Currency SEK 752 2 "Swedish Krona"
swissFranc :: Currency
swissFranc =
Currency CHF 756 2 "Swiss Franc"
syrianPound :: Currency
syrianPound =
Currency SYP 760 2 "Syrian Pound"
taka :: Currency
taka =
Currency BDT 050 2 "Taka"
tala :: Currency
tala =
Currency WST 882 2 "Tala"
tanzanianShilling :: Currency
tanzanianShilling =
Currency TZS 834 2 "Tanzanian Shilling"
tenge :: Currency
tenge =
Currency KZT 398 2 "Tenge"
noCurrency :: Currency
noCurrency =
Currency XXX 999 0 "The codes assigned for transactions where no currency is involved"
trinidadAndTobagoDollar :: Currency
trinidadAndTobagoDollar =
Currency TTD 780 2 "Trinidad and Tobago Dollar"
tugrik :: Currency
tugrik =
Currency MNT 496 2 "Tugrik"
tunisianDinar :: Currency
tunisianDinar =
Currency TND 788 3 "Tunisian Dinar"
turkishLira :: Currency
turkishLira =
Currency TRY 949 2 "Turkish Lira"
turkmenistanNewManat :: Currency
turkmenistanNewManat =
Currency TMT 934 2 "Turkmenistan New Manat"
uAEDirham :: Currency
uAEDirham =
Currency AED 784 2 "UAE Dirham"
usDollar :: Currency
usDollar =
Currency USD 840 2 "US Dollar"
usDollarNextday :: Currency
usDollarNextday =
Currency USN 997 2 "US Dollar (Next day)"
ugandaShilling :: Currency
ugandaShilling =
Currency UGX 800 0 "Uganda"
unidaddeFomento :: Currency
unidaddeFomento =
Currency CLF 990 4 "Unidad de Fomento"
unidaddeValorReal :: Currency
unidaddeValorReal =
Currency COU 970 2 "Unidad de Valor Real"
uruguayPesoEnUnidadesIndexadas :: Currency
uruguayPesoEnUnidadesIndexadas =
Currency UYI 940 0 "Uruguay Peso en Unidades Indexadas (URUIURUI)"
uzbekistanSum :: Currency
uzbekistanSum =
Currency UZS 860 2 "Uzbekistan"
vatu :: Currency
vatu =
Currency VUV 548 0 "Vatu"
wirEuro :: Currency
wirEuro =
Currency CHE 947 2 "WIR Euro"
wirFranc :: Currency
wirFranc =
Currency CHW 948 2 "WIR Franc"
won :: Currency
won =
Currency KRW 410 0 "Won"
yemeniRial :: Currency
yemeniRial =
Currency YER 886 2 "Yemeni Rial"
yen :: Currency
yen =
Currency JPY 392 0 "Yen"
yuanRenminbi :: Currency
yuanRenminbi =
Currency CNY 156 2 "Yuan Renminbi"
zambianKwacha :: Currency
zambianKwacha =
Currency ZMW 967 2 "Zambian Kwacha"
zimbabweDollar :: Currency
zimbabweDollar =
Currency ZWL 932 2 "Zimbabwe Dollar"
zloty :: Currency
zloty =
Currency PLN 985 2 "Zloty"
currencies :: [Currency]
currencies =
[ unitOfAccount
, afghani
, algerianDinar
, argentinePeso
, armenianDram
, arubanFlorin
, australianDollar
, azerbaijanManat
, bahamianDollar
, bahrainiDinar
, baht
, balboa
, barbadosDollar
, belarusianRuble
, belizeDollar
, bermudianDollar
, boliviano
, bolívar
, bondMarketsCompositeUnit
, bondMarketsMonetaryUnit
, bondMarketsUnitofAccount17
, bondMarketsUnitofAccount9
, brazilianReal
, bruneiDollar
, bulgarianLev
, burundiFranc
, cfaFrancBCEAO
, cfaFrancBEAC
, cfpFranc
, caboVerdeEscudo
, canadianDollar
, caymanIslandsDollar
, chileanPeso
, testing
, colombianPeso
, comorianFranc
, congoleseFranc
, convertibleMark
, cordobaOro
, costaRicanColon
, cubanPeso
, czechKoruna
, dalasi
, danishKrone
, denar
, djiboutiFranc
, dobra
, dominicanPeso
, dong
, eastCaribbeanDollar
, egyptianPound
, elSalvadorColon
, ethiopianBirr
, euro
, falklandIslandsPound
, fijiDollar
, forint
, ghanaCedi
, gibraltarPound
, gold
, gourde
, guarani
, guineanFranc
, guyanaDollar
, hongKongDollar
, hryvnia
, icelandKrona
, indianRupee
, iranianRial
, iraqiDinar
, jamaicanDollar
, jordanianDinar
, kenyanShilling
, kina
, kuna
, kuwaitiDinar
, kwanza
, kyat
, laoKip
, lari
, lebanesePound
, lek
, lempira
, leone
, liberianDollar
, libyanDinar
, lilangeni
, loti
, malagasyAriary
, malawiKwacha
, malaysianRinggit
, mauritiusRupee
, mexicanPeso
, mexicanUnidadDeInversion
, moldovanLeu
, moroccanDirham
, mozambiqueMetical
, mvdol
, naira
, nakfa
, namibiaDollar
, nepaleseRupee
, netherlandsAntilleanGuilder
, newIsraeliSheqel
, newTaiwanDollar
, newZealandDollar
, ngultrum
, northKoreanWon
, norwegianKrone
, ouguiya
, pakistanRupee
, palladium
, pataca
, paanga
, pesoConvertible
, pesoUruguayo
, philippinePeso
, platinum
, poundSterling
, pula
, qatariRial
, quetzal
, rand
, rialOmani
, riel
, romanianLeu
, rufiyaa
, rupiah
, russianRuble
, rwandaFranc
, sdr
, saintHelenaPound
, saudiRiyal
, serbianDinar
, seychellesRupee
, silver
, singaporeDollar
, sol
, solomonIslandsDollar
, som
, somaliShilling
, somoni
, southSudanesePound
, sriLankaRupee
, sucre
, sudanesePound
, surinamDollar
, swedishKrona
, swissFranc
, syrianPound
, taka
, tala
, tanzanianShilling
, tenge
, noCurrency
, trinidadAndTobagoDollar
, tugrik
, tunisianDinar
, turkishLira
, turkmenistanNewManat
, uAEDirham
, usDollar
, usDollarNextday
, ugandaShilling
, unidaddeFomento
, unidaddeValorReal
, uruguayPesoEnUnidadesIndexadas
, uzbekistanSum
, vatu
, wirEuro
, wirFranc
, won
, yemeniRial
, yen
, yuanRenminbi
, zambianKwacha
, zloty
, zimbabweDollar
]