@waiaas/daemon 2.6.0-rc → 2.6.0-rc.2

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 (92) hide show
  1. package/dist/api/routes/connect-info.d.ts.map +1 -1
  2. package/dist/api/routes/connect-info.js +6 -0
  3. package/dist/api/routes/connect-info.js.map +1 -1
  4. package/dist/api/routes/openapi-schemas.d.ts +94 -22
  5. package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
  6. package/dist/api/routes/openapi-schemas.js +1 -0
  7. package/dist/api/routes/openapi-schemas.js.map +1 -1
  8. package/dist/api/routes/policies.d.ts.map +1 -1
  9. package/dist/api/routes/policies.js +18 -4
  10. package/dist/api/routes/policies.js.map +1 -1
  11. package/dist/api/routes/tokens.d.ts.map +1 -1
  12. package/dist/api/routes/tokens.js +1 -0
  13. package/dist/api/routes/tokens.js.map +1 -1
  14. package/dist/infrastructure/database/migrate.d.ts +1 -1
  15. package/dist/infrastructure/database/migrate.d.ts.map +1 -1
  16. package/dist/infrastructure/database/migrate.js +42 -3
  17. package/dist/infrastructure/database/migrate.js.map +1 -1
  18. package/dist/infrastructure/database/schema.d.ts +19 -0
  19. package/dist/infrastructure/database/schema.d.ts.map +1 -1
  20. package/dist/infrastructure/database/schema.js +1 -0
  21. package/dist/infrastructure/database/schema.js.map +1 -1
  22. package/dist/infrastructure/oracle/coingecko-oracle.d.ts +9 -1
  23. package/dist/infrastructure/oracle/coingecko-oracle.d.ts.map +1 -1
  24. package/dist/infrastructure/oracle/coingecko-oracle.js +40 -23
  25. package/dist/infrastructure/oracle/coingecko-oracle.js.map +1 -1
  26. package/dist/infrastructure/oracle/coingecko-platform-ids.d.ts +11 -10
  27. package/dist/infrastructure/oracle/coingecko-platform-ids.d.ts.map +1 -1
  28. package/dist/infrastructure/oracle/coingecko-platform-ids.js +20 -12
  29. package/dist/infrastructure/oracle/coingecko-platform-ids.js.map +1 -1
  30. package/dist/infrastructure/oracle/index.d.ts +1 -1
  31. package/dist/infrastructure/oracle/index.d.ts.map +1 -1
  32. package/dist/infrastructure/oracle/index.js +1 -1
  33. package/dist/infrastructure/oracle/index.js.map +1 -1
  34. package/dist/infrastructure/oracle/oracle-chain.d.ts.map +1 -1
  35. package/dist/infrastructure/oracle/oracle-chain.js +7 -4
  36. package/dist/infrastructure/oracle/oracle-chain.js.map +1 -1
  37. package/dist/infrastructure/oracle/price-cache.d.ts +24 -8
  38. package/dist/infrastructure/oracle/price-cache.d.ts.map +1 -1
  39. package/dist/infrastructure/oracle/price-cache.js +32 -11
  40. package/dist/infrastructure/oracle/price-cache.js.map +1 -1
  41. package/dist/infrastructure/oracle/pyth-feed-ids.d.ts +11 -8
  42. package/dist/infrastructure/oracle/pyth-feed-ids.d.ts.map +1 -1
  43. package/dist/infrastructure/oracle/pyth-feed-ids.js +16 -17
  44. package/dist/infrastructure/oracle/pyth-feed-ids.js.map +1 -1
  45. package/dist/infrastructure/oracle/pyth-oracle.d.ts.map +1 -1
  46. package/dist/infrastructure/oracle/pyth-oracle.js +7 -4
  47. package/dist/infrastructure/oracle/pyth-oracle.js.map +1 -1
  48. package/dist/infrastructure/token-registry/token-registry-service.d.ts +1 -0
  49. package/dist/infrastructure/token-registry/token-registry-service.d.ts.map +1 -1
  50. package/dist/infrastructure/token-registry/token-registry-service.js +15 -1
  51. package/dist/infrastructure/token-registry/token-registry-service.js.map +1 -1
  52. package/dist/notifications/channels/discord.d.ts.map +1 -1
  53. package/dist/notifications/channels/discord.js +5 -1
  54. package/dist/notifications/channels/discord.js.map +1 -1
  55. package/dist/notifications/channels/ntfy.d.ts.map +1 -1
  56. package/dist/notifications/channels/ntfy.js +3 -0
  57. package/dist/notifications/channels/ntfy.js.map +1 -1
  58. package/dist/notifications/channels/slack.d.ts.map +1 -1
  59. package/dist/notifications/channels/slack.js +5 -1
  60. package/dist/notifications/channels/slack.js.map +1 -1
  61. package/dist/notifications/channels/telegram.d.ts.map +1 -1
  62. package/dist/notifications/channels/telegram.js +4 -0
  63. package/dist/notifications/channels/telegram.js.map +1 -1
  64. package/dist/notifications/notification-service.d.ts.map +1 -1
  65. package/dist/notifications/notification-service.js +7 -1
  66. package/dist/notifications/notification-service.js.map +1 -1
  67. package/dist/pipeline/database-policy-engine.d.ts +38 -9
  68. package/dist/pipeline/database-policy-engine.d.ts.map +1 -1
  69. package/dist/pipeline/database-policy-engine.js +189 -37
  70. package/dist/pipeline/database-policy-engine.js.map +1 -1
  71. package/dist/pipeline/resolve-effective-amount-usd.d.ts +1 -1
  72. package/dist/pipeline/resolve-effective-amount-usd.d.ts.map +1 -1
  73. package/dist/pipeline/resolve-effective-amount-usd.js +5 -3
  74. package/dist/pipeline/resolve-effective-amount-usd.js.map +1 -1
  75. package/dist/pipeline/sign-only.d.ts +4 -0
  76. package/dist/pipeline/sign-only.d.ts.map +1 -1
  77. package/dist/pipeline/sign-only.js +1 -0
  78. package/dist/pipeline/sign-only.js.map +1 -1
  79. package/dist/pipeline/stages.d.ts.map +1 -1
  80. package/dist/pipeline/stages.js +9 -1
  81. package/dist/pipeline/stages.js.map +1 -1
  82. package/dist/services/incoming/incoming-tx-monitor-service.d.ts.map +1 -1
  83. package/dist/services/incoming/incoming-tx-monitor-service.js +21 -0
  84. package/dist/services/incoming/incoming-tx-monitor-service.js.map +1 -1
  85. package/dist/services/wc-session-service.d.ts +0 -2
  86. package/dist/services/wc-session-service.d.ts.map +1 -1
  87. package/dist/services/wc-session-service.js +2 -23
  88. package/dist/services/wc-session-service.js.map +1 -1
  89. package/package.json +4 -4
  90. package/public/admin/assets/index-BE0U9eAD.js +1 -0
  91. package/public/admin/index.html +1 -1
  92. package/public/admin/assets/index-D06O_cSo.js +0 -1
