@ducatjs/money 0.0.0 → 0.2.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.
Files changed (398) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +51 -0
  3. package/README.md +1034 -3
  4. package/assets/CREDITS.md +12 -0
  5. package/data/adyen-fx.json +19 -0
  6. package/data/adyen.json +171 -0
  7. package/data/braintree.json +223 -0
  8. package/data/cash-rounding.json +520 -0
  9. package/data/checkout.json +230 -0
  10. package/data/cldr-cash.json +101 -0
  11. package/data/historic.json +78 -0
  12. package/data/iso4217-list-one.xml +1956 -0
  13. package/data/iso4217-list-three.xml +1185 -0
  14. package/data/klarna.json +95 -0
  15. package/data/paypal.json +65 -0
  16. package/data/stripe-fx.json +17 -0
  17. package/data/stripe.json +285 -0
  18. package/dist/adyen-fx.d.ts +25 -0
  19. package/dist/adyen-fx.d.ts.map +1 -0
  20. package/dist/adyen-fx.js +140 -0
  21. package/dist/adyen-fx.js.map +1 -0
  22. package/dist/adyen.d.ts +25 -0
  23. package/dist/adyen.d.ts.map +1 -0
  24. package/dist/adyen.js +34 -0
  25. package/dist/adyen.js.map +1 -0
  26. package/dist/allocate.d.ts +72 -0
  27. package/dist/allocate.d.ts.map +1 -0
  28. package/dist/allocate.js +314 -0
  29. package/dist/allocate.js.map +1 -0
  30. package/dist/bag.d.ts +58 -0
  31. package/dist/bag.d.ts.map +1 -0
  32. package/dist/bag.js +122 -0
  33. package/dist/bag.js.map +1 -0
  34. package/dist/boc.d.ts +31 -0
  35. package/dist/boc.d.ts.map +1 -0
  36. package/dist/boc.js +114 -0
  37. package/dist/boc.js.map +1 -0
  38. package/dist/boe.d.ts +33 -0
  39. package/dist/boe.d.ts.map +1 -0
  40. package/dist/boe.js +114 -0
  41. package/dist/boe.js.map +1 -0
  42. package/dist/braintree.d.ts +34 -0
  43. package/dist/braintree.d.ts.map +1 -0
  44. package/dist/braintree.js +45 -0
  45. package/dist/braintree.js.map +1 -0
  46. package/dist/cash.d.ts +64 -0
  47. package/dist/cash.d.ts.map +1 -0
  48. package/dist/cash.js +134 -0
  49. package/dist/cash.js.map +1 -0
  50. package/dist/checkout.d.ts +42 -0
  51. package/dist/checkout.d.ts.map +1 -0
  52. package/dist/checkout.js +52 -0
  53. package/dist/checkout.js.map +1 -0
  54. package/dist/convert.d.ts +52 -0
  55. package/dist/convert.d.ts.map +1 -0
  56. package/dist/convert.js +65 -0
  57. package/dist/convert.js.map +1 -0
  58. package/dist/currency.d.ts +22 -0
  59. package/dist/currency.d.ts.map +1 -0
  60. package/dist/currency.js +38 -0
  61. package/dist/currency.js.map +1 -0
  62. package/dist/decimal.d.ts +52 -0
  63. package/dist/decimal.d.ts.map +1 -0
  64. package/dist/decimal.js +251 -0
  65. package/dist/decimal.js.map +1 -0
  66. package/dist/drizzle/mysql.d.ts +105 -0
  67. package/dist/drizzle/mysql.d.ts.map +1 -0
  68. package/dist/drizzle/mysql.js +60 -0
  69. package/dist/drizzle/mysql.js.map +1 -0
  70. package/dist/drizzle/pg.d.ts +103 -0
  71. package/dist/drizzle/pg.d.ts.map +1 -0
  72. package/dist/drizzle/pg.js +60 -0
  73. package/dist/drizzle/pg.js.map +1 -0
  74. package/dist/drizzle/sqlite.d.ts +102 -0
  75. package/dist/drizzle/sqlite.d.ts.map +1 -0
  76. package/dist/drizzle/sqlite.js +59 -0
  77. package/dist/drizzle/sqlite.js.map +1 -0
  78. package/dist/ecb.d.ts +52 -0
  79. package/dist/ecb.d.ts.map +1 -0
  80. package/dist/ecb.js +285 -0
  81. package/dist/ecb.js.map +1 -0
  82. package/dist/exact.d.ts +62 -0
  83. package/dist/exact.d.ts.map +1 -0
  84. package/dist/exact.js +147 -0
  85. package/dist/exact.js.map +1 -0
  86. package/dist/fed.d.ts +35 -0
  87. package/dist/fed.d.ts.map +1 -0
  88. package/dist/fed.js +134 -0
  89. package/dist/fed.js.map +1 -0
  90. package/dist/fetch.d.ts +103 -0
  91. package/dist/fetch.d.ts.map +1 -0
  92. package/dist/fetch.js +222 -0
  93. package/dist/fetch.js.map +1 -0
  94. package/dist/fixed.d.ts +121 -0
  95. package/dist/fixed.d.ts.map +1 -0
  96. package/dist/fixed.js +420 -0
  97. package/dist/fixed.js.map +1 -0
  98. package/dist/fn.d.ts +34 -0
  99. package/dist/fn.d.ts.map +1 -0
  100. package/dist/fn.js +37 -0
  101. package/dist/fn.js.map +1 -0
  102. package/dist/format.d.ts +13 -0
  103. package/dist/format.d.ts.map +1 -0
  104. package/dist/format.js +90 -0
  105. package/dist/format.js.map +1 -0
  106. package/dist/generated/adyen.d.ts +3 -0
  107. package/dist/generated/adyen.d.ts.map +1 -0
  108. package/dist/generated/adyen.js +144 -0
  109. package/dist/generated/adyen.js.map +1 -0
  110. package/dist/generated/braintree.d.ts +3 -0
  111. package/dist/generated/braintree.d.ts.map +1 -0
  112. package/dist/generated/braintree.js +140 -0
  113. package/dist/generated/braintree.js.map +1 -0
  114. package/dist/generated/cash.d.ts +14 -0
  115. package/dist/generated/cash.d.ts.map +1 -0
  116. package/dist/generated/cash.js +465 -0
  117. package/dist/generated/cash.js.map +1 -0
  118. package/dist/generated/checkout.d.ts +3 -0
  119. package/dist/generated/checkout.d.ts.map +1 -0
  120. package/dist/generated/checkout.js +151 -0
  121. package/dist/generated/checkout.js.map +1 -0
  122. package/dist/generated/historic.d.ts +337 -0
  123. package/dist/generated/historic.d.ts.map +1 -0
  124. package/dist/generated/historic.js +66 -0
  125. package/dist/generated/historic.js.map +1 -0
  126. package/dist/generated/iso4217.d.ts +174 -0
  127. package/dist/generated/iso4217.d.ts.map +1 -0
  128. package/dist/generated/iso4217.js +175 -0
  129. package/dist/generated/iso4217.js.map +1 -0
  130. package/dist/generated/kernel.d.ts +17 -0
  131. package/dist/generated/kernel.d.ts.map +1 -0
  132. package/dist/generated/kernel.js +208 -0
  133. package/dist/generated/kernel.js.map +1 -0
  134. package/dist/generated/klarna.d.ts +3 -0
  135. package/dist/generated/klarna.d.ts.map +1 -0
  136. package/dist/generated/klarna.js +21 -0
  137. package/dist/generated/klarna.js.map +1 -0
  138. package/dist/generated/paypal.d.ts +3 -0
  139. package/dist/generated/paypal.d.ts.map +1 -0
  140. package/dist/generated/paypal.js +31 -0
  141. package/dist/generated/paypal.js.map +1 -0
  142. package/dist/generated/stripe.d.ts +8 -0
  143. package/dist/generated/stripe.d.ts.map +1 -0
  144. package/dist/generated/stripe.js +150 -0
  145. package/dist/generated/stripe.js.map +1 -0
  146. package/dist/historic.d.ts +40 -0
  147. package/dist/historic.d.ts.map +1 -0
  148. package/dist/historic.js +43 -0
  149. package/dist/historic.js.map +1 -0
  150. package/dist/history.d.ts +96 -0
  151. package/dist/history.d.ts.map +1 -0
  152. package/dist/history.js +213 -0
  153. package/dist/history.js.map +1 -0
  154. package/dist/hmrc.d.ts +28 -0
  155. package/dist/hmrc.d.ts.map +1 -0
  156. package/dist/hmrc.js +108 -0
  157. package/dist/hmrc.js.map +1 -0
  158. package/dist/index.d.ts +11 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +11 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/klarna.d.ts +31 -0
  163. package/dist/klarna.d.ts.map +1 -0
  164. package/dist/klarna.js +38 -0
  165. package/dist/klarna.js.map +1 -0
  166. package/dist/kysely.d.ts +120 -0
  167. package/dist/kysely.d.ts.map +1 -0
  168. package/dist/kysely.js +309 -0
  169. package/dist/kysely.js.map +1 -0
  170. package/dist/money.d.ts +302 -0
  171. package/dist/money.d.ts.map +1 -0
  172. package/dist/money.js +703 -0
  173. package/dist/money.js.map +1 -0
  174. package/dist/parse.d.ts +55 -0
  175. package/dist/parse.d.ts.map +1 -0
  176. package/dist/parse.js +419 -0
  177. package/dist/parse.js.map +1 -0
  178. package/dist/paypal.d.ts +41 -0
  179. package/dist/paypal.d.ts.map +1 -0
  180. package/dist/paypal.js +58 -0
  181. package/dist/paypal.js.map +1 -0
  182. package/dist/pg.d.ts +100 -0
  183. package/dist/pg.d.ts.map +1 -0
  184. package/dist/pg.js +343 -0
  185. package/dist/pg.js.map +1 -0
  186. package/dist/plugins/adyen.d.ts +15 -0
  187. package/dist/plugins/adyen.d.ts.map +1 -0
  188. package/dist/plugins/adyen.js +10 -0
  189. package/dist/plugins/adyen.js.map +1 -0
  190. package/dist/plugins/all.d.ts +29 -0
  191. package/dist/plugins/all.d.ts.map +1 -0
  192. package/dist/plugins/all.js +30 -0
  193. package/dist/plugins/all.js.map +1 -0
  194. package/dist/plugins/allocate.d.ts +20 -0
  195. package/dist/plugins/allocate.d.ts.map +1 -0
  196. package/dist/plugins/allocate.js +26 -0
  197. package/dist/plugins/allocate.js.map +1 -0
  198. package/dist/plugins/braintree.d.ts +12 -0
  199. package/dist/plugins/braintree.d.ts.map +1 -0
  200. package/dist/plugins/braintree.js +12 -0
  201. package/dist/plugins/braintree.js.map +1 -0
  202. package/dist/plugins/cash.d.ts +19 -0
  203. package/dist/plugins/cash.d.ts.map +1 -0
  204. package/dist/plugins/cash.js +16 -0
  205. package/dist/plugins/cash.js.map +1 -0
  206. package/dist/plugins/checkout.d.ts +21 -0
  207. package/dist/plugins/checkout.d.ts.map +1 -0
  208. package/dist/plugins/checkout.js +16 -0
  209. package/dist/plugins/checkout.js.map +1 -0
  210. package/dist/plugins/convert.d.ts +19 -0
  211. package/dist/plugins/convert.d.ts.map +1 -0
  212. package/dist/plugins/convert.js +13 -0
  213. package/dist/plugins/convert.js.map +1 -0
  214. package/dist/plugins/exact.d.ts +15 -0
  215. package/dist/plugins/exact.d.ts.map +1 -0
  216. package/dist/plugins/exact.js +13 -0
  217. package/dist/plugins/exact.js.map +1 -0
  218. package/dist/plugins/fixed.d.ts +17 -0
  219. package/dist/plugins/fixed.d.ts.map +1 -0
  220. package/dist/plugins/fixed.js +13 -0
  221. package/dist/plugins/fixed.js.map +1 -0
  222. package/dist/plugins/format.d.ts +9 -0
  223. package/dist/plugins/format.d.ts.map +1 -0
  224. package/dist/plugins/format.js +16 -0
  225. package/dist/plugins/format.js.map +1 -0
  226. package/dist/plugins/klarna.d.ts +10 -0
  227. package/dist/plugins/klarna.d.ts.map +1 -0
  228. package/dist/plugins/klarna.js +10 -0
  229. package/dist/plugins/klarna.js.map +1 -0
  230. package/dist/plugins/paypal.d.ts +14 -0
  231. package/dist/plugins/paypal.d.ts.map +1 -0
  232. package/dist/plugins/paypal.js +16 -0
  233. package/dist/plugins/paypal.js.map +1 -0
  234. package/dist/plugins/prisma.d.ts +8 -0
  235. package/dist/plugins/prisma.d.ts.map +1 -0
  236. package/dist/plugins/prisma.js +13 -0
  237. package/dist/plugins/prisma.js.map +1 -0
  238. package/dist/plugins/stripe.d.ts +14 -0
  239. package/dist/plugins/stripe.d.ts.map +1 -0
  240. package/dist/plugins/stripe.js +16 -0
  241. package/dist/plugins/stripe.js.map +1 -0
  242. package/dist/plugins/tax.d.ts +20 -0
  243. package/dist/plugins/tax.d.ts.map +1 -0
  244. package/dist/plugins/tax.js +18 -0
  245. package/dist/plugins/tax.js.map +1 -0
  246. package/dist/policy.d.ts +34 -0
  247. package/dist/policy.d.ts.map +1 -0
  248. package/dist/policy.js +90 -0
  249. package/dist/policy.js.map +1 -0
  250. package/dist/prisma.d.ts +77 -0
  251. package/dist/prisma.d.ts.map +1 -0
  252. package/dist/prisma.js +76 -0
  253. package/dist/prisma.js.map +1 -0
  254. package/dist/processor.d.ts +28 -0
  255. package/dist/processor.d.ts.map +1 -0
  256. package/dist/processor.js +118 -0
  257. package/dist/processor.js.map +1 -0
  258. package/dist/provider.d.ts +103 -0
  259. package/dist/provider.d.ts.map +1 -0
  260. package/dist/provider.js +280 -0
  261. package/dist/provider.js.map +1 -0
  262. package/dist/rate-text.d.ts +38 -0
  263. package/dist/rate-text.d.ts.map +1 -0
  264. package/dist/rate-text.js +143 -0
  265. package/dist/rate-text.js.map +1 -0
  266. package/dist/rate.d.ts +175 -0
  267. package/dist/rate.d.ts.map +1 -0
  268. package/dist/rate.js +371 -0
  269. package/dist/rate.js.map +1 -0
  270. package/dist/rounding-error.d.ts +9 -0
  271. package/dist/rounding-error.d.ts.map +1 -0
  272. package/dist/rounding-error.js +9 -0
  273. package/dist/rounding-error.js.map +1 -0
  274. package/dist/rounding.d.ts +50 -0
  275. package/dist/rounding.d.ts.map +1 -0
  276. package/dist/rounding.js +87 -0
  277. package/dist/rounding.js.map +1 -0
  278. package/dist/schema.d.ts +43 -0
  279. package/dist/schema.d.ts.map +1 -0
  280. package/dist/schema.js +77 -0
  281. package/dist/schema.js.map +1 -0
  282. package/dist/sql.d.ts +54 -0
  283. package/dist/sql.d.ts.map +1 -0
  284. package/dist/sql.js +131 -0
  285. package/dist/sql.js.map +1 -0
  286. package/dist/stripe-fx.d.ts +22 -0
  287. package/dist/stripe-fx.d.ts.map +1 -0
  288. package/dist/stripe-fx.js +30 -0
  289. package/dist/stripe-fx.js.map +1 -0
  290. package/dist/stripe.d.ts +36 -0
  291. package/dist/stripe.d.ts.map +1 -0
  292. package/dist/stripe.js +39 -0
  293. package/dist/stripe.js.map +1 -0
  294. package/dist/tax.d.ts +33 -0
  295. package/dist/tax.d.ts.map +1 -0
  296. package/dist/tax.js +55 -0
  297. package/dist/tax.js.map +1 -0
  298. package/dist/testing/arbitraries.d.ts +43 -0
  299. package/dist/testing/arbitraries.d.ts.map +1 -0
  300. package/dist/testing/arbitraries.js +98 -0
  301. package/dist/testing/arbitraries.js.map +1 -0
  302. package/dist/testing/index.d.ts +67 -0
  303. package/dist/testing/index.d.ts.map +1 -0
  304. package/dist/testing/index.js +159 -0
  305. package/dist/testing/index.js.map +1 -0
  306. package/dist/testing/jest.d.ts +2 -0
  307. package/dist/testing/jest.d.ts.map +1 -0
  308. package/dist/testing/jest.js +15 -0
  309. package/dist/testing/jest.js.map +1 -0
  310. package/dist/testing/vitest.d.ts +7 -0
  311. package/dist/testing/vitest.d.ts.map +1 -0
  312. package/dist/testing/vitest.js +12 -0
  313. package/dist/testing/vitest.js.map +1 -0
  314. package/dist/valibot.d.ts +33 -0
  315. package/dist/valibot.d.ts.map +1 -0
  316. package/dist/valibot.js +61 -0
  317. package/dist/valibot.js.map +1 -0
  318. package/dist/zod.d.ts +36 -0
  319. package/dist/zod.d.ts.map +1 -0
  320. package/dist/zod.js +58 -0
  321. package/dist/zod.js.map +1 -0
  322. package/package.json +280 -5
  323. package/src/adyen-fx.ts +175 -0
  324. package/src/adyen.ts +46 -0
  325. package/src/allocate.ts +393 -0
  326. package/src/bag.ts +170 -0
  327. package/src/boc.ts +136 -0
  328. package/src/boe.ts +131 -0
  329. package/src/braintree.ts +71 -0
  330. package/src/cash.ts +183 -0
  331. package/src/checkout.ts +77 -0
  332. package/src/convert.ts +177 -0
  333. package/src/currency.ts +61 -0
  334. package/src/decimal.ts +283 -0
  335. package/src/drizzle/mysql.ts +78 -0
  336. package/src/drizzle/pg.ts +78 -0
  337. package/src/drizzle/sqlite.ts +70 -0
  338. package/src/ecb.ts +328 -0
  339. package/src/exact.ts +182 -0
  340. package/src/fed.ts +146 -0
  341. package/src/fetch.ts +306 -0
  342. package/src/fixed.ts +558 -0
  343. package/src/fn.ts +94 -0
  344. package/src/format.ts +106 -0
  345. package/src/generated/adyen.ts +144 -0
  346. package/src/generated/braintree.ts +140 -0
  347. package/src/generated/cash.ts +478 -0
  348. package/src/generated/checkout.ts +151 -0
  349. package/src/generated/historic.ts +67 -0
  350. package/src/generated/iso4217.ts +179 -0
  351. package/src/generated/kernel.ts +230 -0
  352. package/src/generated/klarna.ts +21 -0
  353. package/src/generated/paypal.ts +31 -0
  354. package/src/generated/stripe.ts +150 -0
  355. package/src/historic.ts +77 -0
  356. package/src/history.ts +333 -0
  357. package/src/hmrc.ts +125 -0
  358. package/src/index.ts +41 -0
  359. package/src/klarna.ts +54 -0
  360. package/src/kysely.ts +588 -0
  361. package/src/money.ts +979 -0
  362. package/src/parse.ts +511 -0
  363. package/src/paypal.ts +93 -0
  364. package/src/pg.ts +410 -0
  365. package/src/plugins/adyen.ts +25 -0
  366. package/src/plugins/all.ts +57 -0
  367. package/src/plugins/allocate.ts +53 -0
  368. package/src/plugins/braintree.ts +23 -0
  369. package/src/plugins/cash.ts +33 -0
  370. package/src/plugins/checkout.ts +32 -0
  371. package/src/plugins/convert.ts +49 -0
  372. package/src/plugins/exact.ts +23 -0
  373. package/src/plugins/fixed.ts +28 -0
  374. package/src/plugins/format.ts +28 -0
  375. package/src/plugins/klarna.ts +21 -0
  376. package/src/plugins/paypal.ts +29 -0
  377. package/src/plugins/prisma.ts +24 -0
  378. package/src/plugins/stripe.ts +29 -0
  379. package/src/plugins/tax.ts +40 -0
  380. package/src/policy.ts +124 -0
  381. package/src/prisma.ts +199 -0
  382. package/src/processor.ts +181 -0
  383. package/src/provider.ts +389 -0
  384. package/src/rate-text.ts +151 -0
  385. package/src/rate.ts +546 -0
  386. package/src/rounding-error.ts +8 -0
  387. package/src/rounding.ts +122 -0
  388. package/src/schema.ts +119 -0
  389. package/src/sql.ts +178 -0
  390. package/src/stripe-fx.ts +49 -0
  391. package/src/stripe.ts +69 -0
  392. package/src/tax.ts +102 -0
  393. package/src/testing/arbitraries.ts +134 -0
  394. package/src/testing/index.ts +247 -0
  395. package/src/testing/jest.ts +18 -0
  396. package/src/testing/vitest.ts +18 -0
  397. package/src/valibot.ts +87 -0
  398. package/src/zod.ts +78 -0
