@waiaas/core 2.5.0 → 2.6.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 (102) hide show
  1. package/dist/caip/asset-helpers.d.ts +34 -0
  2. package/dist/caip/asset-helpers.d.ts.map +1 -0
  3. package/dist/caip/asset-helpers.js +66 -0
  4. package/dist/caip/asset-helpers.js.map +1 -0
  5. package/dist/caip/caip19.d.ts +13 -0
  6. package/dist/caip/caip19.d.ts.map +1 -0
  7. package/dist/caip/caip19.js +27 -0
  8. package/dist/caip/caip19.js.map +1 -0
  9. package/dist/caip/caip2.d.ts +10 -0
  10. package/dist/caip/caip2.d.ts.map +1 -0
  11. package/dist/caip/caip2.js +19 -0
  12. package/dist/caip/caip2.js.map +1 -0
  13. package/dist/caip/index.d.ts +5 -0
  14. package/dist/caip/index.d.ts.map +1 -0
  15. package/dist/caip/index.js +9 -0
  16. package/dist/caip/index.js.map +1 -0
  17. package/dist/caip/network-map.d.ts +27 -0
  18. package/dist/caip/network-map.d.ts.map +1 -0
  19. package/dist/caip/network-map.js +42 -0
  20. package/dist/caip/network-map.js.map +1 -0
  21. package/dist/enums/incoming-tx.d.ts +5 -0
  22. package/dist/enums/incoming-tx.d.ts.map +1 -0
  23. package/dist/enums/incoming-tx.js +4 -0
  24. package/dist/enums/incoming-tx.js.map +1 -0
  25. package/dist/enums/index.d.ts +1 -0
  26. package/dist/enums/index.d.ts.map +1 -1
  27. package/dist/enums/index.js +1 -0
  28. package/dist/enums/index.js.map +1 -1
  29. package/dist/enums/notification.d.ts +2 -2
  30. package/dist/enums/notification.d.ts.map +1 -1
  31. package/dist/enums/notification.js +3 -1
  32. package/dist/enums/notification.js.map +1 -1
  33. package/dist/events/event-types.d.ts +22 -2
  34. package/dist/events/event-types.d.ts.map +1 -1
  35. package/dist/events/event-types.js +6 -2
  36. package/dist/events/event-types.js.map +1 -1
  37. package/dist/events/index.d.ts +1 -1
  38. package/dist/events/index.d.ts.map +1 -1
  39. package/dist/i18n/en.d.ts +1 -1
  40. package/dist/i18n/en.d.ts.map +1 -1
  41. package/dist/i18n/en.js +17 -15
  42. package/dist/i18n/en.js.map +1 -1
  43. package/dist/i18n/ko.d.ts.map +1 -1
  44. package/dist/i18n/ko.js +17 -15
  45. package/dist/i18n/ko.js.map +1 -1
  46. package/dist/index.d.ts +7 -4
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -4
  49. package/dist/index.js.map +1 -1
  50. package/dist/interfaces/IChainSubscriber.d.ts +45 -0
  51. package/dist/interfaces/IChainSubscriber.d.ts.map +1 -0
  52. package/dist/interfaces/IChainSubscriber.js +2 -0
  53. package/dist/interfaces/IChainSubscriber.js.map +1 -0
  54. package/dist/interfaces/INotificationChannel.d.ts +13 -1
  55. package/dist/interfaces/INotificationChannel.d.ts.map +1 -1
  56. package/dist/interfaces/chain-subscriber.types.d.ts +35 -0
  57. package/dist/interfaces/chain-subscriber.types.d.ts.map +1 -0
  58. package/dist/interfaces/chain-subscriber.types.js +2 -0
  59. package/dist/interfaces/chain-subscriber.types.js.map +1 -0
  60. package/dist/interfaces/connection-state.d.ts +71 -0
  61. package/dist/interfaces/connection-state.d.ts.map +1 -0
  62. package/dist/interfaces/connection-state.js +89 -0
  63. package/dist/interfaces/connection-state.js.map +1 -0
  64. package/dist/interfaces/index.d.ts +4 -0
  65. package/dist/interfaces/index.d.ts.map +1 -1
  66. package/dist/interfaces/index.js +4 -0
  67. package/dist/interfaces/index.js.map +1 -1
  68. package/dist/interfaces/price-oracle.types.d.ts +8 -0
  69. package/dist/interfaces/price-oracle.types.d.ts.map +1 -1
  70. package/dist/interfaces/price-oracle.types.js +6 -1
  71. package/dist/interfaces/price-oracle.types.js.map +1 -1
  72. package/dist/interfaces/x402.types.d.ts +2 -13
  73. package/dist/interfaces/x402.types.d.ts.map +1 -1
  74. package/dist/interfaces/x402.types.js +3 -33
  75. package/dist/interfaces/x402.types.js.map +1 -1
  76. package/dist/schemas/incoming-transaction.schema.d.ts +53 -0
  77. package/dist/schemas/incoming-transaction.schema.d.ts.map +1 -0
  78. package/dist/schemas/incoming-transaction.schema.js +25 -0
  79. package/dist/schemas/incoming-transaction.schema.js.map +1 -0
  80. package/dist/schemas/index.d.ts +1 -0
  81. package/dist/schemas/index.d.ts.map +1 -1
  82. package/dist/schemas/index.js +2 -0
  83. package/dist/schemas/index.js.map +1 -1
  84. package/dist/schemas/policy.schema.d.ts.map +1 -1
  85. package/dist/schemas/policy.schema.js +3 -1
  86. package/dist/schemas/policy.schema.js.map +1 -1
  87. package/dist/schemas/signing-protocol.d.ts.map +1 -1
  88. package/dist/schemas/signing-protocol.js +2 -0
  89. package/dist/schemas/signing-protocol.js.map +1 -1
  90. package/dist/schemas/transaction.schema.d.ts +174 -46
  91. package/dist/schemas/transaction.schema.d.ts.map +1 -1
  92. package/dist/schemas/transaction.schema.js +27 -1
  93. package/dist/schemas/transaction.schema.js.map +1 -1
  94. package/dist/utils/explorer-url.d.ts +12 -0
  95. package/dist/utils/explorer-url.d.ts.map +1 -0
  96. package/dist/utils/explorer-url.js +38 -0
  97. package/dist/utils/explorer-url.js.map +1 -0
  98. package/dist/utils/index.d.ts +1 -0
  99. package/dist/utils/index.d.ts.map +1 -1
  100. package/dist/utils/index.js +2 -0
  101. package/dist/utils/index.js.map +1 -1
  102. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CAIP-19 asset helper functions for native and token assets.
