@debridge-finance/borderless-validation-sdk 0.0.0-dev-3dc1a82 → 0.0.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 (272) hide show
  1. package/dist/cjs/helpers/address.js +18 -31
  2. package/dist/cjs/helpers/address.js.map +1 -1
  3. package/dist/cjs/helpers/constants.js +6 -0
  4. package/dist/cjs/helpers/constants.js.map +1 -0
  5. package/dist/cjs/helpers/evm-action.js +3 -3
  6. package/dist/cjs/helpers/evm-action.js.map +1 -1
  7. package/dist/cjs/helpers/evm-intent-id.js +1 -1
  8. package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
  9. package/dist/cjs/helpers/evm-trade-amounts.js +1 -36
  10. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  11. package/dist/cjs/types/enums.js +2 -26
  12. package/dist/cjs/types/enums.js.map +1 -1
  13. package/dist/cjs/types/request.js +2 -25
  14. package/dist/cjs/types/request.js.map +1 -1
  15. package/dist/cjs/types/response.js +4 -120
  16. package/dist/cjs/types/response.js.map +1 -1
  17. package/dist/cjs/types/validation.js +10 -74
  18. package/dist/cjs/types/validation.js.map +1 -1
  19. package/dist/cjs/validations/evm-caveats.js +14 -4
  20. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  21. package/dist/cjs/validations/evm-op-budget.js +10 -13
  22. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  23. package/dist/cjs/validations/evm-op-gas-compensation.js +152 -0
  24. package/dist/cjs/validations/evm-op-gas-compensation.js.map +1 -0
  25. package/dist/cjs/validations/evm-op-hook.js +3 -410
  26. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  27. package/dist/cjs/validations/evm-op-wrap.js +7 -10
  28. package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
  29. package/dist/cjs/validations/evm-required-actions.js +9 -7
  30. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  31. package/dist/cjs/validations/evm-sign712-metamask.js +94 -17
  32. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
  33. package/dist/cjs/validations/evm-sign7702.js +22 -34
  34. package/dist/cjs/validations/evm-sign7702.js.map +1 -1
  35. package/dist/cjs/validations/hooks-common.js +37 -252
  36. package/dist/cjs/validations/hooks-common.js.map +1 -1
  37. package/dist/cjs/validations/required-actions.js +7 -4
  38. package/dist/cjs/validations/required-actions.js.map +1 -1
  39. package/dist/cjs/validations/solana-hook.js +18 -32
  40. package/dist/cjs/validations/solana-hook.js.map +1 -1
  41. package/dist/cjs/validations/solana-op-budget.js +18 -56
  42. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  43. package/dist/cjs/validations/solana-op-wrap.js +13 -46
  44. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  45. package/dist/cjs/validations/solana-required-actions.js +3 -3
  46. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  47. package/dist/cjs/validations/solana-transaction.js +5 -5
  48. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  49. package/dist/cjs/validations/trade-grouping.js +1 -68
  50. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  51. package/dist/cjs/validations/trades.js +37 -59
  52. package/dist/cjs/validations/trades.js.map +1 -1
  53. package/dist/cjs/validator.js +16 -11
  54. package/dist/cjs/validator.js.map +1 -1
  55. package/dist/cjs/whitelists/environment-config.js +28 -47
  56. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  57. package/dist/cjs/whitelists/evm/caveat-enforcers.js +5 -21
  58. package/dist/cjs/whitelists/evm/caveat-enforcers.js.map +1 -1
  59. package/dist/cjs/whitelists/evm/delegation-manager.js +2 -7
  60. package/dist/cjs/whitelists/evm/delegation-manager.js.map +1 -1
  61. package/dist/cjs/whitelists/evm/eip7702-delegation.js +2 -7
  62. package/dist/cjs/whitelists/evm/eip7702-delegation.js.map +1 -1
  63. package/dist/cjs/whitelists/evm/index.js +1 -14
  64. package/dist/cjs/whitelists/evm/index.js.map +1 -1
  65. package/dist/cjs/whitelists/evm/permit2.js +12 -16
  66. package/dist/cjs/whitelists/evm/permit2.js.map +1 -1
  67. package/dist/cjs/whitelists/evm/weth.js +5 -16
  68. package/dist/cjs/whitelists/evm/weth.js.map +1 -1
  69. package/dist/cjs/whitelists/solana/intent-signature.js +1 -0
  70. package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
  71. package/dist/cjs/whitelists/subscription-to-chain-id.js +0 -10
  72. package/dist/cjs/whitelists/subscription-to-chain-id.js.map +1 -1
  73. package/dist/cjs/whitelists/types.js +3 -13
  74. package/dist/cjs/whitelists/types.js.map +1 -1
  75. package/dist/esm/helpers/address.js +17 -28
  76. package/dist/esm/helpers/address.js.map +1 -1
  77. package/dist/esm/helpers/constants.js +3 -0
  78. package/dist/esm/helpers/constants.js.map +1 -0
  79. package/dist/esm/helpers/evm-action.js +3 -3
  80. package/dist/esm/helpers/evm-action.js.map +1 -1
  81. package/dist/esm/helpers/evm-intent-id.js +1 -1
  82. package/dist/esm/helpers/evm-intent-id.js.map +1 -1
  83. package/dist/esm/helpers/evm-trade-amounts.js +1 -36
  84. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  85. package/dist/esm/types/enums.js +1 -25
  86. package/dist/esm/types/enums.js.map +1 -1
  87. package/dist/esm/types/request.js +3 -26
  88. package/dist/esm/types/request.js.map +1 -1
  89. package/dist/esm/types/response.js +3 -119
  90. package/dist/esm/types/response.js.map +1 -1
  91. package/dist/esm/types/validation.js +10 -74
  92. package/dist/esm/types/validation.js.map +1 -1
  93. package/dist/esm/validations/evm-caveats.js +14 -4
  94. package/dist/esm/validations/evm-caveats.js.map +1 -1
  95. package/dist/esm/validations/evm-op-budget.js +10 -13
  96. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  97. package/dist/esm/validations/evm-op-gas-compensation.js +149 -0
  98. package/dist/esm/validations/evm-op-gas-compensation.js.map +1 -0
  99. package/dist/esm/validations/evm-op-hook.js +2 -409
  100. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  101. package/dist/esm/validations/evm-op-wrap.js +7 -10
  102. package/dist/esm/validations/evm-op-wrap.js.map +1 -1
  103. package/dist/esm/validations/evm-required-actions.js +9 -7
  104. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  105. package/dist/esm/validations/evm-sign712-metamask.js +94 -17
  106. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
  107. package/dist/esm/validations/evm-sign7702.js +22 -33
  108. package/dist/esm/validations/evm-sign7702.js.map +1 -1
  109. package/dist/esm/validations/hooks-common.js +38 -251
  110. package/dist/esm/validations/hooks-common.js.map +1 -1
  111. package/dist/esm/validations/required-actions.js +7 -4
  112. package/dist/esm/validations/required-actions.js.map +1 -1
  113. package/dist/esm/validations/solana-hook.js +20 -34
  114. package/dist/esm/validations/solana-hook.js.map +1 -1
  115. package/dist/esm/validations/solana-op-budget.js +18 -56
  116. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  117. package/dist/esm/validations/solana-op-wrap.js +14 -47
  118. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  119. package/dist/esm/validations/solana-required-actions.js +3 -3
  120. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  121. package/dist/esm/validations/solana-transaction.js +7 -7
  122. package/dist/esm/validations/solana-transaction.js.map +1 -1
  123. package/dist/esm/validations/trade-grouping.js +1 -68
  124. package/dist/esm/validations/trade-grouping.js.map +1 -1
  125. package/dist/esm/validations/trades.js +37 -59
  126. package/dist/esm/validations/trades.js.map +1 -1
  127. package/dist/esm/validator.js +16 -11
  128. package/dist/esm/validator.js.map +1 -1
  129. package/dist/esm/whitelists/environment-config.js +28 -47
  130. package/dist/esm/whitelists/environment-config.js.map +1 -1
  131. package/dist/esm/whitelists/evm/caveat-enforcers.js +4 -20
  132. package/dist/esm/whitelists/evm/caveat-enforcers.js.map +1 -1
  133. package/dist/esm/whitelists/evm/delegation-manager.js +1 -6
  134. package/dist/esm/whitelists/evm/delegation-manager.js.map +1 -1
  135. package/dist/esm/whitelists/evm/eip7702-delegation.js +1 -6
  136. package/dist/esm/whitelists/evm/eip7702-delegation.js.map +1 -1
  137. package/dist/esm/whitelists/evm/index.js +4 -4
  138. package/dist/esm/whitelists/evm/index.js.map +1 -1
  139. package/dist/esm/whitelists/evm/permit2.js +5 -9
  140. package/dist/esm/whitelists/evm/permit2.js.map +1 -1
  141. package/dist/esm/whitelists/evm/weth.js +5 -16
  142. package/dist/esm/whitelists/evm/weth.js.map +1 -1
  143. package/dist/esm/whitelists/solana/intent-signature.js +1 -0
  144. package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
  145. package/dist/esm/whitelists/subscription-to-chain-id.js +0 -9
  146. package/dist/esm/whitelists/subscription-to-chain-id.js.map +1 -1
  147. package/dist/esm/whitelists/types.js +5 -14
  148. package/dist/esm/whitelists/types.js.map +1 -1
  149. package/dist/types/helpers/address.d.ts +7 -5
  150. package/dist/types/helpers/address.d.ts.map +1 -1
  151. package/dist/types/helpers/constants.d.ts +2 -0
  152. package/dist/types/helpers/constants.d.ts.map +1 -0
  153. package/dist/types/helpers/evm-trade-amounts.d.ts +2 -2
  154. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  155. package/dist/types/types/enums.d.ts +1 -19
  156. package/dist/types/types/enums.d.ts.map +1 -1
  157. package/dist/types/types/request.d.ts +9 -19
  158. package/dist/types/types/request.d.ts.map +1 -1
  159. package/dist/types/types/response.d.ts +11 -367
  160. package/dist/types/types/response.d.ts.map +1 -1
  161. package/dist/types/types/validation.d.ts +11 -67
  162. package/dist/types/types/validation.d.ts.map +1 -1
  163. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  164. package/dist/types/validations/evm-op-budget.d.ts +2 -2
  165. package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
  166. package/dist/types/validations/evm-op-gas-compensation.d.ts +3 -0
  167. package/dist/types/validations/evm-op-gas-compensation.d.ts.map +1 -0
  168. package/dist/types/validations/evm-op-hook.d.ts +2 -4
  169. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  170. package/dist/types/validations/evm-op-wrap.d.ts +2 -2
  171. package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
  172. package/dist/types/validations/evm-required-actions.d.ts +2 -2
  173. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  174. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  175. package/dist/types/validations/evm-sign7702.d.ts +1 -2
  176. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  177. package/dist/types/validations/hooks-common.d.ts +0 -1
  178. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  179. package/dist/types/validations/required-actions.d.ts +1 -2
  180. package/dist/types/validations/required-actions.d.ts.map +1 -1
  181. package/dist/types/validations/solana-hook.d.ts +2 -4
  182. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  183. package/dist/types/validations/solana-op-budget.d.ts +2 -2
  184. package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
  185. package/dist/types/validations/solana-op-wrap.d.ts +2 -2
  186. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  187. package/dist/types/validations/solana-required-actions.d.ts +2 -2
  188. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  189. package/dist/types/validations/solana-transaction.d.ts +3 -3
  190. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  191. package/dist/types/validations/trade-grouping.d.ts +2 -3
  192. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  193. package/dist/types/validator.d.ts.map +1 -1
  194. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  195. package/dist/types/whitelists/evm/caveat-enforcers.d.ts +0 -8
  196. package/dist/types/whitelists/evm/caveat-enforcers.d.ts.map +1 -1
  197. package/dist/types/whitelists/evm/delegation-manager.d.ts +0 -2
  198. package/dist/types/whitelists/evm/delegation-manager.d.ts.map +1 -1
  199. package/dist/types/whitelists/evm/eip7702-delegation.d.ts +0 -2
  200. package/dist/types/whitelists/evm/eip7702-delegation.d.ts.map +1 -1
  201. package/dist/types/whitelists/evm/index.d.ts +4 -4
  202. package/dist/types/whitelists/evm/index.d.ts.map +1 -1
  203. package/dist/types/whitelists/evm/permit2.d.ts +0 -1
  204. package/dist/types/whitelists/evm/permit2.d.ts.map +1 -1
  205. package/dist/types/whitelists/evm/weth.d.ts.map +1 -1
  206. package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
  207. package/dist/types/whitelists/subscription-to-chain-id.d.ts +0 -1
  208. package/dist/types/whitelists/subscription-to-chain-id.d.ts.map +1 -1
  209. package/dist/types/whitelists/types.d.ts +1 -1
  210. package/dist/types/whitelists/types.d.ts.map +1 -1
  211. package/package.json +2 -2
  212. package/README.md +0 -164
  213. package/dist/cjs/helpers/evm-gas-compensation-tx.js +0 -102
  214. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +0 -1
  215. package/dist/cjs/helpers/gas-compensation.js +0 -36
  216. package/dist/cjs/helpers/gas-compensation.js.map +0 -1
  217. package/dist/cjs/helpers/placeholder.js +0 -174
  218. package/dist/cjs/helpers/placeholder.js.map +0 -1
  219. package/dist/cjs/helpers/sets.js +0 -13
  220. package/dist/cjs/helpers/sets.js.map +0 -1
  221. package/dist/cjs/validations/compensation-hook.js +0 -203
  222. package/dist/cjs/validations/compensation-hook.js.map +0 -1
  223. package/dist/cjs/validations/evm-sign712-shared.js +0 -116
  224. package/dist/cjs/validations/evm-sign712-shared.js.map +0 -1
  225. package/dist/cjs/validations/intent-destinations.js +0 -197
  226. package/dist/cjs/validations/intent-destinations.js.map +0 -1
  227. package/dist/cjs/validations/intent-tokens.js +0 -341
  228. package/dist/cjs/validations/intent-tokens.js.map +0 -1
  229. package/dist/cjs/validations/intent.js +0 -288
  230. package/dist/cjs/validations/intent.js.map +0 -1
  231. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js +0 -16
  232. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js.map +0 -1
  233. package/dist/esm/helpers/evm-gas-compensation-tx.js +0 -99
  234. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +0 -1
  235. package/dist/esm/helpers/gas-compensation.js +0 -33
  236. package/dist/esm/helpers/gas-compensation.js.map +0 -1
  237. package/dist/esm/helpers/placeholder.js +0 -168
  238. package/dist/esm/helpers/placeholder.js.map +0 -1
  239. package/dist/esm/helpers/sets.js +0 -10
  240. package/dist/esm/helpers/sets.js.map +0 -1
  241. package/dist/esm/validations/compensation-hook.js +0 -200
  242. package/dist/esm/validations/compensation-hook.js.map +0 -1
  243. package/dist/esm/validations/evm-sign712-shared.js +0 -110
  244. package/dist/esm/validations/evm-sign712-shared.js.map +0 -1
  245. package/dist/esm/validations/intent-destinations.js +0 -194
  246. package/dist/esm/validations/intent-destinations.js.map +0 -1
  247. package/dist/esm/validations/intent-tokens.js +0 -338
  248. package/dist/esm/validations/intent-tokens.js.map +0 -1
  249. package/dist/esm/validations/intent.js +0 -285
  250. package/dist/esm/validations/intent.js.map +0 -1
  251. package/dist/esm/whitelists/evm/metamask-delegation-chains.js +0 -13
  252. package/dist/esm/whitelists/evm/metamask-delegation-chains.js.map +0 -1
  253. package/dist/types/helpers/evm-gas-compensation-tx.d.ts +0 -13
  254. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +0 -1
  255. package/dist/types/helpers/gas-compensation.d.ts +0 -10
  256. package/dist/types/helpers/gas-compensation.d.ts.map +0 -1
  257. package/dist/types/helpers/placeholder.d.ts +0 -41
  258. package/dist/types/helpers/placeholder.d.ts.map +0 -1
  259. package/dist/types/helpers/sets.d.ts +0 -2
  260. package/dist/types/helpers/sets.d.ts.map +0 -1
  261. package/dist/types/validations/compensation-hook.d.ts +0 -3
  262. package/dist/types/validations/compensation-hook.d.ts.map +0 -1
  263. package/dist/types/validations/evm-sign712-shared.d.ts +0 -7
  264. package/dist/types/validations/evm-sign712-shared.d.ts.map +0 -1
  265. package/dist/types/validations/intent-destinations.d.ts +0 -4
  266. package/dist/types/validations/intent-destinations.d.ts.map +0 -1
  267. package/dist/types/validations/intent-tokens.d.ts +0 -4
  268. package/dist/types/validations/intent-tokens.d.ts.map +0 -1
  269. package/dist/types/validations/intent.d.ts +0 -5
  270. package/dist/types/validations/intent.d.ts.map +0 -1
  271. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts +0 -3
  272. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts.map +0 -1
