@debridge-finance/borderless-validation-sdk 0.0.6 → 0.0.7

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 (205) hide show
  1. package/dist/cjs/helpers/evm-dln-hook-pack.js +8 -6
  2. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -1
  3. package/dist/cjs/helpers/evm-gas-compensation-tx.js +2 -1
  4. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +1 -1
  5. package/dist/cjs/helpers/evm-intent-id.js +6 -5
  6. package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
  7. package/dist/cjs/helpers/evm-trade-amounts.js +2 -1
  8. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  9. package/dist/cjs/helpers/expected-delegate.js +10 -11
  10. package/dist/cjs/helpers/expected-delegate.js.map +1 -1
  11. package/dist/cjs/helpers/gas-compensation.js +3 -0
  12. package/dist/cjs/helpers/gas-compensation.js.map +1 -1
  13. package/dist/cjs/helpers/hex.js +35 -0
  14. package/dist/cjs/helpers/hex.js.map +1 -1
  15. package/dist/cjs/helpers/integer.js +10 -0
  16. package/dist/cjs/helpers/integer.js.map +1 -0
  17. package/dist/cjs/helpers/placeholder.js +3 -2
  18. package/dist/cjs/helpers/placeholder.js.map +1 -1
  19. package/dist/cjs/helpers/solana-intent-id.js +6 -5
  20. package/dist/cjs/helpers/solana-intent-id.js.map +1 -1
  21. package/dist/cjs/helpers/synthetic-native-wrap.js +56 -0
  22. package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -0
  23. package/dist/cjs/types/enums.js +2 -0
  24. package/dist/cjs/types/enums.js.map +1 -1
  25. package/dist/cjs/types/request.js +25 -5
  26. package/dist/cjs/types/request.js.map +1 -1
  27. package/dist/cjs/types/response.js +10 -3
  28. package/dist/cjs/types/response.js.map +1 -1
  29. package/dist/cjs/types/validation.js +6 -1
  30. package/dist/cjs/types/validation.js.map +1 -1
  31. package/dist/cjs/validations/accumulative-token.js +5 -4
  32. package/dist/cjs/validations/accumulative-token.js.map +1 -1
  33. package/dist/cjs/validations/compensation-hook.js +9 -0
  34. package/dist/cjs/validations/compensation-hook.js.map +1 -1
  35. package/dist/cjs/validations/dln-metadata.js +63 -0
  36. package/dist/cjs/validations/dln-metadata.js.map +1 -0
  37. package/dist/cjs/validations/evm-caveats.js +5 -3
  38. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  39. package/dist/cjs/validations/evm-op-hook.js +7 -1
  40. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  41. package/dist/cjs/validations/evm-op-wrap.js +2 -1
  42. package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
  43. package/dist/cjs/validations/evm-permit2.js +7 -4
  44. package/dist/cjs/validations/evm-permit2.js.map +1 -1
  45. package/dist/cjs/validations/evm-required-actions.js +7 -4
  46. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  47. package/dist/cjs/validations/external-call.js +330 -0
  48. package/dist/cjs/validations/external-call.js.map +1 -0
  49. package/dist/cjs/validations/hooks-common.js +38 -2
  50. package/dist/cjs/validations/hooks-common.js.map +1 -1
  51. package/dist/cjs/validations/intent-tokens.js +23 -15
  52. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  53. package/dist/cjs/validations/intent.js +192 -71
  54. package/dist/cjs/validations/intent.js.map +1 -1
  55. package/dist/cjs/validations/ptp.js +7 -6
  56. package/dist/cjs/validations/ptp.js.map +1 -1
  57. package/dist/cjs/validations/required-actions.js +2 -2
  58. package/dist/cjs/validations/required-actions.js.map +1 -1
  59. package/dist/cjs/validations/solana-hook.js +2 -0
  60. package/dist/cjs/validations/solana-hook.js.map +1 -1
  61. package/dist/cjs/validations/solana-op-budget.js +2 -1
  62. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  63. package/dist/cjs/validations/solana-op-wrap.js +2 -1
  64. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  65. package/dist/cjs/validations/total-dst-amount.js +36 -22
  66. package/dist/cjs/validations/total-dst-amount.js.map +1 -1
  67. package/dist/cjs/validations/trade-grouping.js +67 -31
  68. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  69. package/dist/cjs/validations/trade-matching.js +112 -0
  70. package/dist/cjs/validations/trade-matching.js.map +1 -0
  71. package/dist/cjs/validations/trades.js +53 -52
  72. package/dist/cjs/validations/trades.js.map +1 -1
  73. package/dist/cjs/validator.js +13 -4
  74. package/dist/cjs/validator.js.map +1 -1
  75. package/dist/cjs/whitelists/environment-config.js +5 -5
  76. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  77. package/dist/esm/helpers/evm-dln-hook-pack.js +8 -6
  78. package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -1
  79. package/dist/esm/helpers/evm-gas-compensation-tx.js +2 -1
  80. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +1 -1
  81. package/dist/esm/helpers/evm-intent-id.js +6 -5
  82. package/dist/esm/helpers/evm-intent-id.js.map +1 -1
  83. package/dist/esm/helpers/evm-trade-amounts.js +2 -1
  84. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  85. package/dist/esm/helpers/expected-delegate.js +10 -11
  86. package/dist/esm/helpers/expected-delegate.js.map +1 -1
  87. package/dist/esm/helpers/gas-compensation.js +3 -0
  88. package/dist/esm/helpers/gas-compensation.js.map +1 -1
  89. package/dist/esm/helpers/hex.js +29 -0
  90. package/dist/esm/helpers/hex.js.map +1 -1
  91. package/dist/esm/helpers/integer.js +7 -0
  92. package/dist/esm/helpers/integer.js.map +1 -0
  93. package/dist/esm/helpers/placeholder.js +3 -2
  94. package/dist/esm/helpers/placeholder.js.map +1 -1
  95. package/dist/esm/helpers/solana-intent-id.js +6 -5
  96. package/dist/esm/helpers/solana-intent-id.js.map +1 -1
  97. package/dist/esm/helpers/synthetic-native-wrap.js +52 -0
  98. package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -0
  99. package/dist/esm/types/enums.js +2 -0
  100. package/dist/esm/types/enums.js.map +1 -1
  101. package/dist/esm/types/request.js +23 -4
  102. package/dist/esm/types/request.js.map +1 -1
  103. package/dist/esm/types/response.js +10 -3
  104. package/dist/esm/types/response.js.map +1 -1
  105. package/dist/esm/types/validation.js +6 -1
  106. package/dist/esm/types/validation.js.map +1 -1
  107. package/dist/esm/validations/accumulative-token.js +5 -4
  108. package/dist/esm/validations/accumulative-token.js.map +1 -1
  109. package/dist/esm/validations/compensation-hook.js +9 -0
  110. package/dist/esm/validations/compensation-hook.js.map +1 -1
  111. package/dist/esm/validations/dln-metadata.js +56 -0
  112. package/dist/esm/validations/dln-metadata.js.map +1 -0
  113. package/dist/esm/validations/evm-caveats.js +5 -3
  114. package/dist/esm/validations/evm-caveats.js.map +1 -1
  115. package/dist/esm/validations/evm-op-hook.js +7 -1
  116. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  117. package/dist/esm/validations/evm-op-wrap.js +2 -1
  118. package/dist/esm/validations/evm-op-wrap.js.map +1 -1
  119. package/dist/esm/validations/evm-permit2.js +7 -4
  120. package/dist/esm/validations/evm-permit2.js.map +1 -1
  121. package/dist/esm/validations/evm-required-actions.js +7 -4
  122. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  123. package/dist/esm/validations/external-call.js +325 -0
  124. package/dist/esm/validations/external-call.js.map +1 -0
  125. package/dist/esm/validations/hooks-common.js +38 -2
  126. package/dist/esm/validations/hooks-common.js.map +1 -1
  127. package/dist/esm/validations/intent-tokens.js +23 -15
  128. package/dist/esm/validations/intent-tokens.js.map +1 -1
  129. package/dist/esm/validations/intent.js +194 -73
  130. package/dist/esm/validations/intent.js.map +1 -1
  131. package/dist/esm/validations/ptp.js +7 -6
  132. package/dist/esm/validations/ptp.js.map +1 -1
  133. package/dist/esm/validations/required-actions.js +2 -2
  134. package/dist/esm/validations/required-actions.js.map +1 -1
  135. package/dist/esm/validations/solana-hook.js +2 -0
  136. package/dist/esm/validations/solana-hook.js.map +1 -1
  137. package/dist/esm/validations/solana-op-budget.js +2 -1
  138. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  139. package/dist/esm/validations/solana-op-wrap.js +2 -1
  140. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  141. package/dist/esm/validations/total-dst-amount.js +36 -22
  142. package/dist/esm/validations/total-dst-amount.js.map +1 -1
  143. package/dist/esm/validations/trade-grouping.js +67 -31
  144. package/dist/esm/validations/trade-grouping.js.map +1 -1
  145. package/dist/esm/validations/trade-matching.js +109 -0
  146. package/dist/esm/validations/trade-matching.js.map +1 -0
  147. package/dist/esm/validations/trades.js +53 -52
  148. package/dist/esm/validations/trades.js.map +1 -1
  149. package/dist/esm/validator.js +13 -4
  150. package/dist/esm/validator.js.map +1 -1
  151. package/dist/esm/whitelists/environment-config.js +5 -5
  152. package/dist/esm/whitelists/environment-config.js.map +1 -1
  153. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -1
  154. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +1 -1
  155. package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
  156. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  157. package/dist/types/helpers/expected-delegate.d.ts.map +1 -1
  158. package/dist/types/helpers/gas-compensation.d.ts.map +1 -1
  159. package/dist/types/helpers/hex.d.ts +6 -0
  160. package/dist/types/helpers/hex.d.ts.map +1 -1
  161. package/dist/types/helpers/integer.d.ts +2 -0
  162. package/dist/types/helpers/integer.d.ts.map +1 -0
  163. package/dist/types/helpers/placeholder.d.ts.map +1 -1
  164. package/dist/types/helpers/solana-intent-id.d.ts.map +1 -1
  165. package/dist/types/helpers/synthetic-native-wrap.d.ts +4 -0
  166. package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -0
  167. package/dist/types/types/enums.d.ts +4 -2
  168. package/dist/types/types/enums.d.ts.map +1 -1
  169. package/dist/types/types/request.d.ts +83 -6
  170. package/dist/types/types/request.d.ts.map +1 -1
  171. package/dist/types/types/response.d.ts +95 -12
  172. package/dist/types/types/response.d.ts.map +1 -1
  173. package/dist/types/types/validation.d.ts +6 -1
  174. package/dist/types/types/validation.d.ts.map +1 -1
  175. package/dist/types/validations/accumulative-token.d.ts.map +1 -1
  176. package/dist/types/validations/compensation-hook.d.ts.map +1 -1
  177. package/dist/types/validations/dln-metadata.d.ts +7 -0
  178. package/dist/types/validations/dln-metadata.d.ts.map +1 -0
  179. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  180. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  181. package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
  182. package/dist/types/validations/evm-permit2.d.ts.map +1 -1
  183. package/dist/types/validations/evm-required-actions.d.ts +1 -1
  184. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  185. package/dist/types/validations/external-call.d.ts +15 -0
  186. package/dist/types/validations/external-call.d.ts.map +1 -0
  187. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  188. package/dist/types/validations/intent.d.ts +1 -1
  189. package/dist/types/validations/intent.d.ts.map +1 -1
  190. package/dist/types/validations/ptp.d.ts.map +1 -1
  191. package/dist/types/validations/required-actions.d.ts +1 -1
  192. package/dist/types/validations/required-actions.d.ts.map +1 -1
  193. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  194. package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
  195. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  196. package/dist/types/validations/total-dst-amount.d.ts.map +1 -1
  197. package/dist/types/validations/trade-grouping.d.ts +2 -1
  198. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  199. package/dist/types/validations/trade-matching.d.ts +13 -0
  200. package/dist/types/validations/trade-matching.d.ts.map +1 -0
  201. package/dist/types/validations/trades.d.ts +2 -1
  202. package/dist/types/validations/trades.d.ts.map +1 -1
  203. package/dist/types/validator.d.ts.map +1 -1
  204. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  205. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { detectChainEngine, getChainEngine, isNativeToken, normalizeAddress, } f
