@waiaas/core 2.11.0-rc.8 → 2.12.0-rc

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 (101) hide show
  1. package/README.md +5 -5
  2. package/dist/constants/index.d.ts +1 -0
  3. package/dist/constants/index.d.ts.map +1 -1
  4. package/dist/constants/index.js +2 -0
  5. package/dist/constants/index.js.map +1 -1
  6. package/dist/constants/well-known-contracts.d.ts +22 -0
  7. package/dist/constants/well-known-contracts.d.ts.map +1 -0
  8. package/dist/constants/well-known-contracts.js +415 -0
  9. package/dist/constants/well-known-contracts.js.map +1 -0
  10. package/dist/errors/error-codes.d.ts +29 -1
  11. package/dist/errors/error-codes.d.ts.map +1 -1
  12. package/dist/errors/error-codes.js +29 -1
  13. package/dist/errors/error-codes.js.map +1 -1
  14. package/dist/i18n/en.d.ts.map +1 -1
  15. package/dist/i18n/en.js +6 -2
  16. package/dist/i18n/en.js.map +1 -1
  17. package/dist/i18n/ko.d.ts.map +1 -1
  18. package/dist/i18n/ko.js +6 -2
  19. package/dist/i18n/ko.js.map +1 -1
  20. package/dist/index.d.ts +11 -4
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +21 -4
  23. package/dist/index.js.map +1 -1
  24. package/dist/interfaces/IChainAdapter.d.ts +2 -2
  25. package/dist/interfaces/IChainAdapter.d.ts.map +1 -1
  26. package/dist/interfaces/IChainSubscriber.d.ts +19 -1
  27. package/dist/interfaces/IChainSubscriber.d.ts.map +1 -1
  28. package/dist/interfaces/INotificationChannel.d.ts +1 -1
  29. package/dist/interfaces/action-provider.types.d.ts +21 -0
  30. package/dist/interfaces/action-provider.types.d.ts.map +1 -1
  31. package/dist/interfaces/action-provider.types.js +18 -0
  32. package/dist/interfaces/action-provider.types.js.map +1 -1
  33. package/dist/interfaces/chain-adapter.types.d.ts +19 -0
  34. package/dist/interfaces/chain-adapter.types.d.ts.map +1 -1
  35. package/dist/interfaces/connection-state.d.ts.map +1 -1
  36. package/dist/interfaces/connection-state.js +1 -4
  37. package/dist/interfaces/connection-state.js.map +1 -1
  38. package/dist/interfaces/index.d.ts +4 -2
  39. package/dist/interfaces/index.d.ts.map +1 -1
  40. package/dist/interfaces/index.js +4 -1
  41. package/dist/interfaces/index.js.map +1 -1
  42. package/dist/interfaces/logger.d.ts +25 -0
  43. package/dist/interfaces/logger.d.ts.map +1 -0
  44. package/dist/interfaces/logger.js +28 -0
  45. package/dist/interfaces/logger.js.map +1 -0
  46. package/dist/interfaces/perp-provider.types.d.ts +4 -4
  47. package/dist/interfaces/position-provider.types.d.ts +18 -1
  48. package/dist/interfaces/position-provider.types.d.ts.map +1 -1
  49. package/dist/schemas/index.d.ts +2 -2
  50. package/dist/schemas/index.d.ts.map +1 -1
  51. package/dist/schemas/index.js +6 -2
  52. package/dist/schemas/index.js.map +1 -1
  53. package/dist/schemas/policy.schema.d.ts +291 -0
  54. package/dist/schemas/policy.schema.d.ts.map +1 -1
  55. package/dist/schemas/policy.schema.js +110 -14
  56. package/dist/schemas/policy.schema.js.map +1 -1
  57. package/dist/schemas/resolved-action.schema.d.ts +108 -0
  58. package/dist/schemas/resolved-action.schema.d.ts.map +1 -1
  59. package/dist/schemas/signing-protocol.d.ts +39 -52
  60. package/dist/schemas/signing-protocol.d.ts.map +1 -1
  61. package/dist/schemas/signing-protocol.js +6 -11
  62. package/dist/schemas/signing-protocol.js.map +1 -1
  63. package/dist/schemas/simulation.schema.d.ts +63 -9
  64. package/dist/schemas/simulation.schema.d.ts.map +1 -1
  65. package/dist/schemas/simulation.schema.js +11 -0
  66. package/dist/schemas/simulation.schema.js.map +1 -1
  67. package/dist/schemas/transaction.schema.d.ts +288 -0
  68. package/dist/schemas/transaction.schema.d.ts.map +1 -1
  69. package/dist/schemas/transaction.schema.js +20 -0
  70. package/dist/schemas/transaction.schema.js.map +1 -1
  71. package/dist/schemas/userop.schema.d.ts +168 -0
  72. package/dist/schemas/userop.schema.d.ts.map +1 -1
  73. package/dist/schemas/wallet-preset.d.ts +1 -1
  74. package/dist/schemas/wallet-preset.js +1 -1
  75. package/dist/services/contract-name-registry.d.ts +67 -0
  76. package/dist/services/contract-name-registry.d.ts.map +1 -0
  77. package/dist/services/contract-name-registry.js +118 -0
  78. package/dist/services/contract-name-registry.js.map +1 -0
  79. package/dist/services/index.d.ts +2 -0
  80. package/dist/services/index.d.ts.map +1 -0
  81. package/dist/services/index.js +3 -0
  82. package/dist/services/index.js.map +1 -0
  83. package/dist/testing/chain-adapter-contract.js +1 -1
  84. package/dist/testing/chain-adapter-contract.js.map +1 -1
  85. package/dist/utils/chain-constants.d.ts +17 -0
  86. package/dist/utils/chain-constants.d.ts.map +1 -0
  87. package/dist/utils/chain-constants.js +27 -0
  88. package/dist/utils/chain-constants.js.map +1 -0
  89. package/dist/utils/index.d.ts +3 -0
  90. package/dist/utils/index.d.ts.map +1 -1
  91. package/dist/utils/index.js +6 -0
  92. package/dist/utils/index.js.map +1 -1
  93. package/dist/utils/safe-json-parse.d.ts +52 -0
  94. package/dist/utils/safe-json-parse.d.ts.map +1 -0
  95. package/dist/utils/safe-json-parse.js +68 -0
  96. package/dist/utils/safe-json-parse.js.map +1 -0
  97. package/dist/utils/sleep.d.ts +8 -0
  98. package/dist/utils/sleep.d.ts.map +1 -0
  99. package/dist/utils/sleep.js +10 -0
  100. package/dist/utils/sleep.js.map +1 -0
  101. package/package.json +2 -2
