@debridge-finance/borderless-validation-sdk 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +120 -11
  2. package/dist/cjs/graylists/evm/token-permit-metadata.js +7 -1
  3. package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -1
  4. package/dist/cjs/helpers/address.js +139 -63
  5. package/dist/cjs/helpers/address.js.map +1 -1
  6. package/dist/cjs/helpers/amount.js +8 -0
  7. package/dist/cjs/helpers/amount.js.map +1 -0
  8. package/dist/cjs/helpers/evm-dln-hook-pack.js +16 -4
  9. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -1
  10. package/dist/cjs/helpers/evm-gas-compensation-tx.js +11 -26
  11. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +1 -1
  12. package/dist/cjs/helpers/evm-intent-id-abi.js +8 -1
  13. package/dist/cjs/helpers/evm-intent-id-abi.js.map +1 -1
  14. package/dist/cjs/helpers/evm-trade-amounts.js +11 -3
  15. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  16. package/dist/cjs/helpers/expected-delegate.js +2 -6
  17. package/dist/cjs/helpers/expected-delegate.js.map +1 -1
  18. package/dist/cjs/helpers/gas-compensation.js +8 -4
  19. package/dist/cjs/helpers/gas-compensation.js.map +1 -1
  20. package/dist/cjs/helpers/interactions.js +4 -20
  21. package/dist/cjs/helpers/interactions.js.map +1 -1
  22. package/dist/cjs/helpers/synthetic-native-wrap.js +3 -2
  23. package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -1
  24. package/dist/cjs/types/enums.js +1 -0
  25. package/dist/cjs/types/enums.js.map +1 -1
  26. package/dist/cjs/types/request.js +15 -2
  27. package/dist/cjs/types/request.js.map +1 -1
  28. package/dist/cjs/types/response.js +2 -1
  29. package/dist/cjs/types/response.js.map +1 -1
  30. package/dist/cjs/types/validation.js +21 -3
  31. package/dist/cjs/types/validation.js.map +1 -1
  32. package/dist/cjs/validations/compensation-hook.js +4 -5
  33. package/dist/cjs/validations/compensation-hook.js.map +1 -1
  34. package/dist/cjs/validations/cost-token.js +9 -1
  35. package/dist/cjs/validations/cost-token.js.map +1 -1
  36. package/dist/cjs/validations/echo-fields.js +18 -0
  37. package/dist/cjs/validations/echo-fields.js.map +1 -1
  38. package/dist/cjs/validations/evm-caveats.js +3 -0
  39. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  40. package/dist/cjs/validations/evm-on-chain-intent.js +150 -0
  41. package/dist/cjs/validations/evm-on-chain-intent.js.map +1 -0
  42. package/dist/cjs/validations/evm-op-budget.js +23 -3
  43. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  44. package/dist/cjs/validations/evm-op-hook.js +6 -6
  45. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  46. package/dist/cjs/validations/evm-permit.js +17 -6
  47. package/dist/cjs/validations/evm-permit.js.map +1 -1
  48. package/dist/cjs/validations/evm-permit2.js +14 -6
  49. package/dist/cjs/validations/evm-permit2.js.map +1 -1
  50. package/dist/cjs/validations/evm-required-actions.js +26 -7
  51. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  52. package/dist/cjs/validations/evm-sign712-metamask.js +3 -126
  53. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
  54. package/dist/cjs/validations/evm-sign712-shared.js +127 -0
  55. package/dist/cjs/validations/evm-sign712-shared.js.map +1 -1
  56. package/dist/cjs/validations/evm-sign712.js +18 -2
  57. package/dist/cjs/validations/evm-sign712.js.map +1 -1
  58. package/dist/cjs/validations/evm-sign7702.js +2 -0
  59. package/dist/cjs/validations/evm-sign7702.js.map +1 -1
  60. package/dist/cjs/validations/evm-transaction.js +7 -1
  61. package/dist/cjs/validations/evm-transaction.js.map +1 -1
  62. package/dist/cjs/validations/external-call.js +9 -20
  63. package/dist/cjs/validations/external-call.js.map +1 -1
  64. package/dist/cjs/validations/hook-version.js +35 -0
  65. package/dist/cjs/validations/hook-version.js.map +1 -0
  66. package/dist/cjs/validations/hooks-common.js +74 -199
  67. package/dist/cjs/validations/hooks-common.js.map +1 -1
  68. package/dist/cjs/validations/intent-destinations.js +52 -50
  69. package/dist/cjs/validations/intent-destinations.js.map +1 -1
  70. package/dist/cjs/validations/intent-tokens.js +319 -79
  71. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  72. package/dist/cjs/validations/intent.js +34 -26
  73. package/dist/cjs/validations/intent.js.map +1 -1
  74. package/dist/cjs/validations/max-reserved.js +54 -0
  75. package/dist/cjs/validations/max-reserved.js.map +1 -0
  76. package/dist/cjs/validations/on-chain-intent-submission.js +70 -0
  77. package/dist/cjs/validations/on-chain-intent-submission.js.map +1 -0
  78. package/dist/cjs/validations/ptp.js +9 -6
  79. package/dist/cjs/validations/ptp.js.map +1 -1
  80. package/dist/cjs/validations/refill.js +11 -5
  81. package/dist/cjs/validations/refill.js.map +1 -1
  82. package/dist/cjs/validations/solana-hook.js +12 -64
  83. package/dist/cjs/validations/solana-hook.js.map +1 -1
  84. package/dist/cjs/validations/solana-op-budget.js +1 -1
  85. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  86. package/dist/cjs/validations/solana-op-wrap.js +29 -47
  87. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  88. package/dist/cjs/validations/solana-required-actions.js +2 -2
  89. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  90. package/dist/cjs/validations/solana-transaction.js +4 -53
  91. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  92. package/dist/cjs/validations/total-dst-amount.js +19 -3
  93. package/dist/cjs/validations/total-dst-amount.js.map +1 -1
  94. package/dist/cjs/validations/trade-grouping.js +35 -9
  95. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  96. package/dist/cjs/validations/trade-matching.js +1 -1
  97. package/dist/cjs/validations/trade-matching.js.map +1 -1
  98. package/dist/cjs/validations/trades.js +29 -9
  99. package/dist/cjs/validations/trades.js.map +1 -1
  100. package/dist/cjs/validator.js +28 -17
  101. package/dist/cjs/validator.js.map +1 -1
  102. package/dist/cjs/whitelists/environment-config.js +9 -22
  103. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  104. package/dist/cjs/whitelists/types.js +2 -5
  105. package/dist/cjs/whitelists/types.js.map +1 -1
  106. package/dist/esm/graylists/evm/token-permit-metadata.js +7 -1
  107. package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -1
  108. package/dist/esm/helpers/address.js +133 -61
  109. package/dist/esm/helpers/address.js.map +1 -1
  110. package/dist/esm/helpers/amount.js +5 -0
  111. package/dist/esm/helpers/amount.js.map +1 -0
  112. package/dist/esm/helpers/evm-dln-hook-pack.js +15 -4
  113. package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -1
  114. package/dist/esm/helpers/evm-gas-compensation-tx.js +12 -27
  115. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +1 -1
  116. package/dist/esm/helpers/evm-intent-id-abi.js +7 -0
  117. package/dist/esm/helpers/evm-intent-id-abi.js.map +1 -1
  118. package/dist/esm/helpers/evm-trade-amounts.js +12 -4
  119. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  120. package/dist/esm/helpers/expected-delegate.js +2 -6
  121. package/dist/esm/helpers/expected-delegate.js.map +1 -1
  122. package/dist/esm/helpers/gas-compensation.js +9 -5
  123. package/dist/esm/helpers/gas-compensation.js.map +1 -1
  124. package/dist/esm/helpers/interactions.js +5 -21
  125. package/dist/esm/helpers/interactions.js.map +1 -1
  126. package/dist/esm/helpers/synthetic-native-wrap.js +4 -3
  127. package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -1
  128. package/dist/esm/types/enums.js +1 -0
  129. package/dist/esm/types/enums.js.map +1 -1
  130. package/dist/esm/types/request.js +15 -2
  131. package/dist/esm/types/request.js.map +1 -1
  132. package/dist/esm/types/response.js +3 -2
  133. package/dist/esm/types/response.js.map +1 -1
  134. package/dist/esm/types/validation.js +21 -3
  135. package/dist/esm/types/validation.js.map +1 -1
  136. package/dist/esm/validations/compensation-hook.js +4 -5
  137. package/dist/esm/validations/compensation-hook.js.map +1 -1
  138. package/dist/esm/validations/cost-token.js +9 -1
  139. package/dist/esm/validations/cost-token.js.map +1 -1
  140. package/dist/esm/validations/echo-fields.js +18 -0
  141. package/dist/esm/validations/echo-fields.js.map +1 -1
  142. package/dist/esm/validations/evm-caveats.js +3 -0
  143. package/dist/esm/validations/evm-caveats.js.map +1 -1
  144. package/dist/esm/validations/evm-on-chain-intent.js +147 -0
  145. package/dist/esm/validations/evm-on-chain-intent.js.map +1 -0
  146. package/dist/esm/validations/evm-op-budget.js +25 -5
  147. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  148. package/dist/esm/validations/evm-op-hook.js +8 -8
  149. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  150. package/dist/esm/validations/evm-permit.js +18 -7
  151. package/dist/esm/validations/evm-permit.js.map +1 -1
  152. package/dist/esm/validations/evm-permit2.js +15 -7
  153. package/dist/esm/validations/evm-permit2.js.map +1 -1
  154. package/dist/esm/validations/evm-required-actions.js +28 -9
  155. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  156. package/dist/esm/validations/evm-sign712-metamask.js +4 -126
  157. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
  158. package/dist/esm/validations/evm-sign712-shared.js +126 -1
  159. package/dist/esm/validations/evm-sign712-shared.js.map +1 -1
  160. package/dist/esm/validations/evm-sign712.js +17 -2
  161. package/dist/esm/validations/evm-sign712.js.map +1 -1
  162. package/dist/esm/validations/evm-sign7702.js +2 -0
  163. package/dist/esm/validations/evm-sign7702.js.map +1 -1
  164. package/dist/esm/validations/evm-transaction.js +7 -1
  165. package/dist/esm/validations/evm-transaction.js.map +1 -1
  166. package/dist/esm/validations/external-call.js +10 -21
  167. package/dist/esm/validations/external-call.js.map +1 -1
  168. package/dist/esm/validations/hook-version.js +31 -0
  169. package/dist/esm/validations/hook-version.js.map +1 -0
  170. package/dist/esm/validations/hooks-common.js +75 -200
  171. package/dist/esm/validations/hooks-common.js.map +1 -1
  172. package/dist/esm/validations/intent-destinations.js +53 -51
  173. package/dist/esm/validations/intent-destinations.js.map +1 -1
  174. package/dist/esm/validations/intent-tokens.js +320 -80
  175. package/dist/esm/validations/intent-tokens.js.map +1 -1
  176. package/dist/esm/validations/intent.js +34 -26
  177. package/dist/esm/validations/intent.js.map +1 -1
  178. package/dist/esm/validations/max-reserved.js +51 -0
  179. package/dist/esm/validations/max-reserved.js.map +1 -0
  180. package/dist/esm/validations/on-chain-intent-submission.js +67 -0
  181. package/dist/esm/validations/on-chain-intent-submission.js.map +1 -0
  182. package/dist/esm/validations/ptp.js +9 -6
  183. package/dist/esm/validations/ptp.js.map +1 -1
  184. package/dist/esm/validations/refill.js +11 -5
  185. package/dist/esm/validations/refill.js.map +1 -1
  186. package/dist/esm/validations/solana-hook.js +12 -64
  187. package/dist/esm/validations/solana-hook.js.map +1 -1
  188. package/dist/esm/validations/solana-op-budget.js +1 -1
  189. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  190. package/dist/esm/validations/solana-op-wrap.js +30 -48
  191. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  192. package/dist/esm/validations/solana-required-actions.js +2 -2
  193. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  194. package/dist/esm/validations/solana-transaction.js +4 -53
  195. package/dist/esm/validations/solana-transaction.js.map +1 -1
  196. package/dist/esm/validations/total-dst-amount.js +20 -4
  197. package/dist/esm/validations/total-dst-amount.js.map +1 -1
  198. package/dist/esm/validations/trade-grouping.js +35 -10
  199. package/dist/esm/validations/trade-grouping.js.map +1 -1
  200. package/dist/esm/validations/trade-matching.js +1 -1
  201. package/dist/esm/validations/trade-matching.js.map +1 -1
  202. package/dist/esm/validations/trades.js +29 -9
  203. package/dist/esm/validations/trades.js.map +1 -1
  204. package/dist/esm/validator.js +28 -17
  205. package/dist/esm/validator.js.map +1 -1
  206. package/dist/esm/whitelists/environment-config.js +8 -21
  207. package/dist/esm/whitelists/environment-config.js.map +1 -1
  208. package/dist/esm/whitelists/types.js +3 -6
  209. package/dist/esm/whitelists/types.js.map +1 -1
  210. package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -1
  211. package/dist/types/helpers/address.d.ts +9 -5
  212. package/dist/types/helpers/address.d.ts.map +1 -1
  213. package/dist/types/helpers/amount.d.ts +2 -0
  214. package/dist/types/helpers/amount.d.ts.map +1 -0
  215. package/dist/types/helpers/evm-dln-hook-pack.d.ts +1 -0
  216. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -1
  217. package/dist/types/helpers/evm-gas-compensation-tx.d.ts +1 -3
  218. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +1 -1
  219. package/dist/types/helpers/evm-intent-id-abi.d.ts +111 -0
  220. package/dist/types/helpers/evm-intent-id-abi.d.ts.map +1 -1
  221. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  222. package/dist/types/helpers/expected-delegate.d.ts.map +1 -1
  223. package/dist/types/helpers/gas-compensation.d.ts.map +1 -1
  224. package/dist/types/helpers/interactions.d.ts.map +1 -1
  225. package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -1
  226. package/dist/types/types/enums.d.ts +1 -0
  227. package/dist/types/types/enums.d.ts.map +1 -1
  228. package/dist/types/types/request.d.ts +32 -23
  229. package/dist/types/types/request.d.ts.map +1 -1
  230. package/dist/types/types/response.d.ts +10 -42
  231. package/dist/types/types/response.d.ts.map +1 -1
  232. package/dist/types/types/validation.d.ts +19 -4
  233. package/dist/types/types/validation.d.ts.map +1 -1
  234. package/dist/types/validations/compensation-hook.d.ts +1 -2
  235. package/dist/types/validations/compensation-hook.d.ts.map +1 -1
  236. package/dist/types/validations/cost-token.d.ts.map +1 -1
  237. package/dist/types/validations/echo-fields.d.ts.map +1 -1
  238. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  239. package/dist/types/validations/evm-on-chain-intent.d.ts +4 -0
  240. package/dist/types/validations/evm-on-chain-intent.d.ts.map +1 -0
  241. package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
  242. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  243. package/dist/types/validations/evm-permit.d.ts.map +1 -1
  244. package/dist/types/validations/evm-permit2.d.ts.map +1 -1
  245. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  246. package/dist/types/validations/evm-sign712-metamask.d.ts +0 -11
  247. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  248. package/dist/types/validations/evm-sign712-shared.d.ts +12 -0
  249. package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -1
  250. package/dist/types/validations/evm-sign712.d.ts +1 -0
  251. package/dist/types/validations/evm-sign712.d.ts.map +1 -1
  252. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  253. package/dist/types/validations/evm-transaction.d.ts +1 -1
  254. package/dist/types/validations/evm-transaction.d.ts.map +1 -1
  255. package/dist/types/validations/external-call.d.ts.map +1 -1
  256. package/dist/types/validations/hook-version.d.ts +7 -0
  257. package/dist/types/validations/hook-version.d.ts.map +1 -0
  258. package/dist/types/validations/hooks-common.d.ts +1 -4
  259. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  260. package/dist/types/validations/intent-destinations.d.ts.map +1 -1
  261. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  262. package/dist/types/validations/max-reserved.d.ts +3 -0
  263. package/dist/types/validations/max-reserved.d.ts.map +1 -0
  264. package/dist/types/validations/on-chain-intent-submission.d.ts +3 -0
  265. package/dist/types/validations/on-chain-intent-submission.d.ts.map +1 -0
  266. package/dist/types/validations/ptp.d.ts.map +1 -1
  267. package/dist/types/validations/refill.d.ts.map +1 -1
  268. package/dist/types/validations/solana-hook.d.ts +1 -2
  269. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  270. package/dist/types/validations/solana-op-wrap.d.ts +2 -2
  271. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  272. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  273. package/dist/types/validations/solana-transaction.d.ts +3 -3
  274. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  275. package/dist/types/validations/total-dst-amount.d.ts.map +1 -1
  276. package/dist/types/validations/trade-grouping.d.ts +1 -0
  277. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  278. package/dist/types/validations/trades.d.ts.map +1 -1
  279. package/dist/types/validator.d.ts.map +1 -1
  280. package/dist/types/whitelists/environment-config.d.ts +0 -1
  281. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  282. package/dist/types/whitelists/types.d.ts +0 -1
  283. package/dist/types/whitelists/types.d.ts.map +1 -1
  284. package/package.json +5 -2
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HookMode = void 0;
4
4
  exports.validateHooks = validateHooks;