3
3
  import { resolveWrappedTokenAddress } from "../helpers/evm-token.js";
4
4
  import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
5
5
  import { SPL_NATIVE_MINT } from "../whitelists/solana/programs.js";
6
+ import { parseIntegerString } from "../helpers/integer.js";
6
7
  export function validateIntentTokens(ctx, basePath) {
7
8
  const intent = ctx.intentPayload.intent;
8
9
  const group = ctx.tradeGroup;
@@ -125,7 +126,7 @@ function validateConstraintBudget(inputToken, ctx, normalizedAddress, basePath)
125
126
  let expectedSum = 0n;
126
127
  for (const { response, trade } of contributingResponseTrades) {
127
128
  try {
128
- expectedSum += BigInt(response.srcChainTokenIn.amount);
129
+ expectedSum += parseIntegerString(response.srcChainTokenIn.amount);
129
130
  }
130
131
  catch (error) {
131
132
  // Safe skip: invalid response `srcChainTokenIn.amount` is reported
@@ -137,7 +138,7 @@ function validateConstraintBudget(inputToken, ctx, normalizedAddress, basePath)
137
138
  }
138
139
  let actualBudget;
139
140
  try {
140
- actualBudget = BigInt(inputToken.constraintBudget);
141
+ actualBudget = parseIntegerString(inputToken.constraintBudget);
141
142
  }
142
143
  catch (error) {
143
144
  return [{
@@ -237,16 +238,18 @@ function collectInputAddressesForCrossChainTrades(intent, group) {
237
238
  function isCrossChain(trade) {
238
239
  return trade.srcChainId !== trade.dstChainId;
239
240
  }
240
- // CRITICAL: intent.takeToken[] must represent exactly the set of unique
241
- // (dstChainId, dstChainTokenOut) pairs from the group's trades. Missing pairs,
242
- // duplicate entries, and unknown chainId/address combinations are each reported
243
- // as specific violations.
241
+ // CRITICAL: intent.takeToken[] must cover the unique destination
242
+ // (dstChainId, dstChainTokenOut) pairs from the group's trades. The API keys
243
+ // actual take-token entries by source/from token plus destination token, so
244
+ // duplicate detection uses the full
245
+ // (fromTokenAddress, takeTokenChainId, takeTokenAddress) identity.
244
246
  // CRITICAL: fromTokenAddress must be in inputToken[] (same-chain) or giveToken[]
245
247
  // (cross-chain).
246
248
  function validateTakeTokens(intent, group, basePath) {
247
249
  const violations = [];
248
- const expectedTakeTokens = buildExpectedTakeTokens(group);
249
- const actualKeys = intent.takeToken.map(takeToken => buildTakeTokenKey(takeToken));
250
+ const expectedDestinations = buildExpectedTakeTokenDestinations(group);
251
+ const actualKeys = intent.takeToken.map(takeToken => buildTakeTokenIdentityKey(takeToken, group.realChainId));
252
+ const actualDestinations = new Set(intent.takeToken.map(takeToken => buildTakeTokenDestinationKey(takeToken)));
250
253
  const firstOccurrence = new Map();
251
254
  for (let i = 0; i < actualKeys.length; i++) {
252
255
  const key = actualKeys[i];
@@ -255,8 +258,8 @@ function validateTakeTokens(intent, group, basePath) {
255
258
  violations.push({
256
259
  code: ViolationCode.IntentTakeTokenDuplicate,
257
260
  message: `intent.takeToken[${i}] duplicates the entry at`
258
- + ` index ${earlier} — each (takeTokenChainId,`
259
- + ` takeTokenAddress) pair must appear once`,
261
+ + ` index ${earlier} — each (fromTokenAddress,`
262
+ + ` takeTokenChainId, takeTokenAddress) tuple must appear once`,
260
263
  path: `${basePath}[${i}]`,
261
264
  actual: key,
262
265
  });
@@ -265,8 +268,8 @@ function validateTakeTokens(intent, group, basePath) {
265
268
  firstOccurrence.set(key, i);
266
269
  }
267
270
  }
268
- for (const expectedTakeToken of expectedTakeTokens) {
269
- if (!firstOccurrence.has(expectedTakeToken)) {
271
+ for (const expectedTakeToken of expectedDestinations) {
272
+ if (!actualDestinations.has(expectedTakeToken)) {
270
273
  violations.push({
271
274
  code: ViolationCode.IntentTakeTokenMissing,
272
275
  message: "an expected (dstChainId, dstChainTokenOut) pair is"
@@ -278,7 +281,7 @@ function validateTakeTokens(intent, group, basePath) {
278
281
  }
279
282
  // Validate each unique entry (duplicates are already reported above)
280
283
  for (const [, i] of firstOccurrence) {
281
- violations.push(...validateSingleTakeToken(intent, intent.takeToken[i], group, expectedTakeTokens, `${basePath}[${i}]`));
284
+ violations.push(...validateSingleTakeToken(intent, intent.takeToken[i], group, expectedDestinations, `${basePath}[${i}]`));
282
285
  }
283
286
  return violations;
284
287
  }
@@ -292,10 +295,15 @@ function buildChainTokenKey(chainId, realChainId, address) {
292
295
  : address;
293
296
  return `${chainId}:${normalized}`;
294
297
  }
295
- function buildTakeTokenKey(takeToken) {
298
+ function buildTakeTokenDestinationKey(takeToken) {
296
299
  return buildChainTokenKey(takeToken.takeTokenChainId, resolveChainId(takeToken.takeTokenChainId), takeToken.takeTokenAddress);
297
300
  }
298
- function buildExpectedTakeTokens(group) {
301
+ function buildTakeTokenIdentityKey(takeToken, sourceRealChainId) {
302
+ const fromKey = normalizeAddress(sourceRealChainId, takeToken.fromTokenAddress);
303
+ const destinationKey = buildTakeTokenDestinationKey(takeToken);
304
+ return `${fromKey}->${destinationKey}`;
305
+ }
306
+ function buildExpectedTakeTokenDestinations(group) {
299
307
  const set = new Set();
300
308
  for (const trade of group.trades) {
301
309
  const dstRealChainId = resolveChainId(trade.dstChainId);
@@ -1 +1 @@
1
- {"version":3,"file":"intent-tokens.js","sourceRoot":"","sources":["../../../src/validations/intent-tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent-tokens.js","sourceRoot":"","sources":["../../../src/validations/intent-tokens.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,38 @@
1
- import { keccak256 } from "viem";
2
1
  import { ViolationCode, ChainId, } from "../types/index.js";
3
- import { addressEquals, normalizeAddress } from "../helpers/address.js";
4
- import { setsEqual } from "../helpers/sets.js";
5
- import { hasSolverExecutorOverride } from "../helpers/expected-delegate.js";
2
+ import { addressEquals } from "../helpers/address.js";
3
+ import { getExpectedIntentDelegate, hasSolverExecutorOverride } from "../helpers/expected-delegate.js";
6
4
  import { isWhitelisted } from "../whitelists/types.js";
7
5
  import { computeIntentId } from "../helpers/evm-intent-id.js";
8
6
  import { computeSolanaIntentId } from "../helpers/solana-intent-id.js";
9
- import { serializeDlnHook } from "../helpers/evm-dln-hook-pack.js";
10
7
  import { hexEquals, isEmptyHex } from "../helpers/hex.js";
11
8
  import { validateIntentTokens } from "./intent-tokens.js";
12
9
  import { validateIntentDestinations } from "./intent-destinations.js";
13
- export function validateIntents(contexts, quoteMode, envConfig) {
10
+ import { dlnMetadataEquals, normalizeDlnMetadataKey, validateIntentDlnMetadataFormat, } from "./dln-metadata.js";
11
+ import { getResponseExternalCallHash, ResponseExternalCallHashKind } from "./external-call.js";
12
+ import { parseIntegerString } from "../helpers/integer.js";
13
+ export function validateIntents(contexts, quoteMode, envConfig, syntheticNativeWrapMode) {
14
14
  const violations = [];
15
15
  for (const ctx of contexts) {
16
- violations.push(...validateSingleIntent(ctx, quoteMode, envConfig));
16
+ violations.push(...validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode));
17
17
  }
18
18
  return violations;
19
19
  }
20
- function validateSingleIntent(ctx, quoteMode, envConfig) {
20
+ function validateSingleIntent(ctx, quoteMode, envConfig, syntheticNativeWrapMode) {
21
21
  const basePath = `response.intents[${ctx.intentIndex}].intent`;
22
22
  const intent = ctx.intentPayload.intent;
23
23
  const group = ctx.tradeGroup;
24
24
  const violations = [
25
25
  ...validateNonNegativeNumerics(intent, basePath),
26
- ...validateIntentDifferentiationFields(intent, group, basePath),
27
- ...validateIntentTokens(ctx, basePath),
28
- ...validateIntentDestinations(intent, group, basePath, quoteMode),
26
+ ...(syntheticNativeWrapMode
27
+ ? []
28
+ : [
29
+ ...validateIntentDifferentiationFields(ctx, quoteMode, basePath),
30
+ ...validateIntentTokens(ctx, basePath),
31
+ ...validateIntentDestinations(intent, group, basePath, quoteMode),
32
+ ]),
29
33
  ];
30
- if (!quoteMode) {
31
- violations.push(...validateExecutionIdentity(intent, group, basePath, envConfig), ...validateAllowedCancelBeneficiary(intent, group, basePath), ...validateSrcAllowedSender(intent, group, basePath, envConfig));
34
+ if (!quoteMode && !syntheticNativeWrapMode) {
35
+ violations.push(...validateExecutionIdentity(intent, group, basePath, envConfig), ...validateAllowedCancelBeneficiary(intent, group, basePath), ...validateSrcAllowedSender(intent, ctx.intentTrades, group, basePath, envConfig));
32
36
  }
33
37
  return violations;
34
38
  }
@@ -55,7 +59,8 @@ function validateExecutionIdentity(intent, group, basePath, envConfig) {
55
59
  violations.push({
56
60
  code: ViolationCode.IntentAuthorityMismatch,
57
61
  message: ownerUnverifiable
58
- ? "cannot verify intent.intentAuthority: request trade has no srcChainAuthorityAddress in execution mode"
62
+ ? "cannot verify intent.intentAuthority: request trade has no"
63
+ + " srcChainAuthorityAddress in execution mode"
59
64
  : "intent.intentAuthority must equal srcChainAuthorityAddress",
60
65
  path: `${basePath}.intentAuthority`,
61
66
  expected: expectedOwner,
@@ -133,11 +138,11 @@ function validateAllowedCancelBeneficiary(intent, group, basePath) {
133
138
  // request input. We require a single-element list whose entry is in the
134
139
  // whitelist.
135
140
  //
136
- // Branch B (echo): chain has no solver executor override. If any trade in
137
- // the group has `srcAllowedSender`, the intent must echo those addresses
138
- // exactly. If none specified, the API substitutes its own per-chain
139
- // delegate — not verified here (no whitelist for it).
140
- function validateSrcAllowedSender(intent, group, basePath, envConfig) {
141
+ // Branch B (selected delegate): chain has no solver executor override. The
142
+ // API emits exactly one delegate: the first `srcAllowedSender` among the
143
+ // trades folded into this intent, or a config fallback when none is specified.
144
+ // The fallback is not verified here because the SDK has no delegate whitelist.
145
+ function validateSrcAllowedSender(intent, intentTrades, group, basePath, envConfig) {
141
146
  const actualList = intent.srcAllowedSender ?? [];
142
147
  const path = `${basePath}.srcAllowedSender`;
143
148
  if (hasSolverExecutorOverride(envConfig.solverExecutorContracts, group.realChainId)) {
@@ -163,22 +168,19 @@ function validateSrcAllowedSender(intent, group, basePath, envConfig) {
163
168
  }
164
169
  return [];
165
170
  }
166
- const requested = group.trades
167
- .map(t => t.srcAllowedSender)
168
- .filter((s) => s !== undefined);
171
+ const expectedDelegate = getExpectedIntentDelegate(intentTrades);
169
172
  // Safe skip: no request srcAllowedSender — API substitutes its
170
173
  // delegate from config; we have no whitelist for that fallback.
171
- if (requested.length === 0)
174
+ if (expectedDelegate === undefined)
172
175
  return [];
173
- const expectedSet = new Set(requested.map(addr => normalizeAddress(group.realChainId, addr)));
174
- const actualSet = new Set(actualList.map(addr => normalizeAddress(group.realChainId, addr)));
175
- if (!setsEqual(expectedSet, actualSet)) {
176
+ if (actualList.length !== 1
177
+ || !addressEquals(group.realChainId, actualList[0], expectedDelegate)) {
176
178
  return [{
177
179
  code: ViolationCode.IntentSrcAllowedSenderMismatch,
178
- message: "intent.srcAllowedSender must contain exactly the addresses"
179
- + " from request srcAllowedSender fields (no extras, no omissions)",
180
+ message: "intent.srcAllowedSender must contain exactly the selected"
181
+ + " request srcAllowedSender delegate",
180
182
  path,
181
- expected: Array.from(expectedSet),
183
+ expected: [expectedDelegate],
182
184
  actual: actualList,
183
185
  }];
184
186
  }
@@ -188,11 +190,13 @@ function validateSrcAllowedSender(intent, group, basePath, envConfig) {
188
190
  // (srcChainId, srcChainAuthorityAddress, dlnHook, dlnMetadata) and produces a separate
189
191
  // intent for each unique combination. These fields on the intent must reflect the
190
192
  // corresponding request trade fields.
191
- function validateIntentDifferentiationFields(intent, group, basePath) {
193
+ function validateIntentDifferentiationFields(ctx, quoteMode, basePath) {
194
+ const intent = ctx.intentPayload.intent;
192
195
  return [
193
196
  ...validateExecutionMetadata(intent, basePath),
194
- ...validateDlnMetadata(intent, group, basePath),
195
- ...validateExternalCallHash(intent, group, basePath),
197
+ ...validateIntentDlnMetadataFormat(intent, basePath),
198
+ ...validateDlnMetadata(ctx, quoteMode, basePath),
199
+ ...validateExternalCallHash(ctx, quoteMode, basePath),
196
200
  ];
197
201
  }
198
202
  // CRITICAL: executionMetadata is hardcoded to undefined in the API intent
@@ -209,56 +213,170 @@ function validateExecutionMetadata(intent, basePath) {
209
213
  actual: intent.executionMetadata,
210
214
  }];
211
215
  }
212
- // CRITICAL: intent.dlnMetadata must match request.trades[].dlnMetadata from one of
213
- // the trades in the group. When no trade in the group has dlnMetadata, the intent
214
- // field must be empty/undefined.
215
- function validateDlnMetadata(intent, group, basePath) {
216
- const expected = new Set();
217
- for (const trade of group.trades)
218
- expected.add(trade.dlnMetadata);
219
- if (matchesAnyHex(intent.dlnMetadata, expected))
216
+ // CRITICAL: intent.dlnMetadata must match the request dlnMetadata for the
217
+ // specific trades that point to this intent via `relatedIntentId`. Quote mode has
218
+ // no reliable per-trade `relatedIntentId` mapping, so it falls back to group-level
219
+ // matching.
220
+ function validateDlnMetadata(ctx, quoteMode, basePath) {
221
+ const intent = ctx.intentPayload.intent;
222
+ const expectedValues = quoteMode
223
+ ? ctx.tradeGroup.trades.map(trade => trade.dlnMetadata)
224
+ : getDlnMetadataValuesFromRelatedTrades(ctx);
225
+ if (expectedValues.length === 0) {
226
+ // Safe skip: missing/invalid `relatedIntentId` is reported by
227
+ // `validateRelatedIntentIds`; without that mapping there is no concrete
228
+ // request subset to compare against.
229
+ return [];
230
+ }
231
+ if (quoteMode) {
232
+ if (matchesAnyDlnMetadata(intent.dlnMetadata, expectedValues))
233
+ return [];
234
+ return [{
235
+ code: ViolationCode.IntentDlnMetadataMismatch,
236
+ message: "quote-mode intent.dlnMetadata must match one of"
237
+ + " request.trades[].dlnMetadata values from the trade group",
238
+ path: `${basePath}.dlnMetadata`,
239
+ expected: uniqueDlnMetadata(expectedValues),
240
+ actual: intent.dlnMetadata,
241
+ }];
242
+ }
243
+ const uniqueExpected = uniqueDlnMetadata(expectedValues);
244
+ if (uniqueExpected.length > 1) {
245
+ return [{
246
+ code: ViolationCode.IntentDlnMetadataMismatch,
247
+ message: "request trades related to the same intent must have identical dlnMetadata",
248
+ path: `${basePath}.dlnMetadata`,
249
+ expected: uniqueExpected,
250
+ actual: intent.dlnMetadata,
251
+ }];
252
+ }
253
+ const expected = uniqueExpected[0];
254
+ if (dlnMetadataEquals(intent.dlnMetadata, expected))
220
255
  return [];
221
256
  return [{
222
257
  code: ViolationCode.IntentDlnMetadataMismatch,
223
- message: "intent.dlnMetadata must match one of request.trades[].dlnMetadata"
224
- + " values from the trade group",
258
+ message: "intent.dlnMetadata must match request.trades[].dlnMetadata"
259
+ + " for trades related to this intent",
225
260
  path: `${basePath}.dlnMetadata`,
226
- expected: Array.from(expected),
261
+ expected,
227
262
  actual: intent.dlnMetadata,
228
263
  }];
229
264
  }
230
- // CRITICAL: intent.externalCallHash must match the keccak256 of the API's
231
- // serialized hook envelope for one of the trades in the group (see
232
- // `serializeDlnHook`). When no trade has a dlnHook, the intent field must be
233
- // empty/zero.
234
- function validateExternalCallHash(intent, group, basePath) {
235
- const expected = new Set();
236
- for (const trade of group.trades) {
237
- try {
238
- const packed = serializeDlnHook(trade);
239
- expected.add(packed === undefined ? undefined : keccak256(packed));
265
+ function matchesAnyDlnMetadata(actual, expectedValues) {
266
+ for (const expected of expectedValues) {
267
+ if (dlnMetadataEquals(actual, expected))
268
+ return true;
269
+ }
270
+ return false;
271
+ }
272
+ function getDlnMetadataValuesFromRelatedTrades(ctx) {
273
+ const intentId = ctx.intentPayload.intent.intentId;
274
+ const expected = [];
275
+ for (let i = 0; i < ctx.tradeGroup.trades.length; i++) {
276
+ const responseTrade = ctx.tradeGroup.responseTrades[i];
277
+ if (responseTrade?.relatedIntentId === intentId) {
278
+ expected.push(ctx.tradeGroup.trades[i].dlnMetadata);
240
279
  }
241
- catch (error) {
242
- return [{
243
- code: ViolationCode.IntentExternalCallHashMismatch,
244
- message: "failed to serialize request.trades[].dlnHook",
245
- path: `${basePath}.externalCallHash`,
246
- actual: intent.externalCallHash,
247
- details: error,
248
- }];
280
+ }
281
+ return expected;
282
+ }
283
+ function uniqueDlnMetadata(values) {
284
+ const seen = new Set();
285
+ const unique = [];
286
+ for (const value of values) {
287
+ const key = normalizeDlnMetadataKey(value);
288
+ if (!seen.has(key)) {
289
+ seen.add(key);
290
+ unique.push(value);
249
291
  }
250
292
  }
251
- if (matchesAnyHex(intent.externalCallHash, expected))
293
+ return unique;
294
+ }
295
+ // CRITICAL: intent.externalCallHash must match the hash of the serialized
296
+ // external call data for the specific trades that point to this intent via
297
+ // `relatedIntentId`. Quote mode has no reliable per-trade mapping, so it falls
298
+ // back to group-level matching.
299
+ function validateExternalCallHash(ctx, quoteMode, basePath) {
300
+ const intent = ctx.intentPayload.intent;
301
+ const expectedValues = quoteMode
302
+ ? getExternalCallHashesFromGroup(ctx)
303
+ : getExternalCallHashesFromRelatedTrades(ctx);
304
+ if (expectedValues.invalidExternalCallData) {
305
+ // Safe skip: malformed `response.trades[].externalCallData` is reported
306
+ // by `validateExternalCalls`; without valid bytes there is no hash to compare.
307
+ return [];
308
+ }
309
+ if (expectedValues.hashes.length === 0) {
310
+ // Safe skip: missing/invalid `relatedIntentId` is reported by
311
+ // `validateRelatedIntentIds`; without that mapping there is no concrete
312
+ // request subset to compare against.
313
+ return [];
314
+ }
315
+ if (quoteMode) {
316
+ if (matchesAnyHex(intent.externalCallHash, new Set(expectedValues.hashes)))
317
+ return [];
318
+ return [{
319
+ code: ViolationCode.IntentExternalCallHashMismatch,
320
+ message: "quote-mode intent.externalCallHash must match one of"
321
+ + " response.trades[].externalCallData hashes from the trade group",
322
+ path: `${basePath}.externalCallHash`,
323
+ expected: uniqueHex(expectedValues.hashes),
324
+ actual: intent.externalCallHash,
325
+ }];
326
+ }
327
+ const uniqueExpected = uniqueHex(expectedValues.hashes);
328
+ if (uniqueExpected.length > 1) {
329
+ return [{
330
+ code: ViolationCode.IntentExternalCallHashMismatch,
331
+ message: "response trades related to the same intent must have identical"
332
+ + " externalCallData hashes",
333
+ path: `${basePath}.externalCallHash`,
334
+ expected: uniqueExpected,
335
+ actual: intent.externalCallHash,
336
+ }];
337
+ }
338
+ const expected = uniqueExpected[0];
339
+ if (hexEquals(intent.externalCallHash, expected))
252
340
  return [];
253
341
  return [{
254
342
  code: ViolationCode.IntentExternalCallHashMismatch,
255
- message: "intent.externalCallHash must match keccak256 of one of"
256
- + " request.trades[].dlnHook values from the trade group",
343
+ message: "intent.externalCallHash must match response.trades[].externalCallData"
344
+ + " hash for trades related to this intent",
257
345
  path: `${basePath}.externalCallHash`,
258
- expected: Array.from(expected),
346
+ expected,
259
347
  actual: intent.externalCallHash,
260
348
  }];
261
349
  }
350
+ function getExternalCallHashesFromGroup(ctx) {
351
+ return getExternalCallHashes(ctx.tradeGroup.responseTrades);
352
+ }
353
+ function getExternalCallHashesFromRelatedTrades(ctx) {
354
+ const intentId = ctx.intentPayload.intent.intentId;
355
+ const responseTrades = ctx.tradeGroup.responseTrades.filter(responseTrade => responseTrade?.relatedIntentId === intentId);
356
+ return getExternalCallHashes(responseTrades);
357
+ }
358
+ function getExternalCallHashes(responseTrades) {
359
+ const hashes = [];
360
+ let invalidExternalCallData = false;
361
+ for (const responseTrade of responseTrades) {
362
+ const result = getResponseExternalCallHash(responseTrade);
363
+ if (result.kind === ResponseExternalCallHashKind.Invalid) {
364
+ invalidExternalCallData = true;
365
+ }
366
+ else {
367
+ hashes.push(result.hash);
368
+ }
369
+ }
370
+ return { hashes, invalidExternalCallData };
371
+ }
372
+ function uniqueHex(values) {
373
+ const unique = [];
374
+ for (const value of values) {
375
+ if (!matchesAnyHex(value, new Set(unique)))
376
+ unique.push(value);
377
+ }
378
+ return unique;
379
+ }
262
380
  function matchesAnyHex(actual, expected) {
263
381
  for (const exp of expected) {
264
382
  if (hexEquals(actual, exp))
@@ -293,15 +411,9 @@ function checkBigIntFields(items, basePath, fieldNames) {
293
411
  for (let i = 0; i < items.length; i++) {
294
412
  for (const fieldName of fieldNames) {
295
413
  const raw = items[i][fieldName];
414
+ let parsed;
296
415
  try {
297
- if (BigInt(raw) < 0n) {
298
- violations.push({
299
- code: ViolationCode.IntentNumericValueNegative,
300
- message: `${basePath}[${i}].${fieldName} must be non-negative`,
301
- path: `${basePath}[${i}].${fieldName}`,
302
- actual: raw,
303
- });
304
- }
416
+ parsed = parseIntegerString(raw);
305
417
  }
306
418
  catch (error) {
307
419
  violations.push({
@@ -311,6 +423,15 @@ function checkBigIntFields(items, basePath, fieldNames) {
311
423
  actual: raw,
312
424
  details: error,
313
425
  });
426
+ continue;
427
+ }
428
+ if (parsed < 0n) {
429
+ violations.push({
430
+ code: ViolationCode.IntentNumericValueNegative,
431
+ message: `${basePath}[${i}].${fieldName} must be non-negative`,
432
+ path: `${basePath}[${i}].${fieldName}`,
433
+ actual: raw,
434
+ });
314
435
  }
315
436
  }
316
437
  }
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/validations/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/validations/intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,OAAO,GAEV,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,GAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,eAAe,CAC3B,QAAyB,EACzB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC;IAEhC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CACX,GAAG,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAC9E,CAAC;IACN,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CACzB,GAAkB,EAClB,SAAkB,EAClB,SAA4B,EAC5B,uBAAgC;IAEhC,MAAM,QAAQ,GAAG,oBAAoB,GAAG,CAAC,WAAW,UAAU,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAE7B,MAAM,UAAU,GAAgB;QAC5B,GAAG,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChD,GAAG,CAAC,uBAAuB;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,GAAG,mCAAmC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAChE,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBACtC,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;aACpE,CAAC;KACT,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CACX,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAChE,GAAG,gCAAgC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC5D,GAAG,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CACpF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,6FAA6F;AAC7F,0FAA0F;AAC1F,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC;IACrD,MAAM,iBAAiB,GAAG,aAAa,KAAK,SAAS,CAAC;IAEtD,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EACzE,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,mBAAmB;YACvC,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,mGAAmG;gBACrG,CAAC,CAAC,wDAAwD;YAC9D,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;IACP,CAAC;IAED,IAAI,iBAAiB;WACd,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,EAC7E,CAAC;QACC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,uBAAuB;YAC3C,OAAO,EAAE,iBAAiB;gBACtB,CAAC,CAAC,4DAA4D;sBACxD,6CAA6C;gBACnD,CAAC,CAAC,4DAA4D;YAClE,IAAI,EAAE,GAAG,QAAQ,kBAAkB;YACnC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM,CAAC,eAAe;SACjC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,uBAAuB,CAC5B,MAAsB,EACtB,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM;YAC3C,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,mBAAmB,CAAC;YACjF,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,oBAAoB;gBACxC,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,OAAO,EAAE,KAAK;aACjB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,gBAAgB;gBACpC,OAAO,EAAE,8DAA8D;gBACvE,IAAI,EAAE,GAAG,QAAQ,WAAW;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,6DAA6D;AAC7D,4BAA4B;AAC5B,SAAS,gCAAgC,CACrC,MAAsB,EACtB,KAAiB,EACjB,QAAgB;IAEhB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACjE,MAAM,QAAQ,GAAG,YAAY,IAAI,KAAK,CAAC,wBAAwB,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAE/C,2EAA2E;IAC3E,qEAAqE;IACrE,mDAAmD;IACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EACH,8DAA8D;sBAC5D,uEAAuE;sBACvE,oBAAoB;gBAC1B,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ,EAAE,SAAS;gBACnB,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,sCAAsC;gBAC1D,OAAO,EAAE,YAAY,KAAK,SAAS;oBAC/B,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,4EAA4E;gBAClF,IAAI,EAAE,GAAG,QAAQ,2BAA2B;gBAC5C,QAAQ;gBACR,MAAM;aACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,aAAa;AACb,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS,wBAAwB,CAC7B,MAAsB,EACtB,YAAqC,EACrC,KAAiB,EACjB,QAAgB,EAChB,SAA4B;IAE5B,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,GAAG,QAAQ,mBAAmB,CAAC;IAE5C,IAAI,yBAAyB,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EACH,kEAAkE;0BAChE,+DAA+D;oBACrE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,aAAa,CACd,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CACtE,EAAE,CAAC;YACA,OAAO,CAAC;oBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;oBAClD,OAAO,EAAE,8DAA8D;oBACvE,IAAI;oBACJ,QAAQ;oBACR,MAAM,EAAE,UAAU;iBACrB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEjE,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAE9C,IACI,UAAU,CAAC,MAAM,KAAK,CAAC;WACpB,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EACvE,CAAC;QACC,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,2DAA2D;sBACzD,oCAAoC;gBAC1C,IAAI;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,uFAAuF;AACvF,kFAAkF;AAClF,sCAAsC;AACtC,SAAS,mCAAmC,CACxC,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,OAAO;QACH,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9C,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpD,GAAG,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;QAChD,GAAG,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;KACxD,CAAC;AACN,CAAC;AAED,0EAA0E;AAC1E,+BAA+B;AAC/B,oFAAoF;AACpF,SAAS,yBAAyB,CAC9B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpD,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,+BAA+B;YACnD,OAAO,EAAE,8EAA8E;YACvF,IAAI,EAAE,GAAG,QAAQ,oBAAoB;YACrC,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM,CAAC,iBAAiB;SACnC,CAAC,CAAC;AACP,CAAC;AAED,0EAA0E;AAC1E,kFAAkF;AAClF,mFAAmF;AACnF,YAAY;AACZ,SAAS,mBAAmB,CACxB,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QACvD,CAAC,CAAC,qCAAqC,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;YAAE,OAAO,EAAE,CAAC;QAEzE,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,iDAAiD;sBAC/C,2DAA2D;gBACjE,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,iBAAiB,CAAC,cAAc,CAAC;gBAC3C,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;gBAC7C,OAAO,EACH,2EAA2E;gBAC/E,IAAI,EAAE,GAAG,QAAQ,cAAc;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,yBAAyB;YAC7C,OAAO,EACH,4DAA4D;kBAC1D,oCAAoC;YAC1C,IAAI,EAAE,GAAG,QAAQ,cAAc;YAC/B,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAC1B,MAA0B,EAC1B,cAAsC;IAEtC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qCAAqC,CAAC,GAAkB;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8B;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,gCAAgC;AAChC,SAAS,wBAAwB,CAC7B,GAAkB,EAClB,SAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAExC,MAAM,cAAc,GAAG,SAAS;QAC5B,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACrC,CAAC,CAAC,sCAAsC,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,cAAc,CAAC,uBAAuB,EAAE,CAAC;QACzC,wEAAwE;QACxE,+EAA+E;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,8DAA8D;QAC9D,wEAAwE;QACxE,qCAAqC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtF,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,sDAAsD;sBACpD,iEAAiE;gBACvE,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;gBAClD,OAAO,EACH,gEAAgE;sBAC9D,0BAA0B;gBAChC,IAAI,EAAE,GAAG,QAAQ,mBAAmB;gBACpC,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,MAAM,CAAC,gBAAgB;aAClC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,8BAA8B;YAClD,OAAO,EACH,uEAAuE;kBACrE,yCAAyC;YAC/C,IAAI,EAAE,GAAG,QAAQ,mBAAmB;YACpC,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,gBAAgB;SAClC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,8BAA8B,CACnC,GAAkB;IAElB,OAAO,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sCAAsC,CAC3C,GAAkB;IAElB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CACvD,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,KAAK,QAAQ,CAC/D,CAAC;IAEF,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAC1B,cAA6C;IAE7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;YACvD,uBAAuB,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,MAA8B;IAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAClB,MAA0B,EAC1B,QAAiC;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,+DAA+D;AAC/D,SAAS,2BAA2B,CAChC,MAAsB,EACtB,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAsC;QACpD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE;QAClE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;KAC7D,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;gBAC9C,OAAO,EAAE,UAAU,IAAI,uBAAuB;gBAC9C,IAAI,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;gBAC3B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,GAAG,QAAQ,aAAa,EACxB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAC/D,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,EAChB,GAAG,QAAQ,YAAY,EACvB,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACtB,CAAC;AAWD,SAAS,iBAAiB,CACtB,KAAmB,EACnB,QAAgB,EAChB,UAAiD;IAEjD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAW,CAAC;YAC1C,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,yBAAyB;oBAC7C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,wBAAwB;oBAC/D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa,CAAC,0BAA0B;oBAC9C,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,uBAAuB;oBAC9D,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;oBACtC,MAAM,EAAE,GAAG;iBACd,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ViolationCode, SpecialAmount, } from "../types/index.js";
2
+ import { parseIntegerString } from "../helpers/integer.js";
2
3
  // CRITICAL: for each trade where request.ptp === true:
3
4
  // - response.trades[i].srcChainTokenIn.amount === request.trades[i].srcChainTokenInAmount
4
5
  // - response.trades[i].dstChainTokenOut.amount === request.trades[i].dstChainTokenOutAmount
@@ -30,7 +31,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
30
31
  let requested;
31
32
  let actual;
32
33
  try {
33
- requested = BigInt(reqSrc);
34
+ requested = parseIntegerString(reqSrc);
34
35
  }
35
36
  catch (error) {
36
37
  violations.push({
@@ -43,7 +44,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
43
44
  requested = 0n;
44
45
  }
45
46
  try {
46
- actual = BigInt(resTrade.srcChainTokenIn.amount);
47
+ actual = parseIntegerString(resTrade.srcChainTokenIn.amount);
47
48
  }
48
49
  catch (error) {
49
50
  violations.push({
@@ -72,7 +73,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
72
73
  let requested;
73
74
  let actual;
74
75
  try {
75
- requested = BigInt(reqDst);
76
+ requested = parseIntegerString(reqDst);
76
77
  }
77
78
  catch (error) {
78
79
  violations.push({
@@ -85,7 +86,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
85
86
  requested = 0n;
86
87
  }
87
88
  try {
88
- actual = BigInt(resTrade.dstChainTokenOut.amount);
89
+ actual = parseIntegerString(resTrade.dstChainTokenOut.amount);
89
90
  }
90
91
  catch (error) {
91
92
  violations.push({
@@ -113,7 +114,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
113
114
  let recommendedBig;
114
115
  let amountBig;
115
116
  try {
116
- recommendedBig = BigInt(recommended);
117
+ recommendedBig = parseIntegerString(recommended);
117
118
  }
118
119
  catch (error) {
119
120
  violations.push({
@@ -126,7 +127,7 @@ function validatePtpTrade(reqTrade, resTrade, tradeIndex) {
126
127
  return violations;
127
128
  }
128
129
  try {
129
- amountBig = BigInt(resTrade.dstChainTokenOut.amount);
130
+ amountBig = parseIntegerString(resTrade.dstChainTokenOut.amount);
130
131
  }
131
132
  catch (error) {
132
133
  violations.push({