@debridge-finance/borderless-validation-sdk 0.0.0-dev-4a73f49 → 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 (286) hide show
  1. package/dist/cjs/helpers/address.js +18 -53
  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 +13 -27
  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 -32
  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 +5 -125
  16. package/dist/cjs/types/response.js.map +1 -1
  17. package/dist/cjs/types/validation.js +10 -81
  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 -7
  38. package/dist/cjs/validations/required-actions.js.map +1 -1
  39. package/dist/cjs/validations/solana-hook.js +22 -33
  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 -139
  50. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  51. package/dist/cjs/validations/trades.js +40 -162
  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 -48
  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 +13 -27
  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 -31
  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 +4 -124
  90. package/dist/esm/types/response.js.map +1 -1
  91. package/dist/esm/types/validation.js +10 -81
  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 -7
  112. package/dist/esm/validations/required-actions.js.map +1 -1
  113. package/dist/esm/validations/solana-hook.js +24 -35
  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 -139
  124. package/dist/esm/validations/trade-grouping.js.map +1 -1
  125. package/dist/esm/validations/trades.js +41 -163
  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 -7
  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-intent-id.d.ts.map +1 -1
  154. package/dist/types/helpers/evm-trade-amounts.d.ts +2 -2
  155. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  156. package/dist/types/types/enums.d.ts +1 -24
  157. package/dist/types/types/enums.d.ts.map +1 -1
  158. package/dist/types/types/request.d.ts +9 -19
  159. package/dist/types/types/request.d.ts.map +1 -1
  160. package/dist/types/types/response.d.ts +17 -1015
  161. package/dist/types/types/response.d.ts.map +1 -1
  162. package/dist/types/types/validation.d.ts +11 -73
  163. package/dist/types/types/validation.d.ts.map +1 -1
  164. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  165. package/dist/types/validations/evm-op-budget.d.ts +2 -2
  166. package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
  167. package/dist/types/validations/evm-op-gas-compensation.d.ts +3 -0
  168. package/dist/types/validations/evm-op-gas-compensation.d.ts.map +1 -0
  169. package/dist/types/validations/evm-op-hook.d.ts +2 -4
  170. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  171. package/dist/types/validations/evm-op-wrap.d.ts +2 -2
  172. package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
  173. package/dist/types/validations/evm-required-actions.d.ts +2 -2
  174. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  175. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  176. package/dist/types/validations/evm-sign7702.d.ts +1 -2
  177. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  178. package/dist/types/validations/hooks-common.d.ts +0 -1
  179. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  180. package/dist/types/validations/required-actions.d.ts +1 -2
  181. package/dist/types/validations/required-actions.d.ts.map +1 -1
  182. package/dist/types/validations/solana-hook.d.ts +2 -4
  183. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  184. package/dist/types/validations/solana-op-budget.d.ts +2 -2
  185. package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
  186. package/dist/types/validations/solana-op-wrap.d.ts +2 -2
  187. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  188. package/dist/types/validations/solana-required-actions.d.ts +2 -2
  189. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  190. package/dist/types/validations/solana-transaction.d.ts +3 -3
  191. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  192. package/dist/types/validations/trade-grouping.d.ts +2 -6
  193. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  194. package/dist/types/validations/trades.d.ts.map +1 -1
  195. package/dist/types/validator.d.ts.map +1 -1
  196. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  197. package/dist/types/whitelists/evm/caveat-enforcers.d.ts +0 -8
  198. package/dist/types/whitelists/evm/caveat-enforcers.d.ts.map +1 -1
  199. package/dist/types/whitelists/evm/delegation-manager.d.ts +0 -2
  200. package/dist/types/whitelists/evm/delegation-manager.d.ts.map +1 -1
  201. package/dist/types/whitelists/evm/eip7702-delegation.d.ts +0 -2
  202. package/dist/types/whitelists/evm/eip7702-delegation.d.ts.map +1 -1
  203. package/dist/types/whitelists/evm/index.d.ts +4 -4
  204. package/dist/types/whitelists/evm/index.d.ts.map +1 -1
  205. package/dist/types/whitelists/evm/permit2.d.ts +0 -1
  206. package/dist/types/whitelists/evm/permit2.d.ts.map +1 -1
  207. package/dist/types/whitelists/evm/weth.d.ts.map +1 -1
  208. package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
  209. package/dist/types/whitelists/subscription-to-chain-id.d.ts +0 -1
  210. package/dist/types/whitelists/subscription-to-chain-id.d.ts.map +1 -1
  211. package/dist/types/whitelists/types.d.ts +1 -1
  212. package/dist/types/whitelists/types.d.ts.map +1 -1
  213. package/package.json +3 -4
  214. package/README.md +0 -164
  215. package/dist/cjs/helpers/evm-dln-hook-pack.js +0 -87
  216. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +0 -1
  217. package/dist/cjs/helpers/evm-gas-compensation-tx.js +0 -102
  218. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +0 -1
  219. package/dist/cjs/helpers/gas-compensation.js +0 -36
  220. package/dist/cjs/helpers/gas-compensation.js.map +0 -1
  221. package/dist/cjs/helpers/hex.js +0 -24
  222. package/dist/cjs/helpers/hex.js.map +0 -1
  223. package/dist/cjs/helpers/placeholder.js +0 -174
  224. package/dist/cjs/helpers/placeholder.js.map +0 -1
  225. package/dist/cjs/helpers/sets.js +0 -13
  226. package/dist/cjs/helpers/sets.js.map +0 -1
  227. package/dist/cjs/validations/compensation-hook.js +0 -203
  228. package/dist/cjs/validations/compensation-hook.js.map +0 -1
  229. package/dist/cjs/validations/evm-sign712-shared.js +0 -116
  230. package/dist/cjs/validations/evm-sign712-shared.js.map +0 -1
  231. package/dist/cjs/validations/intent-destinations.js +0 -197
  232. package/dist/cjs/validations/intent-destinations.js.map +0 -1
  233. package/dist/cjs/validations/intent-tokens.js +0 -347
  234. package/dist/cjs/validations/intent-tokens.js.map +0 -1
  235. package/dist/cjs/validations/intent.js +0 -288
  236. package/dist/cjs/validations/intent.js.map +0 -1
  237. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js +0 -16
  238. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js.map +0 -1
  239. package/dist/esm/helpers/evm-dln-hook-pack.js +0 -82
  240. package/dist/esm/helpers/evm-dln-hook-pack.js.map +0 -1
  241. package/dist/esm/helpers/evm-gas-compensation-tx.js +0 -99
  242. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +0 -1
  243. package/dist/esm/helpers/gas-compensation.js +0 -33
  244. package/dist/esm/helpers/gas-compensation.js.map +0 -1
  245. package/dist/esm/helpers/hex.js +0 -20
  246. package/dist/esm/helpers/hex.js.map +0 -1
  247. package/dist/esm/helpers/placeholder.js +0 -168
  248. package/dist/esm/helpers/placeholder.js.map +0 -1
  249. package/dist/esm/helpers/sets.js +0 -10
  250. package/dist/esm/helpers/sets.js.map +0 -1
  251. package/dist/esm/validations/compensation-hook.js +0 -200
  252. package/dist/esm/validations/compensation-hook.js.map +0 -1
  253. package/dist/esm/validations/evm-sign712-shared.js +0 -110
  254. package/dist/esm/validations/evm-sign712-shared.js.map +0 -1
  255. package/dist/esm/validations/intent-destinations.js +0 -194
  256. package/dist/esm/validations/intent-destinations.js.map +0 -1
  257. package/dist/esm/validations/intent-tokens.js +0 -344
  258. package/dist/esm/validations/intent-tokens.js.map +0 -1
  259. package/dist/esm/validations/intent.js +0 -285
  260. package/dist/esm/validations/intent.js.map +0 -1
  261. package/dist/esm/whitelists/evm/metamask-delegation-chains.js +0 -13
  262. package/dist/esm/whitelists/evm/metamask-delegation-chains.js.map +0 -1
  263. package/dist/types/helpers/evm-dln-hook-pack.d.ts +0 -19
  264. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +0 -1
  265. package/dist/types/helpers/evm-gas-compensation-tx.d.ts +0 -13
  266. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +0 -1
  267. package/dist/types/helpers/gas-compensation.d.ts +0 -10
  268. package/dist/types/helpers/gas-compensation.d.ts.map +0 -1
  269. package/dist/types/helpers/hex.d.ts +0 -3
  270. package/dist/types/helpers/hex.d.ts.map +0 -1
  271. package/dist/types/helpers/placeholder.d.ts +0 -41
  272. package/dist/types/helpers/placeholder.d.ts.map +0 -1
  273. package/dist/types/helpers/sets.d.ts +0 -2
  274. package/dist/types/helpers/sets.d.ts.map +0 -1
  275. package/dist/types/validations/compensation-hook.d.ts +0 -3
  276. package/dist/types/validations/compensation-hook.d.ts.map +0 -1
  277. package/dist/types/validations/evm-sign712-shared.d.ts +0 -7
  278. package/dist/types/validations/evm-sign712-shared.d.ts.map +0 -1
  279. package/dist/types/validations/intent-destinations.d.ts +0 -4
  280. package/dist/types/validations/intent-destinations.d.ts.map +0 -1
  281. package/dist/types/validations/intent-tokens.d.ts +0 -4
  282. package/dist/types/validations/intent-tokens.d.ts.map +0 -1
  283. package/dist/types/validations/intent.d.ts +0 -5
  284. package/dist/types/validations/intent.d.ts.map +0 -1
  285. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts +0 -3
  286. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { ViolationCode, SolanaActionOperation, SpecialAmount, } from "../types/index.js";