@@ -1,415 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateEvmHookActions = validateEvmHookActions;
4
- const types_1 = require("../types");
5
- const placeholder_1 = require("../helpers/placeholder");
6
- const gas_compensation_1 = require("../helpers/gas-compensation");
7
- const evm_gas_compensation_tx_1 = require("../helpers/evm-gas-compensation-tx");
8
- const address_1 = require("../helpers/address");
9
- const evm_sign7702_1 = require("./evm-sign7702");
10
- const evm_sign712_shared_1 = require("./evm-sign712-shared");
11
- const SIGN712_HOOK_TYPES = [
12
- types_1.EvmActionKind.Sign712MetaMaskCaveats,
13
- types_1.EvmActionKind.Sign712MetaMaskCaveatsWithPlaceholders,
14
- ];
15
- function validateEvmHookActions(hookPayload, requestHook, basePath, mode, responseTrades, realChainId, request) {
16
- const violations = [];
17
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
18
- const action = hookPayload.requiredActions[i];
19
- const actionPath = `${basePath}.requiredActions[${i}]`;
20
- violations.push(...validateHookSign7702Binding(action, actionPath, realChainId));
21
- }
22
- if (hookPayload.hook.type === types_1.BundleHookType.Direct) {
23
- violations.push(...validateDirectEvmHookActions(hookPayload, requestHook, basePath));
24
- }
25
- else { // BundleHookType.Delegated (default)
26
- violations.push(...validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, request.expirationTimestamp));
27
- }
28
- violations.push(...validateHookActionCalldata(hookPayload, requestHook, basePath, mode, responseTrades, realChainId));
29
- violations.push(...validateHookActionTransactionCallsMatch(hookPayload, basePath));
30
- if (requestHook === undefined && mode === placeholder_1.HookMode.PreHooks) {
31
- violations.push(...validateCompensationHookTransactionCall(hookPayload, basePath, request, realChainId));
32
- }
33
- return violations;
34
- }
35
- // CRITICAL: every action that carries the `Delegate` operation must have
36
- // type `Sign7702Authorization`, and every `Sign7702Authorization` action must
37
- // carry exactly `[Delegate]` and a whitelisted contractAddress. Without this
38
- // binding, an action with `actions:[Delegate]` and an arbitrary `type` (e.g.
39
- // `Transaction`) would slip through the operation/position checks elsewhere.
40
- // The per-action [Delegate] + contractAddress checks are shared with intent-scope
41
- // via `validateSign7702Action`; the type <-> [Delegate] binding is hook-specific.
42
- function validateHookSign7702Binding(action, actionPath, realChainId) {
43
- const violations = [];
44
- const ops = action.actions;
45
- const hasDelegate = ops.includes(types_1.EvmActionOperation.Delegate);
46
- const isSign7702 = action.type === types_1.EvmActionKind.Sign7702Authorization;
47
- if (hasDelegate && !isSign7702) {
48
- violations.push({
49
- code: types_1.ViolationCode.HookDelegateOpWrongType,
50
- message: "action with operation [Delegate] must have type"
51
- + " Sign7702Authorization",
52
- path: `${actionPath}.type`,
53
- expected: types_1.EvmActionKind.Sign7702Authorization,
54
- actual: action.type,
55
- });
56
- }
57
- if (isSign7702) {
58
- violations.push(...(0, evm_sign7702_1.validateSign7702Action)(action, actionPath, realChainId));
59
- }
60
- return violations;
61
- }
62
- // HIGH: a Direct EVM hook's hook-action must be `Transaction` (when no deferred
63
- // placeholders are declared) or `ProvidePlaceholders` (when at least one
64
- // deferred placeholder is declared). chainId and placeholder list are checked
65
- // per-action below.
66
- function validateDirectEvmHookActions(hookPayload, requestHook, basePath) {
67
- const violations = [];
68
- const expectedDeferred = collectDeferredPlaceholders(requestHook);
69
- const expectsTransaction = expectedDeferred.length === 0;
70
- const hookChainId = hookPayload.hook.chainId;
71
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
72
- const action = hookPayload.requiredActions[i];
73
- const actionPath = `${basePath}.requiredActions[${i}]`;
74
- // Safe skip: Delegate-bearing actions in Direct hooks are reported
75
- // as `HookDelegateInDirect` by `validateHookDelegateOp`.
76
- if (action.actions.includes(types_1.EvmActionOperation.Delegate))
77
- continue;
78
- violations.push(...validateDirectAction(action, expectsTransaction, hookChainId, expectedDeferred, actionPath));
79
- }
80
- return violations;
81
- }
82
- function validateDirectAction(action, expectsTransaction, hookChainId, expectedDeferred, actionPath) {
83
- const expectedType = expectsTransaction
84
- ? types_1.EvmActionKind.Transaction
85
- : types_1.EvmActionKind.ProvidePlaceholders;
86
- if (action.type !== expectedType) {
87
- return [{
88
- code: types_1.ViolationCode.HookDirectActionTypeInvalid,
89
- message: `Direct hook action must be of type ${expectedType}`,
90
- path: `${actionPath}.type`,
91
- expected: expectedType,
92
- actual: action.type,
93
- }];
94
- }
95
- if (expectsTransaction) {
96
- return validateDirectTransactionAction(action.data, hookChainId, actionPath);
97
- }
98
- return validateProvidePlaceholdersAction(action.data, hookChainId, expectedDeferred, actionPath);
99
- }
100
- // HIGH: a Delegated EVM hook's hook-action must be `Sign712MetaMaskCaveats`
101
- // (when no deferred placeholders are declared) or
102
- // `Sign712MetaMaskCaveatsWithPlaceholders` (when at least one deferred
103
- // placeholder is declared). transactionCalls form, placeholders match, and
104
- // EIP-712 content checks (domain, delegator, caveats) are checked per-action below.
105
- function validateDelegatedEvmHookActions(hookPayload, requestHook, basePath, realChainId, expirationTimestamp) {
106
- const violations = [];
107
- const expectedDeferred = collectDeferredPlaceholders(requestHook);
108
- const hasDeferred = expectedDeferred.length > 0;
109
- const ctx = {
110
- expectedType: hasDeferred
111
- ? types_1.EvmActionKind.Sign712MetaMaskCaveatsWithPlaceholders
112
- : types_1.EvmActionKind.Sign712MetaMaskCaveats,
113
- expectedDeferred,
114
- hookFrom: hookPayload.hook.from,
115
- realChainId,
116
- expirationTimestamp,
117
- };
118
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
119
- const action = hookPayload.requiredActions[i];
120
- const actionPath = `${basePath}.requiredActions[${i}]`;
121
- // Safe skip: Delegate-bearing actions are validated by
122
- // `validateHookSign7702Binding`.
123
- if (action.actions.includes(types_1.EvmActionOperation.Delegate))
124
- continue;
125
- violations.push(...validateDelegatedAction(action, actionPath, ctx));
126
- }
127
- return violations;
128
- }
129
- function validateDelegatedAction(action, actionPath, ctx) {
130
- if (action.type !== ctx.expectedType) {
131
- return [{
132
- code: types_1.ViolationCode.HookDelegatedActionTypeInvalid,
133
- message: `Delegated hook action must be of type ${ctx.expectedType}`,
134
- path: `${actionPath}.type`,
135
- expected: ctx.expectedType,
136
- actual: action.type,
137
- }];
138
- }
139
- const violations = [
140
- ...validateSign712TransactionCalls(action, actionPath),
141
- ];
142
- // CRITICAL: data structural presence — downstream content checks assume
143
- // `data.domain` and `data.message` exist.
144
- const data = action.data;
145
- const presenceErrors = (0, evm_sign712_shared_1.validateSign712DataPresent)(data, actionPath);
146
- if (presenceErrors.length > 0) {
147
- violations.push(...presenceErrors);
148
- return violations;
149
- }
150
- violations.push(...(0, evm_sign712_shared_1.validateSign712Domain)(data, actionPath, ctx.realChainId), ...(0, evm_sign712_shared_1.validateSign712Delegator)(data, actionPath, ctx.realChainId, ctx.hookFrom, "hook.from"));
151
- const caveats = (data.message.caveats ?? []);
152
- const txCalls = action.details?.transactionCalls ?? [];
153
- violations.push(...(0, evm_sign712_shared_1.validateSign712Caveats)(caveats, action.actionId, txCalls, actionPath, ctx.realChainId, ctx.expirationTimestamp));
154
- if (ctx.expectedType === types_1.EvmActionKind.Sign712MetaMaskCaveatsWithPlaceholders) {
155
- const withPlaceholdersData = data;
156
- const actualPlaceholders = withPlaceholdersData.placeholders ?? [];
157
- if (!placeholderArraysEqual(actualPlaceholders, ctx.expectedDeferred)) {
158
- violations.push({
159
- code: types_1.ViolationCode.HookDelegatedPlaceholdersMismatch,
160
- message: "Sign712MetaMaskCaveatsWithPlaceholders data.placeholders"
161
- + " must match the deferred placeholders declared in the request hook",
162
- path: `${actionPath}.data.placeholders`,
163
- expected: ctx.expectedDeferred,
164
- actual: actualPlaceholders,
165
- });
166
- }
167
- }
168
- return violations;
169
- }
170
- // CRITICAL: hook-scope `Sign712MetaMaskCaveats(WithPlaceholders)` actions
171
- // must carry exactly one transactionCall (the wrapped hook tx itself). The API
172
- // hard-codes `calls = [tx]` for hook scope; an empty or longer array signals
173
- // that something tampered with the wrapped payload.
174
- function validateSign712TransactionCalls(action, actionPath) {
175
- const txCalls = action.details?.transactionCalls ?? [];
176
- if (txCalls.length === 0) {
177
- return [{
178
- code: types_1.ViolationCode.HookSign712TransactionCallsEmpty,
179
- message: "Sign712MetaMaskCaveats hook action must have exactly one"
180
- + " transactionCall (got none)",
181
- path: `${actionPath}.details.transactionCalls`,
182
- expected: 1,
183
- actual: 0,
184
- }];
185
- }
186
- if (txCalls.length > 1) {
187
- return [{
188
- code: types_1.ViolationCode.HookSign712TransactionCallsTooMany,
189
- message: "Sign712MetaMaskCaveats hook action must have exactly one"
190
- + " transactionCall",
191
- path: `${actionPath}.details.transactionCalls`,
192
- expected: 1,
193
- actual: txCalls.length,
194
- }];
195
- }
3
+ exports.validateHookOperations = validateHookOperations;
4
+ // TODO: Hook operation validation rules
5
+ function validateHookOperations(_actions, _basePath) {
196
6
  return [];
197
7
  }
198
- function collectDeferredPlaceholders(requestHook) {
199
- return (requestHook?.placeHolders ?? [])
200
- .filter(p => p.type === types_1.PlaceholderType.Deferred)
201
- .map(p => ({ nameVariable: p.nameVariable }));
202
- }
203
- function validateDirectTransactionAction(data, hookChainId, actionPath) {
204
- if (data.chainId === hookChainId)
205
- return [];
206
- return [{
207
- code: types_1.ViolationCode.HookDirectChainIdMismatch,
208
- message: "Direct hook Transaction data.chainId must equal hook.chainId",
209
- path: `${actionPath}.data.chainId`,
210
- expected: hookChainId,
211
- actual: data.chainId,
212
- }];
213
- }
214
- function validateProvidePlaceholdersAction(data, hookChainId, expectedDeferred, actionPath) {
215
- const violations = [];
216
- if (data.transaction.chainId !== hookChainId) {
217
- violations.push({
218
- code: types_1.ViolationCode.HookDirectChainIdMismatch,
219
- message: "ProvidePlaceholders data.transaction.chainId must equal hook.chainId",
220
- path: `${actionPath}.data.transaction.chainId`,
221
- expected: hookChainId,
222
- actual: data.transaction.chainId,
223
- });
224
- }
225
- if (!placeholderArraysEqual(data.placeholders, expectedDeferred)) {
226
- violations.push({
227
- code: types_1.ViolationCode.HookDirectPlaceholdersMismatch,
228
- message: "ProvidePlaceholders data.placeholders must match the deferred"
229
- + " placeholders declared in the request hook",
230
- path: `${actionPath}.data.placeholders`,
231
- expected: expectedDeferred,
232
- actual: data.placeholders,
233
- });
234
- }
235
- return violations;
236
- }
237
- function placeholderArraysEqual(a, b) {
238
- if (a.length !== b.length)
239
- return false;
240
- for (let i = 0; i < a.length; i++) {
241
- if (a[i].nameVariable !== b[i].nameVariable)
242
- return false;
243
- }
244
- return true;
245
- }
246
- // CRITICAL: every EVM hook-action's calldata must equal `request.hook.data`
247
- // after eager-placeholder substitution (deferred markers must remain in place).
248
- // Resolution errors themselves are emitted by `validateHookEcho`; here we only
249
- // report shape mismatches between the action's calldata and the expected value.
250
- function validateHookActionCalldata(hookPayload, requestHook, basePath, mode, responseTrades, realChainId) {
251
- // Safe skip: compensation hooks (no requestHook) have no expected calldata
252
- // to compare against; structural correctness is enforced by
253
- // `validateCompensationHookStructure` and
254
- // `validateCompensationHookTransactionCall`.
255
- if (!requestHook)
256
- return [];
257
- const { resolved: expectedCalldata } = (0, placeholder_1.resolveEagerPlaceholders)(requestHook.data, realChainId, requestHook.placeHolders, responseTrades, mode);
258
- const violations = [];
259
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
260
- const action = hookPayload.requiredActions[i];
261
- const actionPath = `${basePath}.requiredActions[${i}]`;
262
- // Safe skip: Delegate-bearing actions carry EIP-7702 authorization,
263
- // not hook calldata.
264
- if (action.actions.includes(types_1.EvmActionOperation.Delegate))
265
- continue;
266
- // Safe skip: actions whose hook-tx calldata cannot be extracted
267
- // (`Sign712MetaMaskCaveats` with empty `transactionCalls` — reported
268
- // as `HookSign712TransactionCallsEmpty` by
269
- // `validateSign712TransactionCalls`; or types like `Permit` /
270
- // `Permit2` that should not appear in a hook — reported by
271
- // `validateHookActionsList` as a forbidden operation).
272
- const extracted = extractEvmHookActionCalldata(action);
273
- if (!extracted)
274
- continue;
275
- if (extracted.calldata !== expectedCalldata) {
276
- violations.push({
277
- code: types_1.ViolationCode.HookActionCalldataMismatch,
278
- message: "hook action calldata does not match request.hook.data after"
279
- + " eager-placeholder substitution",
280
- path: `${actionPath}.${extracted.path}`,
281
- expected: expectedCalldata,
282
- actual: extracted.calldata,
283
- });
284
- }
285
- }
286
- return violations;
287
- }
288
- // CRITICAL: `transactionCalls[0].{to, value}` must equal `hook.{to, value}` for
289
- // `Sign712MetaMaskCaveats(WithPlaceholders)` actions — otherwise the user
290
- // would sign a delegation that wraps a tx targeting / valued differently than
291
- // the echoed hook fields.
292
- function validateHookActionTransactionCallsMatch(hookPayload, basePath) {
293
- const violations = [];
294
- const hook = hookPayload.hook;
295
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
296
- const action = hookPayload.requiredActions[i];
297
- const actionPath = `${basePath}.requiredActions[${i}]`;
298
- if (!SIGN712_HOOK_TYPES.includes(action.type))
299
- continue;
300
- // Safe skip: missing transactionCalls reported by
301
- // `validateSign712TransactionCalls`.
302
- const tx = action.details?.transactionCalls?.[0];
303
- if (!tx)
304
- continue;
305
- violations.push(...compareTransactionCallToHook(tx, hook, actionPath));
306
- }
307
- return violations;
308
- }
309
- function compareTransactionCallToHook(tx, hook, actionPath) {
310
- const violations = [];
311
- if (hook.to !== undefined && tx.to !== hook.to) {
312
- violations.push({
313
- code: types_1.ViolationCode.HookActionTransactionToMismatch,
314
- message: "transactionCalls[0].to must equal hook.to",
315
- path: `${actionPath}.details.transactionCalls[0].to`,
316
- expected: hook.to,
317
- actual: tx.to,
318
- });
319
- }
320
- const hookValue = hook.value ?? "0";
321
- if (!evmValuesEqual(tx.value, hookValue)) {
322
- violations.push({
323
- code: types_1.ViolationCode.HookActionTransactionValueMismatch,
324
- message: "transactionCalls[0].value must equal hook.value",
325
- path: `${actionPath}.details.transactionCalls[0].value`,
326
- expected: hookValue,
327
- actual: tx.value,
328
- });
329
- }
330
- return violations;
331
- }
332
- // Returns true if two EVM-value strings are byte-identical or if both parse as
333
- // BigInt and represent the same number (e.g. `"0x100"` vs `"256"`). Returns
334
- // false otherwise.
335
- function evmValuesEqual(a, b) {
336
- if (a === b)
337
- return true;
338
- try {
339
- return BigInt(a) === BigInt(b);
340
- }
341
- catch {
342
- return false;
343
- }
344
- }
345
- // CRITICAL: a compensation hook's wrapped transaction must itself be a valid
346
- // gas-compensation transfer — same rules as `compensation-hook.ts` applies to
347
- // `hook.{to, data, value}`, but here applied to `transactionCalls[0]` so the
348
- // user does not sign a delegation around a different (malicious) tx.
349
- function validateCompensationHookTransactionCall(hookPayload, basePath, request, realChainId) {
350
- const allGroups = (0, gas_compensation_1.extractGasCompensationGroups)(request);
351
- const matchingGroups = allGroups.filter(g => g.realChainId === realChainId
352
- && (0, address_1.addressEquals)(realChainId, g.sender, hookPayload.hook.from));
353
- // Safe skip: from-mismatch reported by `validateCompensationHookStructure`
354
- // (`CompensationHookFromMismatch`); without a matching group we can't
355
- // meaningfully classify native vs ERC20.
356
- if (matchingGroups.length === 0)
357
- return [];
358
- const violations = [];
359
- for (let i = 0; i < hookPayload.requiredActions.length; i++) {
360
- const action = hookPayload.requiredActions[i];
361
- const actionPath = `${basePath}.requiredActions[${i}]`;
362
- if (!SIGN712_HOOK_TYPES.includes(action.type))
363
- continue;
364
- // Safe skip: missing transactionCalls reported by
365
- // `validateSign712TransactionCalls`.
366
- const tx = action.details?.transactionCalls?.[0];
367
- if (!tx)
368
- continue;
369
- violations.push(...(0, evm_gas_compensation_tx_1.validateEvmGasCompensationTx)(tx, matchingGroups, realChainId, `${actionPath}.details.transactionCalls[0]`, {
370
- toMismatch: types_1.ViolationCode.CompensationHookEvmToMismatch,
371
- dataInvalid: types_1.ViolationCode.CompensationHookEvmDataInvalid,
372
- valueInvalid: types_1.ViolationCode.CompensationHookEvmValueInvalid,
373
- }));
374
- }
375
- return violations;
376
- }
377
- // Returns the calldata field for an EVM hook-action, plus the relative path
378
- // to it. `undefined` is reserved for action types that don't carry a
379
- // hook-tx calldata (e.g. Sign7702Authorization, Permit), or for malformed
380
- // payloads where the expected nested field is missing — those are reported by
381
- // dedicated validators (`validateSign712TransactionCalls` for empty
382
- // transactionCalls, `validateHookActionsList` for forbidden operations).
383
- function extractEvmHookActionCalldata(action) {
384
- if (action.type === types_1.EvmActionKind.Transaction) {
385
- const data = action.data;
386
- // Safe skip: malformed payload (action.type tampered to mismatch
387
- // action.data shape). The type/payload mismatch is reported via
388
- // `HookDirectActionTypeInvalid` / `HookDelegatedActionTypeInvalid`.
389
- if (typeof data?.data !== "string")
390
- return undefined;
391
- return { calldata: data.data, path: "data.data" };
392
- }
393
- if (action.type === types_1.EvmActionKind.ProvidePlaceholders) {
394
- const data = action.data;
395
- // Safe skip: same as Transaction above.
396
- if (typeof data?.transaction?.data !== "string")
397
- return undefined;
398
- return { calldata: data.transaction.data, path: "data.transaction.data" };
399
- }
400
- if (action.type === types_1.EvmActionKind.Sign712MetaMaskCaveats
401
- || action.type === types_1.EvmActionKind.Sign712MetaMaskCaveatsWithPlaceholders) {
402
- // The API wraps a single hook tx into a one-element `transactionCalls`
403
- // array. Hook scope never produces batch delegations, so `[0]` is the
404
- // hook-tx call we want. A `transactionCalls` array longer than one is
405
- // a structural anomaly reported by `validateSign712TransactionCalls`.
406
- const tx = action.details?.transactionCalls?.[0];
407
- // Safe skip: empty / missing `transactionCalls` is reported as
408
- // `HookSign712TransactionCallsEmpty` by `validateSign712TransactionCalls`.
409
- if (!tx)
410
- return undefined;
411
- return { calldata: tx.data, path: "details.transactionCalls[0].data" };
412
- }
413
- return undefined;
414
- }
415
8
  //# sourceMappingURL=evm-op-hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm-op-hook.js","sourceRoot":"","sources":["../../../src/validations/evm-op-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-op-hook.js","sourceRoot":"","sources":["../../../src/validations/evm-op-hook.ts"],"names":[],"mappings":";;AAIA,wDAKC;AAPD,wCAAwC;AAExC,SAAgB,sBAAsB,CAClC,QAA6B,EAC7B,SAAiB;IAEjB,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -9,7 +9,7 @@ const evm_calldata_1 = require("../helpers/evm-calldata");