@@ -0,0 +1,478 @@
1
+ // GENERATED by scripts/gen-currencies.mjs from data/cash-rounding.json. Do not edit by hand.
2
+ /* eslint-disable */
3
+
4
+ export interface CashRule {
5
+ readonly currency: string;
6
+ /** Smallest cash step, in ISO minor units. */
7
+ readonly increment: number;
8
+ readonly countries: readonly string[];
9
+ readonly scope: string;
10
+ /** false: only secondary sources were found. */
11
+ readonly verified: boolean;
12
+ readonly source: string;
13
+ /** The tie rule the source prescribes, where it isn't halfExpand. */
14
+ readonly rounding?: import('../rounding.js').RoundingMode;
15
+ }
16
+
17
+ export const CASH_RULES: readonly CashRule[] = [
18
+ {
19
+ "currency": "CHF",
20
+ "increment": 5,
21
+ "countries": [
22
+ "CH",
23
+ "LI"
24
+ ],
25
+ "scope": "cash (practice; card/electronic to 0.01)",
26
+ "verified": false,
27
+ "source": "https://www.snb.ch/en/the-snb/mandates-goals/cash/coins"
28
+ },
29
+ {
30
+ "currency": "SEK",
31
+ "increment": 100,
32
+ "countries": [
33
+ "SE"
34
+ ],
35
+ "scope": "cash only",
36
+ "verified": true,
37
+ "source": "https://archive.riksbank.se/en/Web-archive/Published/Notices/2009/50-ore-coin-to-be-abolished-in-2010/index.html"
38
+ },
39
+ {
40
+ "currency": "DKK",
41
+ "increment": 50,
42
+ "countries": [
43
+ "DK",
44
+ "GL",
45
+ "FO"
46
+ ],
47
+ "scope": "cash only",
48
+ "verified": false,
49
+ "source": "https://lex.dk/afrunding"
50
+ },
51
+ {
52
+ "currency": "NOK",
53
+ "increment": 100,
54
+ "countries": [
55
+ "NO",
56
+ "SJ",
57
+ "BV"
58
+ ],
59
+ "scope": "cash only",
60
+ "verified": true,
61
+ "source": "https://www.norges-bank.no/en/news-events/news/Circulars/2011/Regulation-relating-to-withdrawal-of-50-ore-coins-as-legal-tender/"
62
+ },
63
+ {
64
+ "currency": "CAD",
65
+ "increment": 5,
66
+ "countries": [
67
+ "CA"
68
+ ],
69
+ "scope": "cash only",
70
+ "verified": true,
71
+ "source": "https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/gi-131/phasing-penny.html"
72
+ },
73
+ {
74
+ "currency": "AUD",
75
+ "increment": 5,
76
+ "countries": [
77
+ "AU",
78
+ "CX",
79
+ "CC",
80
+ "NF",
81
+ "NR",
82
+ "KI",
83
+ "TV",
84
+ "HM"
85
+ ],
86
+ "scope": "cash only",
87
+ "verified": false,
88
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
89
+ },
90
+ {
91
+ "currency": "NZD",
92
+ "increment": 10,
93
+ "countries": [
94
+ "NZ",
95
+ "CK",
96
+ "NU",
97
+ "PN",
98
+ "TK"
99
+ ],
100
+ "scope": "cash only",
101
+ "verified": false,
102
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
103
+ },
104
+ {
105
+ "currency": "EUR",
106
+ "increment": 5,
107
+ "countries": [
108
+ "BE"
109
+ ],
110
+ "scope": "cash only (mandatory for in-person cash; optional for other methods; not allowed for distance sales)",
111
+ "verified": true,
112
+ "source": "https://economie.fgov.be/en/themes/sales/mandatory-rounding-cash"
113
+ },
114
+ {
115
+ "currency": "EUR",
116
+ "increment": 5,
117
+ "countries": [
118
+ "NL"
119
+ ],
120
+ "scope": "cash only (permitted, must be signposted)",
121
+ "verified": true,
122
+ "source": "https://www.rijksoverheid.nl/documenten/vraag-en-antwoord/betalingsverkeer/mogen-winkeliers-betalingen-afronden-op-0-eurocent-of-5-eurocent"
123
+ },
124
+ {
125
+ "currency": "EUR",
126
+ "increment": 5,
127
+ "countries": [
128
+ "FI"
129
+ ],
130
+ "scope": "cash only (statutory)",
131
+ "verified": false,
132
+ "source": "https://www.finlex.fi/fi/lainsaadanto/2000/890"
133
+ },
134
+ {
135
+ "currency": "EUR",
136
+ "increment": 5,
137
+ "countries": [
138
+ "IE"
139
+ ],
140
+ "scope": "cash only (voluntary)",
141
+ "verified": false,
142
+ "source": "https://www.irishtimes.com/news/ireland/irish-news/coin-rounding-begins-as-use-of-1-cent-2-cent-coins-reduced-1.2408459"
143
+ },
144
+ {
145
+ "currency": "EUR",
146
+ "increment": 5,
147
+ "countries": [
148
+ "IT"
149
+ ],
150
+ "scope": "cash only (voluntary practice)",
151
+ "verified": false,
152
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
153
+ },
154
+ {
155
+ "currency": "EUR",
156
+ "increment": 5,
157
+ "countries": [
158
+ "SK"
159
+ ],
160
+ "scope": "cash only",
161
+ "verified": false,
162
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
163
+ },
164
+ {
165
+ "currency": "EUR",
166
+ "increment": 5,
167
+ "countries": [
168
+ "EE"
169
+ ],
170
+ "scope": "cash only, at physical point of sale",
171
+ "verified": true,
172
+ "source": "https://www.eestipank.ee/en/press/rounding-rule-will-start-apply-payments-cash-new-year-27122024"
173
+ },
174
+ {
175
+ "currency": "EUR",
176
+ "increment": 5,
177
+ "countries": [
178
+ "LT"
179
+ ],
180
+ "scope": "cash only",
181
+ "verified": false,
182
+ "source": "https://www.baltictimes.com/lithuania_starts_rounding_off_cash_payments_to_phase_out_1__2_cent_coins"
183
+ },
184
+ {
185
+ "currency": "HUF",
186
+ "increment": 500,
187
+ "countries": [
188
+ "HU"
189
+ ],
190
+ "scope": "cash only (statutory)",
191
+ "verified": true,
192
+ "source": "https://njt.jog.gov.hu/jogszabaly/2008-3-00-00"
193
+ },
194
+ {
195
+ "currency": "CZK",
196
+ "increment": 100,
197
+ "countries": [
198
+ "CZ"
199
+ ],
200
+ "scope": "cash only",
201
+ "verified": true,
202
+ "source": "https://www.cnb.cz/en/faq/How-to-round-after-the-withdrawal-of-50-heller-coins"
203
+ },
204
+ {
205
+ "currency": "ILS",
206
+ "increment": 10,
207
+ "countries": [
208
+ "IL",
209
+ "PS"
210
+ ],
211
+ "scope": "cash only",
212
+ "verified": false,
213
+ "source": "https://boi.org.il/en/communication-and-publications/press-releases/the-bank-of-israel-asks-the-government-to-approve-abolishing-the-5-agorot-coin-as-legal-tender/"
214
+ },
215
+ {
216
+ "currency": "MYR",
217
+ "increment": 5,
218
+ "countries": [
219
+ "MY"
220
+ ],
221
+ "scope": "over-the-counter payments (originally cash and non-cash per 2007 announcement; current practice cash only)",
222
+ "verified": false,
223
+ "source": "https://www.bnm.gov.my/-/introduction-of-a-rounding-mechanism-for-over-the-counter-payments"
224
+ },
225
+ {
226
+ "currency": "SGD",
227
+ "increment": 5,
228
+ "countries": [
229
+ "SG"
230
+ ],
231
+ "scope": "cash (informal practice; always rounded down per Wikipedia)",
232
+ "verified": false,
233
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
234
+ },
235
+ {
236
+ "currency": "RON",
237
+ "increment": 5,
238
+ "countries": [
239
+ "RO"
240
+ ],
241
+ "scope": "cash (practice)",
242
+ "verified": false,
243
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
244
+ },
245
+ {
246
+ "currency": "XPF",
247
+ "increment": 5,
248
+ "countries": [
249
+ "PF",
250
+ "NC",
251
+ "WF"
252
+ ],
253
+ "scope": "cash only",
254
+ "verified": false,
255
+ "source": "https://www.ieom.fr/nouvelles-pieces/"
256
+ },
257
+ {
258
+ "currency": "BSD",
259
+ "increment": 5,
260
+ "countries": [
261
+ "BS"
262
+ ],
263
+ "scope": "cash",
264
+ "verified": false,
265
+ "source": "https://www.centralbankbahamas.com/download/075913500.pdf"
266
+ },
267
+ {
268
+ "currency": "TTD",
269
+ "increment": 5,
270
+ "countries": [
271
+ "TT"
272
+ ],
273
+ "scope": "cash",
274
+ "verified": false,
275
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
276
+ },
277
+ {
278
+ "currency": "ZAR",
279
+ "increment": 10,
280
+ "countries": [
281
+ "ZA"
282
+ ],
283
+ "scope": "cash (practice)",
284
+ "verified": false,
285
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
286
+ },
287
+ {
288
+ "currency": "HKD",
289
+ "increment": 10,
290
+ "countries": [
291
+ "HK"
292
+ ],
293
+ "scope": "cash (practice)",
294
+ "verified": false,
295
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
296
+ },
297
+ {
298
+ "currency": "UAH",
299
+ "increment": 10,
300
+ "countries": [
301
+ "UA"
302
+ ],
303
+ "scope": "cash",
304
+ "verified": false,
305
+ "source": "https://www.bank.gov.ua/news/all/natsionalniy-bank-uporyadkovuye-nominalniy-ryad-banknot-i-monet-grivni"
306
+ },
307
+ {
308
+ "currency": "CLP",
309
+ "increment": 10,
310
+ "countries": [
311
+ "CL"
312
+ ],
313
+ "scope": "cash only",
314
+ "verified": false,
315
+ "source": "https://www.dgac.gob.cl/monedas-de-1-y-5-pesos-pasaran-a-la-historia-ley-n-20-956-ministerio-de-hacienda/"
316
+ },
317
+ {
318
+ "currency": "PEN",
319
+ "increment": 10,
320
+ "countries": [
321
+ "PE"
322
+ ],
323
+ "scope": "cash (practice)",
324
+ "verified": false,
325
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
326
+ },
327
+ {
328
+ "currency": "THB",
329
+ "increment": 25,
330
+ "countries": [
331
+ "TH"
332
+ ],
333
+ "scope": "cash (practice)",
334
+ "verified": false,
335
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
336
+ },
337
+ {
338
+ "currency": "AED",
339
+ "increment": 25,
340
+ "countries": [
341
+ "AE"
342
+ ],
343
+ "scope": "cash (practice)",
344
+ "verified": false,
345
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
346
+ },
347
+ {
348
+ "currency": "INR",
349
+ "increment": 100,
350
+ "countries": [
351
+ "IN"
352
+ ],
353
+ "scope": "cash (practice)",
354
+ "verified": false,
355
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
356
+ },
357
+ {
358
+ "currency": "JMD",
359
+ "increment": 100,
360
+ "countries": [
361
+ "JM"
362
+ ],
363
+ "scope": "cash",
364
+ "verified": false,
365
+ "source": "https://jis.gov.jm/information/get-the-facts/demonetisation-of-coins/"
366
+ },
367
+ {
368
+ "currency": "USD",
369
+ "increment": 5,
370
+ "countries": [
371
+ "US"
372
+ ],
373
+ "scope": "cash (permitted, not required; varies by state)",
374
+ "verified": false,
375
+ "source": "https://en.wikipedia.org/wiki/Cash_rounding"
376
+ },
377
+ {
378
+ "currency": "AMD",
379
+ "increment": 1000,
380
+ "countries": [
381
+ "AM"
382
+ ],
383
+ "scope": "cash (practice)",
384
+ "verified": true,
385
+ "source": "https://old.cba.am/en/SitePages/nccracoinscirculated.aspx"
386
+ },
387
+ {
388
+ "currency": "CRC",
389
+ "increment": 1000,
390
+ "countries": [
391
+ "CR"
392
+ ],
393
+ "scope": "cash (practice)",
394
+ "verified": true,
395
+ "source": "https://www.bccr.fi.cr/cr/es/noticias/listado-de-noticias/2026/monedas-de-5-10-y-25-del-diseno-anterior-dejaran-de-funcionar-como-medio-de-pago-el-1-de-julio-del-2.html"
396
+ },
397
+ {
398
+ "currency": "GYD",
399
+ "increment": 100,
400
+ "countries": [
401
+ "GY"
402
+ ],
403
+ "scope": "cash",
404
+ "verified": false,
405
+ "source": "https://bankofguyana.org.gy/bog/images/communications/press_release/Notice%20to%20stop%20minting%20one%20dollar%20coin.pdf"
406
+ },
407
+ {
408
+ "currency": "MNT",
409
+ "increment": 100,
410
+ "countries": [
411
+ "MN"
412
+ ],
413
+ "scope": "cash",
414
+ "verified": true,
415
+ "source": "https://www.mongolbank.mn/en/p/1416"
416
+ },
417
+ {
418
+ "currency": "MRU",
419
+ "increment": 20,
420
+ "countries": [
421
+ "MR"
422
+ ],
423
+ "scope": "cash",
424
+ "verified": false,
425
+ "source": "https://cridem.org/media/documents/bcm-presentation-gr-2017.pdf"
426
+ },
427
+ {
428
+ "currency": "PKR",
429
+ "increment": 100,
430
+ "countries": [
431
+ "PK"
432
+ ],
433
+ "scope": "cash",
434
+ "verified": true,
435
+ "source": "https://www.sbp.org.pk/press/2014/Coins-15-Sep-2014.pdf"
436
+ },
437
+ {
438
+ "currency": "RSD",
439
+ "increment": 100,
440
+ "countries": [
441
+ "RS"
442
+ ],
443
+ "scope": "cash (statutory)",
444
+ "verified": true,
445
+ "source": "https://www.nbs.rs/export/sites/NBS_site/documents/propisi/propisi-trz/opticaj_povlacenje_50_para.pdf",
446
+ "rounding": "halfTrunc"
447
+ },
448
+ {
449
+ "currency": "TZS",
450
+ "increment": 5000,
451
+ "countries": [
452
+ "TZ"
453
+ ],
454
+ "scope": "cash (practice)",
455
+ "verified": false,
456
+ "source": "https://www.bot.go.tz/Publications/Regular/Quarterly%20statistical%20Bulletin/en/2025090409030924.pdf"
457
+ },
458
+ {
459
+ "currency": "TWD",
460
+ "increment": 100,
461
+ "countries": [
462
+ "TW"
463
+ ],
464
+ "scope": "cash (practice)",
465
+ "verified": true,
466
+ "source": "https://www.cbc.gov.tw/tw/cp-769-26060-37841-1.html"
467
+ },
468
+ {
469
+ "currency": "UZS",
470
+ "increment": 5000,
471
+ "countries": [
472
+ "UZ"
473
+ ],
474
+ "scope": "cash (practice)",
475
+ "verified": true,
476
+ "source": "https://cbu.uz/en/banknotes-coins/coins/"
477
+ }
478
+ ];
@@ -0,0 +1,151 @@
1
+ // GENERATED by scripts/gen-currencies.mjs from data/checkout.json (https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value, retrieved 2026-11-07). Do not edit by hand.
2
+ /* eslint-disable */
3
+
4
+ /** Checkout.com currencies: [API exponent, payment amount multiple, Standalone API (authentication) multiple]. CLP is two-decimal with a multiple of 100; three-decimal currencies need a multiple of 10. */
5
+ export const CHECKOUT_RULES: Readonly<Record<string, readonly [exponent: number, multiple: number, standaloneMultiple: number]>> = {
6
+ AED: [2,1,1],
7
+ AFN: [2,1,1],
8
+ ALL: [2,1,1],
9
+ AMD: [2,1,1],
10
+ AOA: [2,1,1],
11
+ AUD: [2,1,1],
12
+ AWG: [2,1,1],
13
+ AZN: [2,1,1],
14
+ BAM: [2,1,1],
15
+ BBD: [2,1,1],
16
+ BDT: [2,1,1],
17
+ BHD: [3,10,10],
18
+ BIF: [0,1,1],
19
+ BMD: [2,1,1],
20
+ BND: [2,1,1],
21
+ BOB: [2,1,1],
22
+ BRL: [2,1,1],
23
+ BSD: [2,1,1],
24
+ BTN: [2,1,1],
25
+ BWP: [2,1,1],
26
+ BZD: [2,1,1],
27
+ CAD: [2,1,1],
28
+ CDF: [2,1,1],
29
+ CHF: [2,1,1],
30
+ CLP: [2,100,1],
31
+ CNY: [2,1,1],
32
+ COP: [2,1,1],
33
+ CRC: [2,1,1],
34
+ CUP: [2,1,1],
35
+ CVE: [2,1,1],
36
+ CZK: [2,1,1],
37
+ DJF: [0,1,1],
38
+ DKK: [2,1,1],
39
+ DOP: [2,1,1],
40
+ DZD: [2,1,1],
41
+ EGP: [2,1,1],
42
+ ERN: [2,1,1],
43
+ ETB: [2,1,1],
44
+ EUR: [2,1,1],
45
+ FJD: [2,1,1],
46
+ FKP: [2,1,1],
47
+ GBP: [2,1,1],
48
+ GEL: [2,1,1],
49
+ GIP: [2,1,1],
50
+ GNF: [0,1,1],
51
+ GTQ: [2,1,1],
52
+ GYD: [2,1,1],
53
+ HKD: [2,1,1],
54
+ HNL: [2,1,1],
55
+ HTG: [2,1,1],
56
+ HUF: [2,1,1],
57
+ IDR: [2,1,1],
58
+ ILS: [2,1,1],
59
+ INR: [2,1,1],
60
+ IQD: [3,10,10],
61
+ IRR: [2,1,1],
62
+ ISK: [0,1,1],
63
+ JMD: [2,1,1],
64
+ JOD: [3,10,10],
65
+ JPY: [0,1,1],
66
+ KES: [2,1,1],
67
+ KGS: [2,1,1],
68
+ KHR: [2,1,1],
69
+ KMF: [0,1,1],
70
+ KRW: [0,1,1],
71
+ KWD: [3,10,10],
72
+ KYD: [2,1,1],
73
+ KZT: [2,1,1],
74
+ LAK: [2,1,1],
75
+ LKR: [2,1,1],
76
+ LRD: [2,1,1],
77
+ LSL: [2,1,1],
78
+ LYD: [3,10,10],
79
+ MAD: [2,1,1],
80
+ MDL: [2,1,1],
81
+ MGA: [2,1,1],
82
+ MKD: [2,1,1],
83
+ MMK: [2,1,1],
84
+ MNT: [2,1,1],
85
+ MOP: [2,1,1],
86
+ MRU: [2,1,1],
87
+ MUR: [2,1,1],
88
+ MVR: [2,1,1],
89
+ MWK: [2,1,1],
90
+ MXN: [2,1,1],
91
+ MYR: [2,1,1],
92
+ MZN: [2,1,1],
93
+ NAD: [2,1,1],
94
+ NGN: [2,1,1],
95
+ NIO: [2,1,1],
96
+ NOK: [2,1,1],
97
+ NPR: [2,1,1],
98
+ NZD: [2,1,1],
99
+ OMR: [3,10,10],
100
+ PAB: [2,1,1],
101
+ PEN: [2,1,1],
102
+ PGK: [2,1,1],
103
+ PHP: [2,1,1],
104
+ PKR: [2,1,1],
105
+ PLN: [2,1,1],
106
+ PYG: [0,1,1],
107
+ QAR: [2,1,1],
108
+ RON: [2,1,1],
109
+ RSD: [2,1,1],
110
+ RWF: [0,1,1],
111
+ SAR: [2,1,1],
112
+ SBD: [2,1,1],
113
+ SCR: [2,1,1],
114
+ SEK: [2,1,1],
115
+ SGD: [2,1,1],
116
+ SHP: [2,1,1],
117
+ SLE: [2,1,1],
118
+ SLL: [2,1,1],
119
+ SOS: [2,1,1],
120
+ SRD: [2,1,1],
121
+ STN: [2,1,1],
122
+ SVC: [2,1,1],
123
+ SZL: [2,1,1],
124
+ THB: [2,1,1],
125
+ TJS: [2,1,1],
126
+ TMT: [2,1,1],
127
+ TND: [3,10,10],
128
+ TOP: [2,1,1],
129
+ TRY: [2,1,1],
130
+ TTD: [2,1,1],
131
+ TWD: [2,1,1],
132
+ TZS: [2,1,1],
133
+ UAH: [2,1,1],
134
+ UGX: [0,1,1],
135
+ USD: [2,1,1],
136
+ UYU: [2,1,1],
137
+ UZS: [2,1,1],
138
+ VES: [2,1,1],
139
+ VND: [0,1,1],
140
+ VUV: [0,1,1],
141
+ WST: [2,1,1],
142
+ XAF: [0,1,1],
143
+ XCD: [2,1,1],
144
+ XCG: [2,1,1],
145
+ XDR: [2,1,1],
146
+ XOF: [0,1,1],
147
+ XPF: [0,1,1],
148
+ YER: [2,1,1],
149
+ ZAR: [2,1,1],
150
+ ZMW: [2,1,1],
151
+ };
@@ -0,0 +1,67 @@
1
+ // GENERATED by scripts/gen-currencies.mjs from data/iso4217-list-three.xml and data/historic.json. Do not edit by hand.
2
+ /* eslint-disable */
3
+
4
+ /** Publication date of the ISO 4217 List Three snapshot. */
5
+ export const ISO_4217_LIST_THREE_PUBLISHED = "2026-01-01";
6
+
7
+ /**
8
+ * Withdrawn ISO 4217 codes (with `numeric` and `withdrawn`, the year and month ISO lists) and
9
+ * non-ISO codes (without them), each with the exponent ISO gave it while it was current.
10
+ */
11
+ export const HISTORIC_CURRENCY_TABLE = {
12
+ ADP: {"name":"Andorran Peseta","numeric":"020","exponent":0,"withdrawn":"2003-07"},
13
+ AFA: {"name":"Afghani","numeric":"004","exponent":2,"withdrawn":"2003-01"},
14
+ ANG: {"name":"Netherlands Antillean Guilder","numeric":"532","exponent":2,"withdrawn":"2025-03"},
15
+ ATS: {"name":"Schilling","numeric":"040","exponent":2,"withdrawn":"2002-03"},
16
+ AYM: {"name":"Azerbaijan Manat","numeric":"945","exponent":2,"withdrawn":"2005-10"},
17
+ AZM: {"name":"Azerbaijanian Manat","numeric":"031","exponent":2,"withdrawn":"2005-12"},
18
+ BEF: {"name":"Belgian Franc","numeric":"056","exponent":0,"withdrawn":"2002-03"},
19
+ BGL: {"name":"Lev","numeric":"100","exponent":2,"withdrawn":"2003-11"},
20
+ BGN: {"name":"Bulgarian Lev","numeric":"975","exponent":2,"withdrawn":"2026-01"},
21
+ BYB: {"name":"Belarusian Ruble","numeric":"112","exponent":0,"withdrawn":"2001-01"},
22
+ BYR: {"name":"Belarusian Ruble","numeric":"974","exponent":0,"withdrawn":"2017-01"},
23
+ CNH: {"name":"Chinese Yuan Renminbi (offshore)","exponent":2},
24
+ CSD: {"name":"Serbian Dinar","numeric":"891","exponent":2,"withdrawn":"2006-10"},
25
+ CUC: {"name":"Peso Convertible","numeric":"931","exponent":2,"withdrawn":"2021-06"},
26
+ CYP: {"name":"Cyprus Pound","numeric":"196","exponent":2,"withdrawn":"2008-01"},
27
+ DEM: {"name":"Deutsche Mark","numeric":"276","exponent":2,"withdrawn":"2002-03"},
28
+ EEK: {"name":"Kroon","numeric":"233","exponent":2,"withdrawn":"2011-01"},
29
+ ESP: {"name":"Spanish Peseta","numeric":"724","exponent":0,"withdrawn":"2002-03"},
30
+ FIM: {"name":"Markka","numeric":"246","exponent":2,"withdrawn":"2002-03"},
31
+ FRF: {"name":"French Franc","numeric":"250","exponent":2,"withdrawn":"2002-03"},
32
+ GHC: {"name":"Cedi","numeric":"288","exponent":2,"withdrawn":"2008-01"},
33
+ GRD: {"name":"Drachma","numeric":"300","exponent":0,"withdrawn":"2002-03"},
34
+ GWP: {"name":"Guinea-Bissau Peso","numeric":"624","exponent":2,"withdrawn":"1997-05"},
35
+ HRK: {"name":"Kuna","numeric":"191","exponent":2,"withdrawn":"2023-01"},
36
+ IEP: {"name":"Irish Pound","numeric":"372","exponent":2,"withdrawn":"2002-03"},
37
+ ITL: {"name":"Italian Lira","numeric":"380","exponent":0,"withdrawn":"2002-03"},
38
+ LTL: {"name":"Lithuanian Litas","numeric":"440","exponent":2,"withdrawn":"2014-12"},
39
+ LUF: {"name":"Luxembourg Franc","numeric":"442","exponent":0,"withdrawn":"2002-03"},
40
+ LVL: {"name":"Latvian Lats","numeric":"428","exponent":2,"withdrawn":"2014-01"},
41
+ MGF: {"name":"Malagasy Franc","numeric":"450","exponent":0,"withdrawn":"2004-12"},
42
+ MRO: {"name":"Ouguiya","numeric":"478","exponent":2,"withdrawn":"2017-12"},
43
+ MTL: {"name":"Maltese Lira","numeric":"470","exponent":2,"withdrawn":"2008-01"},
44
+ MZM: {"name":"Mozambique Metical","numeric":"508","exponent":2,"withdrawn":"2006-06"},
45
+ NLG: {"name":"Netherlands Guilder","numeric":"528","exponent":2,"withdrawn":"2002-03"},
46
+ PTE: {"name":"Portuguese Escudo","numeric":"620","exponent":0,"withdrawn":"2002-03"},
47
+ ROL: {"name":"Old Leu","numeric":"642","exponent":0,"withdrawn":"2005-06"},
48
+ RUR: {"name":"Russian Ruble","numeric":"810","exponent":2,"withdrawn":"2004-01"},
49
+ SDD: {"name":"Sudanese Dinar","numeric":"736","exponent":2,"withdrawn":"2007-07"},
50
+ SIT: {"name":"Tolar","numeric":"705","exponent":2,"withdrawn":"2007-01"},
51
+ SKK: {"name":"Slovak Koruna","numeric":"703","exponent":2,"withdrawn":"2009-01"},
52
+ SLL: {"name":"Leone","numeric":"694","exponent":2,"withdrawn":"2023-12"},
53
+ SRG: {"name":"Surinam Guilder","numeric":"740","exponent":2,"withdrawn":"2003-12"},
54
+ STD: {"name":"Dobra","numeric":"678","exponent":2,"withdrawn":"2017-12"},
55
+ TMM: {"name":"Turkmenistan Manat","numeric":"795","exponent":2,"withdrawn":"2009-01"},
56
+ TPE: {"name":"Timor Escudo","numeric":"626","exponent":0,"withdrawn":"2002-11"},
57
+ TRL: {"name":"Old Turkish Lira","numeric":"792","exponent":0,"withdrawn":"2005-12"},
58
+ USS: {"name":"US Dollar (Same day)","numeric":"998","exponent":2,"withdrawn":"2014-03"},
59
+ VEB: {"name":"Bolivar","numeric":"862","exponent":2,"withdrawn":"2008-01"},
60
+ VEF: {"name":"Bolívar","numeric":"937","exponent":2,"withdrawn":"2018-08"},
61
+ YUM: {"name":"New Dinar","numeric":"891","exponent":2,"withdrawn":"2003-07"},
62
+ ZMK: {"name":"Zambian Kwacha","numeric":"894","exponent":2,"withdrawn":"2012-12"},
63
+ ZWD: {"name":"Zimbabwe Dollar","numeric":"716","exponent":2,"withdrawn":"2008-08"},
64
+ ZWL: {"name":"Zimbabwe Dollar","numeric":"932","exponent":2,"withdrawn":"2024-09"},
65
+ ZWN: {"name":"Zimbabwe Dollar (new)","numeric":"942","exponent":2,"withdrawn":"2006-09"},
66
+ ZWR: {"name":"Zimbabwe Dollar","numeric":"935","exponent":2,"withdrawn":"2009-06"},
67
+ } as const;