2
- import { addressEquals, isNativeToken } from "../helpers/address.js";
2
+ import { addressEquals } from "../helpers/address.js";
3
3
  import { deriveAta, isSystemTransfer, isSyncNative, isCreateAtaIdempotent, } from "../helpers/solana-instruction.js";
4
4
  import { SPL_TOKEN_PROGRAM, SPL_NATIVE_MINT, } from "../whitelists/solana/programs.js";
5
5
  // =============================================
@@ -7,7 +7,7 @@ import { SPL_TOKEN_PROGRAM, SPL_NATIVE_MINT, } from "../whitelists/solana/progra
7
7
  // =============================================
8
8
  // Validates Wrap (SOL → wSOL) instructions within a decoded Solana transaction.
9
9
  // Called for both Transaction (AA=false) and SignTransaction (AA=true) actions.
10
- export function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress) {
10
+ export function validateSolanaWrapInstructions(action, resolvedInstructions, actionPath, trades, realChainId, quoteMode, srcChainAuthorityAddress) {
11
11
  if (!action.actions.includes(SolanaActionOperation.Wrap))
12
12
  return [];
13
13
  const violations = [];
@@ -39,7 +39,7 @@ export function validateSolanaWrapInstructions(action, resolvedInstructions, act
39
39
  }
40
40
  // Validate SystemProgram.Transfer
41
41
  for (const ix of transferIxs) {
42
- violations.push(...validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta));
42
+ violations.push(...validateTransferInstruction(ix, actionPath, realChainId, trades, expectedWsolAta));
43
43
  }
44
44
  // Validate SyncNative
45
45
  for (const ix of syncNativeIxs) {
@@ -108,7 +108,7 @@ function validateCreateAtaInstruction(ix, actionPath, realChainId, quoteMode, sr
108
108
  // =============================================
109
109
  // SystemProgram.Transfer validation
110
110
  // =============================================
111
- function validateTransferInstruction(ix, actionPath, realChainId, trades, responseTrades, expectedWsolAta) {
111
+ function validateTransferInstruction(ix, actionPath, realChainId, trades, expectedWsolAta) {
112
112
  const violations = [];
113
113
  // CRITICAL (execution): transfer.to (accounts[1]) must be wSOL ATA.
114
114
  // Skipped in quote mode: expectedWsolAta is undefined because srcChainAuthorityAddress is a placeholder.
@@ -122,25 +122,16 @@ function validateTransferInstruction(ix, actionPath, realChainId, trades, respon
122
122
  actual: toAddress,
123
123
  });
124
124
  }
125
- // CRITICAL: transfer amount must match sum of native SOL trade amounts.
126
- // When `prependOperatingExpenses=true`, the API increases the wrapped budget by
127
- // `approximateOperatingExpense`, so the expected transfer amount sums
128
- // `srcChainTokenInAmount + approximateOperatingExpense` over native trades.
125
+ // CRITICAL: transfer amount must match sum of native SOL trades
129
126
  const lamports = readU64LE(ix.data, 4);
130
- const expectedResult = sumNativeSolTradeAmounts(trades, responseTrades, realChainId);
131
- if (expectedResult.violations) {
132
- violations.push(...expectedResult.violations);
133
- return violations;
134
- }
127
+ const expectedAmount = sumNativeSolTradeAmounts(trades, realChainId);
135
128
  // Skip amount validation if any trade has special amount (max/auto)
136
- if (expectedResult.skip)
137
- return violations;
138
- if (lamports !== expectedResult.sum) {
129
+ if (expectedAmount !== undefined && lamports !== expectedAmount) {
139
130
  violations.push({
140
131
  code: ViolationCode.SolanaWrapTransferAmountMismatch,
141
132
  message: "SystemProgram.Transfer lamports does not match sum of native SOL trades",
142
133
  path: `${actionPath}.data.data`,
143
- expected: expectedResult.sum.toString(),
134
+ expected: expectedAmount.toString(),
144
135
  actual: lamports.toString(),
145
136
  });
146
137
  }
@@ -174,42 +165,18 @@ function computeExpectedWsolAta(quoteMode, srcChainAuthorityAddress) {
174
165
  return deriveAta(srcChainAuthorityAddress, SPL_NATIVE_MINT, SPL_TOKEN_PROGRAM);
175
166
  }
176
167
  // Sums srcChainTokenInAmount for all trades that use native SOL.
177
- // When `responseTrades` aligns by index with `trades`, trades with
178
- // `prependOperatingExpenses=true` also contribute `approximateOperatingExpense`.
179
- // Returns skip=true if any matching trade has a special amount (max/auto).
180
- function sumNativeSolTradeAmounts(trades, responseTrades, realChainId) {
168
+ // Returns undefined if any matching trade has a special amount (max/auto).
169
+ function sumNativeSolTradeAmounts(trades, realChainId) {
181
170
  let total = 0n;
182
- for (let i = 0; i < trades.length; i++) {
183
- const trade = trades[i];
184
- if (!isNativeToken(trade.srcChainTokenIn, realChainId))
171
+ for (const trade of trades) {
172
+ if (!addressEquals(realChainId, trade.srcChainTokenIn, SPL_NATIVE_MINT))
185
173
  continue;
186
174
  const raw = trade.srcChainTokenInAmount;
187
175
  if (raw === SpecialAmount.Max || raw === SpecialAmount.Auto)
188
- return { skip: true };
176
+ return undefined;
189
177
  total += BigInt(raw);
190
- if (trade.prependOperatingExpenses ?? false) {
191
- const responseTrade = responseTrades[i];
192
- // Safe skip: missing responseTrade means trade-count mismatch is reported by `validateTrades`
193
- if (!responseTrade)
194
- continue;
195
- const expense = responseTrade.srcChainTokenIn.approximateOperatingExpense;
196
- try {
197
- total += BigInt(expense);
198
- }
199
- catch (e) {
200
- return {
201
- violations: [{
202
- code: ViolationCode.TradeOperatingExpenseInvalid,
203
- message: "approximateOperatingExpense is not a valid number",
204
- path: `response.trades[${i}].srcChainTokenIn.approximateOperatingExpense`,
205
- actual: expense,
206
- details: e,
207
- }],
208
- };
209
- }
210
- }
211
178
  }
212
- return { sum: total };
179
+ return total;
213
180
  }
214
181
  function readU64LE(data, offset) {
215
182
  let value = 0n;
@@ -1 +1 @@
1
- {"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,qBAAqB,EAErB,aAAa,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEH,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,iBAAiB,EACjB,eAAe,GAClB,MAAM,+BAA+B,CAAC;AAEvC,gDAAgD;AAChD,cAAc;AACd,gDAAgD;AAEhD,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,UAAU,8BAA8B,CAC1C,MAA4B,EAC5B,oBAA2C,EAC3C,UAAkB,EAClB,MAAsB,EACtB,cAA6C,EAC7C,WAAoB,EACpB,SAAkB,EAClB,wBAA4C;IAE5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpE,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;IAEvE,gDAAgD;IAChD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,+BAA+B;YACnD,OAAO,EAAE,+DAA+D;YACxE,IAAI,EAAE,GAAG,UAAU,YAAY;SAClC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,oCAAoC;IACpC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,iCAAiC;YACrD,OAAO,EAAE,mDAAmD;YAC5D,IAAI,EAAE,GAAG,UAAU,YAAY;SAClC,CAAC,CAAC;IACP,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,sBAAsB,CAC1C,SAAS,EAAE,wBAAwB,CACtC,CAAC;IAEF,6DAA6D;IAC7D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CACX,GAAG,4BAA4B,CAC3B,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,wBAAwB,EAAE,eAAe,CACpF,CACJ,CAAC;IACN,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CACX,GAAG,2BAA2B,CAC1B,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,CACvE,CACJ,CAAC;IACN,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CACX,GAAG,6BAA6B,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,CACpE,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,8BAA8B,CAAC,GAA0B;IAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,0BAA0B,CAAC,GAA0B;IAC1D,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB,CAAC,GAA0B;IACzD,OAAO,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC7C,CAAC;AAED,gDAAgD;AAChD,oDAAoD;AACpD,gDAAgD;AAEhD,8DAA8D;AAC9D,+DAA+D;AAC/D,0CAA0C;AAC1C,SAAS,4BAA4B,CACjC,EAAuB,EACvB,UAAkB,EAClB,WAAoB,EACpB,SAAkB,EAClB,wBAA4C,EAC5C,eAAmC;IAEnC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,sBAAsB;IACtB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,qBAAqB;IACrB,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,wDAAwD;IACxD,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAE1C,kEAAkE;IAClE,IAAI,CAAC,SAAS,IAAI,wBAAwB,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa,CAAC,gCAAgC;gBACpD,OAAO,EAAE,qDAAqD;gBAC9D,IAAI,EAAE,GAAG,UAAU,YAAY;gBAC/B,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,+BAA+B;YACnD,OAAO,EAAE,gCAAgC,eAAe,GAAG;YAC3D,IAAI,EAAE,GAAG,UAAU,YAAY;YAC/B,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;IACP,CAAC;IAED,oEAAoE;IACpE,yGAAyG;IACzG,IAAI,eAAe,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;QACnF,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,kCAAkC;YACtD,OAAO,EAAE,uDAAuD;YAChE,IAAI,EAAE,GAAG,UAAU,YAAY;YAC/B,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,eAAe;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,gDAAgD;AAChD,oCAAoC;AACpC,gDAAgD;AAEhD,SAAS,2BAA2B,CAChC,EAAuB,EACvB,UAAkB,EAClB,WAAoB,EACpB,MAAsB,EACtB,cAA6C,EAC7C,eAAmC;IAEnC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,oEAAoE;IACpE,yGAAyG;IACzG,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,eAAe,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;QAC7E,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,4BAA4B;YAChD,OAAO,EAAE,wEAAwE;YACjF,IAAI,EAAE,GAAG,UAAU,YAAY;YAC/B,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;IACP,CAAC;IAED,wEAAwE;IACxE,gFAAgF;IAChF,sEAAsE;IACtE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAErF,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,oEAAoE;IACpE,IAAI,cAAc,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IAE3C,IAAI,QAAQ,KAAK,cAAc,CAAC,GAAG,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,gCAAgC;YACpD,OAAO,EAAE,yEAAyE;YAClF,IAAI,EAAE,GAAG,UAAU,YAAY;YAC/B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,gDAAgD;AAChD,wBAAwB;AACxB,gDAAgD;AAEhD,SAAS,6BAA6B,CAClC,EAAuB,EACvB,UAAkB,EAClB,eAAmC;IAEnC,2EAA2E;IAC3E,yGAAyG;IACzG,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,eAAe,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QACjD,OAAO,CAAC;gBACJ,IAAI,EAAE,aAAa,CAAC,mCAAmC;gBACvD,OAAO,EAAE,qCAAqC;gBAC9C,IAAI,EAAE,GAAG,UAAU,YAAY;gBAC/B,QAAQ,EAAE,eAAe;gBACzB,MAAM,EAAE,OAAO;aAClB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gDAAgD;AAChD,UAAU;AACV,gDAAgD;AAEhD,SAAS,sBAAsB,CAC3B,SAAkB,EAClB,wBAA4C;IAE5C,IAAI,SAAS,IAAI,CAAC,wBAAwB;QAAE,OAAO,SAAS,CAAC;IAE7D,uCAAuC;IACvC,OAAO,SAAS,CAAC,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACnF,CAAC;AAOD,iEAAiE;AACjE,mEAAmE;AACnE,iFAAiF;AACjF,2EAA2E;AAC3E,SAAS,wBAAwB,CAC7B,MAAsB,EACtB,cAA6C,EAC7C,WAAoB;IAEpB,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC;YAAE,SAAS;QAEjE,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC;QACxC,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,IAAI,GAAG,KAAK,aAAa,CAAC,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnF,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACxC,8FAA8F;YAC9F,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC,2BAA2B,CAAC;YAC1E,IAAI,CAAC;gBACD,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO;oBACH,UAAU,EAAE,CAAC;4BACT,IAAI,EAAE,aAAa,CAAC,4BAA4B;4BAChD,OAAO,EAAE,mDAAmD;4BAC5D,IAAI,EAAE,mBAAmB,CAAC,+CAA+C;4BACzE,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,CAAC;yBACb,CAAC;iBACL,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,IAAgB,EAAE,MAAc;IAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"solana-op-wrap.js","sourceRoot":"","sources":["../../../src/validations/solana-op-wrap.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { ViolationCode, SolanaActionKind, SolanaActionOperation, } from "../types/index.js";
2
2
  import { validateSolanaTransactionActions, validateSolanaSignTransactionActions, } from "./solana-transaction.js";
3
3
  import { validateSolanaSignActions } from "./solana-sign.js";
4
- export function validateSolanaRequiredActions(request, actions, basePath, realChainId, quoteMode, trades, responseTrades, srcChainAuthorityAddress, intent, envConfig) {
4
+ export function validateSolanaRequiredActions(request, actions, basePath, realChainId, quoteMode, trades, srcChainAuthorityAddress, intent, envConfig) {
5
5
  return [
6
6
  ...validateUniqueActionIds(actions, basePath),
7
7
  ...validateRequiredActionsOrder(actions, basePath, quoteMode),
8
8
  ...validateAAConstraints(request, actions, basePath),
9
9
  ...validateNoOperationActions(actions, basePath),
10
10
  ...validateNoCompensationActions(actions, basePath),
11
- ...validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig),
12
- ...validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig),
11
+ ...validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, envConfig),
12
+ ...validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, envConfig),
13
13
  ...validateSolanaSignActions(actions, basePath, realChainId, quoteMode, intent, envConfig),
14
14
  ];
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-required-actions.js","sourceRoot":"","sources":["../../../src/validations/solana-required-actions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { ViolationCode, SolanaActionKind, SolanaActionOperation, } from "../types/index.js";
2
- import { addressEquals, isNativeToken } from "../helpers/address.js";
2
+ import { addressEquals } from "../helpers/address.js";
3
3
  import { decodeSolanaVersionedTransaction } from "../helpers/solana-transaction-decode.js";
4
4
  import { resolveInstructions, isClassicApprove, isCustomApprove, isSystemTransfer, isSyncNative, isCreateAtaIdempotent, isComputeBudget, isMemo, } from "../helpers/solana-instruction.js";
5
- import { COMPUTE_BUDGET_PROGRAM, } from "../whitelists/solana/programs.js";
5
+ import { COMPUTE_BUDGET_PROGRAM, SPL_NATIVE_MINT, } from "../whitelists/solana/programs.js";
6
6
  import { validateSolanaBudgetInstructions } from "./solana-op-budget.js";
7
7
  import { validateSolanaWrapInstructions } from "./solana-op-wrap.js";
8
8
  const ALLOWED_TX_ACTIONS = new Set([
@@ -10,7 +10,7 @@ const ALLOWED_TX_ACTIONS = new Set([
10
10
  SolanaActionOperation.Budget,
11
11
  ]);
12
12
  // Validates Transaction actions (AA=false)
13
- export function validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig) {
13
+ export function validateSolanaTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, envConfig) {
14
14
  const violations = [];
15
15
  for (let i = 0; i < actions.length; i++) {
16
16
  if (actions[i].type !== SolanaActionKind.Transaction)
@@ -25,12 +25,12 @@ export function validateSolanaTransactionActions(actions, basePath, realChainId,
25
25
  }
26
26
  const accountKeys = getStaticAccountKeys(decoded.transaction);
27
27
  const resolved = resolveInstructions(decoded.transaction.message.compiledInstructions, accountKeys);
28
- violations.push(...validateTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateTransactionComputeBudget(decoded.transaction, actionPath), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaTransactionAllowedPrograms, ViolationCode.SolanaTransactionForbiddenInstruction, "Transaction"), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isComputeBudget)));
28
+ violations.push(...validateTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateTransactionComputeBudget(decoded.transaction, actionPath), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaTransactionAllowedPrograms, ViolationCode.SolanaTransactionForbiddenInstruction, "Transaction"), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isComputeBudget)));
29
29
  }
30
30
  return violations;
31
31
  }
32
32
  // Validates SignTransaction actions (AA=true)
33
- export function validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, responseTrades, envConfig) {
33
+ export function validateSolanaSignTransactionActions(actions, basePath, realChainId, quoteMode, srcChainAuthorityAddress, request, trades, envConfig) {
34
34
  const violations = [];
35
35
  for (let i = 0; i < actions.length; i++) {
36
36
  if (actions[i].type !== SolanaActionKind.SignTransaction)
@@ -45,7 +45,7 @@ export function validateSolanaSignTransactionActions(actions, basePath, realChai
45
45
  }
46
46
  const accountKeys = getStaticAccountKeys(decoded.transaction);
47
47
  const resolved = resolveInstructions(decoded.transaction.message.compiledInstructions, accountKeys);
48
- violations.push(...validateSignTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaSignTransactionAllowedPrograms, ViolationCode.SolanaSignTransactionForbiddenInstruction, "SignTransaction"), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, responseTrades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isMemo)));
48
+ violations.push(...validateSignTransactionFeePayer(decoded.transaction, actionPath, realChainId, quoteMode, srcChainAuthorityAddress), ...validateAllowedInstructions(decoded.transaction, actionPath, envConfig.solanaSignTransactionAllowedPrograms, ViolationCode.SolanaSignTransactionForbiddenInstruction, "SignTransaction"), ...validateSolanaBudgetInstructions(action, resolved, actionPath, request, trades, realChainId, quoteMode, srcChainAuthorityAddress, envConfig), ...validateSolanaWrapInstructions(action, resolved, actionPath, trades, realChainId, quoteMode, srcChainAuthorityAddress), ...validateNoUnclassifiedInstructions(resolved, actionPath, buildClassifiers(envConfig.solanaIntentProgram, isMemo)));
49
49
  }
