@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.
- package/dist/caip/asset-helpers.d.ts +34 -0
- package/dist/caip/asset-helpers.d.ts.map +1 -0
- package/dist/caip/asset-helpers.js +66 -0
- package/dist/caip/asset-helpers.js.map +1 -0
- package/dist/caip/caip19.d.ts +13 -0
- package/dist/caip/caip19.d.ts.map +1 -0
- package/dist/caip/caip19.js +27 -0
- package/dist/caip/caip19.js.map +1 -0
- package/dist/caip/caip2.d.ts +10 -0
- package/dist/caip/caip2.d.ts.map +1 -0
- package/dist/caip/caip2.js +19 -0
- package/dist/caip/caip2.js.map +1 -0
- package/dist/caip/index.d.ts +5 -0
- package/dist/caip/index.d.ts.map +1 -0
- package/dist/caip/index.js +9 -0
- package/dist/caip/index.js.map +1 -0
- package/dist/caip/network-map.d.ts +27 -0
- package/dist/caip/network-map.d.ts.map +1 -0
- package/dist/caip/network-map.js +42 -0
- package/dist/caip/network-map.js.map +1 -0
- package/dist/enums/incoming-tx.d.ts +5 -0
- package/dist/enums/incoming-tx.d.ts.map +1 -0
- package/dist/enums/incoming-tx.js +4 -0
- package/dist/enums/incoming-tx.js.map +1 -0
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +1 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/enums/notification.d.ts +2 -2
- package/dist/enums/notification.d.ts.map +1 -1
- package/dist/enums/notification.js +3 -1
- package/dist/enums/notification.js.map +1 -1
- package/dist/events/event-types.d.ts +22 -2
- package/dist/events/event-types.d.ts.map +1 -1
- package/dist/events/event-types.js +6 -2
- package/dist/events/event-types.js.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/i18n/en.d.ts +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +17 -15
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +17 -15
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IChainSubscriber.d.ts +45 -0
- package/dist/interfaces/IChainSubscriber.d.ts.map +1 -0
- package/dist/interfaces/IChainSubscriber.js +2 -0
- package/dist/interfaces/IChainSubscriber.js.map +1 -0
- package/dist/interfaces/INotificationChannel.d.ts +13 -1
- package/dist/interfaces/INotificationChannel.d.ts.map +1 -1
- package/dist/interfaces/chain-subscriber.types.d.ts +35 -0
- package/dist/interfaces/chain-subscriber.types.d.ts.map +1 -0
- package/dist/interfaces/chain-subscriber.types.js +2 -0
- package/dist/interfaces/chain-subscriber.types.js.map +1 -0
- package/dist/interfaces/connection-state.d.ts +71 -0
- package/dist/interfaces/connection-state.d.ts.map +1 -0
- package/dist/interfaces/connection-state.js +89 -0
- package/dist/interfaces/connection-state.js.map +1 -0
- package/dist/interfaces/index.d.ts +4 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +4 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/price-oracle.types.d.ts +8 -0
- package/dist/interfaces/price-oracle.types.d.ts.map +1 -1
- package/dist/interfaces/price-oracle.types.js +6 -1
- package/dist/interfaces/price-oracle.types.js.map +1 -1
- package/dist/interfaces/x402.types.d.ts +2 -13
- package/dist/interfaces/x402.types.d.ts.map +1 -1
- package/dist/interfaces/x402.types.js +3 -33
- package/dist/interfaces/x402.types.js.map +1 -1
- package/dist/schemas/incoming-transaction.schema.d.ts +53 -0
- package/dist/schemas/incoming-transaction.schema.d.ts.map +1 -0
- package/dist/schemas/incoming-transaction.schema.js +25 -0
- package/dist/schemas/incoming-transaction.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/policy.schema.d.ts.map +1 -1
- package/dist/schemas/policy.schema.js +3 -1
- package/dist/schemas/policy.schema.js.map +1 -1
- package/dist/schemas/signing-protocol.d.ts.map +1 -1
- package/dist/schemas/signing-protocol.js +2 -0
- package/dist/schemas/signing-protocol.js.map +1 -1
- package/dist/schemas/transaction.schema.d.ts +174 -46
- package/dist/schemas/transaction.schema.d.ts.map +1 -1
- package/dist/schemas/transaction.schema.js +27 -1
- package/dist/schemas/transaction.schema.js.map +1 -1
- package/dist/utils/explorer-url.d.ts +12 -0
- package/dist/utils/explorer-url.d.ts.map +1 -0
- package/dist/utils/explorer-url.js +38 -0
- package/dist/utils/explorer-url.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- 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 @@
|
|
|
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"}
|
package/dist/enums/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/enums/index.js
CHANGED
|
@@ -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
|
package/dist/enums/index.js.map
CHANGED
|
@@ -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,
|
|
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 (
|
|
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;
|
|
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)
|
|
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
|
|
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)
|
|
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
|
|
1
|
+
{"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../src/events/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
package/dist/events/index.d.ts
CHANGED
|
@@ -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,
|
|
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
|
|
6
|
+
* Notification templates cover all 30 event types.
|
|
7
7
|
*/
|
|
8
8
|
export interface Messages {
|
|
9
9
|
errors: Record<ErrorCode, string>;
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -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,
|
|
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 (
|
|
123
|
+
// Notification templates (30 event types)
|
|
124
124
|
notifications: {
|
|
125
|
-
TX_REQUESTED: { title: 'Transaction Requested', body: '
|
|
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: '
|
|
135
|
-
WALLET_SUSPENDED: { title: 'Wallet Suspended', body: '
|
|
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: '
|
|
140
|
-
SESSION_EXPIRING_SOON: { title: 'Session Expiring Soon', body: 'Session {sessionId} for
|
|
141
|
-
SESSION_EXPIRED: { title: 'Session Expired', body: 'Session {sessionId} for
|
|
142
|
-
SESSION_CREATED: { title: 'Session Created', body: 'New session created for
|
|
143
|
-
SESSION_WALLET_ADDED: { title: 'Wallet Added to Session', body: '
|
|
144
|
-
SESSION_WALLET_REMOVED: { title: 'Wallet Removed from Session', body: '
|
|
145
|
-
OWNER_SET: { title: 'Owner Registered', body: 'Owner registered for
|
|
146
|
-
OWNER_REMOVED: { title: 'Owner Removed', body: 'Owner removed from
|
|
147
|
-
OWNER_VERIFIED: { title: 'Owner Verified', body: 'Owner verified for
|
|
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: '
|
|
150
|
-
LOW_BALANCE: { title: 'Low Balance Alert', body: '
|
|
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: {
|