3
+ *
4
+ * - nativeAssetId: generates slip44-based CAIP-19 URI for native assets
5
+ * - tokenAssetId: generates erc20/token-based CAIP-19 URI for fungible tokens
6
+ * - isNativeAsset: checks if a CAIP-19 URI refers to a native asset (slip44 namespace)
7
+ */
8
+ import type { NetworkType } from '../enums/chain.js';
9
+ /**
10
+ * Generate CAIP-19 asset type URI for a network's native asset.
11
+ * Uses slip44 coin type to identify the native currency.
12
+ *
13
+ * @example nativeAssetId('ethereum-mainnet') => 'eip155:1/slip44:60'
14
+ * @example nativeAssetId('polygon-mainnet') => 'eip155:137/slip44:966'
15
+ * @example nativeAssetId('mainnet') => 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501'
16
+ */
17
+ export declare function nativeAssetId(network: NetworkType): string;
18
+ /**
19
+ * Generate CAIP-19 asset type URI for a fungible token.
20
+ *
21
+ * - EVM tokens use `erc20` namespace with lowercased address (EIP-55 normalization)
22
+ * - Solana tokens use `token` namespace with original base58 address (NEVER lowercase!)
23
+ *
24
+ * @example tokenAssetId('ethereum-mainnet', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')
25
+ * => 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
26
+ * @example tokenAssetId('mainnet', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v')
27
+ * => 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
28
+ */
29
+ export declare function tokenAssetId(network: NetworkType, address: string): string;
30
+ /**
31
+ * Check if a CAIP-19 asset type URI refers to a native asset (slip44 namespace).
32
+ */
33
+ export declare function isNativeAsset(caip19: string): boolean;
34
+ //# sourceMappingURL=asset-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-helpers.d.ts","sourceRoot":"","sources":["../../src/caip/asset-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BrD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAK1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD"}
@@ -0,0 +1,66 @@
1
+ import { parseCaip2 } from './caip2.js';
2
+ import { formatCaip19, parseCaip19 } from './caip19.js';
3
+ import { networkToCaip2 } from './network-map.js';
4
+ // ── SLIP-44 coin type per CAIP-2 chain ID ───────────────────────
5
+ // ETH=60 for Ethereum/Arbitrum/Optimism/Base L2s
6
+ // POL=966 for Polygon (NOT ETH!)
7
+ // SOL=501 for Solana
8
+ const NATIVE_SLIP44 = {
9
+ 'eip155:1': 60,
10
+ 'eip155:11155111': 60,
11
+ 'eip155:137': 966,
12
+ 'eip155:80002': 966,
13
+ 'eip155:42161': 60,
14
+ 'eip155:421614': 60,
15
+ 'eip155:10': 60,
16
+ 'eip155:11155420': 60,
17
+ 'eip155:8453': 60,
18
+ 'eip155:84532': 60,
19
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 501,
20
+ 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1': 501,
21
+ 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 501,
22
+ };
23
+ /**
24
+ * Generate CAIP-19 asset type URI for a network's native asset.
25
+ * Uses slip44 coin type to identify the native currency.
26
+ *
27
+ * @example nativeAssetId('ethereum-mainnet') => 'eip155:1/slip44:60'
28
+ * @example nativeAssetId('polygon-mainnet') => 'eip155:137/slip44:966'
29
+ * @example nativeAssetId('mainnet') => 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501'
30
+ */
31
+ export function nativeAssetId(network) {
32
+ const caip2 = networkToCaip2(network);
33
+ const slip44 = NATIVE_SLIP44[caip2];
34
+ if (slip44 === undefined)
35
+ throw new Error(`No SLIP-44 coin type for chain: ${caip2}`);
36
+ return formatCaip19(caip2, 'slip44', String(slip44));
37
+ }
38
+ /**
39
+ * Generate CAIP-19 asset type URI for a fungible token.
40
+ *
41
+ * - EVM tokens use `erc20` namespace with lowercased address (EIP-55 normalization)
42
+ * - Solana tokens use `token` namespace with original base58 address (NEVER lowercase!)
43
+ *
44
+ * @example tokenAssetId('ethereum-mainnet', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')
45
+ * => 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
46
+ * @example tokenAssetId('mainnet', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v')
47
+ * => 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
48
+ */
49
+ export function tokenAssetId(network, address) {
50
+ const caip2 = networkToCaip2(network);
51
+ const { namespace } = parseCaip2(caip2);
52
+ if (namespace === 'eip155') {
53
+ return formatCaip19(caip2, 'erc20', address.toLowerCase());
54
+ }
55
+ if (namespace === 'solana') {
56
+ return formatCaip19(caip2, 'token', address);
57
+ }
58
+ throw new Error(`Unsupported chain namespace for token asset: ${namespace}`);
59
+ }
60
+ /**
61
+ * Check if a CAIP-19 asset type URI refers to a native asset (slip44 namespace).
62
+ */
63
+ export function isNativeAsset(caip19) {
64
+ return parseCaip19(caip19).assetNamespace === 'slip44';
65
+ }
66
+ //# sourceMappingURL=asset-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-helpers.js","sourceRoot":"","sources":["../../src/caip/asset-helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,mEAAmE;AACnE,iDAAiD;AACjD,iCAAiC;AACjC,qBAAqB;AAErB,MAAM,aAAa,GAA2B;IAC5C,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,GAAG;IACnB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,EAAE;IACrB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,yCAAyC,EAAE,GAAG;IAC9C,yCAAyC,EAAE,GAAG;IAC9C,yCAAyC,EAAE,GAAG;CAC/C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAoB;IAChD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IACtF,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB,EAAE,OAAe;IAChE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC;AACzD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ export declare const Caip19AssetTypeSchema: z.ZodString;
3
+ export type Caip19AssetType = z.infer<typeof Caip19AssetTypeSchema>;
4
+ export declare const Caip19Schema: z.ZodString;
5
+ export type Caip19 = Caip19AssetType;
6
+ export interface Caip19Params {
7
+ chainId: string;
8
+ assetNamespace: string;
9
+ assetReference: string;
10
+ }
11
+ export declare function parseCaip19(assetType: string): Caip19Params;
12
+ export declare function formatCaip19(chainId: string, assetNamespace: string, assetReference: string): string;
13
+ //# sourceMappingURL=caip19.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip19.d.ts","sourceRoot":"","sources":["../../src/caip/caip19.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,qBAAqB,aAGjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,YAAY,aAAwB,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAW3D;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACrB,MAAM,CAIR"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ // CAIP-19 asset type: chainId/assetNamespace:assetReference
3
+ // chainId = CAIP-2 (namespace:reference)
4
+ // assetNamespace = [-a-z0-9]{3,8}
5
+ // assetReference = [-.%a-zA-Z0-9]{1,128}
6
+ // Source: standards.chainagnostic.org/CAIPs/caip-19
7
+ export const Caip19AssetTypeSchema = z.string().regex(/^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}\/[-a-z0-9]{3,8}:[-.%a-zA-Z0-9]{1,128}$/, 'Invalid CAIP-19 asset type format (expected chainId/namespace:reference)');
8
+ // Convenience alias: WAIaaS only handles fungible tokens -> AssetType is sufficient
9
+ export const Caip19Schema = Caip19AssetTypeSchema;
10
+ export function parseCaip19(assetType) {
11
+ Caip19AssetTypeSchema.parse(assetType);
12
+ const slashIdx = assetType.indexOf('/');
13
+ const chainId = assetType.slice(0, slashIdx);
14
+ const assetPart = assetType.slice(slashIdx + 1);
15
+ const colonIdx = assetPart.indexOf(':');
16
+ return {
17
+ chainId,
18
+ assetNamespace: assetPart.slice(0, colonIdx),
19
+ assetReference: assetPart.slice(colonIdx + 1),
20
+ };
21
+ }
22
+ export function formatCaip19(chainId, assetNamespace, assetReference) {
23
+ const result = `${chainId}/${assetNamespace}:${assetReference}`;
24
+ Caip19AssetTypeSchema.parse(result);
25
+ return result;
26
+ }
27
+ //# sourceMappingURL=caip19.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip19.js","sourceRoot":"","sources":["../../src/caip/caip19.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4DAA4D;AAC5D,yCAAyC;AACzC,kCAAkC;AAClC,yCAAyC;AACzC,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACnD,4EAA4E,EAC5E,0EAA0E,CAC3E,CAAC;AAGF,oFAAoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAC;AASlD,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO;QACL,OAAO;QACP,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC5C,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,cAAsB,EACtB,cAAsB;IAEtB,MAAM,MAAM,GAAG,GAAG,OAAO,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;IAChE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export declare const Caip2Schema: z.ZodString;
3
+ export type Caip2 = z.infer<typeof Caip2Schema>;
4
+ export interface Caip2Params {
5
+ namespace: string;
6
+ reference: string;
7
+ }
8
+ export declare function parseCaip2(chainId: string): Caip2Params;
9
+ export declare function formatCaip2(namespace: string, reference: string): string;
10
+ //# sourceMappingURL=caip2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../src/caip/caip2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,aAGvB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAOvD;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIxE"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ // CAIP-2 spec: namespace = [-a-z0-9]{3,8}, reference = [-_a-zA-Z0-9]{1,32}
3
+ // Source: standards.chainagnostic.org/CAIPs/caip-2
4
+ // IMPORTANT: reference includes underscore per official spec (e.g., SN_GOERLI)
5
+ export const Caip2Schema = z.string().regex(/^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/, 'Invalid CAIP-2 chain ID format (expected namespace:reference)');
6
+ export function parseCaip2(chainId) {
7
+ Caip2Schema.parse(chainId);
8
+ const idx = chainId.indexOf(':');
9
+ return {
10
+ namespace: chainId.slice(0, idx),
11
+ reference: chainId.slice(idx + 1),
12
+ };
13
+ }
14
+ export function formatCaip2(namespace, reference) {
15
+ const result = `${namespace}:${reference}`;
16
+ Caip2Schema.parse(result);
17
+ return result;
18
+ }
19
+ //# sourceMappingURL=caip2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip2.js","sourceRoot":"","sources":["../../src/caip/caip2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2EAA2E;AAC3E,mDAAmD;AACnD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACzC,sCAAsC,EACtC,+DAA+D,CAChE,CAAC;AAQF,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,SAAiB;IAC9D,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;IAC3C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Caip2Schema, type Caip2, type Caip2Params, parseCaip2, formatCaip2 } from './caip2.js';
2
+ export { Caip19AssetTypeSchema, Caip19Schema, type Caip19AssetType, type Caip19, type Caip19Params, parseCaip19, formatCaip19, } from './caip19.js';
3
+ export { CAIP2_TO_NETWORK, NETWORK_TO_CAIP2, networkToCaip2, caip2ToNetwork } from './network-map.js';
4
+ export { nativeAssetId, tokenAssetId, isNativeAsset } from './asset-helpers.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/caip/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGhG,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ // CAIP-2 (chain ID)
2
+ export { Caip2Schema, parseCaip2, formatCaip2 } from './caip2.js';
3
+ // CAIP-19 (asset type)
4
+ export { Caip19AssetTypeSchema, Caip19Schema, parseCaip19, formatCaip19, } from './caip19.js';
5
+ // Network map (CAIP-2 <-> NetworkType bidirectional)
6
+ export { CAIP2_TO_NETWORK, NETWORK_TO_CAIP2, networkToCaip2, caip2ToNetwork } from './network-map.js';
7
+ // Asset helpers (native + token CAIP-19 generation)
8
+ export { nativeAssetId, tokenAssetId, isNativeAsset } from './asset-helpers.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/caip/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAgC,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhG,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,YAAY,EAIZ,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,qDAAqD;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtG,oDAAoD;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * CAIP-2 <-> WAIaaS NetworkType bidirectional mapping (SSoT).
3
+ *
4
+ * All 13 NetworkType values are mapped to their CAIP-2 chain identifiers.
5
+ * This is the single source of truth -- x402.types.ts and wc-session-service.ts
6
+ * re-export or import from here instead of maintaining local copies.
7
+ */
8
+ import type { ChainType, NetworkType } from '../enums/chain.js';
9
+ export declare const CAIP2_TO_NETWORK: Record<string, {
10
+ chain: ChainType;
11
+ network: NetworkType;
12
+ }>;
13
+ export declare const NETWORK_TO_CAIP2: Record<NetworkType, string>;
14
+ /**
15
+ * Convert a WAIaaS NetworkType to its CAIP-2 chain identifier.
16
+ * @throws {Error} if network is not in the mapping
17
+ */
18
+ export declare function networkToCaip2(network: NetworkType): string;
19
+ /**
20
+ * Convert a CAIP-2 chain identifier to WAIaaS chain + network.
21
+ * @throws {Error} if CAIP-2 ID is not in the mapping
22
+ */
23
+ export declare function caip2ToNetwork(caip2: string): {
24
+ chain: ChainType;
25
+ network: NetworkType;
26
+ };
27
+ //# sourceMappingURL=network-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-map.d.ts","sourceRoot":"","sources":["../../src/caip/network-map.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAgBvF,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAExB,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAIjC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAI3D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAIxF"}
@@ -0,0 +1,42 @@
1
+ // ── CAIP-2 -> { chain, network } ────────────────────────────────
2
+ export const CAIP2_TO_NETWORK = {
3
+ // EVM
4
+ 'eip155:1': { chain: 'ethereum', network: 'ethereum-mainnet' },
5
+ 'eip155:11155111': { chain: 'ethereum', network: 'ethereum-sepolia' },
6
+ 'eip155:137': { chain: 'ethereum', network: 'polygon-mainnet' },
7
+ 'eip155:80002': { chain: 'ethereum', network: 'polygon-amoy' },
8
+ 'eip155:42161': { chain: 'ethereum', network: 'arbitrum-mainnet' },
9
+ 'eip155:421614': { chain: 'ethereum', network: 'arbitrum-sepolia' },
10
+ 'eip155:10': { chain: 'ethereum', network: 'optimism-mainnet' },
11
+ 'eip155:11155420': { chain: 'ethereum', network: 'optimism-sepolia' },
12
+ 'eip155:8453': { chain: 'ethereum', network: 'base-mainnet' },
13
+ 'eip155:84532': { chain: 'ethereum', network: 'base-sepolia' },
14
+ // Solana
15
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': { chain: 'solana', network: 'mainnet' },
16
+ 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1': { chain: 'solana', network: 'devnet' },
17
+ 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': { chain: 'solana', network: 'testnet' },
18
+ };
19
+ // ── NetworkType -> CAIP-2 (reverse mapping) ─────────────────────
20
+ export const NETWORK_TO_CAIP2 = Object.fromEntries(Object.entries(CAIP2_TO_NETWORK).map(([caip2, { network }]) => [network, caip2]));
21
+ // ── Lookup functions with error handling ────────────────────────
22
+ /**
23
+ * Convert a WAIaaS NetworkType to its CAIP-2 chain identifier.
24
+ * @throws {Error} if network is not in the mapping
25
+ */
26
+ export function networkToCaip2(network) {
27
+ const caip2 = NETWORK_TO_CAIP2[network];
28
+ if (!caip2)
29
+ throw new Error(`Unknown network: ${network}`);
30
+ return caip2;
31
+ }
32
+ /**
33
+ * Convert a CAIP-2 chain identifier to WAIaaS chain + network.
34
+ * @throws {Error} if CAIP-2 ID is not in the mapping
35
+ */
36
+ export function caip2ToNetwork(caip2) {
37
+ const entry = CAIP2_TO_NETWORK[caip2];
38
+ if (!entry)
39
+ throw new Error(`Unknown CAIP-2 chain ID: ${caip2}`);
40
+ return entry;
41
+ }
42
+ //# sourceMappingURL=network-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-map.js","sourceRoot":"","sources":["../../src/caip/network-map.ts"],"names":[],"mappings":"AASA,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAA+D;IAC1F,MAAM;IACN,UAAU,EAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,YAAY,EAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE;IACpE,cAAc,EAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE;IACjE,cAAc,EAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,eAAe,EAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,WAAW,EAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACrE,aAAa,EAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE;IACjE,cAAc,EAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE;IACjE,SAAS;IACT,yCAAyC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;IAClF,yCAAyC,EAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClF,yCAAyC,EAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;CACpF,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAClD,CAAC;AAEjC,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ export declare const INCOMING_TX_STATUSES: readonly ["DETECTED", "CONFIRMED"];
3
+ export type IncomingTxStatus = (typeof INCOMING_TX_STATUSES)[number];
4
+ export declare const IncomingTxStatusEnum: z.ZodEnum<["DETECTED", "CONFIRMED"]>;
5
+ //# sourceMappingURL=incoming-tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incoming-tx.d.ts","sourceRoot":"","sources":["../../src/enums/incoming-tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,oCAAqC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACrE,eAAO,MAAM,oBAAoB,sCAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export const INCOMING_TX_STATUSES = ['DETECTED', 'CONFIRMED'];
3
+ export const IncomingTxStatusEnum = z.enum(INCOMING_TX_STATUSES);
4
+ //# sourceMappingURL=incoming-tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incoming-tx.js","sourceRoot":"","sources":["../../src/enums/incoming-tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,WAAW,CAAU,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC"}
@@ -7,4 +7,5 @@ export { NOTIFICATION_EVENT_TYPES, type NotificationEventType, NotificationEvent
7
7
  export { AUDIT_ACTIONS, type AuditAction, AuditActionEnum, } from './audit.js';
8
8
  export { KILL_SWITCH_STATES, type KillSwitchState, KillSwitchStateEnum, } from './system.js';
9
9
  export { OWNER_STATES, type OwnerState, OwnerStateEnum, } from './owner.js';
10
+ export { INCOMING_TX_STATUSES, type IncomingTxStatus, IncomingTxStatusEnum, } from './incoming-tx.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,SAAS,EACd,aAAa,EACb,aAAa,EACb,KAAK,WAAW,EAChB,eAAe,EACf,iBAAiB,EACjB,KAAK,cAAc,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,eAAe,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,SAAS,EACd,aAAa,EACb,aAAa,EACb,KAAK,WAAW,EAChB,eAAe,EACf,iBAAiB,EACjB,KAAK,cAAc,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,eAAe,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,EACd,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,KAAK,eAAe,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
@@ -7,4 +7,5 @@ export { NOTIFICATION_EVENT_TYPES, NotificationEventTypeEnum, NOTIFICATION_LOG_S
7
7
  export { AUDIT_ACTIONS, AuditActionEnum, } from './audit.js';
8
8
  export { KILL_SWITCH_STATES, KillSwitchStateEnum, } from './system.js';
9
9
  export { OWNER_STATES, OwnerStateEnum, } from './owner.js';
10
+ export { INCOMING_TX_STATUSES, IncomingTxStatusEnum, } from './incoming-tx.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,aAAa,EAEb,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,iBAAiB,EAEjB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EAEf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EAEpB,qBAAqB,EACrB,iBAAiB,EAEjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EAEZ,cAAc,EACd,YAAY,EAEZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EAExB,yBAAyB,EACzB,yBAAyB,EAEzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EAEb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EAEZ,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,aAAa,EAEb,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,iBAAiB,EAEjB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EAEf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EAEpB,qBAAqB,EACrB,iBAAiB,EAEjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EAEZ,cAAc,EACd,YAAY,EAEZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EAExB,yBAAyB,EACzB,yBAAyB,EAEzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EAEb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EAEZ,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EAEpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- export declare const NOTIFICATION_EVENT_TYPES: readonly ["TX_REQUESTED", "TX_QUEUED", "TX_SUBMITTED", "TX_CONFIRMED", "TX_FAILED", "TX_CANCELLED", "TX_DOWNGRADED_DELAY", "TX_APPROVAL_REQUIRED", "TX_APPROVAL_EXPIRED", "POLICY_VIOLATION", "WALLET_SUSPENDED", "KILL_SWITCH_ACTIVATED", "KILL_SWITCH_RECOVERED", "KILL_SWITCH_ESCALATED", "AUTO_STOP_TRIGGERED", "SESSION_EXPIRING_SOON", "SESSION_EXPIRED", "SESSION_CREATED", "SESSION_WALLET_ADDED", "SESSION_WALLET_REMOVED", "OWNER_SET", "OWNER_REMOVED", "OWNER_VERIFIED", "DAILY_SUMMARY", "CUMULATIVE_LIMIT_WARNING", "LOW_BALANCE", "APPROVAL_CHANNEL_SWITCHED", "UPDATE_AVAILABLE"];
2
+ export declare const NOTIFICATION_EVENT_TYPES: readonly ["TX_REQUESTED", "TX_QUEUED", "TX_SUBMITTED", "TX_CONFIRMED", "TX_FAILED", "TX_CANCELLED", "TX_DOWNGRADED_DELAY", "TX_APPROVAL_REQUIRED", "TX_APPROVAL_EXPIRED", "POLICY_VIOLATION", "WALLET_SUSPENDED", "KILL_SWITCH_ACTIVATED", "KILL_SWITCH_RECOVERED", "KILL_SWITCH_ESCALATED", "AUTO_STOP_TRIGGERED", "SESSION_EXPIRING_SOON", "SESSION_EXPIRED", "SESSION_CREATED", "SESSION_WALLET_ADDED", "SESSION_WALLET_REMOVED", "OWNER_SET", "OWNER_REMOVED", "OWNER_VERIFIED", "DAILY_SUMMARY", "CUMULATIVE_LIMIT_WARNING", "LOW_BALANCE", "APPROVAL_CHANNEL_SWITCHED", "UPDATE_AVAILABLE", "TX_INCOMING", "TX_INCOMING_SUSPICIOUS"];
3
3
  export type NotificationEventType = (typeof NOTIFICATION_EVENT_TYPES)[number];
4
- export declare const NotificationEventTypeEnum: z.ZodEnum<["TX_REQUESTED", "TX_QUEUED", "TX_SUBMITTED", "TX_CONFIRMED", "TX_FAILED", "TX_CANCELLED", "TX_DOWNGRADED_DELAY", "TX_APPROVAL_REQUIRED", "TX_APPROVAL_EXPIRED", "POLICY_VIOLATION", "WALLET_SUSPENDED", "KILL_SWITCH_ACTIVATED", "KILL_SWITCH_RECOVERED", "KILL_SWITCH_ESCALATED", "AUTO_STOP_TRIGGERED", "SESSION_EXPIRING_SOON", "SESSION_EXPIRED", "SESSION_CREATED", "SESSION_WALLET_ADDED", "SESSION_WALLET_REMOVED", "OWNER_SET", "OWNER_REMOVED", "OWNER_VERIFIED", "DAILY_SUMMARY", "CUMULATIVE_LIMIT_WARNING", "LOW_BALANCE", "APPROVAL_CHANNEL_SWITCHED", "UPDATE_AVAILABLE"]>;
4
+ export declare const NotificationEventTypeEnum: z.ZodEnum<["TX_REQUESTED", "TX_QUEUED", "TX_SUBMITTED", "TX_CONFIRMED", "TX_FAILED", "TX_CANCELLED", "TX_DOWNGRADED_DELAY", "TX_APPROVAL_REQUIRED", "TX_APPROVAL_EXPIRED", "POLICY_VIOLATION", "WALLET_SUSPENDED", "KILL_SWITCH_ACTIVATED", "KILL_SWITCH_RECOVERED", "KILL_SWITCH_ESCALATED", "AUTO_STOP_TRIGGERED", "SESSION_EXPIRING_SOON", "SESSION_EXPIRED", "SESSION_CREATED", "SESSION_WALLET_ADDED", "SESSION_WALLET_REMOVED", "OWNER_SET", "OWNER_REMOVED", "OWNER_VERIFIED", "DAILY_SUMMARY", "CUMULATIVE_LIMIT_WARNING", "LOW_BALANCE", "APPROVAL_CHANNEL_SWITCHED", "UPDATE_AVAILABLE", "TX_INCOMING", "TX_INCOMING_SUSPICIOUS"]>;
5
5
  export declare const NOTIFICATION_LOG_STATUSES: readonly ["sent", "failed"];
6
6
  export type NotificationLogStatus = (typeof NOTIFICATION_LOG_STATUSES)[number];
7
7
  export declare const NotificationLogStatusEnum: z.ZodEnum<["sent", "failed"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB,mkBA6B3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,eAAO,MAAM,yBAAyB,qkBAAmC,CAAC;AAG1E,eAAO,MAAM,yBAAyB,6BAA8B,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,eAAO,MAAM,yBAAyB,+BAAoC,CAAC"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB,4mBA+B3B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,eAAO,MAAM,yBAAyB,8mBAAmC,CAAC;AAG1E,eAAO,MAAM,yBAAyB,6BAA8B,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,eAAO,MAAM,yBAAyB,+BAAoC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- // NotificationEventType: event types from 35-notification-architecture (28 total)
2
+ // NotificationEventType: event types from 35-notification-architecture (30 total)
3
3
  export const NOTIFICATION_EVENT_TYPES = [
4
4
  'TX_REQUESTED',
5
5
  'TX_QUEUED',
@@ -29,6 +29,8 @@ export const NOTIFICATION_EVENT_TYPES = [
29
29
  'LOW_BALANCE',
30
30
  'APPROVAL_CHANNEL_SWITCHED',
31
31
  'UPDATE_AVAILABLE',
32
+ 'TX_INCOMING',
33
+ 'TX_INCOMING_SUSPICIOUS',
32
34
  ];
33
35
  export const NotificationEventTypeEnum = z.enum(NOTIFICATION_EVENT_TYPES);
34
36
  // NotificationLogStatus: delivery result status for notification_logs table
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,cAAc;IACd,WAAW;IACX,cAAc;IACd,cAAc;IACd,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,wBAAwB;IACxB,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,0BAA0B;IAC1B,aAAa;IACb,2BAA2B;IAC3B,kBAAkB;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/enums/notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,cAAc;IACd,WAAW;IACX,cAAc;IACd,cAAc;IACd,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,wBAAwB;IACxB,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,0BAA0B;IAC1B,aAAa;IACb,2BAA2B;IAC3B,kBAAkB;IAClB,aAAa;IACb,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,16 +1,20 @@
1
1
  /**
2
2
  * WAIaaS Event Bus event type definitions.
3
3
  *
4
- * Typed events for the EventBus system:
4
+ * Typed events for the EventBus system (7 event types):
5
5
  * - transaction:completed -- fired after on-chain confirmation (Stage 6)
6
6
  * - transaction:failed -- fired on pipeline failure (Stage 5/6 errors)
7
+ * - transaction:incoming -- fired when an incoming transfer is detected/confirmed (v27.1)
8
+ * - transaction:incoming:suspicious -- fired when an incoming transfer is flagged suspicious (v27.1)
7
9
  * - wallet:activity -- fired on wallet-related activities (TX_REQUESTED, TX_SUBMITTED, SESSION_CREATED, OWNER_SET)
8
10
  * - kill-switch:state-changed -- fired on kill switch state transitions (ACTIVE/SUSPENDED/LOCKED)
9
11
  * - approval:channel-switched -- fired when approval channel falls back (e.g. WC -> Telegram)
10
12
  *
11
- * These events are consumed by AutoStopService (Phase 141) and BalanceMonitorService (Phase 142).
13
+ * These events are consumed by AutoStopService (Phase 141), BalanceMonitorService (Phase 142),
14
+ * and IncomingTxMonitorService (Phase 226).
12
15
  *
13
16
  * @see docs/35-notification-architecture.md
17
+ * @see docs/76-incoming-tx-monitoring.md
14
18
  */
15
19
  export interface TransactionCompletedEvent {
16
20
  walletId: string;
@@ -49,9 +53,25 @@ export interface ApprovalChannelSwitchedEvent {
49
53
  reason: string;
50
54
  timestamp: number;
51
55
  }
56
+ export interface IncomingTxEvent {
57
+ walletId: string;
58
+ txHash: string;
59
+ fromAddress: string;
60
+ amount: string;
61
+ tokenAddress: string | null;
62
+ chain: string;
63
+ network: string;
64
+ status: string;
65
+ timestamp: number;
66
+ }
67
+ export interface IncomingTxSuspiciousEvent extends IncomingTxEvent {
68
+ suspiciousReasons: string[];
69
+ }
52
70
  export interface WaiaasEventMap {
53
71
  'transaction:completed': TransactionCompletedEvent;
54
72
  'transaction:failed': TransactionFailedEvent;
73
+ 'transaction:incoming': IncomingTxEvent;
74
+ 'transaction:incoming:suspicious': IncomingTxSuspiciousEvent;
55
75
  'wallet:activity': WalletActivityEvent;
56
76
  'kill-switch:state-changed': KillSwitchStateChangedEvent;
57
77
  'approval:channel-switched': ApprovalChannelSwitchedEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,cAAc,CAAC;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAC7B,uBAAuB,EAAE,yBAAyB,CAAC;IACnD,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,2BAA2B,EAAE,4BAA4B,CAAC;CAC3D"}
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,cAAc,CAAC;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAMD,MAAM,WAAW,cAAc;IAC7B,uBAAuB,EAAE,yBAAyB,CAAC;IACnD,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,sBAAsB,EAAE,eAAe,CAAC;IACxC,iCAAiC,EAAE,yBAAyB,CAAC;IAC7D,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,2BAA2B,EAAE,4BAA4B,CAAC;CAC3D"}
@@ -1,16 +1,20 @@
1
1
  /**
2
2
  * WAIaaS Event Bus event type definitions.
3
3
  *
4
- * Typed events for the EventBus system:
4
+ * Typed events for the EventBus system (7 event types):
5
5
  * - transaction:completed -- fired after on-chain confirmation (Stage 6)
6
6
  * - transaction:failed -- fired on pipeline failure (Stage 5/6 errors)
7
+ * - transaction:incoming -- fired when an incoming transfer is detected/confirmed (v27.1)
8
+ * - transaction:incoming:suspicious -- fired when an incoming transfer is flagged suspicious (v27.1)
7
9
  * - wallet:activity -- fired on wallet-related activities (TX_REQUESTED, TX_SUBMITTED, SESSION_CREATED, OWNER_SET)
8
10
  * - kill-switch:state-changed -- fired on kill switch state transitions (ACTIVE/SUSPENDED/LOCKED)
9
11
  * - approval:channel-switched -- fired when approval channel falls back (e.g. WC -> Telegram)
10
12
  *
11
- * These events are consumed by AutoStopService (Phase 141) and BalanceMonitorService (Phase 142).
13
+ * These events are consumed by AutoStopService (Phase 141), BalanceMonitorService (Phase 142),
14
+ * and IncomingTxMonitorService (Phase 226).
12
15
  *
13
16
  * @see docs/35-notification-architecture.md
17
+ * @see docs/76-incoming-tx-monitoring.md
14
18
  */
15
19
  export {};
16
20
  //# sourceMappingURL=event-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
1
+ {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -1,3 +1,3 @@
1
1
  export { EventBus } from './event-bus.js';
2
- export type { WaiaasEventMap, TransactionCompletedEvent, TransactionFailedEvent, WalletActivityEvent, KillSwitchStateChangedEvent, ApprovalChannelSwitchedEvent, } from './event-types.js';
2
+ export type { WaiaasEventMap, TransactionCompletedEvent, TransactionFailedEvent, WalletActivityEvent, KillSwitchStateChangedEvent, ApprovalChannelSwitchedEvent, IncomingTxEvent, IncomingTxSuspiciousEvent, } from './event-types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC"}
package/dist/i18n/en.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { NotificationEventType } from '../enums/notification.js';
3
3
  /**
4
4
  * Messages type definition. Enforces key parity across all locales.
5
5
  * Keys in errors must match ERROR_CODES keys exactly (100 error codes).
6
- * Notification templates cover all 22 event types.
6
+ * Notification templates cover all 30 event types.
7
7
  */
8
8
  export interface Messages {
9
9
  errors: Record<ErrorCode, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,GAAG,EAAE;QACH,sBAAsB,EAAE,MAAM,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,wBAAwB,EAAE,MAAM,CAAC;QACjC,6BAA6B,EAAE,MAAM,CAAC;QACtC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,+BAA+B,EAAE,MAAM,CAAC;QACxC,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,QAAQ,EAAE,QA+MtB,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,GAAG,EAAE;QACH,sBAAsB,EAAE,MAAM,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,wBAAwB,EAAE,MAAM,CAAC;QACjC,6BAA6B,EAAE,MAAM,CAAC;QACtC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,+BAA+B,EAAE,MAAM,CAAC;QACxC,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,QAAQ,EAAE,QAiNtB,CAAC"}
package/dist/i18n/en.js CHANGED
@@ -120,9 +120,9 @@ export const messages = {
120
120
  INVALID_SIGN_RESPONSE: 'Invalid sign response format',
121
121
  SIGN_REQUEST_ALREADY_PROCESSED: 'Sign request has already been processed',
122
122
  },
123
- // Notification templates (22 event types)
123
+ // Notification templates (30 event types)
124
124
  notifications: {
125
- TX_REQUESTED: { title: 'Transaction Requested', body: 'Wallet {walletId} requested {amount} transfer to {to} {display_amount}' },
125
+ TX_REQUESTED: { title: 'Transaction Requested', body: '{walletName} requested {amount} transfer to {to} {display_amount}' },
126
126
  TX_QUEUED: { title: 'Transaction Queued', body: 'Transaction {txId} queued for processing' },
127
127
  TX_SUBMITTED: { title: 'Transaction Submitted', body: 'Transaction {txId} submitted to blockchain {display_amount}' },
128
128
  TX_CONFIRMED: { title: 'Transaction Confirmed', body: 'Transaction {txId} confirmed. Amount: {amount} {display_amount}' },
@@ -131,25 +131,27 @@ export const messages = {
131
131
  TX_DOWNGRADED_DELAY: { title: 'Transaction Delayed', body: 'Transaction {txId} downgraded to delay queue ({seconds}s cooldown)' },
132
132
  TX_APPROVAL_REQUIRED: { title: 'Approval Required', body: 'Transaction {txId} requires owner approval. Amount: {amount} to {to} {display_amount}' },
133
133
  TX_APPROVAL_EXPIRED: { title: 'Approval Expired', body: 'Approval for transaction {txId} has expired' },
134
- POLICY_VIOLATION: { title: 'Policy Violation', body: 'Wallet {walletId} policy violation: {reason}. Policy: {policyType}. Manage: {adminLink}' },
135
- WALLET_SUSPENDED: { title: 'Wallet Suspended', body: 'Wallet {walletId} has been suspended: {reason}' },
134
+ POLICY_VIOLATION: { title: 'Policy Violation', body: '{walletName} policy violation: {reason}. Policy: {policyType}. Manage: {adminLink}' },
135
+ WALLET_SUSPENDED: { title: 'Wallet Suspended', body: '{walletName} has been suspended: {reason}' },
136
136
  KILL_SWITCH_ACTIVATED: { title: 'Kill Switch Activated', body: 'Kill switch activated by {activatedBy}. All operations halted' },
137
137
  KILL_SWITCH_RECOVERED: { title: 'Kill Switch Recovered', body: 'Kill switch deactivated. Normal operations resumed' },
138
138
  KILL_SWITCH_ESCALATED: { title: 'Kill Switch Escalated', body: 'Kill switch escalated to LOCKED state. Immediate action required' },
139
- AUTO_STOP_TRIGGERED: { title: 'Auto-Stop Triggered', body: 'Wallet {walletId} auto-stopped: {reason}. Rule: {rule}' },
140
- SESSION_EXPIRING_SOON: { title: 'Session Expiring Soon', body: 'Session {sessionId} for wallet {walletId} expires in {minutes} minutes' },
141
- SESSION_EXPIRED: { title: 'Session Expired', body: 'Session {sessionId} for wallet {walletId} has expired' },
142
- SESSION_CREATED: { title: 'Session Created', body: 'New session created for wallet {walletId}' },
143
- SESSION_WALLET_ADDED: { title: 'Wallet Added to Session', body: 'Wallet {walletId} has been added to session {sessionId}' },
144
- SESSION_WALLET_REMOVED: { title: 'Wallet Removed from Session', body: 'Wallet {walletId} has been removed from session {sessionId}' },
145
- OWNER_SET: { title: 'Owner Registered', body: 'Owner registered for wallet {walletId}: {ownerAddress}' },
146
- OWNER_REMOVED: { title: 'Owner Removed', body: 'Owner removed from wallet {walletId}' },
147
- OWNER_VERIFIED: { title: 'Owner Verified', body: 'Owner verified for wallet {walletId}' },
139
+ AUTO_STOP_TRIGGERED: { title: 'Auto-Stop Triggered', body: '{walletName} auto-stopped: {reason}. Rule: {rule}' },
140
+ SESSION_EXPIRING_SOON: { title: 'Session Expiring Soon', body: 'Session {sessionId} for {walletName} expires in {minutes} minutes' },
141
+ SESSION_EXPIRED: { title: 'Session Expired', body: 'Session {sessionId} for {walletName} has expired' },
142
+ SESSION_CREATED: { title: 'Session Created', body: 'New session created for {walletName}' },
143
+ SESSION_WALLET_ADDED: { title: 'Wallet Added to Session', body: '{walletName} has been added to session {sessionId}' },
144
+ SESSION_WALLET_REMOVED: { title: 'Wallet Removed from Session', body: '{walletName} has been removed from session {sessionId}' },
145
+ OWNER_SET: { title: 'Owner Registered', body: 'Owner registered for {walletName}: {ownerAddress}' },
146
+ OWNER_REMOVED: { title: 'Owner Removed', body: 'Owner removed from {walletName}' },
147
+ OWNER_VERIFIED: { title: 'Owner Verified', body: 'Owner verified for {walletName}' },
148
148
  DAILY_SUMMARY: { title: 'Daily Summary', body: 'Wallets: {walletCount}, Transactions: {txCount}, Sessions: {sessionCount}' },
149
- CUMULATIVE_LIMIT_WARNING: { title: 'Cumulative Spending Warning', body: 'Wallet {walletId} {type} spending at {ratio}% of limit (${spent} / ${limit}) {display_amount}' },
150
- LOW_BALANCE: { title: 'Low Balance Alert', body: 'Wallet {walletId} balance low: {balance} {currency}. Threshold: {threshold} {currency}. Please top up.' },
149
+ CUMULATIVE_LIMIT_WARNING: { title: 'Cumulative Spending Warning', body: '{walletName} {type} spending at {ratio}% of limit (${spent} / ${limit}) {display_amount}' },
150
+ LOW_BALANCE: { title: 'Low Balance Alert', body: '{walletName} balance low: {balance} {currency}. Threshold: {threshold} {currency}. Please top up.' },
151
151
  APPROVAL_CHANNEL_SWITCHED: { title: 'Approval Channel Switched', body: 'Approval for transaction {txId} switched from {from_channel} to {to_channel}. Reason: {reason}' },
152
152
  UPDATE_AVAILABLE: { title: 'WAIaaS Update Available', body: 'A new version {latestVersion} is available (current: {currentVersion}). Run `waiaas update` to update.' },
153
+ TX_INCOMING: { title: 'Incoming Transaction Detected', body: '{walletName} received {amount} from {fromAddress} on {chain} {display_amount}' },
154
+ TX_INCOMING_SUSPICIOUS: { title: 'Suspicious Incoming Transaction', body: '{walletName} received suspicious transaction: {amount} from {fromAddress}. Reasons: {reasons} {display_amount}' },
153
155
  },
154
156
  // System messages
155
157
  system: {