@waiaas/core 2.0.0-rc.1

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 (173) hide show
  1. package/dist/enums/audit.d.ts +5 -0
  2. package/dist/enums/audit.d.ts.map +1 -0
  3. package/dist/enums/audit.js +31 -0
  4. package/dist/enums/audit.js.map +1 -0
  5. package/dist/enums/chain.d.ts +50 -0
  6. package/dist/enums/chain.d.ts.map +1 -0
  7. package/dist/enums/chain.js +123 -0
  8. package/dist/enums/chain.js.map +1 -0
  9. package/dist/enums/index.d.ts +10 -0
  10. package/dist/enums/index.d.ts.map +1 -0
  11. package/dist/enums/index.js +10 -0
  12. package/dist/enums/index.js.map +1 -0
  13. package/dist/enums/notification.d.ts +8 -0
  14. package/dist/enums/notification.d.ts.map +1 -0
  15. package/dist/enums/notification.js +34 -0
  16. package/dist/enums/notification.js.map +1 -0
  17. package/dist/enums/owner.d.ts +5 -0
  18. package/dist/enums/owner.d.ts.map +1 -0
  19. package/dist/enums/owner.js +5 -0
  20. package/dist/enums/owner.js.map +1 -0
  21. package/dist/enums/policy.d.ts +8 -0
  22. package/dist/enums/policy.d.ts.map +1 -0
  23. package/dist/enums/policy.js +19 -0
  24. package/dist/enums/policy.js.map +1 -0
  25. package/dist/enums/session.d.ts +5 -0
  26. package/dist/enums/session.d.ts.map +1 -0
  27. package/dist/enums/session.js +5 -0
  28. package/dist/enums/session.js.map +1 -0
  29. package/dist/enums/system.d.ts +5 -0
  30. package/dist/enums/system.d.ts.map +1 -0
  31. package/dist/enums/system.js +4 -0
  32. package/dist/enums/system.js.map +1 -0
  33. package/dist/enums/transaction.d.ts +8 -0
  34. package/dist/enums/transaction.d.ts.map +1 -0
  35. package/dist/enums/transaction.js +25 -0
  36. package/dist/enums/transaction.js.map +1 -0
  37. package/dist/enums/wallet.d.ts +5 -0
  38. package/dist/enums/wallet.d.ts.map +1 -0
  39. package/dist/enums/wallet.js +10 -0
  40. package/dist/enums/wallet.js.map +1 -0
  41. package/dist/errors/base-error.d.ts +25 -0
  42. package/dist/errors/base-error.d.ts.map +1 -0
  43. package/dist/errors/base-error.js +33 -0
  44. package/dist/errors/base-error.js.map +1 -0
  45. package/dist/errors/chain-error.d.ts +48 -0
  46. package/dist/errors/chain-error.d.ts.map +1 -0
  47. package/dist/errors/chain-error.js +83 -0
  48. package/dist/errors/chain-error.js.map +1 -0
  49. package/dist/errors/error-codes.d.ts +667 -0
  50. package/dist/errors/error-codes.d.ts.map +1 -0
  51. package/dist/errors/error-codes.js +671 -0
  52. package/dist/errors/error-codes.js.map +1 -0
  53. package/dist/errors/index.d.ts +4 -0
  54. package/dist/errors/index.d.ts.map +1 -0
  55. package/dist/errors/index.js +4 -0
  56. package/dist/errors/index.js.map +1 -0
  57. package/dist/events/event-bus.d.ts +36 -0
  58. package/dist/events/event-bus.d.ts.map +1 -0
  59. package/dist/events/event-bus.js +74 -0
  60. package/dist/events/event-bus.js.map +1 -0
  61. package/dist/events/event-types.d.ts +59 -0
  62. package/dist/events/event-types.d.ts.map +1 -0
  63. package/dist/events/event-types.js +16 -0
  64. package/dist/events/event-types.js.map +1 -0
  65. package/dist/events/index.d.ts +3 -0
  66. package/dist/events/index.d.ts.map +1 -0
  67. package/dist/events/index.js +3 -0
  68. package/dist/events/index.js.map +1 -0
  69. package/dist/i18n/en.d.ts +57 -0
  70. package/dist/i18n/en.d.ts.map +1 -0
  71. package/dist/i18n/en.js +194 -0
  72. package/dist/i18n/en.js.map +1 -0
  73. package/dist/i18n/index.d.ts +5 -0
  74. package/dist/i18n/index.d.ts.map +1 -0
  75. package/dist/i18n/index.js +7 -0
  76. package/dist/i18n/index.js.map +1 -0
  77. package/dist/i18n/ko.d.ts +3 -0
  78. package/dist/i18n/ko.d.ts.map +1 -0
  79. package/dist/i18n/ko.js +194 -0
  80. package/dist/i18n/ko.js.map +1 -0
  81. package/dist/index.d.ts +14 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +26 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/interfaces/IChainAdapter.d.ts +61 -0
  86. package/dist/interfaces/IChainAdapter.d.ts.map +1 -0
  87. package/dist/interfaces/IChainAdapter.js +2 -0
  88. package/dist/interfaces/IChainAdapter.js.map +1 -0
  89. package/dist/interfaces/ILocalKeyStore.d.ts +24 -0
  90. package/dist/interfaces/ILocalKeyStore.d.ts.map +1 -0
  91. package/dist/interfaces/ILocalKeyStore.js +2 -0
  92. package/dist/interfaces/ILocalKeyStore.js.map +1 -0
  93. package/dist/interfaces/INotificationChannel.d.ts +32 -0
  94. package/dist/interfaces/INotificationChannel.d.ts.map +1 -0
  95. package/dist/interfaces/INotificationChannel.js +2 -0
  96. package/dist/interfaces/INotificationChannel.js.map +1 -0
  97. package/dist/interfaces/IPolicyEngine.d.ts +44 -0
  98. package/dist/interfaces/IPolicyEngine.d.ts.map +1 -0
  99. package/dist/interfaces/IPolicyEngine.js +2 -0
  100. package/dist/interfaces/IPolicyEngine.js.map +1 -0
  101. package/dist/interfaces/action-provider.types.d.ts +123 -0
  102. package/dist/interfaces/action-provider.types.d.ts.map +1 -0
  103. package/dist/interfaces/action-provider.types.js +65 -0
  104. package/dist/interfaces/action-provider.types.js.map +1 -0
  105. package/dist/interfaces/chain-adapter.types.d.ts +216 -0
  106. package/dist/interfaces/chain-adapter.types.d.ts.map +1 -0
  107. package/dist/interfaces/chain-adapter.types.js +2 -0
  108. package/dist/interfaces/chain-adapter.types.js.map +1 -0
  109. package/dist/interfaces/forex-rate.types.d.ts +63 -0
  110. package/dist/interfaces/forex-rate.types.d.ts.map +1 -0
  111. package/dist/interfaces/forex-rate.types.js +41 -0
  112. package/dist/interfaces/forex-rate.types.js.map +1 -0
  113. package/dist/interfaces/index.d.ts +15 -0
  114. package/dist/interfaces/index.d.ts.map +1 -0
  115. package/dist/interfaces/index.js +5 -0
  116. package/dist/interfaces/index.js.map +1 -0
  117. package/dist/interfaces/price-oracle.types.d.ts +99 -0
  118. package/dist/interfaces/price-oracle.types.d.ts.map +1 -0
  119. package/dist/interfaces/price-oracle.types.js +48 -0
  120. package/dist/interfaces/price-oracle.types.js.map +1 -0
  121. package/dist/interfaces/x402.types.d.ts +112 -0
  122. package/dist/interfaces/x402.types.d.ts.map +1 -0
  123. package/dist/interfaces/x402.types.js +69 -0
  124. package/dist/interfaces/x402.types.js.map +1 -0
  125. package/dist/schemas/asset.schema.d.ts +32 -0
  126. package/dist/schemas/asset.schema.d.ts.map +1 -0
  127. package/dist/schemas/asset.schema.js +15 -0
  128. package/dist/schemas/asset.schema.js.map +1 -0
  129. package/dist/schemas/config.schema.d.ts +58 -0
  130. package/dist/schemas/config.schema.d.ts.map +1 -0
  131. package/dist/schemas/config.schema.js +23 -0
  132. package/dist/schemas/config.schema.js.map +1 -0
  133. package/dist/schemas/index.d.ts +7 -0
  134. package/dist/schemas/index.d.ts.map +1 -0
  135. package/dist/schemas/index.js +9 -0
  136. package/dist/schemas/index.js.map +1 -0
  137. package/dist/schemas/policy.schema.d.ts +192 -0
  138. package/dist/schemas/policy.schema.d.ts.map +1 -0
  139. package/dist/schemas/policy.schema.js +157 -0
  140. package/dist/schemas/policy.schema.js.map +1 -0
  141. package/dist/schemas/session.schema.d.ts +51 -0
  142. package/dist/schemas/session.schema.d.ts.map +1 -0
  143. package/dist/schemas/session.schema.js +19 -0
  144. package/dist/schemas/session.schema.js.map +1 -0
  145. package/dist/schemas/transaction.schema.d.ts +834 -0
  146. package/dist/schemas/transaction.schema.d.ts.map +1 -0
  147. package/dist/schemas/transaction.schema.js +112 -0
  148. package/dist/schemas/transaction.schema.js.map +1 -0
  149. package/dist/schemas/wallet.schema.d.ts +54 -0
  150. package/dist/schemas/wallet.schema.d.ts.map +1 -0
  151. package/dist/schemas/wallet.schema.js +21 -0
  152. package/dist/schemas/wallet.schema.js.map +1 -0
  153. package/dist/testing/chain-adapter-contract.d.ts +42 -0
  154. package/dist/testing/chain-adapter-contract.d.ts.map +1 -0
  155. package/dist/testing/chain-adapter-contract.js +370 -0
  156. package/dist/testing/chain-adapter-contract.js.map +1 -0
  157. package/dist/testing/index.d.ts +8 -0
  158. package/dist/testing/index.d.ts.map +1 -0
  159. package/dist/testing/index.js +7 -0
  160. package/dist/testing/index.js.map +1 -0
  161. package/dist/utils/format-amount.d.ts +41 -0
  162. package/dist/utils/format-amount.d.ts.map +1 -0
  163. package/dist/utils/format-amount.js +60 -0
  164. package/dist/utils/format-amount.js.map +1 -0
  165. package/dist/utils/format-currency.d.ts +42 -0
  166. package/dist/utils/format-currency.d.ts.map +1 -0
  167. package/dist/utils/format-currency.js +92 -0
  168. package/dist/utils/format-currency.js.map +1 -0
  169. package/dist/utils/index.d.ts +3 -0
  170. package/dist/utils/index.d.ts.map +1 -0
  171. package/dist/utils/index.js +5 -0
  172. package/dist/utils/index.js.map +1 -0
  173. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-adapter-contract.js","sourceRoot":"","sources":["../../src/testing/chain-adapter-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @waiaas/core/testing - Test utilities exported for adapter contract tests.