5
5
  const types_1 = require("../types");
6
- const request_1 = require("../types/request");
7
6
  const enums_1 = require("../types/enums");
8
7
  const address_1 = require("../helpers/address");
9
8
  const gas_compensation_1 = require("../helpers/gas-compensation");
@@ -22,30 +21,71 @@ const EVM_HOOK_OPERATIONS = [
22
21
  enums_1.EvmActionOperation.GasCompensation,
23
22
  ];
24
23
  const EVM_HOOK_OPERATIONS_SET = new Set(EVM_HOOK_OPERATIONS);
25
- const EVM_LEGACY_V1_HOOK_OPERATIONS = [
26
- enums_1.EvmActionOperation.Delegate,
27
- enums_1.EvmActionOperation.Budget,
28
- enums_1.EvmActionOperation.Hook,
29
- enums_1.EvmActionOperation.GasCompensation,
30
- ];
31
- const EVM_LEGACY_V1_HOOK_OPERATIONS_SET = new Set(EVM_LEGACY_V1_HOOK_OPERATIONS);
32
24
  const SOLANA_HOOK_OPERATIONS = [
33
25
  enums_1.SolanaActionOperation.Hook,
34
26
  enums_1.SolanaActionOperation.GasCompensation,
35
27
  ];
36
28
  const SOLANA_HOOK_OPERATIONS_SET = new Set(SOLANA_HOOK_OPERATIONS);
