@fun-xyz/fiat-contract 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IUYT5BR2.mjs → chunk-UWR2DRHB.mjs} +2 -2
- package/dist/codes.d.ts +1270 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +276 -6
- package/dist/index.mjs +276 -6
- package/dist/table.d.ts +1 -1
- package/dist/table.js +1 -1
- package/dist/table.mjs +1 -1
- package/dist/types.d.ts +9 -7
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -8,10 +8,274 @@ import {
|
|
|
8
8
|
isTerminal,
|
|
9
9
|
stateKey,
|
|
10
10
|
tableEntry
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UWR2DRHB.mjs";
|
|
12
|
+
|
|
13
|
+
// src/codes.ts
|
|
14
|
+
var COUNTRY_CURRENCY_LIST = [
|
|
15
|
+
{ country: "AD", countryName: "Andorra", currency: "EUR", currencyName: "Euro" },
|
|
16
|
+
{ country: "AE", countryName: "United Arab Emirates", currency: "AED", currencyName: "UAE Dirham" },
|
|
17
|
+
{ country: "AF", countryName: "Afghanistan", currency: "AFN", currencyName: "Afghan Afghani" },
|
|
18
|
+
{ country: "AG", countryName: "Antigua and Barbuda", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
19
|
+
{ country: "AI", countryName: "Anguilla", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
20
|
+
{ country: "AL", countryName: "Albania", currency: "ALL", currencyName: "Albanian Lek" },
|
|
21
|
+
{ country: "AM", countryName: "Armenia", currency: "AMD", currencyName: "Armenian Dram" },
|
|
22
|
+
{ country: "AO", countryName: "Angola", currency: "AOA", currencyName: "Angolan Kwanza" },
|
|
23
|
+
{ country: "AQ", countryName: "Antarctica", currency: "USD", currencyName: "US Dollar" },
|
|
24
|
+
{ country: "AR", countryName: "Argentina", currency: "ARS", currencyName: "Argentine Peso" },
|
|
25
|
+
{ country: "AS", countryName: "American Samoa", currency: "USD", currencyName: "US Dollar" },
|
|
26
|
+
{ country: "AT", countryName: "Austria", currency: "EUR", currencyName: "Euro" },
|
|
27
|
+
{ country: "AU", countryName: "Australia", currency: "AUD", currencyName: "Australian Dollar" },
|
|
28
|
+
{ country: "AW", countryName: "Aruba", currency: "AWG", currencyName: "Aruban Florin" },
|
|
29
|
+
{ country: "AX", countryName: "\xC5land Islands", currency: "EUR", currencyName: "Euro" },
|
|
30
|
+
{ country: "AZ", countryName: "Azerbaijan", currency: "AZN", currencyName: "Azerbaijani Manat" },
|
|
31
|
+
{ country: "BA", countryName: "Bosnia and Herzegovina", currency: "BAM", currencyName: "Bosnia-Herzegovina Convertible Mark" },
|
|
32
|
+
{ country: "BB", countryName: "Barbados", currency: "BBD", currencyName: "Barbadian Dollar" },
|
|
33
|
+
{ country: "BD", countryName: "Bangladesh", currency: "BDT", currencyName: "Bangladeshi Taka" },
|
|
34
|
+
{ country: "BE", countryName: "Belgium", currency: "EUR", currencyName: "Euro" },
|
|
35
|
+
{ country: "BF", countryName: "Burkina Faso", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
36
|
+
{ country: "BG", countryName: "Bulgaria", currency: "BGN", currencyName: "Bulgarian Lev" },
|
|
37
|
+
{ country: "BH", countryName: "Bahrain", currency: "BHD", currencyName: "Bahraini Dinar" },
|
|
38
|
+
{ country: "BI", countryName: "Burundi", currency: "BIF", currencyName: "Burundian Franc" },
|
|
39
|
+
{ country: "BJ", countryName: "Benin", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
40
|
+
{ country: "BL", countryName: "Saint Barth\xE9lemy", currency: "EUR", currencyName: "Euro" },
|
|
41
|
+
{ country: "BM", countryName: "Bermuda", currency: "BMD", currencyName: "Bermudan Dollar" },
|
|
42
|
+
{ country: "BN", countryName: "Brunei", currency: "BND", currencyName: "Brunei Dollar" },
|
|
43
|
+
{ country: "BO", countryName: "Bolivia", currency: "BOB", currencyName: "Bolivian Boliviano" },
|
|
44
|
+
{ country: "BQ", countryName: "Bonaire, Sint Eustatius and Saba", currency: "USD", currencyName: "US Dollar" },
|
|
45
|
+
{ country: "BR", countryName: "Brazil", currency: "BRL", currencyName: "Brazilian Real" },
|
|
46
|
+
{ country: "BS", countryName: "Bahamas", currency: "BSD", currencyName: "Bahamian Dollar" },
|
|
47
|
+
{ country: "BT", countryName: "Bhutan", currency: "BTN", currencyName: "Bhutanese Ngultrum" },
|
|
48
|
+
{ country: "BV", countryName: "Bouvet Island", currency: "NOK", currencyName: "Norwegian Krone" },
|
|
49
|
+
{ country: "BW", countryName: "Botswana", currency: "BWP", currencyName: "Botswanan Pula" },
|
|
50
|
+
{ country: "BY", countryName: "Belarus", currency: "BYN", currencyName: "Belarusian Ruble" },
|
|
51
|
+
{ country: "BZ", countryName: "Belize", currency: "BZD", currencyName: "Belize Dollar" },
|
|
52
|
+
{ country: "CA", countryName: "Canada", currency: "CAD", currencyName: "Canadian Dollar" },
|
|
53
|
+
{ country: "CC", countryName: "Cocos (Keeling) Islands", currency: "AUD", currencyName: "Australian Dollar" },
|
|
54
|
+
{ country: "CD", countryName: "DR Congo", currency: "CDF", currencyName: "Congolese Franc" },
|
|
55
|
+
{ country: "CF", countryName: "Central African Republic", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
56
|
+
{ country: "CG", countryName: "Congo", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
57
|
+
{ country: "CH", countryName: "Switzerland", currency: "CHF", currencyName: "Swiss Franc" },
|
|
58
|
+
{ country: "CI", countryName: "C\xF4te d'Ivoire", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
59
|
+
{ country: "CK", countryName: "Cook Islands", currency: "NZD", currencyName: "New Zealand Dollar" },
|
|
60
|
+
{ country: "CL", countryName: "Chile", currency: "CLP", currencyName: "Chilean Peso" },
|
|
61
|
+
{ country: "CM", countryName: "Cameroon", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
62
|
+
{ country: "CN", countryName: "China", currency: "CNY", currencyName: "Chinese Yuan" },
|
|
63
|
+
{ country: "CO", countryName: "Colombia", currency: "COP", currencyName: "Colombian Peso" },
|
|
64
|
+
{ country: "CR", countryName: "Costa Rica", currency: "CRC", currencyName: "Costa Rican Col\xF3n" },
|
|
65
|
+
{ country: "CU", countryName: "Cuba", currency: "CUP", currencyName: "Cuban Peso" },
|
|
66
|
+
{ country: "CV", countryName: "Cabo Verde", currency: "CVE", currencyName: "Cape Verdean Escudo" },
|
|
67
|
+
{ country: "CW", countryName: "Cura\xE7ao", currency: "ANG", currencyName: "Netherlands Antillean Guilder" },
|
|
68
|
+
{ country: "CX", countryName: "Christmas Island", currency: "AUD", currencyName: "Australian Dollar" },
|
|
69
|
+
{ country: "CY", countryName: "Cyprus", currency: "EUR", currencyName: "Euro" },
|
|
70
|
+
{ country: "CZ", countryName: "Czechia", currency: "CZK", currencyName: "Czech Koruna" },
|
|
71
|
+
{ country: "DE", countryName: "Germany", currency: "EUR", currencyName: "Euro" },
|
|
72
|
+
{ country: "DJ", countryName: "Djibouti", currency: "DJF", currencyName: "Djiboutian Franc" },
|
|
73
|
+
{ country: "DK", countryName: "Denmark", currency: "DKK", currencyName: "Danish Krone" },
|
|
74
|
+
{ country: "DM", countryName: "Dominica", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
75
|
+
{ country: "DO", countryName: "Dominican Republic", currency: "DOP", currencyName: "Dominican Peso" },
|
|
76
|
+
{ country: "DZ", countryName: "Algeria", currency: "DZD", currencyName: "Algerian Dinar" },
|
|
77
|
+
{ country: "EC", countryName: "Ecuador", currency: "USD", currencyName: "US Dollar" },
|
|
78
|
+
{ country: "EE", countryName: "Estonia", currency: "EUR", currencyName: "Euro" },
|
|
79
|
+
{ country: "EG", countryName: "Egypt", currency: "EGP", currencyName: "Egyptian Pound" },
|
|
80
|
+
{ country: "EH", countryName: "Western Sahara", currency: "MAD", currencyName: "Moroccan Dirham" },
|
|
81
|
+
{ country: "ER", countryName: "Eritrea", currency: "ERN", currencyName: "Eritrean Nakfa" },
|
|
82
|
+
{ country: "ES", countryName: "Spain", currency: "EUR", currencyName: "Euro" },
|
|
83
|
+
{ country: "ET", countryName: "Ethiopia", currency: "ETB", currencyName: "Ethiopian Birr" },
|
|
84
|
+
{ country: "FI", countryName: "Finland", currency: "EUR", currencyName: "Euro" },
|
|
85
|
+
{ country: "FJ", countryName: "Fiji", currency: "FJD", currencyName: "Fijian Dollar" },
|
|
86
|
+
{ country: "FK", countryName: "Falkland Islands", currency: "FKP", currencyName: "Falkland Islands Pound" },
|
|
87
|
+
{ country: "FM", countryName: "Micronesia", currency: "USD", currencyName: "US Dollar" },
|
|
88
|
+
{ country: "FO", countryName: "Faroe Islands", currency: "DKK", currencyName: "Danish Krone" },
|
|
89
|
+
{ country: "FR", countryName: "France", currency: "EUR", currencyName: "Euro" },
|
|
90
|
+
{ country: "GA", countryName: "Gabon", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
91
|
+
{ country: "GB", countryName: "United Kingdom", currency: "GBP", currencyName: "British Pound" },
|
|
92
|
+
{ country: "GD", countryName: "Grenada", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
93
|
+
{ country: "GE", countryName: "Georgia", currency: "GEL", currencyName: "Georgian Lari" },
|
|
94
|
+
{ country: "GF", countryName: "French Guiana", currency: "EUR", currencyName: "Euro" },
|
|
95
|
+
{ country: "GG", countryName: "Guernsey", currency: "GBP", currencyName: "British Pound" },
|
|
96
|
+
{ country: "GH", countryName: "Ghana", currency: "GHS", currencyName: "Ghanaian Cedi" },
|
|
97
|
+
{ country: "GI", countryName: "Gibraltar", currency: "GIP", currencyName: "Gibraltar Pound" },
|
|
98
|
+
{ country: "GL", countryName: "Greenland", currency: "DKK", currencyName: "Danish Krone" },
|
|
99
|
+
{ country: "GM", countryName: "Gambia", currency: "GMD", currencyName: "Gambian Dalasi" },
|
|
100
|
+
{ country: "GN", countryName: "Guinea", currency: "GNF", currencyName: "Guinean Franc" },
|
|
101
|
+
{ country: "GP", countryName: "Guadeloupe", currency: "EUR", currencyName: "Euro" },
|
|
102
|
+
{ country: "GQ", countryName: "Equatorial Guinea", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
103
|
+
{ country: "GR", countryName: "Greece", currency: "EUR", currencyName: "Euro" },
|
|
104
|
+
{ country: "GS", countryName: "South Georgia and the South Sandwich Islands", currency: "GBP", currencyName: "British Pound" },
|
|
105
|
+
{ country: "GT", countryName: "Guatemala", currency: "GTQ", currencyName: "Guatemalan Quetzal" },
|
|
106
|
+
{ country: "GU", countryName: "Guam", currency: "USD", currencyName: "US Dollar" },
|
|
107
|
+
{ country: "GW", countryName: "Guinea-Bissau", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
108
|
+
{ country: "GY", countryName: "Guyana", currency: "GYD", currencyName: "Guyanaese Dollar" },
|
|
109
|
+
{ country: "HK", countryName: "Hong Kong", currency: "HKD", currencyName: "Hong Kong Dollar" },
|
|
110
|
+
{ country: "HM", countryName: "Heard Island and McDonald Islands", currency: "AUD", currencyName: "Australian Dollar" },
|
|
111
|
+
{ country: "HN", countryName: "Honduras", currency: "HNL", currencyName: "Honduran Lempira" },
|
|
112
|
+
{ country: "HR", countryName: "Croatia", currency: "EUR", currencyName: "Euro" },
|
|
113
|
+
{ country: "HT", countryName: "Haiti", currency: "HTG", currencyName: "Haitian Gourde" },
|
|
114
|
+
{ country: "HU", countryName: "Hungary", currency: "HUF", currencyName: "Hungarian Forint" },
|
|
115
|
+
{ country: "ID", countryName: "Indonesia", currency: "IDR", currencyName: "Indonesian Rupiah" },
|
|
116
|
+
{ country: "IE", countryName: "Ireland", currency: "EUR", currencyName: "Euro" },
|
|
117
|
+
{ country: "IL", countryName: "Israel", currency: "ILS", currencyName: "Israeli New Shekel" },
|
|
118
|
+
{ country: "IM", countryName: "Isle of Man", currency: "GBP", currencyName: "British Pound" },
|
|
119
|
+
{ country: "IN", countryName: "India", currency: "INR", currencyName: "Indian Rupee" },
|
|
120
|
+
{ country: "IO", countryName: "British Indian Ocean Territory", currency: "USD", currencyName: "US Dollar" },
|
|
121
|
+
{ country: "IQ", countryName: "Iraq", currency: "IQD", currencyName: "Iraqi Dinar" },
|
|
122
|
+
{ country: "IR", countryName: "Iran", currency: "IRR", currencyName: "Iranian Rial" },
|
|
123
|
+
{ country: "IS", countryName: "Iceland", currency: "ISK", currencyName: "Icelandic Kr\xF3na" },
|
|
124
|
+
{ country: "IT", countryName: "Italy", currency: "EUR", currencyName: "Euro" },
|
|
125
|
+
{ country: "JE", countryName: "Jersey", currency: "GBP", currencyName: "British Pound" },
|
|
126
|
+
{ country: "JM", countryName: "Jamaica", currency: "JMD", currencyName: "Jamaican Dollar" },
|
|
127
|
+
{ country: "JO", countryName: "Jordan", currency: "JOD", currencyName: "Jordanian Dinar" },
|
|
128
|
+
{ country: "JP", countryName: "Japan", currency: "JPY", currencyName: "Japanese Yen" },
|
|
129
|
+
{ country: "KE", countryName: "Kenya", currency: "KES", currencyName: "Kenyan Shilling" },
|
|
130
|
+
{ country: "KG", countryName: "Kyrgyzstan", currency: "KGS", currencyName: "Kyrgystani Som" },
|
|
131
|
+
{ country: "KH", countryName: "Cambodia", currency: "KHR", currencyName: "Cambodian Riel" },
|
|
132
|
+
{ country: "KI", countryName: "Kiribati", currency: "AUD", currencyName: "Australian Dollar" },
|
|
133
|
+
{ country: "KM", countryName: "Comoros", currency: "KMF", currencyName: "Comorian Franc" },
|
|
134
|
+
{ country: "KN", countryName: "Saint Kitts and Nevis", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
135
|
+
{ country: "KP", countryName: "North Korea", currency: "KPW", currencyName: "North Korean Won" },
|
|
136
|
+
{ country: "KR", countryName: "South Korea", currency: "KRW", currencyName: "South Korean Won" },
|
|
137
|
+
{ country: "KW", countryName: "Kuwait", currency: "KWD", currencyName: "Kuwaiti Dinar" },
|
|
138
|
+
{ country: "KY", countryName: "Cayman Islands", currency: "KYD", currencyName: "Cayman Islands Dollar" },
|
|
139
|
+
{ country: "KZ", countryName: "Kazakhstan", currency: "KZT", currencyName: "Kazakhstani Tenge" },
|
|
140
|
+
{ country: "LA", countryName: "Laos", currency: "LAK", currencyName: "Laotian Kip" },
|
|
141
|
+
{ country: "LB", countryName: "Lebanon", currency: "LBP", currencyName: "Lebanese Pound" },
|
|
142
|
+
{ country: "LC", countryName: "Saint Lucia", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
143
|
+
{ country: "LI", countryName: "Liechtenstein", currency: "CHF", currencyName: "Swiss Franc" },
|
|
144
|
+
{ country: "LK", countryName: "Sri Lanka", currency: "LKR", currencyName: "Sri Lankan Rupee" },
|
|
145
|
+
{ country: "LR", countryName: "Liberia", currency: "LRD", currencyName: "Liberian Dollar" },
|
|
146
|
+
{ country: "LS", countryName: "Lesotho", currency: "LSL", currencyName: "Lesotho Loti" },
|
|
147
|
+
{ country: "LT", countryName: "Lithuania", currency: "EUR", currencyName: "Euro" },
|
|
148
|
+
{ country: "LU", countryName: "Luxembourg", currency: "EUR", currencyName: "Euro" },
|
|
149
|
+
{ country: "LV", countryName: "Latvia", currency: "EUR", currencyName: "Euro" },
|
|
150
|
+
{ country: "LY", countryName: "Libya", currency: "LYD", currencyName: "Libyan Dinar" },
|
|
151
|
+
{ country: "MA", countryName: "Morocco", currency: "MAD", currencyName: "Moroccan Dirham" },
|
|
152
|
+
{ country: "MC", countryName: "Monaco", currency: "EUR", currencyName: "Euro" },
|
|
153
|
+
{ country: "MD", countryName: "Moldova", currency: "MDL", currencyName: "Moldovan Leu" },
|
|
154
|
+
{ country: "ME", countryName: "Montenegro", currency: "EUR", currencyName: "Euro" },
|
|
155
|
+
{ country: "MF", countryName: "Saint Martin", currency: "EUR", currencyName: "Euro" },
|
|
156
|
+
{ country: "MG", countryName: "Madagascar", currency: "MGA", currencyName: "Malagasy Ariary" },
|
|
157
|
+
{ country: "MH", countryName: "Marshall Islands", currency: "USD", currencyName: "US Dollar" },
|
|
158
|
+
{ country: "MK", countryName: "North Macedonia", currency: "MKD", currencyName: "Macedonian Denar" },
|
|
159
|
+
{ country: "ML", countryName: "Mali", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
160
|
+
{ country: "MM", countryName: "Myanmar", currency: "MMK", currencyName: "Myanmar Kyat" },
|
|
161
|
+
{ country: "MN", countryName: "Mongolia", currency: "MNT", currencyName: "Mongolian Tugrik" },
|
|
162
|
+
{ country: "MO", countryName: "Macao", currency: "MOP", currencyName: "Macanese Pataca" },
|
|
163
|
+
{ country: "MP", countryName: "Northern Mariana Islands", currency: "USD", currencyName: "US Dollar" },
|
|
164
|
+
{ country: "MQ", countryName: "Martinique", currency: "EUR", currencyName: "Euro" },
|
|
165
|
+
{ country: "MR", countryName: "Mauritania", currency: "MRU", currencyName: "Mauritanian Ouguiya" },
|
|
166
|
+
{ country: "MS", countryName: "Montserrat", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
167
|
+
{ country: "MT", countryName: "Malta", currency: "EUR", currencyName: "Euro" },
|
|
168
|
+
{ country: "MU", countryName: "Mauritius", currency: "MUR", currencyName: "Mauritian Rupee" },
|
|
169
|
+
{ country: "MV", countryName: "Maldives", currency: "MVR", currencyName: "Maldivian Rufiyaa" },
|
|
170
|
+
{ country: "MW", countryName: "Malawi", currency: "MWK", currencyName: "Malawian Kwacha" },
|
|
171
|
+
{ country: "MX", countryName: "Mexico", currency: "MXN", currencyName: "Mexican Peso" },
|
|
172
|
+
{ country: "MY", countryName: "Malaysia", currency: "MYR", currencyName: "Malaysian Ringgit" },
|
|
173
|
+
{ country: "MZ", countryName: "Mozambique", currency: "MZN", currencyName: "Mozambican Metical" },
|
|
174
|
+
{ country: "NA", countryName: "Namibia", currency: "NAD", currencyName: "Namibian Dollar" },
|
|
175
|
+
{ country: "NC", countryName: "New Caledonia", currency: "XPF", currencyName: "CFP Franc" },
|
|
176
|
+
{ country: "NE", countryName: "Niger", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
177
|
+
{ country: "NF", countryName: "Norfolk Island", currency: "AUD", currencyName: "Australian Dollar" },
|
|
178
|
+
{ country: "NG", countryName: "Nigeria", currency: "NGN", currencyName: "Nigerian Naira" },
|
|
179
|
+
{ country: "NI", countryName: "Nicaragua", currency: "NIO", currencyName: "Nicaraguan C\xF3rdoba" },
|
|
180
|
+
{ country: "NL", countryName: "Netherlands", currency: "EUR", currencyName: "Euro" },
|
|
181
|
+
{ country: "NO", countryName: "Norway", currency: "NOK", currencyName: "Norwegian Krone" },
|
|
182
|
+
{ country: "NP", countryName: "Nepal", currency: "NPR", currencyName: "Nepalese Rupee" },
|
|
183
|
+
{ country: "NR", countryName: "Nauru", currency: "AUD", currencyName: "Australian Dollar" },
|
|
184
|
+
{ country: "NU", countryName: "Niue", currency: "NZD", currencyName: "New Zealand Dollar" },
|
|
185
|
+
{ country: "NZ", countryName: "New Zealand", currency: "NZD", currencyName: "New Zealand Dollar" },
|
|
186
|
+
{ country: "OM", countryName: "Oman", currency: "OMR", currencyName: "Omani Rial" },
|
|
187
|
+
{ country: "PA", countryName: "Panama", currency: "PAB", currencyName: "Panamanian Balboa" },
|
|
188
|
+
{ country: "PE", countryName: "Peru", currency: "PEN", currencyName: "Peruvian Sol" },
|
|
189
|
+
{ country: "PF", countryName: "French Polynesia", currency: "XPF", currencyName: "CFP Franc" },
|
|
190
|
+
{ country: "PG", countryName: "Papua New Guinea", currency: "PGK", currencyName: "Papua New Guinean Kina" },
|
|
191
|
+
{ country: "PH", countryName: "Philippines", currency: "PHP", currencyName: "Philippine Peso" },
|
|
192
|
+
{ country: "PK", countryName: "Pakistan", currency: "PKR", currencyName: "Pakistani Rupee" },
|
|
193
|
+
{ country: "PL", countryName: "Poland", currency: "PLN", currencyName: "Polish Z\u0142oty" },
|
|
194
|
+
{ country: "PM", countryName: "Saint Pierre and Miquelon", currency: "EUR", currencyName: "Euro" },
|
|
195
|
+
{ country: "PN", countryName: "Pitcairn", currency: "NZD", currencyName: "New Zealand Dollar" },
|
|
196
|
+
{ country: "PR", countryName: "Puerto Rico", currency: "USD", currencyName: "US Dollar" },
|
|
197
|
+
{ country: "PS", countryName: "Palestine", currency: "ILS", currencyName: "Israeli New Shekel" },
|
|
198
|
+
{ country: "PT", countryName: "Portugal", currency: "EUR", currencyName: "Euro" },
|
|
199
|
+
{ country: "PW", countryName: "Palau", currency: "USD", currencyName: "US Dollar" },
|
|
200
|
+
{ country: "PY", countryName: "Paraguay", currency: "PYG", currencyName: "Paraguayan Guarani" },
|
|
201
|
+
{ country: "QA", countryName: "Qatar", currency: "QAR", currencyName: "Qatari Riyal" },
|
|
202
|
+
{ country: "RE", countryName: "R\xE9union", currency: "EUR", currencyName: "Euro" },
|
|
203
|
+
{ country: "RO", countryName: "Romania", currency: "RON", currencyName: "Romanian Leu" },
|
|
204
|
+
{ country: "RS", countryName: "Serbia", currency: "RSD", currencyName: "Serbian Dinar" },
|
|
205
|
+
{ country: "RU", countryName: "Russia", currency: "RUB", currencyName: "Russian Ruble" },
|
|
206
|
+
{ country: "RW", countryName: "Rwanda", currency: "RWF", currencyName: "Rwandan Franc" },
|
|
207
|
+
{ country: "SA", countryName: "Saudi Arabia", currency: "SAR", currencyName: "Saudi Riyal" },
|
|
208
|
+
{ country: "SB", countryName: "Solomon Islands", currency: "SBD", currencyName: "Solomon Islands Dollar" },
|
|
209
|
+
{ country: "SC", countryName: "Seychelles", currency: "SCR", currencyName: "Seychellois Rupee" },
|
|
210
|
+
{ country: "SD", countryName: "Sudan", currency: "SDG", currencyName: "Sudanese Pound" },
|
|
211
|
+
{ country: "SE", countryName: "Sweden", currency: "SEK", currencyName: "Swedish Krona" },
|
|
212
|
+
{ country: "SG", countryName: "Singapore", currency: "SGD", currencyName: "Singapore Dollar" },
|
|
213
|
+
{ country: "SH", countryName: "Saint Helena, Ascension and Tristan da Cunha", currency: "SHP", currencyName: "Saint Helena Pound" },
|
|
214
|
+
{ country: "SI", countryName: "Slovenia", currency: "EUR", currencyName: "Euro" },
|
|
215
|
+
{ country: "SJ", countryName: "Svalbard and Jan Mayen", currency: "NOK", currencyName: "Norwegian Krone" },
|
|
216
|
+
{ country: "SK", countryName: "Slovakia", currency: "EUR", currencyName: "Euro" },
|
|
217
|
+
{ country: "SL", countryName: "Sierra Leone", currency: "SLE", currencyName: "Sierra Leonean Leone" },
|
|
218
|
+
{ country: "SM", countryName: "San Marino", currency: "EUR", currencyName: "Euro" },
|
|
219
|
+
{ country: "SN", countryName: "Senegal", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
220
|
+
{ country: "SO", countryName: "Somalia", currency: "SOS", currencyName: "Somali Shilling" },
|
|
221
|
+
{ country: "SR", countryName: "Suriname", currency: "SRD", currencyName: "Surinamese Dollar" },
|
|
222
|
+
{ country: "SS", countryName: "South Sudan", currency: "SSP", currencyName: "South Sudanese Pound" },
|
|
223
|
+
{ country: "ST", countryName: "S\xE3o Tom\xE9 and Pr\xEDncipe", currency: "STN", currencyName: "S\xE3o Tom\xE9 and Pr\xEDncipe Dobra" },
|
|
224
|
+
{ country: "SV", countryName: "El Salvador", currency: "USD", currencyName: "US Dollar" },
|
|
225
|
+
{ country: "SX", countryName: "Sint Maarten", currency: "ANG", currencyName: "Netherlands Antillean Guilder" },
|
|
226
|
+
{ country: "SY", countryName: "Syria", currency: "SYP", currencyName: "Syrian Pound" },
|
|
227
|
+
{ country: "SZ", countryName: "Eswatini", currency: "SZL", currencyName: "Swazi Lilangeni" },
|
|
228
|
+
{ country: "TC", countryName: "Turks and Caicos Islands", currency: "USD", currencyName: "US Dollar" },
|
|
229
|
+
{ country: "TD", countryName: "Chad", currency: "XAF", currencyName: "Central African CFA Franc" },
|
|
230
|
+
{ country: "TF", countryName: "French Southern Territories", currency: "EUR", currencyName: "Euro" },
|
|
231
|
+
{ country: "TG", countryName: "Togo", currency: "XOF", currencyName: "West African CFA Franc" },
|
|
232
|
+
{ country: "TH", countryName: "Thailand", currency: "THB", currencyName: "Thai Baht" },
|
|
233
|
+
{ country: "TJ", countryName: "Tajikistan", currency: "TJS", currencyName: "Tajikistani Somoni" },
|
|
234
|
+
{ country: "TK", countryName: "Tokelau", currency: "NZD", currencyName: "New Zealand Dollar" },
|
|
235
|
+
{ country: "TL", countryName: "Timor-Leste", currency: "USD", currencyName: "US Dollar" },
|
|
236
|
+
{ country: "TM", countryName: "Turkmenistan", currency: "TMT", currencyName: "Turkmenistani Manat" },
|
|
237
|
+
{ country: "TN", countryName: "Tunisia", currency: "TND", currencyName: "Tunisian Dinar" },
|
|
238
|
+
{ country: "TO", countryName: "Tonga", currency: "TOP", currencyName: "Tongan Pa\u02BBanga" },
|
|
239
|
+
{ country: "TR", countryName: "Turkey", currency: "TRY", currencyName: "Turkish Lira" },
|
|
240
|
+
{ country: "TT", countryName: "Trinidad and Tobago", currency: "TTD", currencyName: "Trinidad and Tobago Dollar" },
|
|
241
|
+
{ country: "TV", countryName: "Tuvalu", currency: "AUD", currencyName: "Australian Dollar" },
|
|
242
|
+
{ country: "TW", countryName: "Taiwan", currency: "TWD", currencyName: "New Taiwan Dollar" },
|
|
243
|
+
{ country: "TZ", countryName: "Tanzania", currency: "TZS", currencyName: "Tanzanian Shilling" },
|
|
244
|
+
{ country: "UA", countryName: "Ukraine", currency: "UAH", currencyName: "Ukrainian Hryvnia" },
|
|
245
|
+
{ country: "UG", countryName: "Uganda", currency: "UGX", currencyName: "Ugandan Shilling" },
|
|
246
|
+
{ country: "UM", countryName: "United States Minor Outlying Islands", currency: "USD", currencyName: "US Dollar" },
|
|
247
|
+
{ country: "US", countryName: "United States", currency: "USD", currencyName: "US Dollar" },
|
|
248
|
+
{ country: "UY", countryName: "Uruguay", currency: "UYU", currencyName: "Uruguayan Peso" },
|
|
249
|
+
{ country: "UZ", countryName: "Uzbekistan", currency: "UZS", currencyName: "Uzbekistani Som" },
|
|
250
|
+
{ country: "VA", countryName: "Vatican City", currency: "EUR", currencyName: "Euro" },
|
|
251
|
+
{ country: "VC", countryName: "Saint Vincent and the Grenadines", currency: "XCD", currencyName: "East Caribbean Dollar" },
|
|
252
|
+
{ country: "VE", countryName: "Venezuela", currency: "VES", currencyName: "Venezuelan Bol\xEDvar" },
|
|
253
|
+
{ country: "VG", countryName: "British Virgin Islands", currency: "USD", currencyName: "US Dollar" },
|
|
254
|
+
{ country: "VI", countryName: "United States Virgin Islands", currency: "USD", currencyName: "US Dollar" },
|
|
255
|
+
{ country: "VN", countryName: "Vietnam", currency: "VND", currencyName: "Vietnamese Dong" },
|
|
256
|
+
{ country: "VU", countryName: "Vanuatu", currency: "VUV", currencyName: "Vanuatu Vatu" },
|
|
257
|
+
{ country: "WF", countryName: "Wallis and Futuna", currency: "XPF", currencyName: "CFP Franc" },
|
|
258
|
+
{ country: "WS", countryName: "Samoa", currency: "WST", currencyName: "Samoan Tala" },
|
|
259
|
+
{ country: "YE", countryName: "Yemen", currency: "YER", currencyName: "Yemeni Rial" },
|
|
260
|
+
{ country: "YT", countryName: "Mayotte", currency: "EUR", currencyName: "Euro" },
|
|
261
|
+
{ country: "ZA", countryName: "South Africa", currency: "ZAR", currencyName: "South African Rand" },
|
|
262
|
+
{ country: "ZM", countryName: "Zambia", currency: "ZMW", currencyName: "Zambian Kwacha" },
|
|
263
|
+
{ country: "ZW", countryName: "Zimbabwe", currency: "ZWL", currencyName: "Zimbabwean Dollar" }
|
|
264
|
+
];
|
|
265
|
+
var CountryCode = Object.fromEntries(COUNTRY_CURRENCY_LIST.map((e) => [e.country, e.country]));
|
|
266
|
+
var uniqueCurrencies = /* @__PURE__ */ new Map();
|
|
267
|
+
for (const entry of COUNTRY_CURRENCY_LIST) {
|
|
268
|
+
if (!uniqueCurrencies.has(entry.currency)) uniqueCurrencies.set(entry.currency, entry.currencyName);
|
|
269
|
+
}
|
|
270
|
+
var FiatCurrencyCode = Object.fromEntries([...uniqueCurrencies.keys()].map((code) => [code, code]));
|
|
271
|
+
var COUNTRY_NAMES = Object.fromEntries(COUNTRY_CURRENCY_LIST.map((e) => [e.country, e.countryName]));
|
|
272
|
+
var FIAT_CURRENCY_NAMES = Object.fromEntries(uniqueCurrencies);
|
|
273
|
+
var COUNTRY_TO_CURRENCY = Object.fromEntries(COUNTRY_CURRENCY_LIST.map((e) => [e.country, e.currency]));
|
|
274
|
+
var PAYMENT_METHOD_CATEGORIES = ["card", "apple_pay", "google_pay", "bank_transfer"];
|
|
12
275
|
|
|
13
276
|
// src/schemas.ts
|
|
14
277
|
import { z } from "zod";
|
|
278
|
+
var FIAT_CURRENCY_CODES = Object.keys(FIAT_CURRENCY_NAMES);
|
|
15
279
|
var obj = (shape) => z.object(shape).strict();
|
|
16
280
|
var JsonSchema = z.lazy(
|
|
17
281
|
() => z.union([
|
|
@@ -69,7 +333,7 @@ var $failureReason = z.union([
|
|
|
69
333
|
})
|
|
70
334
|
]);
|
|
71
335
|
var FailureReasonSchema = $failureReason;
|
|
72
|
-
var $money = obj({ currency: z.
|
|
336
|
+
var $money = obj({ currency: z.enum(FIAT_CURRENCY_CODES), amount: z.string() });
|
|
73
337
|
var FiatAmountSchema = $money;
|
|
74
338
|
var $cryptoAmount = obj({
|
|
75
339
|
currency: z.string(),
|
|
@@ -86,7 +350,7 @@ var $quote = obj({
|
|
|
86
350
|
rate: z.string(),
|
|
87
351
|
totalFee: z.string(),
|
|
88
352
|
feeBreakdown: z.array($feeLine),
|
|
89
|
-
paymentMethod: z.
|
|
353
|
+
paymentMethod: z.enum(PAYMENT_METHOD_CATEGORIES),
|
|
90
354
|
expiresAt: z.string()
|
|
91
355
|
});
|
|
92
356
|
var QuoteSchema = $quote;
|
|
@@ -96,7 +360,7 @@ var $orderRef = obj({
|
|
|
96
360
|
orderId: z.string(),
|
|
97
361
|
fiat: $money,
|
|
98
362
|
crypto: $cryptoAmount,
|
|
99
|
-
method: z.
|
|
363
|
+
method: z.enum(PAYMENT_METHOD_CATEGORIES),
|
|
100
364
|
createdAt: z.string(),
|
|
101
365
|
status: $orderStatus
|
|
102
366
|
});
|
|
@@ -105,7 +369,7 @@ var $orderSummary = obj({
|
|
|
105
369
|
orderId: z.string(),
|
|
106
370
|
fiat: $money,
|
|
107
371
|
crypto: $cryptoAmount.optional(),
|
|
108
|
-
method: z.
|
|
372
|
+
method: z.enum(PAYMENT_METHOD_CATEGORIES),
|
|
109
373
|
createdAt: z.string(),
|
|
110
374
|
instrument: $instrument.optional()
|
|
111
375
|
});
|
|
@@ -115,7 +379,7 @@ var StatusHistoryEntrySchema = $statusHistoryEntry;
|
|
|
115
379
|
var $tx = obj({ chainId: z.number(), hash: z.string() });
|
|
116
380
|
var TxSchema = $tx;
|
|
117
381
|
var $refund = obj({
|
|
118
|
-
currency: z.
|
|
382
|
+
currency: z.enum(FIAT_CURRENCY_CODES),
|
|
119
383
|
amount: z.string(),
|
|
120
384
|
expectedBy: z.string()
|
|
121
385
|
});
|
|
@@ -1178,17 +1442,22 @@ function assertAllFixtures() {
|
|
|
1178
1442
|
export {
|
|
1179
1443
|
AuthChallengeSchema,
|
|
1180
1444
|
BlockedStateSchema,
|
|
1445
|
+
COUNTRY_NAMES,
|
|
1446
|
+
COUNTRY_TO_CURRENCY,
|
|
1181
1447
|
ContractViolation,
|
|
1448
|
+
CountryCode,
|
|
1182
1449
|
CryptoAmountSchema,
|
|
1183
1450
|
DOCUMENTED_ENDPOINTS,
|
|
1184
1451
|
ENDPOINT_PATTERN,
|
|
1185
1452
|
EnvelopeSchema,
|
|
1453
|
+
FIAT_CURRENCY_NAMES,
|
|
1186
1454
|
FIELD_SPEC_TYPES,
|
|
1187
1455
|
FIXTURES,
|
|
1188
1456
|
FIXTURE_COVERAGE_GAPS,
|
|
1189
1457
|
FailureReasonSchema,
|
|
1190
1458
|
FeeLineSchema,
|
|
1191
1459
|
FiatAmountSchema,
|
|
1460
|
+
FiatCurrencyCode,
|
|
1192
1461
|
FiatEndpointSchema,
|
|
1193
1462
|
FiatProviderSchema,
|
|
1194
1463
|
FieldSpecSchema,
|
|
@@ -1210,6 +1479,7 @@ export {
|
|
|
1210
1479
|
OrderRefSchema,
|
|
1211
1480
|
OrderStatusSchema,
|
|
1212
1481
|
OrderSummarySchema,
|
|
1482
|
+
PAYMENT_METHOD_CATEGORIES,
|
|
1213
1483
|
PaymentCaptureStateSchema,
|
|
1214
1484
|
PaymentInstructStateSchema,
|
|
1215
1485
|
PendingOrderStateSchema,
|
package/dist/table.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ import type { FiatEndpoint, FlowState, OrderStatus, TransitionMode } from './typ
|
|
|
22
22
|
* The package version IS the capability handshake's table version (contract §Conformance
|
|
23
23
|
* package → Versioning). Must equal `package.json#version` — asserted in the test suite.
|
|
24
24
|
*/
|
|
25
|
-
export declare const TABLE_VERSION = "0.
|
|
25
|
+
export declare const TABLE_VERSION = "0.3.0";
|
|
26
26
|
/**
|
|
27
27
|
* State identity = kind + phase + the state's named discriminant (FE doc §Decisions).
|
|
28
28
|
* The table keys on kind + phase (+ `reason` for KYC, whose three reasons differ in terminality
|
package/dist/table.js
CHANGED
package/dist/table.mjs
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* - `params` = server literals · `inputs` = collected FieldSpecs · `expects` = injected surface results
|
|
19
19
|
* - terminality comes from the table (`src/table.ts`), never from `transitions.length`
|
|
20
20
|
*/
|
|
21
|
+
import type { FiatCurrencyCode, PaymentMethodCategory } from './codes';
|
|
21
22
|
/**
|
|
22
23
|
* JSON value. `params` carry these — opaque literals the client spreads verbatim.
|
|
23
24
|
* Named `JsonValue` rather than `Json` because this package's surface is re-exported wholesale;
|
|
@@ -122,11 +123,13 @@ export type FailureReason = {
|
|
|
122
123
|
/**
|
|
123
124
|
* Amounts are decimal strings in the docs' envelopes ("100.00") — never numbers.
|
|
124
125
|
* Named to pair with `CryptoAmount`: every use site is a `fiat:` field.
|
|
126
|
+
* `currency` is ISO 4217 — see `./codes`.
|
|
125
127
|
*/
|
|
126
128
|
export interface FiatAmount {
|
|
127
|
-
currency:
|
|
129
|
+
currency: FiatCurrencyCode;
|
|
128
130
|
amount: string;
|
|
129
131
|
}
|
|
132
|
+
/** `currency` is the token's ticker symbol (e.g. `"USDC"`) — no ISO-4217-style registry exists for tickers. */
|
|
130
133
|
export interface CryptoAmount {
|
|
131
134
|
currency: string;
|
|
132
135
|
network: string;
|
|
@@ -141,8 +144,7 @@ export interface FeeLine {
|
|
|
141
144
|
/**
|
|
142
145
|
* `expiresAt` is BE-stamped, not a provider passthrough (contract §Quote semantics).
|
|
143
146
|
* All v1 quotes are estimates as a global fact, not a field.
|
|
144
|
-
* `paymentMethod` is
|
|
145
|
-
* leave the set open, so it stays `string` rather than a fabricated enum.
|
|
147
|
+
* `paymentMethod` is closed to `PaymentMethodCategory` — see `./codes`.
|
|
146
148
|
*/
|
|
147
149
|
export interface Quote {
|
|
148
150
|
quoteRef: string;
|
|
@@ -151,7 +153,7 @@ export interface Quote {
|
|
|
151
153
|
rate: string;
|
|
152
154
|
totalFee: string;
|
|
153
155
|
feeBreakdown: FeeLine[];
|
|
154
|
-
paymentMethod:
|
|
156
|
+
paymentMethod: PaymentMethodCategory;
|
|
155
157
|
expiresAt: string;
|
|
156
158
|
}
|
|
157
159
|
/** Deferred to the credit-card iteration (FE doc port ledger) — optional wherever it appears. */
|
|
@@ -164,7 +166,7 @@ export interface OrderRef {
|
|
|
164
166
|
orderId: string;
|
|
165
167
|
fiat: FiatAmount;
|
|
166
168
|
crypto: CryptoAmount;
|
|
167
|
-
method:
|
|
169
|
+
method: PaymentMethodCategory;
|
|
168
170
|
createdAt: string;
|
|
169
171
|
status: OrderStatus;
|
|
170
172
|
}
|
|
@@ -176,7 +178,7 @@ export interface OrderSummary {
|
|
|
176
178
|
orderId: string;
|
|
177
179
|
fiat: FiatAmount;
|
|
178
180
|
crypto?: CryptoAmount;
|
|
179
|
-
method:
|
|
181
|
+
method: PaymentMethodCategory;
|
|
180
182
|
createdAt: string;
|
|
181
183
|
instrument?: Instrument;
|
|
182
184
|
}
|
|
@@ -193,7 +195,7 @@ export interface Tx {
|
|
|
193
195
|
hash: string;
|
|
194
196
|
}
|
|
195
197
|
export interface Refund {
|
|
196
|
-
currency:
|
|
198
|
+
currency: FiatCurrencyCode;
|
|
197
199
|
amount: string;
|
|
198
200
|
expectedBy: string;
|
|
199
201
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fun-xyz/fiat-contract",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Published conformance contract for Fun's headless fiat onramp: FlowState/Transition types, zod schemas, the transition table as data, recorded fixtures, assertion helpers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|