3
+ *
4
+ * Usage: import { chainAdapterContractTests } from '@waiaas/core/testing';
5
+ */
6
+ export { chainAdapterContractTests } from './chain-adapter-contract.js';
7
+ export type { ChainAdapterContractOptions } from './chain-adapter-contract.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @waiaas/core/testing - Test utilities exported for adapter contract tests.
3
+ *
4
+ * Usage: import { chainAdapterContractTests } from '@waiaas/core/testing';
5
+ */
6
+ export { chainAdapterContractTests } from './chain-adapter-contract.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Blockchain amount formatting utilities (NOTE-01).
3
+ *
4
+ * Converts between raw blockchain amounts (bigint, smallest unit like lamports/wei)
5
+ * and human-readable decimal strings. Uses pure bigint arithmetic for precision.
6
+ *
7
+ * @example
8
+ * formatAmount(1_000_000_000n, 9) // "1" (SOL)
9
+ * formatAmount(1_500_000n, 9) // "0.0015" (SOL)
10
+ * parseAmount("1.5", 9) // 1_500_000_000n (lamports)
11
+ */
12
+ /**
13
+ * Format a raw blockchain amount (bigint, smallest unit) to human-readable string.
14
+ *
15
+ * @param amount - Raw amount in smallest unit (lamports for SOL, wei for ETH).
16
+ * @param decimals - Number of decimal places (9 for SOL, 18 for ETH, 6 for USDC).
17
+ * @returns Human-readable amount string with trailing zeros trimmed.
18
+ * @throws Error if amount is negative.
19
+ *
20
+ * @example
21
+ * formatAmount(1_000_000_000n, 9) // "1"
22
+ * formatAmount(1_500_000n, 9) // "0.0015"
23
+ * formatAmount(0n, 9) // "0"
24
+ * formatAmount(1n, 9) // "0.000000001"
25
+ */
26
+ export declare function formatAmount(amount: bigint, decimals: number): string;
27
+ /**
28
+ * Parse a human-readable amount string to raw bigint (smallest unit).
29
+ *
30
+ * @param amount - Human-readable amount string (e.g. "1.5").
31
+ * @param decimals - Number of decimal places.
32
+ * @returns Raw amount in smallest unit as bigint.
33
+ * @throws Error if amount string is invalid.
34
+ *
35
+ * @example
36
+ * parseAmount("1.5", 9) // 1_500_000_000n
37
+ * parseAmount("1", 9) // 1_000_000_000n
38
+ * parseAmount("0.001", 6) // 1_000n
39
+ */
40
+ export declare function parseAmount(amount: string, decimals: number): bigint;
41
+ //# sourceMappingURL=format-amount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-amount.d.ts","sourceRoot":"","sources":["../../src/utils/format-amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAcrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMpE"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Blockchain amount formatting utilities (NOTE-01).
3
+ *
4
+ * Converts between raw blockchain amounts (bigint, smallest unit like lamports/wei)
5
+ * and human-readable decimal strings. Uses pure bigint arithmetic for precision.
6
+ *
7
+ * @example
8
+ * formatAmount(1_000_000_000n, 9) // "1" (SOL)
9
+ * formatAmount(1_500_000n, 9) // "0.0015" (SOL)
10
+ * parseAmount("1.5", 9) // 1_500_000_000n (lamports)
11
+ */
12
+ /**
13
+ * Format a raw blockchain amount (bigint, smallest unit) to human-readable string.
14
+ *
15
+ * @param amount - Raw amount in smallest unit (lamports for SOL, wei for ETH).
16
+ * @param decimals - Number of decimal places (9 for SOL, 18 for ETH, 6 for USDC).
17
+ * @returns Human-readable amount string with trailing zeros trimmed.
18
+ * @throws Error if amount is negative.
19
+ *
20
+ * @example
21
+ * formatAmount(1_000_000_000n, 9) // "1"
22
+ * formatAmount(1_500_000n, 9) // "0.0015"
23
+ * formatAmount(0n, 9) // "0"
24
+ * formatAmount(1n, 9) // "0.000000001"
25
+ */
26
+ export function formatAmount(amount, decimals) {
27
+ if (amount < 0n) {
28
+ throw new Error('Amount must be non-negative');
29
+ }
30
+ if (amount === 0n)
31
+ return '0';
32
+ const divisor = 10n ** BigInt(decimals);
33
+ const intPart = amount / divisor;
34
+ const fracPart = amount % divisor;
35
+ if (fracPart === 0n)
36
+ return intPart.toString();
37
+ const fracStr = fracPart.toString().padStart(decimals, '0').replace(/0+$/, '');
38
+ return `${intPart}.${fracStr}`;
39
+ }
40
+ /**
41
+ * Parse a human-readable amount string to raw bigint (smallest unit).
42
+ *
43
+ * @param amount - Human-readable amount string (e.g. "1.5").
44
+ * @param decimals - Number of decimal places.
45
+ * @returns Raw amount in smallest unit as bigint.
46
+ * @throws Error if amount string is invalid.
47
+ *
48
+ * @example
49
+ * parseAmount("1.5", 9) // 1_500_000_000n
50
+ * parseAmount("1", 9) // 1_000_000_000n
51
+ * parseAmount("0.001", 6) // 1_000n
52
+ */
53
+ export function parseAmount(amount, decimals) {
54
+ const parts = amount.split('.');
55
+ const intPart = BigInt(parts[0] || '0');
56
+ const fracStr = (parts[1] || '').padEnd(decimals, '0').slice(0, decimals);
57
+ const fracPart = BigInt(fracStr);
58
+ return intPart * (10n ** BigInt(decimals)) + fracPart;
59
+ }
60
+ //# sourceMappingURL=format-amount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-amount.js","sourceRoot":"","sources":["../../src/utils/format-amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,QAAgB;IAC3D,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAE9B,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAElC,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE/C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/E,OAAO,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAgB;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,OAAO,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC;AACxD,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Currency formatting utilities using Intl.NumberFormat.
3
+ *
4
+ * Used by Admin UI and API responses to display amounts in the user's
5
+ * preferred display currency. Non-USD currencies get the "≈" prefix
6
+ * to indicate the value is an approximation based on exchange rates.
7
+ *
8
+ * @see DISP-09 (v1.5.3 requirement: Intl.NumberFormat-based formatting)
9
+ */
10
+ /**
11
+ * Format a USD amount in the specified display currency.
12
+ *
13
+ * Uses Intl.NumberFormat for locale-aware formatting with the correct
14
+ * currency symbol, grouping separators, and decimal places.
15
+ *
16
+ * Non-USD currencies are prefixed with "≈" to indicate approximation.
17
+ * USD amounts have no prefix.
18
+ *
19
+ * @param amountUsd - Amount in USD.
20
+ * @param currencyCode - Target display currency code (e.g. 'KRW', 'EUR').
21
+ * @param rate - Exchange rate (1 USD = rate target currency).
22
+ * @returns Formatted string. Examples:
23
+ * - formatDisplayCurrency(500, 'USD', 1) => '$500.00'
24
+ * - formatDisplayCurrency(500, 'KRW', 1450) => '\u2248\u20A9725,000'
25
+ * - formatDisplayCurrency(500, 'JPY', 150) => '\u2248\u00A575,000'
26
+ * - formatDisplayCurrency(500, 'EUR', 0.93) => '\u2248\u20AC465.00'
27
+ */
28
+ export declare function formatDisplayCurrency(amountUsd: number, currencyCode: string, rate: number): string;
29
+ /**
30
+ * Format a rate preview string for Admin Settings currency dropdown.
31
+ *
32
+ * Shows "1 USD = {formatted rate}" for the selected currency.
33
+ *
34
+ * @param rate - Exchange rate (1 USD = rate target currency).
35
+ * @param currencyCode - Target currency code.
36
+ * @returns Preview string. Examples:
37
+ * - formatRatePreview(1, 'USD') => '1 USD = $1.00'
38
+ * - formatRatePreview(1450, 'KRW') => '1 USD = \u20A91,450'
39
+ * - formatRatePreview(150, 'JPY') => '1 USD = \u00A5150'
40
+ */
41
+ export declare function formatRatePreview(rate: number, currencyCode: string): string;
42
+ //# sourceMappingURL=format-currency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-currency.d.ts","sourceRoot":"","sources":["../../src/utils/format-currency.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgCH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CAgBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAWR"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Currency formatting utilities using Intl.NumberFormat.
3
+ *
4
+ * Used by Admin UI and API responses to display amounts in the user's
5
+ * preferred display currency. Non-USD currencies get the "≈" prefix
6
+ * to indicate the value is an approximation based on exchange rates.
7
+ *
8
+ * @see DISP-09 (v1.5.3 requirement: Intl.NumberFormat-based formatting)
9
+ */
10
+ // ---------------------------------------------------------------------------
11
+ // Currency decimal overrides (ISO 4217)
12
+ // ---------------------------------------------------------------------------
13
+ /** Currencies with 0 decimal places (ISO 4217). */
14
+ const ZERO_DECIMAL_CURRENCIES = new Set([
15
+ 'KRW', 'JPY', 'VND', 'CLP', 'HUF', 'PKR',
16
+ ]);
17
+ /** Currencies with 3 decimal places (ISO 4217). */
18
+ const THREE_DECIMAL_CURRENCIES = new Set([
19
+ 'KWD', 'BHD',
20
+ ]);
21
+ /**
22
+ * Get the number of decimal places for a currency code.
23
+ *
24
+ * @param currencyCode - ISO 4217 currency code.
25
+ * @returns 0, 2, or 3 decimal places.
26
+ */
27
+ function getDecimals(currencyCode) {
28
+ if (ZERO_DECIMAL_CURRENCIES.has(currencyCode))
29
+ return 0;
30
+ if (THREE_DECIMAL_CURRENCIES.has(currencyCode))
31
+ return 3;
32
+ return 2;
33
+ }
34
+ // ---------------------------------------------------------------------------
35
+ // Public API
36
+ // ---------------------------------------------------------------------------
37
+ /**
38
+ * Format a USD amount in the specified display currency.
39
+ *
40
+ * Uses Intl.NumberFormat for locale-aware formatting with the correct
41
+ * currency symbol, grouping separators, and decimal places.
42
+ *
43
+ * Non-USD currencies are prefixed with "≈" to indicate approximation.
44
+ * USD amounts have no prefix.
45
+ *
46
+ * @param amountUsd - Amount in USD.
47
+ * @param currencyCode - Target display currency code (e.g. 'KRW', 'EUR').
48
+ * @param rate - Exchange rate (1 USD = rate target currency).
49
+ * @returns Formatted string. Examples:
50
+ * - formatDisplayCurrency(500, 'USD', 1) => '$500.00'
51
+ * - formatDisplayCurrency(500, 'KRW', 1450) => '\u2248\u20A9725,000'
52
+ * - formatDisplayCurrency(500, 'JPY', 150) => '\u2248\u00A575,000'
53
+ * - formatDisplayCurrency(500, 'EUR', 0.93) => '\u2248\u20AC465.00'
54
+ */
55
+ export function formatDisplayCurrency(amountUsd, currencyCode, rate) {
56
+ const converted = amountUsd * rate;
57
+ const decimals = getDecimals(currencyCode);
58
+ const formatted = new Intl.NumberFormat('en-US', {
59
+ style: 'currency',
60
+ currency: currencyCode,
61
+ minimumFractionDigits: decimals,
62
+ maximumFractionDigits: decimals,
63
+ }).format(converted);
64
+ // USD has no approximation prefix
65
+ if (currencyCode === 'USD')
66
+ return formatted;
67
+ // Non-USD: prefix with "≈" (approximately)
68
+ return `\u2248${formatted}`;
69
+ }
70
+ /**
71
+ * Format a rate preview string for Admin Settings currency dropdown.
72
+ *
73
+ * Shows "1 USD = {formatted rate}" for the selected currency.
74
+ *
75
+ * @param rate - Exchange rate (1 USD = rate target currency).
76
+ * @param currencyCode - Target currency code.
77
+ * @returns Preview string. Examples:
78
+ * - formatRatePreview(1, 'USD') => '1 USD = $1.00'
79
+ * - formatRatePreview(1450, 'KRW') => '1 USD = \u20A91,450'
80
+ * - formatRatePreview(150, 'JPY') => '1 USD = \u00A5150'
81
+ */
82
+ export function formatRatePreview(rate, currencyCode) {
83
+ const decimals = getDecimals(currencyCode);
84
+ const formatted = new Intl.NumberFormat('en-US', {
85
+ style: 'currency',
86
+ currency: currencyCode,
87
+ minimumFractionDigits: decimals,
88
+ maximumFractionDigits: decimals,
89
+ }).format(rate);
90
+ return `1 USD = ${formatted}`;
91
+ }
92
+ //# sourceMappingURL=format-currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-currency.js","sourceRoot":"","sources":["../../src/utils/format-currency.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,mDAAmD;AACnD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CACzC,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,WAAW,CAAC,YAAoB;IACvC,IAAI,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,CAAC;IACxD,IAAI,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,YAAoB,EACpB,IAAY;IAEZ,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;QACtB,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;KAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAErB,kCAAkC;IAClC,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7C,2CAA2C;IAC3C,OAAO,SAAS,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,YAAoB;IAEpB,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;QACtB,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;KAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,WAAW,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { formatDisplayCurrency, formatRatePreview } from './format-currency.js';
2
+ export { formatAmount, parseAmount } from './format-amount.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // v1.5.3 Currency formatting utilities
2
+ export { formatDisplayCurrency, formatRatePreview } from './format-currency.js';
3
+ // v1.7 Blockchain amount formatting utilities (NOTE-01)
4
+ export { formatAmount, parseAmount } from './format-amount.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@waiaas/core",
3
+ "version": "2.0.0-rc.1",
4
+ "description": "WAIaaS core types, schemas, and shared utilities",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/minho-yoo/waiaas.git",
10
+ "directory": "packages/core"
11
+ },
12
+ "homepage": "https://github.com/minho-yoo/waiaas#readme",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "main": "dist/index.js",
17
+ "types": "dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "import": "./dist/index.js",
21
+ "types": "./dist/index.d.ts"
22
+ },
23
+ "./testing": {
24
+ "import": "./dist/testing/index.js",
25
+ "types": "./dist/testing/index.d.ts"
26
+ }
27
+ },
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "scripts": {
32
+ "build": "tsc -p tsconfig.build.json",
33
+ "test": "vitest run",
34
+ "test:unit": "vitest run",
35
+ "test:integration": "[ -d src/__tests__/integration ] && vitest run --dir src/__tests__/integration || true",
36
+ "test:security": "[ -d src/__tests__/security ] && vitest run --dir src/__tests__/security || true",
37
+ "test:chain": "[ -d src/__tests__/chain ] && vitest run --dir src/__tests__/chain || true",
38
+ "test:platform": "[ -d src/__tests__/platform ] && vitest run --dir src/__tests__/platform || true",
39
+ "lint": "eslint src/",
40
+ "typecheck": "tsc --noEmit",
41
+ "clean": "rm -rf dist"
42
+ },
43
+ "dependencies": {
44
+ "@x402/core": "^2.3.1",
45
+ "zod": "^3.24.0"
46
+ },
47
+ "devDependencies": {
48
+ "@types/node": "^25.2.3"
49
+ }
50
+ }