9
9
  const evm_token_1 = require("../helpers/evm-token");
10
10
  const evm_trade_amounts_1 = require("../helpers/evm-trade-amounts");
11
11
  const evm_action_1 = require("../helpers/evm-action");
12
- function validateWrapOperations(actions, basePath, trades, responseTrades, realChainId) {
12
+ function validateWrapOperations(actions, basePath, trades, realChainId) {
13
13
  const violations = [];
14
14
  for (let i = 0; i < actions.length; i++) {
15
15
  const action = actions[i];
@@ -37,13 +37,13 @@ function validateWrapOperations(actions, basePath, trades, responseTrades, realC
37
37
  actual: txCalls.length,
38
38
  });
39
39
  }
40
- violations.push(...validateWrapNativeToken(trades, actionPath, realChainId), ...validateWrapTo(txCalls[0], actionPath, realChainId), ...validateWrapCalldata(txCalls[0], actionPath), ...validateWrapAmount(txCalls[0], actionPath, trades, responseTrades, realChainId));
40
+ violations.push(...validateWrapNativeToken(trades, actionPath), ...validateWrapTo(txCalls[0], actionPath, realChainId), ...validateWrapCalldata(txCalls[0], actionPath), ...validateWrapAmount(txCalls[0], actionPath, trades, realChainId));
41
41
  }
