1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
//! Currency

use serde::{Deserialize, Serialize};

/// Indicates the associated currency for an amount of money.

/// Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Currency {
    /// Unknown currency
    UnknowCurrency,
    /// United Arab Emirates dirham
    Aed,
    /// Afghan afghani
    Afn,
    /// Albanian lek
    All,
    /// Armenian dram
    Amd,
    /// Netherlands Antillean guilder
    Ang,
    /// Angolan kwanza
    Aoa,
    /// Argentine peso
    Ars,
    /// Australian dollar
    Aud,
    /// Aruban florin
    Awg,
    /// Azerbaijani manat
    Azn,
    /// Bosnia and Herzegovina convertible mark
    Bam,
    /// Barbados dollar
    Bbd,
    /// Bangladeshi taka
    Bdt,
    /// Bulgarian lev
    Bgn,
    /// Bahraini dinar
    Bhd,
    /// Burundian franc
    Bif,
    /// Bermudian dollar
    Bmd,
    /// Brunei dollar
    Bnd,
    /// Boliviano
    Bob,
    /// Bolivian Mvdol
    Bov,
    /// Brazilian real
    Brl,
    /// Bahamian dollar
    Bsd,
    /// Bhutanese ngultrum
    Btn,
    /// Botswana pula
    Bwp,
    /// Belarusian ruble
    Byr,
    /// Belize dollar
    Bzd,
    /// Canadian dollar
    Cad,
    /// Congolese franc
    Cdf,
    /// WIR Euro
    Che,
    /// Swiss franc
    Chf,
    /// WIR Franc
    Chw,
    /// Unidad de Fomento
    Clf,
    /// Chilean peso
    Clp,
    /// Chinese yuan
    Cny,
    /// Colombian peso
    Cop,
    /// Unidad de Valor Real
    Cou,
    /// Costa Rican colon
    Crc,
    /// Cuban convertible peso
    Cuc,
    /// Cuban peso
    Cup,
    /// Cape Verde escudo
    Cve,
    /// Czech koruna
    Czk,
    /// Djiboutian franc
    Djf,
    /// Danish krone
    Dkk,
    /// Dominican peso
    Dop,
    /// Algerian dinar
    Dzd,
    /// Egyptian pound
    Egp,
    /// Eritrean nakfa
    Ern,
    /// Ethiopian birr
    Etb,
    /// Euro
    Eur,
    /// Fiji dollar
    Fjd,
    /// Falkland Islands pound
    Fkp,
    /// Pound sterling
    Gbp,
    /// Georgian lari
    Gel,
    /// Ghanaian cedi
    Ghs,
    /// Gibraltar pound
    Gip,
    /// Gambian dalasi
    Gmd,
    /// Guinean franc
    Gnf,
    /// Guatemalan quetzal
    Gtq,
    /// Guyanese dollar
    Gyd,
    /// Hong Kong dollar
    Hkd,
    /// Honduran lempira
    Hnl,
    /// Croatian kuna
    Hrk,
    /// Haitian gourde
    Htg,
    /// Hungarian forint
    Huf,
    /// Indonesian rupiah
    Idr,
    /// Israeli new shekel
    Ils,
    /// Indian rupee
    Inr,
    /// Iraqi dinar
    Iqd,
    /// Iranian rial
    Irr,
    /// Icelandic króna
    Isk,
    /// Jamaican dollar
    Jmd,
    /// Jordanian dinar
    Jod,
    /// Japanese yen
    Jpy,
    /// Kenyan shilling
    Kes,
    /// Kyrgyzstani som
    Kgs,
    /// Cambodian riel
    Khr,
    /// Comoro franc
    Kmf,
    /// North Korean won
    Kpw,
    /// South Korean won
    Krw,
    /// Kuwaiti dinar
    Kwd,
    /// Cayman Islands dollar
    Kyd,
    /// Kazakhstani tenge
    Kzt,
    /// Lao kip
    Lak,
    /// Lebanese pound
    Lbp,
    /// Sri Lankan rupee
    Lkr,
    /// Liberian dollar
    Lrd,
    /// Lesotho loti
    Lsl,
    /// Lithuanian litas
    Ltl,
    /// Latvian lats
    Lvl,
    /// Libyan dinar
    Lyd,
    /// Moroccan dirham
    Mad,
    /// Moldovan leu
    Mdl,
    /// Malagasy ariary
    Mga,
    /// Macedonian denar
    Mkd,
    /// Myanmar kyat
    Mmk,
    /// Mongolian tögrög
    Mnt,
    /// Macanese pataca
    Mop,
    /// Mauritanian ouguiya
    Mro,
    /// Mauritian rupee
    Mur,
    /// Maldivian rufiyaa
    Mvr,
    /// Malawian kwacha
    Mwk,
    /// Mexican peso
    Mxn,
    /// Mexican Unidad de Inversion
    Mxv,
    /// Malaysian ringgit
    Myr,
    /// Mozambican metical
    Mzn,
    /// Namibian dollar
    Nad,
    /// Nigerian naira
    Ngn,
    /// Nicaraguan córdoba
    Nio,
    /// Norwegian krone
    Nok,
    /// Nepalese rupee
    Npr,
    /// New Zealand dollar
    Nzd,
    /// Omani rial
    Omr,
    /// Panamanian balboa
    Pab,
    /// Peruvian sol
    Pen,
    /// Papua New Guinean kina
    Pgk,
    /// Philippine peso
    Php,
    /// Pakistani rupee
    Pkr,
    /// Polish złoty
    Pln,
    /// Paraguayan guaraní
    Pyg,
    /// Qatari riyal
    Qar,
    /// Romanian leu
    Ron,
    /// Serbian dinar
    Rsd,
    /// Russian ruble
    Rub,
    /// Rwandan franc
    Rwf,
    /// Saudi riyal
    Sar,
    /// Solomon Islands dollar
    Sbd,
    /// Seychelles rupee
    Scr,
    /// Sudanese pound
    Sdg,
    /// Swedish krona
    Sek,
    /// Singapore dollar
    Sgd,
    /// Saint Helena pound
    Shp,
    /// Sierra Leonean leone
    Sll,
    /// Somali shilling
    Sos,
    /// Surinamese dollar
    Srd,
    /// South Sudanese pound
    Ssp,
    /// São Tomé and Príncipe dobra
    Std,
    /// Salvadoran colón
    Svc,
    /// Syrian pound
    Syp,
    /// Swazi lilangeni
    Szl,
    /// Thai baht
    Thb,
    /// Tajikistani somoni
    Tjs,
    /// Turkmenistan manat
    Tmt,
    /// Tunisian dinar
    Tnd,
    /// Tongan paʻanga
    Top,
    /// Turkish lira
    Try,
    /// Trinidad and Tobago dollar
    Ttd,
    /// New Taiwan dollar
    Twd,
    /// Tanzanian shilling
    Tzs,
    /// Ukrainian hryvnia
    Uah,
    /// Ugandan shilling
    Ugx,
    /// United States dollar
    Usd,
    /// United States dollar (next day)
    Usn,
    /// United States dollar (same day)
    Uss,
    /// Uruguay Peso en Unidedades Indexadas
    Uyi,
    /// Uruguyan peso
    Uyu,
    /// Uzbekistan som
    Uzs,
    /// Venezuelan bolívar soberano
    Vef,
    /// Vietnamese đồng
    Vnd,
    /// Vanuatu vatu
    Vuv,
    /// Samoan tala
    Wst,
    /// CFA franc BEAC
    Xaf,
    /// Silver
    Xag,
    /// Gold
    Xau,
    /// European Composite Unit
    Xba,
    /// European Monetary Unit
    Xbb,
    /// European Unit of Account 9
    Xbc,
    /// European Unit of Account 17
    Xbd,
    /// East Caribbean dollar
    Xcd,
    /// Special drawing rights (International Monetary Fund)
    Xdr,
    /// CFA franc BCEAO
    Xof,
    /// Palladium
    Xpd,
    /// CFP franc
    Xpf,
    /// Platinum
    Xpt,
    /// Code reserved for testing
    Xts,
    /// No currency
    Xxx,
    /// Yemeni rial
    Yer,
    /// South African rand
    Zar,
    /// Zambian kwacha
    Zmk,
    /// Zambian kwacha
    Zmw,
    /// Bitcoin
    Btc,
    /// USD Coin
    Xus,
}