@@ -1,3 +1,9 @@
1
+ // v32.4 Chain constants SSoT (SSOT-01)
2
+ export { NATIVE_DECIMALS, NATIVE_SYMBOLS, nativeDecimals, nativeSymbol } from './chain-constants.js';
3
+ // v32.4 Sleep utility SSoT (SSOT-02)
4
+ export { sleep } from './sleep.js';
5
+ // v32.4 Safe JSON parse with Zod validation (ZOD-01)
6
+ export { safeJsonParse } from './safe-json-parse.js';
1
7
  // v1.5.3 Currency formatting utilities
2
8
  export { formatDisplayCurrency, formatRatePreview } from './format-currency.js';
3
9
  // v1.7 Blockchain amount formatting utilities (NOTE-01)
@@ -1 +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;AAE/D,mCAAmC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErG,qCAAqC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAqD,MAAM,sBAAsB,CAAC;AAExG,uCAAuC;AACvC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/D,mCAAmC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Safe JSON parse utility with Zod schema validation.
3
+ *
4
+ * Single source of truth for parsing JSON strings with type-safe validation.
5
+ * Used by policy engine, notification service, and daemon to safely parse
6
+ * JSON data from database or external sources.
7
+ *
8
+ * @since v32.4 (Phase 427, ZOD-01)
9
+ */
10
+ import type { z, ZodIssue } from 'zod';
11
+ /**
12
+ * Error detail from safeJsonParse.
13
+ *
14
+ * - `json_parse`: Input is not valid JSON (or null/undefined)
15
+ * - `validation`: JSON parsed but failed Zod schema validation
16
+ */
17
+ export interface SafeJsonParseError {
18
+ type: 'json_parse' | 'validation';
19
+ message: string;
20
+ issues?: ZodIssue[];
21
+ }
22
+ /**
23
+ * Discriminated union result type for safeJsonParse.
24
+ */
25
+ export type SafeJsonParseResult<T> = {
26
+ success: true;
27
+ data: T;
28
+ } | {
29
+ success: false;
30
+ error: SafeJsonParseError;
31
+ };
32
+ /**
33
+ * Parse a JSON string and validate against a Zod schema.
34
+ *
35
+ * Never throws -- all errors are captured in the result.
36
+ *
37
+ * @param json - JSON string to parse (gracefully handles null/undefined)
38
+ * @param schema - Zod schema to validate the parsed data against
39
+ * @returns Discriminated union with parsed data or structured error
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const result = safeJsonParse(rawJson, SpendingLimitRulesSchema);
44
+ * if (result.success) {
45
+ * // result.data is typed as SpendingLimitRules
46
+ * } else {
47
+ * // result.error.type is 'json_parse' | 'validation'
48
+ * }
49
+ * ```
50
+ */
51
+ export declare function safeJsonParse<T>(json: string, schema: z.ZodType<T>): SafeJsonParseResult<T>;
52
+ //# sourceMappingURL=safe-json-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-json-parse.d.ts","sourceRoot":"","sources":["../../src/utils/safe-json-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC1B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB,mBAAmB,CAAC,CAAC,CAAC,CAwCxB"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Safe JSON parse utility with Zod schema validation.
3
+ *
4
+ * Single source of truth for parsing JSON strings with type-safe validation.
5
+ * Used by policy engine, notification service, and daemon to safely parse
6
+ * JSON data from database or external sources.
7
+ *
8
+ * @since v32.4 (Phase 427, ZOD-01)
9
+ */
10
+ /**
11
+ * Parse a JSON string and validate against a Zod schema.
12
+ *
13
+ * Never throws -- all errors are captured in the result.
14
+ *
15
+ * @param json - JSON string to parse (gracefully handles null/undefined)
16
+ * @param schema - Zod schema to validate the parsed data against
17
+ * @returns Discriminated union with parsed data or structured error
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const result = safeJsonParse(rawJson, SpendingLimitRulesSchema);
22
+ * if (result.success) {
23
+ * // result.data is typed as SpendingLimitRules
24
+ * } else {
25
+ * // result.error.type is 'json_parse' | 'validation'
26
+ * }
27
+ * ```
28
+ */
29
+ export function safeJsonParse(json, schema) {
30
+ // Handle null/undefined gracefully
31
+ if (json == null) {
32
+ return {
33
+ success: false,
34
+ error: {
35
+ type: 'json_parse',
36
+ message: `Cannot parse ${json === null ? 'null' : 'undefined'} as JSON`,
37
+ },
38
+ };
39
+ }
40
+ // Step 1: Parse JSON
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(json);
44
+ }
45
+ catch (err) {
46
+ return {
47
+ success: false,
48
+ error: {
49
+ type: 'json_parse',
50
+ message: err instanceof Error ? err.message : 'Invalid JSON',
51
+ },
52
+ };
53
+ }
54
+ // Step 2: Validate against schema
55
+ const result = schema.safeParse(parsed);
56
+ if (!result.success) {
57
+ return {
58
+ success: false,
59
+ error: {
60
+ type: 'validation',
61
+ message: result.error.issues.map((i) => i.message).join('; '),
62
+ issues: result.error.issues,
63
+ },
64
+ };
65
+ }
66
+ return { success: true, data: result.data };
67
+ }
68
+ //# sourceMappingURL=safe-json-parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-json-parse.js","sourceRoot":"","sources":["../../src/utils/safe-json-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,MAAoB;IAEpB,mCAAmC;IACnC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,gBAAgB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,UAAU;aACxE;SACF,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;aAC7D;SACF,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7D,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Sleep utility -- single source of truth.
3
+ * All packages import from @waiaas/core instead of defining locally.
4
+ *
5
+ * @since v32.4 (Phase 427, SSOT-02)
6
+ */
7
+ export declare function sleep(ms: number): Promise<void>;
8
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Sleep utility -- single source of truth.
3
+ * All packages import from @waiaas/core instead of defining locally.
4
+ *
5
+ * @since v32.4 (Phase 427, SSOT-02)
6
+ */
7
+ export function sleep(ms) {
8
+ return new Promise(resolve => setTimeout(resolve, ms));
9
+ }
10
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waiaas/core",
3
- "version": "2.11.0-rc.8",
3
+ "version": "2.12.0-rc",
4
4
  "description": "WAIaaS core types, schemas, and shared utilities",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,7 +35,7 @@
35
35
  "@x402/core": "^2.3.1",
36
36
  "viem": "^2.21.0",
37
37
  "zod": "^3.24.0",
38
- "@waiaas/shared": "2.11.0-rc.8"
38
+ "@waiaas/shared": "2.12.0-rc"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^25.2.3"