42
42
  return violations;
43
43
  }
44
44
  // CRITICAL: native token must be present in trades
45
- function validateWrapNativeToken(trades, actionPath, realChainId) {
46
- const hasNative = trades.some(t => (0, evm_token_1.isNativeToken)(t.srcChainTokenIn, realChainId));
45
+ function validateWrapNativeToken(trades, actionPath) {
46
+ const hasNative = trades.some(t => (0, evm_token_1.isNativeToken)(t.srcChainTokenIn));
47
47
  if (!hasNative) {
48
48
  return [{
49
49
  code: types_1.ViolationCode.WrapNativeTokenNotInTrades,
@@ -78,12 +78,9 @@ function validateWrapCalldata(txCall, actionPath) {
78
78
  }
79
79
  return [];
80
80
  }
81
- // CRITICAL: deposit amount (from value) must match sum of native trade amounts.
82
- // When `prependOperatingExpenses=true`, the API increases the wrapped budget by
83
- // `approximateOperatingExpense`, so the expected deposit amount is the sum of
84
- // `srcChainTokenInAmount + approximateOperatingExpense` over native trades.
85
- function validateWrapAmount(txCall, actionPath, trades, responseTrades, realChainId) {
86
- const sumResult = (0, evm_trade_amounts_1.sumTradeAmounts)(trades, viem_1.zeroAddress, realChainId, responseTrades);
81
+ // CRITICAL: deposit amount (from value) must match sum of native trade amounts
82
+ function validateWrapAmount(txCall, actionPath, trades, realChainId) {
83
+ const sumResult = (0, evm_trade_amounts_1.sumTradeAmounts)(trades, viem_1.zeroAddress, realChainId);
87
84
  if (sumResult.violations)
88
85
  return sumResult.violations;
89
86
  if (sumResult.skip)
@@ -1 +1 @@
1
- {"version":3,"file":"evm-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/evm-op-wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/evm-op-wrap.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,9 @@ const evm_permit2_1 = require("./evm-permit2");
10
10
  const evm_transaction_1 = require("./evm-transaction");
11
11
  const evm_op_budget_1 = require("./evm-op-budget");
12
12
  const evm_op_wrap_1 = require("./evm-op-wrap");
13
+ const evm_op_gas_compensation_1 = require("./evm-op-gas-compensation");
13
14
  const address_1 = require("../helpers/address");
14
- function validateEvmRequiredActions(request, response, actions, basePath, realChainId, quoteMode, intent, trades, responseTrades, srcChainAuthorityAddress, envConfig) {
15
+ function validateEvmRequiredActions(request, response, actions, basePath, realChainId, quoteMode, intent, trades, srcChainAuthorityAddress, envConfig) {
15
16
  return [
16
17
  ...validateUniqueActionIds(actions, basePath),
17
18
  ...validateAAConstraints(request, response, actions, basePath),
@@ -22,8 +23,9 @@ function validateEvmRequiredActions(request, response, actions, basePath, realCh
22
23
  ...(0, evm_permit_1.validatePermitActions)(actions, basePath, request, response, realChainId, quoteMode, trades, srcChainAuthorityAddress, envConfig),
23
24
  ...(0, evm_permit2_1.validatePermit2Actions)(actions, basePath, request, response, realChainId, trades, envConfig),
24
25
  ...(0, evm_transaction_1.validateTransactionActions)(actions, basePath),
25
- ...(0, evm_op_budget_1.validateBudgetOperations)(actions, basePath, request, trades, responseTrades, realChainId, envConfig),
26
- ...(0, evm_op_wrap_1.validateWrapOperations)(actions, basePath, trades, responseTrades, realChainId),
26
+ ...(0, evm_op_budget_1.validateBudgetOperations)(actions, basePath, request, trades, realChainId, envConfig),
27
+ ...(0, evm_op_wrap_1.validateWrapOperations)(actions, basePath, trades, realChainId),
28
+ ...(0, evm_op_gas_compensation_1.validateGasCompensationOperations)(actions, basePath, request, realChainId),
27
29
  ...validateApprovalMutualExclusivity(actions, basePath, realChainId),
28
30
  ];
29
31
  }
@@ -71,7 +73,7 @@ function validateAAEnabled(actions, basePath) {
71
73
  }
72
74
  return violations;
73
75
  }
74
- // AA = false: no Sign7702Authorization, no Sign712MetaMaskCaveats,
76
+ // AA = false: no Sign7702Authorization, no Sign712MetaMask,
75
77
  // no Delegate in actions[], no transactionCalls.
76
78
  // Note: preHooks/postHooks AA constraint is now checked in hooks-common.ts
77
79
  function validateAADisabled(_response, actions, basePath) {
@@ -88,11 +90,11 @@ function validateAADisabled(_response, actions, basePath) {
88
90
  actual: action.type,
89
91
  });
90
92
  }
91
- // CRITICAL: no Sign712MetaMaskCaveats
92
- if (action.type === types_1.EvmActionKind.Sign712MetaMaskCaveats) {
93
+ // CRITICAL: no Sign712MetaMask
94
+ if (action.type === types_1.EvmActionKind.Sign712MetaMask) {
93
95
  violations.push({
94
96
  code: types_1.ViolationCode.ForbiddenSign712MetaMaskWithoutAA,
95
- message: `${types_1.EvmActionKind.Sign712MetaMaskCaveats} action is forbidden when enableAccountAbstraction=false`,
97
+ message: `${types_1.EvmActionKind.Sign712MetaMask} action is forbidden when enableAccountAbstraction=false`,
96
98
  path: `${actionPath}.type`,
97
99
  actual: action.type,
98
100
  });
@@ -1 +1 @@
1
- {"version":3,"file":"evm-required-actions.js","sourceRoot":"","sources":["../../../src/validations/evm-required-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-required-actions.js","sourceRoot":"","sources":["../../../src/validations/evm-required-actions.ts"],"names":[],"mappings":"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"}