@@ -1,24 +1,23 @@
1
+ import { nativeAssetId, tokenAssetId } from '@waiaas/core';
1
2
  // ---------------------------------------------------------------------------
2
- // Feed ID Map: cacheKey -> Pyth feed ID (hex, no 0x)
3
+ // Feed ID Map: CAIP-19 cacheKey -> Pyth feed ID (hex, no 0x)
3
4
  // ---------------------------------------------------------------------------
4
- /** Hardcoded Pyth price feed IDs for major tokens. */
5
+ /** Hardcoded Pyth price feed IDs for major tokens (keyed by CAIP-19 asset type). */
5
6
  export const PYTH_FEED_IDS = new Map([
6
7
  // Native tokens
7
- ['solana:native', 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'], // SOL/USD
8
- ['ethereum:native', 'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace'], // ETH/USD
8
+ [nativeAssetId('mainnet'), 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'], // SOL/USD
9
+ [nativeAssetId('ethereum-mainnet'), 'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace'], // ETH/USD
9
10
  // Solana SPL tokens
10
- ['solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 'eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a'], // USDC/USD
11
- ['solana:Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', '2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b'], // USDT/USD
12
- // BTC (chain-agnostic feed, mapped for common BTC token addresses)
13
- ['ethereum:native_btc', 'e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43'], // BTC/USD
11
+ [tokenAssetId('mainnet', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'), 'eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a'], // USDC/USD
12
+ [tokenAssetId('mainnet', 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB'), '2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b'], // USDT/USD
14
13
  ]);
15
14
  // ---------------------------------------------------------------------------
16
15
  // Native token -> feed ID mapping
17
16
  // ---------------------------------------------------------------------------
18
- /** Map from ChainType to the native token's Pyth feed ID. */
17
+ /** Map from NetworkType to the native token's Pyth feed ID. */
19
18
  const NATIVE_FEED_MAP = new Map([
20
- ['solana', 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'], // SOL/USD
21
- ['ethereum', 'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace'], // ETH/USD
19
+ ['mainnet', 'ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d'], // SOL/USD
20
+ ['ethereum-mainnet', 'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace'], // ETH/USD
22
21
  ]);
23
22
  // ---------------------------------------------------------------------------
24
23
  // Public helpers
@@ -26,19 +25,19 @@ const NATIVE_FEED_MAP = new Map([
26
25
  /**
27
26
  * Look up a Pyth feed ID by cache key.
28
27
  *
29
- * @param cacheKey - Normalized cache key (e.g. `solana:native`, `ethereum:0xaddr`).
28
+ * @param cacheKey - CAIP-19 cache key (e.g. 'solana:5eykt.../slip44:501').
30
29
  * @returns Feed ID hex string (no 0x prefix) or undefined if not registered.
31
30
  */
32
31
  export function getFeedId(cacheKey) {
33
32
  return PYTH_FEED_IDS.get(cacheKey);
34
33
  }
35
34
  /**
36
- * Get the Pyth feed ID for a chain's native token.
35
+ * Get the Pyth feed ID for a network's native token.
37
36
  *
38
- * @param chain - Chain type ('solana' or 'ethereum').
39
- * @returns Feed ID hex string or undefined if chain not supported.
37
+ * @param network - Network type (e.g., 'mainnet' for Solana, 'ethereum-mainnet' for Ethereum).
38
+ * @returns Feed ID hex string or undefined if network not supported.
40
39
  */
41
- export function getNativeFeedId(chain) {
42
- return NATIVE_FEED_MAP.get(chain);
40
+ export function getNativeFeedId(network) {
41
+ return NATIVE_FEED_MAP.get(network);
43
42
  }
44
43
  //# sourceMappingURL=pyth-feed-ids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pyth-feed-ids.js","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-feed-ids.ts"],"names":[],"mappings":"AAeA,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,sDAAsD;AACtD,MAAM,CAAC,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC;IAChE,gBAAgB;IAChB,CAAC,eAAe,EAAE,kEAAkE,CAAC,EAAK,UAAU;IACpG,CAAC,iBAAiB,EAAE,kEAAkE,CAAC,EAAI,UAAU;IAErG,oBAAoB;IACpB,CAAC,qDAAqD,EAAE,kEAAkE,CAAC,EAAE,WAAW;IACxI,CAAC,qDAAqD,EAAE,kEAAkE,CAAC,EAAG,WAAW;IAEzI,mEAAmE;IACnE,CAAC,qBAAqB,EAAE,kEAAkE,CAAC,EAAE,UAAU;CACxG,CAAC,CAAC;AAEH,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,6DAA6D;AAC7D,MAAM,eAAe,GAAmC,IAAI,GAAG,CAAC;IAC9D,CAAC,QAAQ,EAAE,kEAAkE,CAAC,EAAI,UAAU;IAC5F,CAAC,UAAU,EAAE,kEAAkE,CAAC,EAAG,UAAU;CAC9F,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"pyth-feed-ids.js","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-feed-ids.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3D,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC;IAChE,gBAAgB;IAChB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAW,kEAAkE,CAAC,EAAG,UAAU;IACpH,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,kEAAkE,CAAC,EAAG,UAAU;IAEpH,oBAAoB;IACpB,CAAC,YAAY,CAAC,SAAS,EAAE,8CAA8C,CAAC,EAAE,kEAAkE,CAAC,EAAE,WAAW;IAC1J,CAAC,YAAY,CAAC,SAAS,EAAE,8CAA8C,CAAC,EAAE,kEAAkE,CAAC,EAAG,WAAW;CAC5J,CAAC,CAAC;AAEH,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,+DAA+D;AAC/D,MAAM,eAAe,GAAqC,IAAI,GAAG,CAAC;IAChE,CAAC,SAAS,EAAW,kEAAkE,CAAC,EAAG,UAAU;IACrG,CAAC,kBAAkB,EAAE,kEAAkE,CAAC,EAAG,UAAU;CACtG,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pyth-oracle.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-oracle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AA8B5D;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAW;IAE/C;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IA+BnD;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAgDpE;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAK1D;;;;;OAKG;IACH,aAAa,IAAI,UAAU;IAc3B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAoBlC"}
1
+ {"version":3,"file":"pyth-oracle.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-oracle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AA8B5D;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAW;IAE/C;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAgCnD;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAiDpE;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAM1D;;;;;OAKG;IACH,aAAa,IAAI,UAAU;IAc3B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAoBlC"}
@@ -1,4 +1,4 @@
1
- import { buildCacheKey } from './price-cache.js';
1
+ import { buildCacheKey, resolveNetwork } from './price-cache.js';
2
2
  import { getFeedId } from './pyth-feed-ids.js';
3
3
  import { PriceNotAvailableError } from './oracle-errors.js';
4
4
  // Re-export for backwards compatibility
@@ -26,7 +26,8 @@ export class PythOracle {
26
26
  * @throws Error if Pyth API returns HTTP error or invalid response.
27
27
  */
28
28
  async getPrice(token) {
29
- const cacheKey = buildCacheKey(token.chain, token.address);
29
+ const network = resolveNetwork(token.chain, token.network);
30
+ const cacheKey = buildCacheKey(network, token.address);
30
31
  const feedId = getFeedId(cacheKey);
31
32
  if (!feedId) {
32
33
  throw new PriceNotAvailableError(cacheKey);
@@ -62,7 +63,8 @@ export class PythOracle {
62
63
  const feedToCacheKey = new Map();
63
64
  const feedIds = [];
64
65
  for (const token of tokens) {
65
- const cacheKey = buildCacheKey(token.chain, token.address);
66
+ const network = resolveNetwork(token.chain, token.network);
67
+ const cacheKey = buildCacheKey(network, token.address);
66
68
  const feedId = getFeedId(cacheKey);
67
69
  if (feedId) {
68
70
  feedToCacheKey.set(feedId, cacheKey);
@@ -101,8 +103,9 @@ export class PythOracle {
101
103
  * @throws PriceNotAvailableError if chain has no native feed mapping.
102
104
  */
103
105
  async getNativePrice(chain) {
106
+ const network = resolveNetwork(chain);
104
107
  const decimals = chain === 'solana' ? 9 : 18;
105
- return this.getPrice({ address: 'native', decimals, chain });
108
+ return this.getPrice({ address: 'native', decimals, chain, network });
106
109
  }
107
110
  /**
108
111
  * Get cache statistics.
@@ -1 +1 @@
1
- {"version":3,"file":"pyth-oracle.js","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyth-oracle.js","sourceRoot":"","sources":["../../../src/infrastructure/oracle/pyth-oracle.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import type * as schema from '../database/schema.js';
11
11
  import { type TokenEntry } from './builtin-tokens.js';
12
12
  export interface RegistryToken extends TokenEntry {
13
13
  source: 'builtin' | 'custom';
14
+ assetId?: string | null;
14
15
  }
15
16
  export declare class TokenRegistryService {
16
17
  private readonly db;
@@ -1 +1 @@
1
- {"version":3,"file":"token-registry-service.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/token-registry/token-registry-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC9B;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC;IAErE;;;;OAIG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA+BpE;;;;OAIG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB1B;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3E;;;OAGG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAS1F"}
1
+ {"version":3,"file":"token-registry-service.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/token-registry/token-registry-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKxE,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC;IAErE;;;;OAIG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA0CpE;;;;OAIG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB1B;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3E;;;OAGG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAS1F"}
@@ -10,6 +10,7 @@ import { eq, and } from 'drizzle-orm';
10
10
  import { tokenRegistry } from '../database/schema.js';
11
11
  import { getBuiltinTokens } from './builtin-tokens.js';
12
12
  import { generateId } from '../database/id.js';
13
+ import { tokenAssetId } from '@waiaas/core';
13
14
  export class TokenRegistryService {
14
15
  db;
15
16
  constructor(db) {
@@ -31,15 +32,28 @@ export class TokenRegistryService {
31
32
  // 3. Merge: custom overrides built-in for same address (case-insensitive)
32
33
  const merged = new Map();
33
34
  for (const t of builtins) {
34
- merged.set(t.address.toLowerCase(), { ...t, source: 'builtin' });
35
+ let assetId = null;
36
+ try {
37
+ assetId = tokenAssetId(network, t.address);
38
+ }
39
+ catch { /* unknown network */ }
40
+ merged.set(t.address.toLowerCase(), { ...t, source: 'builtin', assetId });
35
41
  }
36
42
  for (const row of customRows) {
43
+ let assetId = row.assetId ?? null;
44
+ if (!assetId) {
45
+ try {
46
+ assetId = tokenAssetId(network, row.address);
47
+ }
48
+ catch { /* fallback null */ }
49
+ }
37
50
  merged.set(row.address.toLowerCase(), {
38
51
  address: row.address,
39
52
  symbol: row.symbol,
40
53
  name: row.name,
41
54
  decimals: row.decimals,
42
55
  source: row.source,
56
+ assetId,
43
57
  });
44
58
  }
45
59
  // 4. Sort by symbol alphabetically
@@ -1 +1 @@
1
- {"version":3,"file":"token-registry-service.js","sourceRoot":"","sources":["../../../src/infrastructure/token-registry/token-registry-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-registry-service.js","sourceRoot":"","sources":["../../../src/infrastructure/token-registry/token-registry-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQ5C,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,EAAwC;QAAxC,OAAE,GAAF,EAAE,CAAsC;IAAG,CAAC;IAEzE;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAe;QACvC,yBAAyB;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE3C,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE;aAC7B,MAAM,EAAE;aACR,IAAI,CAAC,aAAa,CAAC;aACnB,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAE7C,0EAA0E;QAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEhD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,GAAkB,IAAI,CAAC;YAClC,IAAI,CAAC;gBACH,OAAO,GAAG,YAAY,CAAC,OAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,OAAO,GAAkB,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,OAAO,GAAG,YAAY,CAAC,OAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;gBACpC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAA8B;gBAC1C,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,KAAiB;QAEjB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;YACzC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,OAAe;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,MAAM,CAAC,aAAa,CAAC;aACrB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnC,CACF,CAAC;QAEJ,OAAQ,MAAyC,CAAC,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/discord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,cAAe,YAAW,oBAAoB;IACzD,QAAQ,CAAC,IAAI,aAAa;IAC1B,OAAO,CAAC,UAAU,CAAM;IAElB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CvD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ;CAYjB"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/discord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,cAAe,YAAW,oBAAoB;IACzD,QAAQ,CAAC,IAAI,aAAa;IAC1B,OAAO,CAAC,UAAU,CAAM;IAElB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDvD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ;CAYjB"}
@@ -23,9 +23,13 @@ export class DiscordChannel {
23
23
  }
24
24
  }
25
25
  fields.push({ name: 'Event', value: payload.eventType, inline: true });
26
+ // Add explorer link to description when available
27
+ const description = payload.explorerUrl
28
+ ? `${payload.body}\n[View on Explorer](${payload.explorerUrl})`
29
+ : payload.body;
26
30
  const embed = {
27
31
  title: payload.title,
28
- description: payload.body,
32
+ description,
29
33
  color,
30
34
  fields,
31
35
  ...(payload.walletId ? { timestamp: new Date(payload.timestamp * 1000).toISOString() } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../../src/notifications/channels/discord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../../src/notifications/channels/discord.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,SAAS,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IAExB,KAAK,CAAC,UAAU,CAAC,MAA+B;QAC9C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,MAAM,GAA4D,EAAE,CAAC;QAC3E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvE,kDAAkD;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;YACrC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,wBAAwB,OAAO,CAAC,WAAW,GAAG;YAC/D,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAEjB,MAAM,KAAK,GAA4B;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW;YACX,KAAK;YACL,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC;QAEF,gCAAgC;QAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,+DAA+D;IACvD,QAAQ,CAAC,SAAiB;QAChC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5G,OAAO,QAAQ,CAAC,CAAC,mCAAmC;QACtD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrG,OAAO,QAAQ,CAAC,CAAC,+BAA+B;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzG,OAAO,QAAQ,CAAC,CAAC,oBAAoB;QACvC,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,yBAAyB;IAC5C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ntfy.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/ntfy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,WAAY,YAAW,oBAAoB;IACtD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAM;IAEb,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvD,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAOnB,sDAAsD;IACtD,OAAO,CAAC,OAAO;CAShB"}
1
+ {"version":3,"file":"ntfy.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/ntfy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,WAAY,YAAW,oBAAoB;IACtD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAM;IAEb,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvD,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAOnB,sDAAsD;IACtD,OAAO,CAAC,OAAO;CAShB"}
@@ -16,6 +16,9 @@ export class NtfyChannel {
16
16
  const tags = this.mapTags(payload.eventType);
17
17
  const url = `${this.server}/${this.topic}`;
18
18
  const bodyParts = [payload.body];
19
+ if (payload.explorerUrl) {
20
+ bodyParts.push(`\nExplorer: ${payload.explorerUrl}`);
21
+ }
19
22
  if (payload.walletId) {
20
23
  const name = payload.walletName || payload.walletId;
21
24
  const idAbbr = abbreviateId(payload.walletId);
@@ -1 +1 @@
1
- {"version":3,"file":"ntfy.js","sourceRoot":"","sources":["../../../src/notifications/channels/ntfy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntfy.js","sourceRoot":"","sources":["../../../src/notifications/channels/ntfy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/slack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,YAAa,YAAW,oBAAoB;IACvD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,UAAU,CAAM;IAElB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CvD,iEAAiE;IACjE,OAAO,CAAC,QAAQ;CAYjB"}
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/slack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,YAAa,YAAW,oBAAoB;IACvD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,UAAU,CAAM;IAElB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDvD,iEAAiE;IACjE,OAAO,CAAC,QAAQ;CAYjB"}
@@ -29,11 +29,15 @@ export class SlackChannel {
29
29
  fields.push({ title: key, value: String(value), short: true });
30
30
  }
31
31
  }
32
+ // Add explorer link to body when available
33
+ const text = payload.explorerUrl
34
+ ? `${payload.body}\n<${payload.explorerUrl}|View on Explorer>`
35
+ : payload.body;
32
36
  const attachment = {
33
37
  fallback: payload.message,
34
38
  color,
35
39
  title: `[WAIaaS] ${payload.title}`,
36
- text: payload.body,
40
+ text,
37
41
  fields,
38
42
  ...(payload.walletId ? { ts: payload.timestamp } : {}),
39
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/notifications/channels/slack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/notifications/channels/slack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,eAAgB,YAAW,oBAAoB;IAC1D,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,MAAM,CAAM;IAEd,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,OAAO,CAAC,gBAAgB;CAwBzB"}
1
+ {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG9E,qBAAa,eAAgB,YAAW,oBAAoB;IAC1D,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,MAAM,CAAM;IAEd,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,OAAO,CAAC,gBAAgB;CA6BzB"}
@@ -34,6 +34,10 @@ export class TelegramChannel {
34
34
  const title = `*${escape(payload.title)}*`;
35
35
  const body = escape(payload.body);
36
36
  const parts = [title, '', body];
37
+ // Explorer link (MarkdownV2 inline link: [text](url))
38
+ if (payload.explorerUrl) {
39
+ parts.push('', `[View on Explorer](${payload.explorerUrl})`);
40
+ }
37
41
  // Only show wallet/time for wallet-specific events
38
42
  if (payload.walletId) {
39
43
  const name = payload.walletName || payload.walletId;
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/notifications/channels/telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/notifications/channels/telegram.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification-service.d.ts","sourceRoot":"","sources":["../../src/notifications/notification-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAC;AACjH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAUtF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,EAAE,CAAqD;IAC/D,OAAO,CAAC,MAAM,CAAiE;IAG/E,OAAO,CAAC,yBAAyB,CAA0C;IAG3E,OAAO,CAAC,eAAe,CAAgC;IAGvD,OAAO,CAAC,YAAY,CAA+B;gBAEvC,IAAI,CAAC,EAAE;QACjB,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC7C;IAKD,8CAA8C;IAC9C,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI/C,4CAA4C;IAC5C,eAAe,IAAI,MAAM,EAAE;IAI3B,6DAA6D;IAC7D,WAAW,IAAI,oBAAoB,EAAE;IAIrC;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,IAAI;IAM1D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAI9D,+EAA+E;IAC/E,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI7E,qFAAqF;IACrF,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIzD;;;;OAIG;IACG,MAAM,CACV,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;OAGG;YACW,SAAS;IAmBvB;;;OAGG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,aAAa;IAa3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B,yDAAyD;IACzD,OAAO,CAAC,aAAa;IAUrB,kDAAkD;IAClD,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA2BnB;;OAEG;YACW,kBAAkB;CAuCjC"}
1
+ {"version":3,"file":"notification-service.d.ts","sourceRoot":"","sources":["../../src/notifications/notification-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAC;AACjH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAUtF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,EAAE,CAAqD;IAC/D,OAAO,CAAC,MAAM,CAAiE;IAG/E,OAAO,CAAC,yBAAyB,CAA0C;IAG3E,OAAO,CAAC,eAAe,CAAgC;IAGvD,OAAO,CAAC,YAAY,CAA+B;gBAEvC,IAAI,CAAC,EAAE;QACjB,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC7C;IAKD,8CAA8C;IAC9C,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI/C,4CAA4C;IAC5C,eAAe,IAAI,MAAM,EAAE;IAI3B,6DAA6D;IAC7D,WAAW,IAAI,oBAAoB,EAAE;IAIrC;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,IAAI;IAM1D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAI9D,+EAA+E;IAC/E,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI7E,qFAAqF;IACrF,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIzD;;;;OAIG;IACG,MAAM,CACV,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;OAGG;YACW,SAAS;IAmBvB;;;OAGG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,aAAa;IAa3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B,yDAAyD;IACzD,OAAO,CAAC,aAAa;IAUrB,kDAAkD;IAClD,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA2BnB;;OAEG;YACW,kBAAkB;CAuCjC"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @see docs/35-notification-architecture.md
7
7
  */
8
- import { EVENT_CATEGORY_MAP } from '@waiaas/core';
8
+ import { EVENT_CATEGORY_MAP, getExplorerTxUrl } from '@waiaas/core';
9
9
  import { eq } from 'drizzle-orm';
10
10
  import { getNotificationMessage } from './templates/message-templates.js';
11
11
  import * as schema from '../infrastructure/database/schema.js';
@@ -98,6 +98,11 @@ export class NotificationService {
98
98
  if (this.channels.length === 0)
99
99
  return; // No traditional channels configured
100
100
  const { title, body } = getNotificationMessage(eventType, this.config.locale, mergedVars);
101
+ // Build explorer URL when txHash + network are available
102
+ const txHash = vars?.txHash;
103
+ const explorerUrl = (txHash && walletInfo.network)
104
+ ? getExplorerTxUrl(walletInfo.network, txHash) ?? undefined
105
+ : undefined;
101
106
  const payload = {
102
107
  eventType,
103
108
  walletId,
@@ -108,6 +113,7 @@ export class NotificationService {
108
113
  body,
109
114
  message: `${title}\n${body}`,
110
115
  details,
116
+ explorerUrl,
111
117
  timestamp: Math.floor(Date.now() / 1000),
112
118
  };
113
119
  if (BROADCAST_EVENTS.has(eventType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"notification-service.js","sourceRoot":"","sources":["../../src/notifications/notification-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification-service.js","sourceRoot":"","sources":["../../src/notifications/notification-service.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ interface TransactionParam {
48
48
  network?: string;
49
49
  /** Token address for ALLOWED_TOKENS evaluation (TOKEN_TRANSFER only). */
50
50
  tokenAddress?: string;
51
+ /** CAIP-19 asset identifier for ALLOWED_TOKENS 4-scenario matching (TOKEN_TRANSFER only). */
52
+ assetId?: string;
51
53
  /** Contract address for CONTRACT_WHITELIST evaluation (CONTRACT_CALL only). */
52
54
  contractAddress?: string;
53
55
  /** Function selector (4-byte hex, e.g. '0x12345678') for METHOD_WHITELIST evaluation (CONTRACT_CALL only). */
@@ -56,6 +58,8 @@ interface TransactionParam {
56
58
  spenderAddress?: string;
57
59
  /** Approve amount in raw units for APPROVE_AMOUNT_LIMIT evaluation (APPROVE only). */
58
60
  approveAmount?: string;
61
+ /** Token decimals for token_limits human-readable conversion (TOKEN_TRANSFER/APPROVE only). */
62
+ tokenDecimals?: number;
59
63
  }
60
64
  /**
61
65
  * DB-backed policy engine with SPENDING_LIMIT 4-tier, WHITELIST, ALLOWED_NETWORKS,
@@ -178,16 +182,18 @@ export declare class DatabasePolicyEngine implements IPolicyEngine {
178
182
  */
179
183
  private evaluateWhitelist;
180
184
  /**
181
- * Evaluate ALLOWED_TOKENS policy.
185
+ * Evaluate ALLOWED_TOKENS policy with 4-scenario matching matrix (PLCY-03).
182
186
  *
183
187
  * Logic:
184
188
  * - Only applies to TOKEN_TRANSFER transaction type
185
189
  * - If transaction type is TOKEN_TRANSFER and no ALLOWED_TOKENS policy exists:
186
190
  * -> deny with reason 'Token transfer not allowed: no ALLOWED_TOKENS policy configured'
187
- * - If ALLOWED_TOKENS policy exists, check if transaction's token address is in rules.tokens[].address:
188
- * -> If found: return null (continue to next evaluation)
189
- * -> If not found: deny with reason 'Token not in allowed list: {tokenAddress}'
190
- * - For non-TOKEN_TRANSFER types: return null (not applicable)
191
+ * - If ALLOWED_TOKENS policy exists, match using 4-scenario matrix:
192
+ * Scenario 1: Policy assetId + TX assetId -> exact CAIP-19 string match
193
+ * Scenario 2: Policy assetId + TX address only -> extract address from policy assetId, compare lowercase
194
+ * Scenario 3: Policy address only + TX assetId -> extract address from TX assetId, compare lowercase
195
+ * Scenario 4: Policy address only + TX address only -> current behavior (case-insensitive)
196
+ * - EVM addresses normalized to lowercase for comparison (PLCY-04)
191
197
  *
192
198
  * Returns PolicyEvaluation if denied, null if allowed (or not applicable).
193
199
  */
@@ -254,11 +260,14 @@ export declare class DatabasePolicyEngine implements IPolicyEngine {
254
260
  *
255
261
  * Logic:
256
262
  * - Only applies to APPROVE transaction type
257
- * - If no APPROVE_TIER_OVERRIDE policy exists: return APPROVAL tier (default: Owner approval required)
258
- * - If policy exists: return configured tier
259
- * - This is a FINAL result -- skips SPENDING_LIMIT entirely for APPROVE transactions
263
+ * - If APPROVE_TIER_OVERRIDE policy exists: return configured tier (FINAL, skips SPENDING_LIMIT)
264
+ * - If no APPROVE_TIER_OVERRIDE policy exists: return null (Phase 236: fall through to SPENDING_LIMIT
265
+ * for token_limits evaluation; if no SPENDING_LIMIT either, INSTANT passthrough)
266
+ *
267
+ * Phase 236 change: Previously defaulted to APPROVAL when no override policy existed.
268
+ * Now falls through to SPENDING_LIMIT to allow token_limits evaluation for APPROVE transactions.
260
269
  *
261
- * Returns PolicyEvaluation (always returns result for APPROVE type, null for others).
270
+ * Returns PolicyEvaluation if override policy exists, null otherwise.
262
271
  */
263
272
  private evaluateApproveTierOverride;
264
273
  /**
@@ -267,10 +276,25 @@ export declare class DatabasePolicyEngine implements IPolicyEngine {
267
276
  *
268
277
  * Phase 127: usdAmount가 전달되고 rules에 USD 임계값이 설정되어 있으면,
269
278
  * 네이티브 티어와 USD 티어 중 더 보수적인(높은) 티어를 채택한다.
279
+ *
280
+ * Phase 236: tokenContext가 전달되고 rules에 token_limits가 설정되어 있으면,
281
+ * evaluateTokenTier()를 사용하여 토큰별 human-readable 한도를 평가한다.
270
282
  */
271
283
  private evaluateSpendingLimit;
284
+ /**
285
+ * Evaluate token-specific tier using token_limits with CAIP-19 key matching.
286
+ * Returns PolicyTier if a matching token limit is found, null otherwise (-> raw fallback).
287
+ *
288
+ * Matching priority:
289
+ * 1. Exact CAIP-19 asset ID match (TOKEN_TRANSFER, APPROVE)
290
+ * 2. "native:{chain}" match (TRANSFER)
291
+ * 3. "native" shorthand match (TRANSFER, only when policy has network set)
292
+ * 4. No match -> return null (caller falls back to raw fields)
293
+ */
294
+ private evaluateTokenTier;
272
295
  /**
273
296
  * Evaluate native amount tier (extracted from evaluateSpendingLimit).
297
+ * Phase 236: proper undefined guards for optional raw fields.
274
298
  */
275
299
  private evaluateNativeTier;
276
300
  /**
@@ -281,6 +305,11 @@ export declare class DatabasePolicyEngine implements IPolicyEngine {
281
305
  * Evaluate USD amount tier.
282
306
  */
283
307
  private evaluateUsdTier;
308
+ /**
309
+ * Build tokenContext from TransactionParam for evaluateTokenTier().
310
+ * Phase 236: Extracts relevant fields and attaches the policy's network.
311
+ */
312
+ private buildTokenContext;
284
313
  }
285
314
  export {};
286
315
  //# sourceMappingURL=database-policy-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-policy-engine.d.ts","sourceRoot":"","sources":["../../src/pipeline/database-policy-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-policy-engine.d.ts","sourceRoot":"","sources":["../../src/pipeline/database-policy-engine.ts"],"names":[],"mappings":"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"}