37
- const LEGACY_AMOUNT_PLACEHOLDER_REGEX = /\{amount(?:\.\d+)?\}/;
38
- var HookShape;
39
- (function (HookShape) {
40
- HookShape[HookShape["LegacyV1"] = 1] = "LegacyV1";
41
- HookShape[HookShape["CurrentV2"] = 2] = "CurrentV2";
42
- })(HookShape || (HookShape = {}));
43
- function validateHooks(request, response, quoteMode, envConfig, options) {
29
+ function validateHooks(request, response, quoteMode, envConfig) {
44
30
  return [
45
31
  ...validateHookAAConstraint(request, response),
32
+ ...validateRequestHookChainFields(request),
46
33
  ...validateHookCounts(request, response),
47
- ...validatePreHooks(request, response, quoteMode, envConfig, options),
48
- ...validatePostHooks(request, response, quoteMode, envConfig, options),
34
+ ...validatePreHooks(request, response, quoteMode, envConfig),
35
+ ...validatePostHooks(request, response, quoteMode, envConfig),
36
+ ];
37
+ }
38
+ function validateRequestHookChainFields(request) {
39
+ const hookChainViolations = [];
40
+ const gasCompensationViolations = [];
41
+ const hookLists = [
42
+ { hooks: request.preHooks ?? [], path: "request.preHooks" },
43
+ { hooks: request.postHooks ?? [], path: "request.postHooks" },
44
+ ];
45
+ for (const hookList of hookLists) {
46
+ for (let i = 0; i < hookList.hooks.length; i++) {
47
+ const hook = hookList.hooks[i];
48
+ if ((0, subscription_to_chain_id_1.resolveChainId)(hook.chainId) === undefined) {
49
+ hookChainViolations.push({
50
+ code: types_1.ViolationCode.UnknownSubscriptionId,
51
+ message: `chainId=${hook.chainId} is not a known subscriptionId`,
52
+ path: `${hookList.path}[${i}].chainId`,
53
+ actual: hook.chainId,
54
+ });
55
+ }
56
+ // Validate `hook.gasCompensationInfo`
57
+ if (hook.gasCompensationInfo === undefined)
58
+ continue;
59
+ const info = hook.gasCompensationInfo;
60
+ const realChainId = (0, subscription_to_chain_id_1.resolveChainId)(info.chainId);
61
+ if (realChainId === undefined) {
62
+ gasCompensationViolations.push({
63
+ code: types_1.ViolationCode.UnknownSubscriptionId,
64
+ message: `chainId=${info.chainId} is not a known subscriptionId`,
65
+ path: `${hookList.path}[${i}].gasCompensationInfo.chainId`,
66
+ actual: info.chainId,
67
+ });
68
+ // Safe skip: the unknown chain is reported above and cannot
69
+ // supply a reliable address representation policy.
70
+ continue;
71
+ }
72
+ for (const field of ["tokenAddress", "sender"]) {
73
+ if ((0, address_1.isAddressRepresentationValidForChain)(realChainId, info[field]))
74
+ continue;
75
+ gasCompensationViolations.push({
76
+ code: types_1.ViolationCode.RequestHookAddressInvalid,
77
+ message: `request hook gasCompensationInfo.${field} is not a valid`
78
+ + " address for chainId",
79
+ path: `${hookList.path}[${i}].gasCompensationInfo.${field}`,
80
+ expected: { chainId: info.chainId, realChainId },
81
+ actual: info[field],
82
+ });
83
+ }
84
+ }
85
+ }
86
+ return [
87
+ ...hookChainViolations,
88
+ ...gasCompensationViolations,
49
89
  ];
50
90
  }
51
91
  // HIGH: hooks must be empty when AA=false
@@ -109,18 +149,18 @@ function validateHookCounts(request, response) {
109
149
  }
110
150
  return violations;
111
151
  }