50
50
  return violations;
51
51
  }
@@ -69,7 +69,7 @@ function validateActionsList(action, actionPath) {
69
69
  function validateWrapRequiresNativeToken(action, actionPath, trades, realChainId) {
70
70
  if (!action.actions.includes(SolanaActionOperation.Wrap))
71
71
  return [];
72
- const hasNativeTrade = trades.some(trade => isNativeToken(trade.srcChainTokenIn, realChainId));
72
+ const hasNativeTrade = trades.some(trade => addressEquals(realChainId, trade.srcChainTokenIn, SPL_NATIVE_MINT));
73
73
  if (hasNativeTrade)
74
74
  return [];
75
75
  return [{
@@ -1 +1 @@
1
- {"version":3,"file":"solana-transaction.js","sourceRoot":"","sources":["../../../src/validations/solana-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-transaction.js","sourceRoot":"","sources":["../../../src/validations/solana-transaction.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- import { keccak256 } from "viem";
2
1
  import { ViolationCode, } from "../types/index.js";
3
2
  import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
4
3
  import { addressEquals } from "../helpers/address.js";
5
- import { serializeDlnHook } from "../helpers/evm-dln-hook-pack.js";
6
- import { hexEquals, isEmptyHex } from "../helpers/hex.js";
7
4
  // Groups request trades to match them later with response intents.
8
5
  //
9
6
  // Quote mode: groups by srcChainId only (addresses are placeholders).
@@ -14,7 +11,7 @@ import { hexEquals, isEmptyHex } from "../helpers/hex.js";
14
11
  // fields like intent.executionMetadata, intent.dlnMetadata,
15
12
  // intent.externalCallHash, etc. that are not present in the request, so one
16
13
  // group can correspond to one or more response intents.
17
- export function groupTrades(trades, responseTrades, quoteMode) {
14
+ export function groupTrades(trades, quoteMode) {
18
15
  const map = new Map();
19
16
  const violations = [];
20
17
  // Track already-reported unknown subscriptionIds to avoid duplicate violations
@@ -46,13 +43,11 @@ export function groupTrades(trades, responseTrades, quoteMode) {
46
43
  realChainId,
47
44
  tradeIndices: [],
48
45
  trades: [],
49
- responseTrades: [],
50
46
  };
51
47
  map.set(key, group);
52
48
  }
53
49
  group.tradeIndices.push(i);
54
50
  group.trades.push(trade);
55
- group.responseTrades.push(responseTrades[i]);
56
51
  }
57
52
  return { groups: Array.from(map.values()), violations };
58
53
  }
@@ -80,14 +75,10 @@ export function matchIntentsToGroups(intents, groups, quoteMode) {
80
75
  return true;
81
76
  });
82
77
  if (matched) {
83
- const subset = selectIntentTrades(matched, intent);
84
78
  contexts.push({
85
79
  intentIndex: i,
86
80
  intentPayload,
87
81
  tradeGroup: matched,
88
- intentTradeIndices: subset.indices,
89
- intentTrades: subset.trades,
90
- intentResponseTrades: subset.responseTrades,
91
82
  });
92
83
  }
93
84
  else {
@@ -100,135 +91,6 @@ export function matchIntentsToGroups(intents, groups, quoteMode) {
100
91
  });
101
92
  }
102
93
  }
103
- violations.push(...validateGroupCoverage(groups, contexts));
104
- violations.push(...validateIntentDifferentiation(contexts));
105
94
  return { contexts, violations };
106
95
  }
107
- // CRITICAL: every trade group must have at least one matching intent.
108
- function validateGroupCoverage(groups, contexts) {
109
- const coveredGroups = new Set(contexts.map(ctx => ctx.tradeGroup));
110
- const violations = [];
111
- for (const group of groups) {
112
- if (!coveredGroups.has(group)) {
113
- const tradeList = group.tradeIndices.join(", ");
114
- violations.push({
115
- code: ViolationCode.TradeGroupHasNoIntent,
116
- message: `trade group (srcChainId=${group.srcChainId},`
117
- + ` authority=${group.srcChainAuthorityAddress ?? "quote"})`
118
- + ` has no matching intent`
119
- + ` (request trades: [${tradeList}])`,
120
- path: "response.intents",
121
- expected: group,
122
- });
123
- }
124
- }
125
- return violations;
126
- }
127
- // CRITICAL: intents matched to the same trade group must differ
128
- // in at least one of: externalCallHash, dlnMetadata, executionMetadata.
129
- // Duplicate intents within a group indicate an API bug or MITM attack.
130
- function validateIntentDifferentiation(contexts) {
131
- const byGroup = new Map();
132
- for (const ctx of contexts) {
133
- const list = byGroup.get(ctx.tradeGroup) ?? [];
134
- list.push(ctx);
135
- byGroup.set(ctx.tradeGroup, list);
136
- }
137
- const violations = [];
138
- for (const [, groupContexts] of byGroup) {
139
- if (groupContexts.length <= 1)
140
- continue;
141
- const seen = new Map();
142
- for (const ctx of groupContexts) {
143
- const key = intentDifferentiationKey(ctx.intentPayload.intent);
144
- const firstIndex = seen.get(key);
145
- if (firstIndex !== undefined) {
146
- violations.push({
147
- code: ViolationCode.DuplicateIntentsInTradeGroup,
148
- message: `intents[${firstIndex}] and intents[${ctx.intentIndex}]`
149
- + ` are in the same trade group but do not differ`
150
- + ` in externalCallHash, dlnMetadata, or`
151
- + ` executionMetadata`,
152
- path: `response.intents[${ctx.intentIndex}]`,
153
- actual: ctx.intentPayload.intent,
154
- });
155
- }
156
- else {
157
- seen.set(key, ctx.intentIndex);
158
- }
159
- }
160
- }
161
- return violations;
162
- }
163
- function intentDifferentiationKey(intent) {
164
- return [
165
- intent.externalCallHash ?? "",
166
- intent.dlnMetadata ?? "",
167
- intent.executionMetadata ?? "",
168
- ].join("|");
169
- }
170
- // Picks the trades that the API folded into a single intent.
171
- // API groups trades by `(srcChainId, srcAuthority, dlnHook → externalCallHash,
172
- // metadata → dlnMetadata, executionMetadata)`, so trades inside one intent
173
- // share the last three fields with the intent. When all trades in a group
174
- // share the same key (only one intent exists), the whole group belongs to it.
175
- function selectIntentTrades(group, intent) {
176
- // Distinct keys for trades in the group; if every trade has the same key,
177
- // they all belong to the single intent (no ambiguity).
178
- const tradeKeys = group.trades.map(t => tradeDifferentiationKey(t));
179
- const distinct = new Set(tradeKeys);
180
- if (distinct.size <= 1) {
181
- return {
182
- indices: group.trades.map((_, i) => i),
183
- trades: group.trades.slice(),
184
- responseTrades: group.responseTrades.slice(),
185
- };
186
- }
187
- const indices = [];
188
- const trades = [];
189
- const responseTrades = [];
190
- for (let i = 0; i < group.trades.length; i++) {
191
- const trade = group.trades[i];
192
- if (tradeMatchesIntent(trade, intent)) {
193
- indices.push(i);
194
- trades.push(trade);
195
- responseTrades.push(group.responseTrades[i]);
196
- }
197
- }
198
- // No trade matched — fields the API uses to split a group into intents
199
- // don't line up with anything in the request. Fall back to the full
200
- // group: per-intent budget checks may overshoot, but the underlying
201
- // mismatch is still reported by `validateExternalCallHash` and
202
- // `validateDlnMetadata`.
203
- if (indices.length === 0) {
204
- return {
205
- indices: group.trades.map((_, i) => i),
206
- trades: group.trades.slice(),
207
- responseTrades: group.responseTrades.slice(),
208
- };
209
- }
210
- return { indices, trades, responseTrades };
211
- }
212
- function tradeDifferentiationKey(trade) {
213
- return [computeTradeExternalCallHash(trade) ?? "", trade.metadata ?? ""].join("|");
214
- }
215
- function tradeMatchesIntent(trade, intent) {
216
- return (hexEquals(intent.externalCallHash, computeTradeExternalCallHash(trade))
217
- && hexEquals(intent.dlnMetadata, trade.metadata)
218
- && isEmptyHex(intent.executionMetadata));
219
- }
220
- // Returns the same hash the API stores in `intent.externalCallHash` for a
221
- // request trade, or `undefined` when the trade has no hook. Swallows any
222
- // serialization failure: `validateExternalCallHash` reports it on its own; here
223
- // we just treat the trade as un-matchable so the fallback in
224
- // `selectIntentTrades` keeps the broader group intact.
225
- function computeTradeExternalCallHash(trade) {
226
- try {
227
- const packed = serializeDlnHook(trade);
228
- return packed === undefined ? undefined : keccak256(packed);
229
- }
230
- catch {
231
- return undefined;
232
- }
233
- }
234
96
  //# sourceMappingURL=trade-grouping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}