@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
@@ -33,10 +33,37 @@
33
33
  * @see docs/33-time-lock-approval-mechanism.md
34
34
  * @see docs/71-policy-engine-network-extension-design.md
35
35
  */
36
+ import { parseCaip19 } from '@waiaas/core';
36
37
  import { eq, or, and, isNull, desc } from 'drizzle-orm';
37
38
  import { policies } from '../infrastructure/database/schema.js';
38
39
  /** Threshold for detecting "unlimited" approve amounts. */
39
40
  const UNLIMITED_THRESHOLD = (2n ** 256n - 1n) / 2n;
41
+ // Phase 236: Native token decimal places for human-readable conversion
42
+ const NATIVE_DECIMALS = {
43
+ solana: 9,
44
+ ethereum: 18,
45
+ };
46
+ /**
47
+ * Parse a human-readable decimal string (e.g. "1.5", "1000") to raw bigint units.
48
+ * Multiplies the value by 10^decimals for precise BigInt comparison.
49
+ *
50
+ * Examples:
51
+ * parseDecimalToBigInt("1.5", 9) -> 1500000000n (1.5 SOL in lamports)
52
+ * parseDecimalToBigInt("1000", 6) -> 1000000000n (1000 USDC in raw)
53
+ */
54
+ function parseDecimalToBigInt(value, decimals) {
55
+ const parts = value.split('.');
56
+ const integerPart = parts[0] ?? '0';
57
+ let fractionalPart = parts[1] ?? '';
58
+ // Pad or truncate fractional part to exactly `decimals` digits
59
+ if (fractionalPart.length > decimals) {
60
+ fractionalPart = fractionalPart.slice(0, decimals);
61
+ }
62
+ else {
63
+ fractionalPart = fractionalPart.padEnd(decimals, '0');
64
+ }
65
+ return BigInt(integerPart + fractionalPart);
66
+ }
40
67
  // ---------------------------------------------------------------------------
41
68
  // Tier order + maxTier helper (Phase 127)
42
69
  // ---------------------------------------------------------------------------