112
- function validatePreHooks(request, response, quoteMode, envConfig, options) {
152
+ function validatePreHooks(request, response, quoteMode, envConfig) {
113
153
  const violations = [];
114
154
  const requestHooks = request.preHooks ?? [];
115
155
  for (let i = 0; i < response.preHooks.length; i++) {
116
156
  const basePath = `response.preHooks[${i}]`;
117
157
  const hookPayload = response.preHooks[i];
118
158
  const requestHook = requestHooks[i];
119
- violations.push(...validateSingleHookPayload(hookPayload, requestHook, basePath, request, response.trades, getBundleIntentExpirationTimestamp(response), placeholder_1.HookMode.PreHooks, quoteMode, envConfig, options));
159
+ violations.push(...validateSingleHookPayload(hookPayload, requestHook, basePath, request, response.trades, getBundleIntentExpirationTimestamp(response), placeholder_1.HookMode.PreHooks, quoteMode, envConfig));
120
160
  }
121
161
  return violations;
122
162
  }
123
- function validatePostHooks(request, response, quoteMode, envConfig, options) {
163
+ function validatePostHooks(request, response, quoteMode, envConfig) {
124
164
  const violations = [];
125
165
  const requestHooks = request.postHooks ?? [];
126
166
  for (let i = 0; i < response.postHooks.length; i++) {
@@ -128,7 +168,7 @@ function validatePostHooks(request, response, quoteMode, envConfig, options) {
128
168
  const hookPayload = response.postHooks[i];
129
169
  // User postHooks are matched by index; extra entries are compensation hooks
130
170
  const requestHook = i < requestHooks.length ? requestHooks[i] : undefined;
131
- violations.push(...validateSingleHookPayload(hookPayload, requestHook, basePath, request, response.trades, getBundleIntentExpirationTimestamp(response), placeholder_1.HookMode.PostHooks, quoteMode, envConfig, options));
171
+ violations.push(...validateSingleHookPayload(hookPayload, requestHook, basePath, request, response.trades, getBundleIntentExpirationTimestamp(response), placeholder_1.HookMode.PostHooks, quoteMode, envConfig));
132
172
  }
133
173
  return violations;
134
174
  }
@@ -138,14 +178,8 @@ function getBundleIntentExpirationTimestamp(response) {
138
178
  // expiration across all intents, so the first intent is the canonical source.
139
179
  return response.intents[0]?.intent.expirationTimestamp;
140
180
  }
141
- function validateSingleHookPayload(hookPayload, requestHook, basePath, request, responseTrades, bundleIntentExpirationTimestamp, mode, quoteMode, envConfig, options) {
181
+ function validateSingleHookPayload(hookPayload, requestHook, basePath, request, responseTrades, bundleIntentExpirationTimestamp, mode, quoteMode, envConfig) {
142
182
  const isCompensationPreHook = requestHook === undefined && mode === placeholder_1.HookMode.PreHooks;
143
- const legacySupportViolations = validateLegacyHookV1Support(hookPayload, requestHook, basePath, options);
144
- if (legacySupportViolations.length > 0) {
145
- // Safe skip: disabled legacy V1 tolerance needs one semantic violation;
146
- // continuing would emit V2-specific cascade errors.
147
- return legacySupportViolations;
148
- }
149
183
  return [
150
184
  ...validateHookEcho(hookPayload, requestHook, basePath, responseTrades, mode, quoteMode),
151
185
  ...(0, action_kind_1.validateRequiredActionChainFamily)(hookPayload.requiredActions, basePath, (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(hookPayload.hook.chainId)),
@@ -154,31 +188,11 @@ function validateSingleHookPayload(hookPayload, requestHook, basePath, request,
154
188
  ...validateHookDelegateOp(hookPayload, basePath),
155
189
  ...validateGasCompensationRequiresInfo(hookPayload, basePath, request),
156
190
  ...(isCompensationPreHook
157
- ? (0, compensation_hook_1.validateCompensationHookStructure)(hookPayload, basePath, request, envConfig)
191
+ ? (0, compensation_hook_1.validateCompensationHookStructure)(hookPayload, basePath, request)
158
192
  : []),
159
193
  ...dispatchChainSpecificValidation(hookPayload, requestHook, basePath, quoteMode, request, mode, responseTrades, bundleIntentExpirationTimestamp, envConfig),
160
194
  ];
161
195
  }
162
- // HIGH: legacy V1 hook tolerance is temporary and configurable.
163
- function validateLegacyHookV1Support(hookPayload, requestHook, basePath, options) {
164
- if (options.allowLegacyHookV1)
165
- return [];
166
- if (!isLegacyHookV1Pair(hookPayload, requestHook))
167
- return [];
168
- return [{
169
- code: types_1.ViolationCode.LegacyHookV1Unsupported,
170
- message: "legacy V1 hook is disabled by validator config",
171
- path: `${basePath}.hook`,
172
- expected: {
173
- requestHookShape: requestHook === undefined ? undefined : HookShape.CurrentV2,
174
- responseHookShape: HookShape.CurrentV2,
175
- },
176
- actual: {
177
- requestHookShape: requestHook === undefined ? undefined : getHookShape(requestHook),
178
- responseHookShape: getHookShape(hookPayload.hook),
179
- },
180
- }];
181
- }
182
196
  // CRITICAL: response hook must echo back the request hook field-by-field.
183
197
  // Notes:
184
198
  // - hook.data in the response has eager placeholders resolved (deferred markers kept).
@@ -210,15 +224,6 @@ function validateHookEcho(hookPayload, requestHook, basePath, responseTrades, mo
210
224
  return [];
211
225
  }
212
226
  const hookPath = `${basePath}.hook`;
213
- if (!(0, request_1.isRequestHookV2)(requestHook)) {
214
- if ((0, request_1.isRequestHookV2)(hookPayload.hook)) {
215
- return [echoMismatch(`${hookPath}.shape`, getHookShape(requestHook), getHookShape(hookPayload.hook))];
216
- }
217
- return validateLegacyHookEcho(hookPayload, requestHook, basePath, responseTrades, mode);
218
- }
219
- if (!(0, request_1.isRequestHookV2)(hookPayload.hook)) {
220
- return [echoMismatch(`${hookPath}.shape`, getHookShape(requestHook), getHookShape(hookPayload.hook))];
221
- }
222
227
  const echoed = hookPayload.hook;
223
228
  const chainId = requestHook.chainId;
224
229
  const realChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(chainId);
@@ -265,28 +270,6 @@ function validateHookEcho(hookPayload, requestHook, basePath, responseTrades, mo
265
270
  }
266
271
  return violations;
267
272
  }
268
- function validateLegacyHookEcho(hookPayload, requestHook, basePath, responseTrades, mode) {
269
- const echoed = hookPayload.hook;
270
- const hookPath = `${basePath}.hook`;
271
- const realChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(requestHook.chainId);
272
- const violations = [];
273
- if (echoed.chainId !== requestHook.chainId) {
274
- violations.push(echoMismatch(`${hookPath}.chainId`, requestHook.chainId, echoed.chainId));
275
- }
276
- if (!(0, address_1.addressEquals)(realChainId, echoed.from, requestHook.from)) {
277
- violations.push(echoMismatch(`${hookPath}.from`, requestHook.from, echoed.from));
278
- }
279
- if (echoed.isAtomic !== requestHook.isAtomic) {
280
- violations.push(echoMismatch(`${hookPath}.isAtomic`, requestHook.isAtomic, echoed.isAtomic));
281
- }
282
- violations.push(...compareOptionalAddress(realChainId, `${hookPath}.to`, requestHook.to, echoed.to));
283
- violations.push(...compareLegacyHookValue(requestHook, echoed.value, `${hookPath}.value`, responseTrades, mode, realChainId));
284
- violations.push(...compareLegacyHookData(requestHook, echoed.data, `${hookPath}.data`, responseTrades, mode, realChainId));
285
- if (!(0, request_1.isRequestHookV2)(requestHook) && !(0, request_1.isRequestHookV2)(echoed)) {
286
- violations.push(...compareOptionalAddress(realChainId, `${hookPath}.tokenAddress`, requestHook.tokenAddress, echoed.tokenAddress));
287
- }
288
- return violations;
289
- }
290
273
  function echoMismatch(path, expected, actual) {
291
274
  return {
292
275
  code: types_1.ViolationCode.HookEchoMismatch,
@@ -312,38 +295,6 @@ function compareOptionalAddress(chainId, path, expected, actual) {
312
295
  }
313
296
  return [];
314
297
  }
315
- function compareLegacyHookData(requestHook, actual, path, responseTrades, mode, realChainId) {
316
- if ((0, request_1.isRequestHookV2)(requestHook) || !LEGACY_AMOUNT_PLACEHOLDER_REGEX.test(requestHook.data)) {
317
- return requestHook.data === actual ? [] : [echoMismatch(path, requestHook.data, actual)];
318
- }
319
- const { resolved, errors } = (0, placeholder_1.resolveEagerPlaceholders)(requestHook.data, realChainId, [createLegacyV1AmountPlaceholder(requestHook)], responseTrades, mode);
320
- if (errors.length > 0) {
321
- // Safe skip: legacy V1 placeholder expansion is temporary tolerance logic.
322
- // Ambiguous expansion must not create a false-positive echo violation.
323
- return [];
324
- }
325
- return resolved === actual ? [] : [echoMismatch(path, resolved, actual)];
326
- }
327
- function compareLegacyHookValue(requestHook, actual, path, responseTrades, mode, realChainId) {
328
- if ((0, request_1.isRequestHookV2)(requestHook) || !LEGACY_AMOUNT_PLACEHOLDER_REGEX.test(requestHook.value)) {
329
- return compareOptionalString(path, requestHook.value, actual);
330
- }
331
- const { resolved, errors } = (0, placeholder_1.resolveEagerValuePlaceholders)(requestHook.value, realChainId, [createLegacyV1AmountPlaceholder(requestHook)], responseTrades, mode);
332
- if (errors.length > 0) {
333
- // Safe skip: legacy V1 placeholder expansion is temporary tolerance logic.
334
- // Ambiguous expansion must not create a false-positive echo violation.
335
- return [];
336
- }
337
- return compareOptionalString(path, resolved, actual);
338
- }
339
- function createLegacyV1AmountPlaceholder(hook) {
340
- return {
341
- nameVariable: "amount",
342
- tokenAddress: hook.tokenAddress,
343
- address: hook.from,
344
- additionalAmount: hook.additionalAmountForPlaceholder,
345
- };
346
- }
347
298
  // HIGH: unique actionIds within hook requiredActions
348
299
  function validateHookUniqueActionIds(hookPayload, basePath) {
349
300
  const seen = new Map();
@@ -461,29 +412,11 @@ function placeholderResolutionViolations(errors, path) {
461
412
  };
462
413
  });
463
414
  }
464
- function getHookAllowedOperationsSet(isSolana, isLegacyV1UserHook) {
465
- if (isSolana)
466
- return SOLANA_HOOK_OPERATIONS_SET;
467
- return isLegacyV1UserHook
468
- ? EVM_LEGACY_V1_HOOK_OPERATIONS_SET
469
- : EVM_HOOK_OPERATIONS_SET;
470
- }
471
- function getHookAllowedOperationsList(isSolana, isLegacyV1UserHook) {
472
- if (isSolana)
473
- return SOLANA_HOOK_OPERATIONS;
474
- return isLegacyV1UserHook ? EVM_LEGACY_V1_HOOK_OPERATIONS : EVM_HOOK_OPERATIONS;
475
- }
476
- function isLegacyHookV1Pair(hookPayload, requestHook) {
477
- return !(0, request_1.isRequestHookV2)(hookPayload.hook)
478
- || (requestHook !== undefined && !(0, request_1.isRequestHookV2)(requestHook));
479
- }
480
- function isUserLegacyHookV1(hookPayload, requestHook, isSolana) {
481
- if (requestHook === undefined || isSolana)
482
- return false;
483
- return isLegacyHookV1Pair(hookPayload, requestHook);
415
+ function getHookAllowedOperationsSet(isSolana) {
416
+ return isSolana ? SOLANA_HOOK_OPERATIONS_SET : EVM_HOOK_OPERATIONS_SET;
484
417
  }
485
- function getHookShape(hook) {
486
- return (0, request_1.isRequestHookV2)(hook) ? HookShape.CurrentV2 : HookShape.LegacyV1;
418
+ function getHookAllowedOperationsList(isSolana) {
419
+ return isSolana ? SOLANA_HOOK_OPERATIONS : EVM_HOOK_OPERATIONS;
487
420
  }
488
421
  // HIGH: hook required actions must use allowed operation names. In execution
489
422
  // mode there must also be exactly one primary action: [Hook] for user hooks or
@@ -492,9 +425,8 @@ function getHookShape(hook) {
492
425
  function validateHookActionsList(hookPayload, basePath, requestHook, mode, quoteMode) {
493
426
  const realChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(hookPayload.hook.chainId);
494
427
  const isSolana = (0, address_1.getChainEngine)(realChainId) === enums_1.ChainEngine.Solana;
495
- const isLegacyV1UserHook = isUserLegacyHookV1(hookPayload, requestHook, isSolana);
496
- const allowedSet = getHookAllowedOperationsSet(isSolana, isLegacyV1UserHook);
497
- const allowedList = getHookAllowedOperationsList(isSolana, isLegacyV1UserHook);
428
+ const allowedSet = getHookAllowedOperationsSet(isSolana);
429
+ const allowedList = getHookAllowedOperationsList(isSolana);
498
430
  const violations = [];
499
431
  for (let i = 0; i < hookPayload.requiredActions.length; i++) {
500
432
  const action = hookPayload.requiredActions[i];
@@ -520,14 +452,11 @@ function validateHookActionsList(hookPayload, basePath, requestHook, mode, quote
520
452
  }
521
453
  }
522
454
  if (!quoteMode) {
523
- violations.push(...validatePrimaryHookOperation(hookPayload, basePath, requestHook, mode, isSolana, isLegacyV1UserHook));
455
+ violations.push(...validatePrimaryHookOperation(hookPayload, basePath, requestHook, mode, isSolana));
524
456
  }
525
457
  return violations;
526
458
  }
527
- function validatePrimaryHookOperation(hookPayload, basePath, requestHook, mode, isSolana, isLegacyV1UserHook) {
528
- if (isLegacyV1UserHook) {
529
- return validateLegacyV1PrimaryHookOperation(hookPayload, basePath, requestHook);
530
- }
459
+ function validatePrimaryHookOperation(hookPayload, basePath, requestHook, mode, isSolana) {
531
460
  const expected = requestHook === undefined && mode === placeholder_1.HookMode.PreHooks
532
461
  ? (isSolana ? enums_1.SolanaActionOperation.GasCompensation : enums_1.EvmActionOperation.GasCompensation)
533
462
  : (isSolana ? enums_1.SolanaActionOperation.Hook : enums_1.EvmActionOperation.Hook);
@@ -556,51 +485,6 @@ function validatePrimaryHookOperation(hookPayload, basePath, requestHook, mode,
556
485
  }
557
486
  return violations;
558
487
  }
559
- function validateLegacyV1PrimaryHookOperation(hookPayload, basePath, requestHook) {
560
- const budgetAllowed = requestHook !== undefined
561
- && !(0, request_1.isRequestHookV2)(requestHook)
562
- && requestHook.preparePreRequiredActions !== false;
563
- const primaryIndices = [];
564
- const violations = [];
565
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
566
- const ops = hookPayload.requiredActions[i].actions;
567
- if (ops.length !== 1)
568
- continue;
569
- const op = ops[0];
570
- if (op === enums_1.EvmActionOperation.Delegate)
571
- continue;
572
- if (op === enums_1.EvmActionOperation.Budget && budgetAllowed)
573
- continue;
574
- if (op === enums_1.EvmActionOperation.Budget) {
575
- violations.push(legacyV1BudgetOperationViolation(basePath, i, ops));
576
- continue;
577
- }
578
- primaryIndices.push(i);
579
- if (op !== enums_1.EvmActionOperation.Hook) {
580
- violations.push(hookOperationViolation(basePath, i, [enums_1.EvmActionOperation.Hook], ops));
581
- }
582
- }
583
- if (primaryIndices.length !== 1) {
584
- violations.push({
585
- code: types_1.ViolationCode.HookActionsInvalid,
586
- message: "legacy V1 hook requiredActions must contain exactly one Hook operation",
587
- path: `${basePath}.requiredActions`,
588
- expected: [enums_1.EvmActionOperation.Hook],
589
- actual: primaryIndices.map(i => hookPayload.requiredActions[i].actions),
590
- });
591
- }
592
- return violations;
593
- }
594
- function legacyV1BudgetOperationViolation(basePath, index, actual) {
595
- return {
596
- code: types_1.ViolationCode.HookActionsInvalid,
597
- message: "legacy V1 hook Budget operation is allowed only when"
598
- + " preparePreRequiredActions is enabled",
599
- path: `${basePath}.requiredActions[${index}].actions`,
600
- expected: [enums_1.EvmActionOperation.Delegate, enums_1.EvmActionOperation.Hook],
601
- actual,
602
- };
603
- }
604
488
  function hookOperationViolation(basePath, index, expected, actual) {
605
489
  return {
606
490
  code: types_1.ViolationCode.HookActionsInvalid,
@@ -633,7 +517,7 @@ function validateHookDelegateOp(hookPayload, basePath) {
633
517
  if (indices.length === 0)
634
518
  return [];
635
519
  const violations = [];
636
- if ((0, request_1.isRequestHookV2)(hookPayload.hook) && hookPayload.hook.type === enums_1.BundleHookType.Direct) {
520
+ if (hookPayload.hook.type === enums_1.BundleHookType.Direct) {
637
521
  violations.push({
638
522
  code: types_1.ViolationCode.HookDelegateInDirect,
639
523
  message: "Direct hook must not contain a Delegate operation"
@@ -665,7 +549,7 @@ function validateHookDelegateOp(hookPayload, basePath) {
665
549
  }
666
550
  // CRITICAL: GasCompensation must only appear when gasCompensationInfo exists
667
551
  function validateGasCompensationRequiresInfo(hookPayload, basePath, request) {
668
- const hasGasCompensationInfo = (request.preHooks ?? []).some(h => (0, request_1.isRequestHookV2)(h) && h.gasCompensationInfo !== undefined);
552
+ const hasGasCompensationInfo = (request.preHooks ?? []).some(h => h.gasCompensationInfo !== undefined);
669
553
  const realChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(hookPayload.hook.chainId);
670
554
  const isSolana = (0, address_1.getChainEngine)(realChainId) === enums_1.ChainEngine.Solana;
671
555
  const gasCompensationOp = isSolana
@@ -690,18 +574,9 @@ function validateGasCompensationRequiresInfo(hookPayload, basePath, request) {
690
574
  }
691
575
  function dispatchChainSpecificValidation(hookPayload, requestHook, basePath, quoteMode, request, mode, responseTrades, bundleIntentExpirationTimestamp, envConfig) {
692
576
  const realChainId = (0, subscription_to_chain_id_1.resolveChainIdOrSelf)(hookPayload.hook.chainId);
693
- if (requestHook !== undefined && !(0, request_1.isRequestHookV2)(requestHook)) {
694
- // Safe skip: legacy hooks use the old placeholder model, which is not
695
- // independently reproducible by the V2 hook validators. Echo checks and
696
- // generic action-shape checks above still run.
697
- return [];
698
- }
699
- if (!(0, request_1.isRequestHookV2)(hookPayload.hook)) {
700
- return [];
701
- }
702
577
  if ((0, address_1.getChainEngine)(realChainId) === enums_1.ChainEngine.Solana) {
703
578
  const srcChainAuthorityAddress = findSolanaSrcChainAuthority(request);
704
- return (0, solana_hook_1.validateSolanaHookActions)(hookPayload, requestHook, basePath, quoteMode, srcChainAuthorityAddress, request, realChainId, mode, responseTrades, envConfig);
579
+ return (0, solana_hook_1.validateSolanaHookActions)(hookPayload, requestHook, basePath, quoteMode, srcChainAuthorityAddress, request, realChainId, mode, responseTrades);
705
580
  }
706
581
  return (0, evm_op_hook_1.validateEvmHookActions)(hookPayload, requestHook, basePath, mode, responseTrades, realChainId, request, bundleIntentExpirationTimestamp, envConfig);
707
582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-common.js","sourceRoot":"","sources":["../../../src/validations/hooks-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-common.js","sourceRoot":"","sources":["../../../src/validations/hooks-common.ts"],"names":[],"mappings":"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"}