@@ -126,10 +153,13 @@ export class DatabasePolicyEngine {
126
153
  // Step 4g: Evaluate APPROVE_TIER_OVERRIDE (forced tier for APPROVE transactions)
127
154
  const approveTierResult = this.evaluateApproveTierOverride(resolved, transaction);
128
155
  if (approveTierResult !== null) {
129
- return approveTierResult; // FINAL result, skips SPENDING_LIMIT
156
+ return approveTierResult; // FINAL result, skips SPENDING_LIMIT (including token_limits)
130
157
  }
131
158
  // Step 5: Evaluate SPENDING_LIMIT (tier classification)
132
- const spendingResult = this.evaluateSpendingLimit(resolved, transaction.amount);
159
+ // Phase 236: Build tokenContext from transaction for token_limits evaluation
160
+ const spendingPolicy = resolved.find((p) => p.type === 'SPENDING_LIMIT');
161
+ const tokenContext = this.buildTokenContext(transaction, spendingPolicy);
162
+ const spendingResult = this.evaluateSpendingLimit(resolved, transaction.amount, undefined, tokenContext);
133
163
  if (spendingResult !== null) {
134
164
  return spendingResult;
135
165
  }
@@ -206,6 +236,7 @@ export class DatabasePolicyEngine {
206
236
  // CONTRACT_CALL: Solana has no native value attachment in CPI, so 0
207
237
  }
208
238
  // Evaluate aggregate against SPENDING_LIMIT (Phase 127: pass batchUsdAmount for USD evaluation)
239
+ // BATCH: token_limits not applicable -- aggregate native amount evaluated via raw/USD only (tokenContext intentionally omitted)
209
240
  const amountTier = this.evaluateSpendingLimit(resolved, totalNativeAmount.toString(), batchUsdAmount);
210
241
  let finalTier = amountTier ? amountTier.tier : 'INSTANT';
211
242
  // If batch contains APPROVE, apply APPROVE_TIER_OVERRIDE
@@ -365,7 +396,7 @@ export class DatabasePolicyEngine {
365
396
  // Step 4g: Evaluate APPROVE_TIER_OVERRIDE (forced tier for APPROVE transactions)
366
397
  const approveTierResult = this.evaluateApproveTierOverride(resolved, transaction);
367
398
  if (approveTierResult !== null) {
368
- return approveTierResult; // FINAL result, skips SPENDING_LIMIT
399
+ return approveTierResult; // FINAL result, skips SPENDING_LIMIT (including token_limits)
369
400
  }
370
401
  // Step 5: Compute reserved total for SPENDING_LIMIT evaluation
371
402
  const spendingPolicy = resolved.find((p) => p.type === 'SPENDING_LIMIT');
@@ -383,7 +414,9 @@ export class DatabasePolicyEngine {
383
414
  const requestAmount = BigInt(transaction.amount);
384
415
  const effectiveAmount = reservedTotal + requestAmount;
385
416
  // Evaluate with effective amount (reserved + current) via unified evaluateSpendingLimit
386
- const spendingResult = this.evaluateSpendingLimit(resolved, effectiveAmount.toString(), usdAmount);
417
+ // Phase 236: Build tokenContext for token_limits evaluation
418
+ const tokenContext = this.buildTokenContext(transaction, spendingPolicy);
419
+ const spendingResult = this.evaluateSpendingLimit(resolved, effectiveAmount.toString(), usdAmount, tokenContext);
387
420
  // Step 6: Cumulative USD limit evaluation (daily/monthly rolling window)
388
421
  if (usdAmount !== undefined && usdAmount > 0) {
389
422
  const rules = JSON.parse(spendingPolicy.rules);
@@ -629,16 +662,18 @@ export class DatabasePolicyEngine {
629
662
  // Private: ALLOWED_TOKENS evaluation
630
663
  // -------------------------------------------------------------------------
631
664
  /**
632
- * Evaluate ALLOWED_TOKENS policy.
665
+ * Evaluate ALLOWED_TOKENS policy with 4-scenario matching matrix (PLCY-03).
633
666
  *
634
667
  * Logic:
635
668
  * - Only applies to TOKEN_TRANSFER transaction type
636
669
  * - If transaction type is TOKEN_TRANSFER and no ALLOWED_TOKENS policy exists:
637
670
  * -> deny with reason 'Token transfer not allowed: no ALLOWED_TOKENS policy configured'
638
- * - If ALLOWED_TOKENS policy exists, check if transaction's token address is in rules.tokens[].address:
639
- * -> If found: return null (continue to next evaluation)
640
- * -> If not found: deny with reason 'Token not in allowed list: {tokenAddress}'
641
- * - For non-TOKEN_TRANSFER types: return null (not applicable)
671
+ * - If ALLOWED_TOKENS policy exists, match using 4-scenario matrix:
672
+ * Scenario 1: Policy assetId + TX assetId -> exact CAIP-19 string match
673
+ * Scenario 2: Policy assetId + TX address only -> extract address from policy assetId, compare lowercase
674
+ * Scenario 3: Policy address only + TX assetId -> extract address from TX assetId, compare lowercase
675
+ * Scenario 4: Policy address only + TX address only -> current behavior (case-insensitive)
676
+ * - EVM addresses normalized to lowercase for comparison (PLCY-04)
642
677
  *
643
678
  * Returns PolicyEvaluation if denied, null if allowed (or not applicable).
644
679
  */
@@ -660,21 +695,50 @@ export class DatabasePolicyEngine {
660
695
  }
661
696
  // Parse rules.tokens array
662
697
  const rules = JSON.parse(allowedTokensPolicy.rules);
663
- const tokenAddress = transaction.tokenAddress;
664
- if (!tokenAddress) {
698
+ const txTokenAddress = transaction.tokenAddress;
699
+ const txAssetId = transaction.assetId;
700
+ if (!txTokenAddress && !txAssetId) {
665
701
  return {
666
702
  allowed: false,
667
703
  tier: 'INSTANT',
668
704
  reason: 'Token transfer missing token address',
669
705
  };
670
706
  }
671
- // Check if token is in allowed list (case-insensitive comparison for EVM addresses)
672
- const isAllowed = rules.tokens.some((t) => t.address.toLowerCase() === tokenAddress.toLowerCase());
707
+ // 4-scenario matching matrix (PLCY-03)
708
+ const isAllowed = rules.tokens.some((policyToken) => {
709
+ // Scenario 1: Both have assetId -> exact CAIP-19 string match
710
+ // CAIP-19 strings are already normalized (EVM lowercase by tokenAssetId, Solana preserved)
711
+ if (policyToken.assetId && txAssetId) {
712
+ return policyToken.assetId === txAssetId;
713
+ }
714
+ // Scenario 2: Policy has assetId, TX has address only
715
+ if (policyToken.assetId && txTokenAddress) {
716
+ try {
717
+ const policyAddr = parseCaip19(policyToken.assetId).assetReference;
718
+ return policyAddr.toLowerCase() === txTokenAddress.toLowerCase();
719
+ }
720
+ catch {
721
+ return false; // Invalid policy assetId -> no match
722
+ }
723
+ }
724
+ // Scenario 3: Policy has address only, TX has assetId
725
+ if (!policyToken.assetId && txAssetId) {
726
+ try {
727
+ const txAddr = parseCaip19(txAssetId).assetReference;
728
+ return policyToken.address.toLowerCase() === txAddr.toLowerCase();
729
+ }
730
+ catch {
731
+ return false; // Invalid TX assetId -> no match
732
+ }
733
+ }
734
+ // Scenario 4: Both address only -> current behavior (case-insensitive)
735
+ return policyToken.address.toLowerCase() === (txTokenAddress ?? '').toLowerCase();
736
+ });
673
737
  if (!isAllowed) {
674
738
  return {
675
739
  allowed: false,
676
740
  tier: 'INSTANT',
677
- reason: `Token not in allowed list: ${tokenAddress}`,
741
+ reason: `Token not in allowed list: ${txAssetId ?? txTokenAddress}`,
678
742
  };
679
743
  }
680
744
  return null; // Token is allowed, continue evaluation
@@ -894,11 +958,14 @@ export class DatabasePolicyEngine {
894
958
  *
895
959
  * Logic:
896
960
  * - Only applies to APPROVE transaction type
897
- * - If no APPROVE_TIER_OVERRIDE policy exists: return APPROVAL tier (default: Owner approval required)
898
- * - If policy exists: return configured tier
899
- * - This is a FINAL result -- skips SPENDING_LIMIT entirely for APPROVE transactions
961
+ * - If APPROVE_TIER_OVERRIDE policy exists: return configured tier (FINAL, skips SPENDING_LIMIT)
962
+ * - If no APPROVE_TIER_OVERRIDE policy exists: return null (Phase 236: fall through to SPENDING_LIMIT
963
+ * for token_limits evaluation; if no SPENDING_LIMIT either, INSTANT passthrough)
964
+ *
965
+ * Phase 236 change: Previously defaulted to APPROVAL when no override policy existed.
966
+ * Now falls through to SPENDING_LIMIT to allow token_limits evaluation for APPROVE transactions.
900
967
  *
901
- * Returns PolicyEvaluation (always returns result for APPROVE type, null for others).
968
+ * Returns PolicyEvaluation if override policy exists, null otherwise.
902
969
  */
903
970
  evaluateApproveTierOverride(resolved, transaction) {
904
971
  // Only evaluate for APPROVE transactions
@@ -906,8 +973,8 @@ export class DatabasePolicyEngine {
906
973
  return null;
907
974
  const approveTierPolicy = resolved.find((p) => p.type === 'APPROVE_TIER_OVERRIDE');
908
975
  if (!approveTierPolicy) {
909
- // Default: APPROVAL tier (Owner approval required for approvals)
910
- return { allowed: true, tier: 'APPROVAL' };
976
+ // Phase 236: No override -> fall through to SPENDING_LIMIT for token_limits evaluation
977
+ return null;
911
978
  }
912
979
  // Parse rules
913
980
  const rules = JSON.parse(approveTierPolicy.rules);
@@ -922,19 +989,36 @@ export class DatabasePolicyEngine {
922
989
  *
923
990
  * Phase 127: usdAmount가 전달되고 rules에 USD 임계값이 설정되어 있으면,
924
991
  * 네이티브 티어와 USD 티어 중 더 보수적인(높은) 티어를 채택한다.
992
+ *
993
+ * Phase 236: tokenContext가 전달되고 rules에 token_limits가 설정되어 있으면,
994
+ * evaluateTokenTier()를 사용하여 토큰별 human-readable 한도를 평가한다.
925
995
  */
926
- evaluateSpendingLimit(resolved, amount, usdAmount) {
996
+ evaluateSpendingLimit(resolved, amount, usdAmount, tokenContext) {
927
997
  const spending = resolved.find((p) => p.type === 'SPENDING_LIMIT');
928
998
  if (!spending)
929
999
  return null;
930
1000
  const rules = JSON.parse(spending.rules);
931
- // 1. 네이티브 기준 티어 (기존 로직)
932
- const nativeTier = this.evaluateNativeTier(BigInt(amount), rules);
1001
+ // 1. Token-specific tier (Phase 236)
1002
+ let tokenTier = 'INSTANT';
1003
+ if (tokenContext && rules.token_limits) {
1004
+ const tokenResult = this.evaluateTokenTier(BigInt(amount), rules, tokenContext);
1005
+ if (tokenResult !== null) {
1006
+ tokenTier = tokenResult;
1007
+ }
1008
+ else {
1009
+ // No token_limits match -> fall back to raw fields
1010
+ tokenTier = this.evaluateNativeTier(BigInt(amount), rules);
1011
+ }
1012
+ }
1013
+ else {
1014
+ // No tokenContext or no token_limits -> use raw fields (existing behavior)
1015
+ tokenTier = this.evaluateNativeTier(BigInt(amount), rules);
1016
+ }
933
1017
  // 2. USD 기준 티어 (Phase 127)
934
- let finalTier = nativeTier;
1018
+ let finalTier = tokenTier;
935
1019
  if (usdAmount !== undefined && usdAmount > 0 && this.hasUsdThresholds(rules)) {
936
1020
  const usdTier = this.evaluateUsdTier(usdAmount, rules);
937
- finalTier = maxTier(nativeTier, usdTier);
1021
+ finalTier = maxTier(tokenTier, usdTier);
938
1022
  }
939
1023
  // delaySeconds는 최종 tier가 DELAY일 때만 포함
940
1024
  const delaySeconds = finalTier === 'DELAY' ? rules.delay_seconds : undefined;
@@ -945,25 +1029,79 @@ export class DatabasePolicyEngine {
945
1029
  ...(finalTier === 'APPROVAL' ? { approvalReason: 'per_tx' } : {}),
946
1030
  };
947
1031
  }
1032
+ /**
1033
+ * Evaluate token-specific tier using token_limits with CAIP-19 key matching.
1034
+ * Returns PolicyTier if a matching token limit is found, null otherwise (-> raw fallback).
1035
+ *
1036
+ * Matching priority:
1037
+ * 1. Exact CAIP-19 asset ID match (TOKEN_TRANSFER, APPROVE)
1038
+ * 2. "native:{chain}" match (TRANSFER)
1039
+ * 3. "native" shorthand match (TRANSFER, only when policy has network set)
1040
+ * 4. No match -> return null (caller falls back to raw fields)
1041
+ */
1042
+ evaluateTokenTier(amountBig, rules, tokenContext) {
1043
+ if (!rules.token_limits)
1044
+ return null;
1045
+ // Skip for CONTRACT_CALL and BATCH (they don't use token_limits)
1046
+ if (tokenContext.type === 'CONTRACT_CALL' || tokenContext.type === 'BATCH') {
1047
+ return null;
1048
+ }
1049
+ let matchedLimit;
1050
+ let decimals;
1051
+ if (tokenContext.type === 'TOKEN_TRANSFER' || tokenContext.type === 'APPROVE') {
1052
+ // Try exact CAIP-19 asset ID match
1053
+ if (tokenContext.assetId && rules.token_limits[tokenContext.assetId]) {
1054
+ matchedLimit = rules.token_limits[tokenContext.assetId];
1055
+ decimals = tokenContext.tokenDecimals;
1056
+ }
1057
+ }
1058
+ else if (tokenContext.type === 'TRANSFER') {
1059
+ // Try "native:{chain}" match
1060
+ const nativeChainKey = tokenContext.chain ? `native:${tokenContext.chain}` : undefined;
1061
+ if (nativeChainKey && rules.token_limits[nativeChainKey]) {
1062
+ matchedLimit = rules.token_limits[nativeChainKey];
1063
+ decimals = tokenContext.chain ? NATIVE_DECIMALS[tokenContext.chain] : undefined;
1064
+ }
1065
+ // Fallback: try "native" shorthand (only when policy has a network set)
1066
+ if (!matchedLimit && tokenContext.policyNetwork && rules.token_limits['native']) {
1067
+ matchedLimit = rules.token_limits['native'];
1068
+ decimals = tokenContext.chain ? NATIVE_DECIMALS[tokenContext.chain] : undefined;
1069
+ }
1070
+ }
1071
+ if (!matchedLimit || decimals === undefined) {
1072
+ return null; // No match -> caller falls back to raw fields
1073
+ }
1074
+ // Use fixed-point comparison: multiply limit by divisor (avoids precision loss)
1075
+ const instantMaxRaw = parseDecimalToBigInt(matchedLimit.instant_max, decimals);
1076
+ const notifyMaxRaw = parseDecimalToBigInt(matchedLimit.notify_max, decimals);
1077
+ const delayMaxRaw = parseDecimalToBigInt(matchedLimit.delay_max, decimals);
1078
+ if (amountBig <= instantMaxRaw)
1079
+ return 'INSTANT';
1080
+ if (amountBig <= notifyMaxRaw)
1081
+ return 'NOTIFY';
1082
+ if (amountBig <= delayMaxRaw)
1083
+ return 'DELAY';
1084
+ return 'APPROVAL';
1085
+ }
948
1086
  /**
949
1087
  * Evaluate native amount tier (extracted from evaluateSpendingLimit).
1088
+ * Phase 236: proper undefined guards for optional raw fields.
950
1089
  */
951
1090
  evaluateNativeTier(amountBig, rules) {
952
- const instantMax = BigInt(rules.instant_max);
953
- const notifyMax = BigInt(rules.notify_max);
954
- const delayMax = BigInt(rules.delay_max);
955
- if (amountBig <= instantMax) {
956
- return 'INSTANT';
1091
+ // Phase 236: raw fields are now optional -- skip native tier if all undefined
1092
+ if (rules.instant_max === undefined && rules.notify_max === undefined && rules.delay_max === undefined) {
1093
+ return 'INSTANT'; // No raw thresholds -> permissive (USD/token_limits will handle)
957
1094
  }
958
- else if (amountBig <= notifyMax) {
1095
+ const instantMax = rules.instant_max !== undefined ? BigInt(rules.instant_max) : 0n;
1096
+ const notifyMax = rules.notify_max !== undefined ? BigInt(rules.notify_max) : 0n;
1097
+ const delayMax = rules.delay_max !== undefined ? BigInt(rules.delay_max) : 0n;
1098
+ if (amountBig <= instantMax)
1099
+ return 'INSTANT';
1100
+ if (amountBig <= notifyMax)
959
1101
  return 'NOTIFY';
960
- }
961
- else if (amountBig <= delayMax) {
1102
+ if (amountBig <= delayMax)
962
1103
  return 'DELAY';
963
- }
964
- else {
965
- return 'APPROVAL';
966
- }
1104
+ return 'APPROVAL';
967
1105
  }
968
1106
  /**
969
1107
  * Check if rules have any USD thresholds configured.
@@ -988,5 +1126,19 @@ export class DatabasePolicyEngine {
988
1126
  }
989
1127
  return 'APPROVAL';
990
1128
  }
1129
+ /**
1130
+ * Build tokenContext from TransactionParam for evaluateTokenTier().
1131
+ * Phase 236: Extracts relevant fields and attaches the policy's network.
1132
+ */
1133
+ buildTokenContext(transaction, spendingPolicy) {
1134
+ return {
1135
+ type: transaction.type,
1136
+ tokenAddress: transaction.tokenAddress,
1137
+ tokenDecimals: transaction.tokenDecimals,
1138
+ chain: transaction.chain,
1139
+ assetId: transaction.assetId,
1140
+ policyNetwork: spendingPolicy?.network ?? undefined,
1141
+ };
1142
+ }
991
1143
  }
992
1144
  //# sourceMappingURL=database-policy-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-policy-engine.js","sourceRoot":"","sources":["../../src/pipeline/database-policy-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-policy-engine.js","sourceRoot":"","sources":["../../src/pipeline/database-policy-engine.ts"],"names":[],"mappings":"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"}
@@ -37,5 +37,5 @@ export type PriceResult = PriceResultSuccess | PriceResultOracleDown | PriceResu
37
37
  * Must be called BEFORE evaluateAndReserve() (better-sqlite3 sync transaction
38
38
  * cannot perform async Oracle HTTP calls).
39
39
  */
40
- export declare function resolveEffectiveAmountUsd(request: Record<string, unknown>, txType: string, chain: string, priceOracle: IPriceOracle): Promise<PriceResult>;
40
+ export declare function resolveEffectiveAmountUsd(request: Record<string, unknown>, txType: string, chain: string, priceOracle: IPriceOracle, network?: string): Promise<PriceResult>;
41
41
  //# sourceMappingURL=resolve-effective-amount-usd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-effective-amount-usd.d.ts","sourceRoot":"","sources":["../../src/pipeline/resolve-effective-amount-usd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,cAAc,CAAC;AAQ5D,gCAAgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,CAAC;AAezB;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,YAAY,GACxB,OAAO,CAAC,WAAW,CAAC,CAiFtB"}
1
+ {"version":3,"file":"resolve-effective-amount-usd.d.ts","sourceRoot":"","sources":["../../src/pipeline/resolve-effective-amount-usd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,cAAc,CAAC;AAQzE,gCAAgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,CAAC;AAezB;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAkFtB"}
@@ -28,7 +28,7 @@ const NATIVE_DECIMALS = {
28
28
  * Must be called BEFORE evaluateAndReserve() (better-sqlite3 sync transaction
29
29
  * cannot perform async Oracle HTTP calls).
30
30
  */
31
- export async function resolveEffectiveAmountUsd(request, txType, chain, priceOracle) {
31
+ export async function resolveEffectiveAmountUsd(request, txType, chain, priceOracle, network) {
32
32
  try {
33
33
  switch (txType) {
34
34
  case 'TRANSFER': {
@@ -49,6 +49,7 @@ export async function resolveEffectiveAmountUsd(request, txType, chain, priceOra
49
49
  address: req.token.address,
50
50
  decimals: req.token.decimals,
51
51
  chain: chain,
52
+ network: network,
52
53
  });
53
54
  const humanAmount = Number(req.amount) / Math.pow(10, req.token.decimals);
54
55
  return {
@@ -88,7 +89,7 @@ export async function resolveEffectiveAmountUsd(request, txType, chain, priceOra
88
89
  return { type: 'success', usdAmount: 0, isStale: false };
89
90
  }
90
91
  case 'BATCH': {
91
- return await resolveBatchUsd(request, chain, priceOracle);
92
+ return await resolveBatchUsd(request, chain, priceOracle, network);
92
93
  }
93
94
  default:
94
95
  return { type: 'oracleDown' };
@@ -110,7 +111,7 @@ export async function resolveEffectiveAmountUsd(request, txType, chain, priceOra
110
111
  * 3. Any TOKEN_TRANSFER notListed -> return notListed with failedCount
111
112
  * 4. All success -> return success with total USD
112
113
  */
113
- async function resolveBatchUsd(request, chain, priceOracle) {
114
+ async function resolveBatchUsd(request, chain, priceOracle, network) {
114
115
  const batchReq = request;
115
116
  // Step 1: Get native price (needed for TRANSFER/CONTRACT_CALL instructions)
116
117
  let nativePrice;
@@ -142,6 +143,7 @@ async function resolveBatchUsd(request, chain, priceOracle) {
142
143
  address: tokenInstr.token.address,
143
144
  decimals: tokenInstr.token.decimals,
144
145
  chain: chain,
146
+ network: network,
145
147
  });
146
148
  const humanAmount = Number(tokenInstr.amount) / Math.pow(10, tokenInstr.token.decimals);
147
149
  totalUsd += humanAmount * tokenPrice.usdPrice;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-effective-amount-usd.js","sourceRoot":"","sources":["../../src/pipeline/resolve-effective-amount-usd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-effective-amount-usd.js","sourceRoot":"","sources":["../../src/pipeline/resolve-effective-amount-usd.ts"],"names":[],"mappings":"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"}
@@ -63,10 +63,14 @@ interface TransactionParam {
63
63
  chain: string;
64
64
  network?: string;
65
65
  tokenAddress?: string;
66
+ /** CAIP-19 asset identifier for ALLOWED_TOKENS 4-scenario matching (TOKEN_TRANSFER only). */
67
+ assetId?: string;
66
68
  contractAddress?: string;
67
69
  selector?: string;
68
70
  spenderAddress?: string;
69
71
  approveAmount?: string;
72
+ /** Token decimals for token_limits human-readable conversion (TOKEN_TRANSFER/APPROVE only). */
73
+ tokenDecimals?: number;
70
74
  }
71
75
  /**
72
76
  * Convert a ParsedOperation (from adapter parser) to a TransactionParam
@@ -1 +1 @@
1
- {"version":3,"file":"sign-only.d.ts","sourceRoot":"","sources":["../../src/pipeline/sign-only.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMpF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAMD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,gBAAgB,CAyDlB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAqKzB"}
1
+ {"version":3,"file":"sign-only.d.ts","sourceRoot":"","sources":["../../src/pipeline/sign-only.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMpF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAMD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,gBAAgB,CA0DlB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAqKzB"}
@@ -56,6 +56,7 @@ export function mapOperationToParam(op, chain, network) {
56
56
  chain,
57
57
  network,
58
58
  tokenAddress: op.token,
59
+ assetId: undefined, // ParsedOperation does not carry assetId
59
60
  };
60
61
  case 'CONTRACT_CALL':
61
62
  return {