@debridge-finance/borderless-validation-sdk 0.0.0-dev-dee2389

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 (345) hide show
  1. package/dist/cjs/graylists/evm/token-permit-metadata.js +28 -0
  2. package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -0
  3. package/dist/cjs/helpers/address.js +75 -0
  4. package/dist/cjs/helpers/address.js.map +1 -0
  5. package/dist/cjs/helpers/caveat-decoder.js +60 -0
  6. package/dist/cjs/helpers/caveat-decoder.js.map +1 -0
  7. package/dist/cjs/helpers/constants.js +6 -0
  8. package/dist/cjs/helpers/constants.js.map +1 -0
  9. package/dist/cjs/helpers/evm-action.js +20 -0
  10. package/dist/cjs/helpers/evm-action.js.map +1 -0
  11. package/dist/cjs/helpers/evm-calldata.js +45 -0
  12. package/dist/cjs/helpers/evm-calldata.js.map +1 -0
  13. package/dist/cjs/helpers/evm-intent-id-abi.js +67 -0
  14. package/dist/cjs/helpers/evm-intent-id-abi.js.map +1 -0
  15. package/dist/cjs/helpers/evm-intent-id.js +70 -0
  16. package/dist/cjs/helpers/evm-intent-id.js.map +1 -0
  17. package/dist/cjs/helpers/evm-token.js +30 -0
  18. package/dist/cjs/helpers/evm-token.js.map +1 -0
  19. package/dist/cjs/helpers/evm-trade-amounts.js +42 -0
  20. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -0
  21. package/dist/cjs/helpers/solana-instruction.js +160 -0
  22. package/dist/cjs/helpers/solana-instruction.js.map +1 -0
  23. package/dist/cjs/helpers/solana-intent-id.js +460 -0
  24. package/dist/cjs/helpers/solana-intent-id.js.map +1 -0
  25. package/dist/cjs/helpers/solana-transaction-decode.js +58 -0
  26. package/dist/cjs/helpers/solana-transaction-decode.js.map +1 -0
  27. package/dist/cjs/helpers/zod.js +12 -0
  28. package/dist/cjs/helpers/zod.js.map +1 -0
  29. package/dist/cjs/index.js +9 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/cjs/package.json +1 -0
  32. package/dist/cjs/types/enums.js +137 -0
  33. package/dist/cjs/types/enums.js.map +1 -0
  34. package/dist/cjs/types/index.js +21 -0
  35. package/dist/cjs/types/index.js.map +1 -0
  36. package/dist/cjs/types/request.js +65 -0
  37. package/dist/cjs/types/request.js.map +1 -0
  38. package/dist/cjs/types/response.js +252 -0
  39. package/dist/cjs/types/response.js.map +1 -0
  40. package/dist/cjs/types/validation.js +242 -0
  41. package/dist/cjs/types/validation.js.map +1 -0
  42. package/dist/cjs/validations/echo-fields.js +67 -0
  43. package/dist/cjs/validations/echo-fields.js.map +1 -0
  44. package/dist/cjs/validations/evm-caveats.js +235 -0
  45. package/dist/cjs/validations/evm-caveats.js.map +1 -0
  46. package/dist/cjs/validations/evm-op-budget.js +261 -0
  47. package/dist/cjs/validations/evm-op-budget.js.map +1 -0
  48. package/dist/cjs/validations/evm-op-gas-compensation.js +152 -0
  49. package/dist/cjs/validations/evm-op-gas-compensation.js.map +1 -0
  50. package/dist/cjs/validations/evm-op-hook.js +8 -0
  51. package/dist/cjs/validations/evm-op-hook.js.map +1 -0
  52. package/dist/cjs/validations/evm-op-wrap.js +112 -0
  53. package/dist/cjs/validations/evm-op-wrap.js.map +1 -0
  54. package/dist/cjs/validations/evm-permit.js +224 -0
  55. package/dist/cjs/validations/evm-permit.js.map +1 -0
  56. package/dist/cjs/validations/evm-permit2.js +361 -0
  57. package/dist/cjs/validations/evm-permit2.js.map +1 -0
  58. package/dist/cjs/validations/evm-required-actions.js +184 -0
  59. package/dist/cjs/validations/evm-required-actions.js.map +1 -0
  60. package/dist/cjs/validations/evm-sign712-metamask.js +147 -0
  61. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -0
  62. package/dist/cjs/validations/evm-sign712.js +203 -0
  63. package/dist/cjs/validations/evm-sign712.js.map +1 -0
  64. package/dist/cjs/validations/evm-sign7702.js +59 -0
  65. package/dist/cjs/validations/evm-sign7702.js.map +1 -0
  66. package/dist/cjs/validations/evm-transaction.js +38 -0
  67. package/dist/cjs/validations/evm-transaction.js.map +1 -0
  68. package/dist/cjs/validations/hooks-common.js +207 -0
  69. package/dist/cjs/validations/hooks-common.js.map +1 -0
  70. package/dist/cjs/validations/required-actions.js +69 -0
  71. package/dist/cjs/validations/required-actions.js.map +1 -0
  72. package/dist/cjs/validations/solana-hook.js +225 -0
  73. package/dist/cjs/validations/solana-hook.js.map +1 -0
  74. package/dist/cjs/validations/solana-op-budget.js +293 -0
  75. package/dist/cjs/validations/solana-op-budget.js.map +1 -0
  76. package/dist/cjs/validations/solana-op-wrap.js +191 -0
  77. package/dist/cjs/validations/solana-op-wrap.js.map +1 -0
  78. package/dist/cjs/validations/solana-required-actions.js +122 -0
  79. package/dist/cjs/validations/solana-required-actions.js.map +1 -0
  80. package/dist/cjs/validations/solana-sign.js +171 -0
  81. package/dist/cjs/validations/solana-sign.js.map +1 -0
  82. package/dist/cjs/validations/solana-transaction.js +238 -0
  83. package/dist/cjs/validations/solana-transaction.js.map +1 -0
  84. package/dist/cjs/validations/trade-grouping.js +165 -0
  85. package/dist/cjs/validations/trade-grouping.js.map +1 -0
  86. package/dist/cjs/validations/trade-intent-consistency.js +104 -0
  87. package/dist/cjs/validations/trade-intent-consistency.js.map +1 -0
  88. package/dist/cjs/validations/trades.js +517 -0
  89. package/dist/cjs/validations/trades.js.map +1 -0
  90. package/dist/cjs/validator.js +75 -0
  91. package/dist/cjs/validator.js.map +1 -0
  92. package/dist/cjs/whitelists/environment-config.js +118 -0
  93. package/dist/cjs/whitelists/environment-config.js.map +1 -0
  94. package/dist/cjs/whitelists/evm/caveat-enforcers.js +18 -0
  95. package/dist/cjs/whitelists/evm/caveat-enforcers.js.map +1 -0
  96. package/dist/cjs/whitelists/evm/delegation-manager.js +9 -0
  97. package/dist/cjs/whitelists/evm/delegation-manager.js.map +1 -0
  98. package/dist/cjs/whitelists/evm/eip7702-delegation.js +8 -0
  99. package/dist/cjs/whitelists/evm/eip7702-delegation.js.map +1 -0
  100. package/dist/cjs/whitelists/evm/index.js +17 -0
  101. package/dist/cjs/whitelists/evm/index.js.map +1 -0
  102. package/dist/cjs/whitelists/evm/permit2.js +18 -0
  103. package/dist/cjs/whitelists/evm/permit2.js.map +1 -0
  104. package/dist/cjs/whitelists/evm/weth.js +19 -0
  105. package/dist/cjs/whitelists/evm/weth.js.map +1 -0
  106. package/dist/cjs/whitelists/solana/index.js +19 -0
  107. package/dist/cjs/whitelists/solana/index.js.map +1 -0
  108. package/dist/cjs/whitelists/solana/intent-signature.js +25 -0
  109. package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -0
  110. package/dist/cjs/whitelists/solana/programs.js +19 -0
  111. package/dist/cjs/whitelists/solana/programs.js.map +1 -0
  112. package/dist/cjs/whitelists/subscription-to-chain-id.js +36 -0
  113. package/dist/cjs/whitelists/subscription-to-chain-id.js.map +1 -0
  114. package/dist/cjs/whitelists/types.js +29 -0
  115. package/dist/cjs/whitelists/types.js.map +1 -0
  116. package/dist/esm/graylists/evm/token-permit-metadata.js +24 -0
  117. package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -0
  118. package/dist/esm/helpers/address.js +63 -0
  119. package/dist/esm/helpers/address.js.map +1 -0
  120. package/dist/esm/helpers/caveat-decoder.js +55 -0
  121. package/dist/esm/helpers/caveat-decoder.js.map +1 -0
  122. package/dist/esm/helpers/constants.js +3 -0
  123. package/dist/esm/helpers/constants.js.map +1 -0
  124. package/dist/esm/helpers/evm-action.js +16 -0
  125. package/dist/esm/helpers/evm-action.js.map +1 -0
  126. package/dist/esm/helpers/evm-calldata.js +39 -0
  127. package/dist/esm/helpers/evm-calldata.js.map +1 -0
  128. package/dist/esm/helpers/evm-intent-id-abi.js +64 -0
  129. package/dist/esm/helpers/evm-intent-id-abi.js.map +1 -0
  130. package/dist/esm/helpers/evm-intent-id.js +67 -0
  131. package/dist/esm/helpers/evm-intent-id.js.map +1 -0
  132. package/dist/esm/helpers/evm-token.js +25 -0
  133. package/dist/esm/helpers/evm-token.js.map +1 -0
  134. package/dist/esm/helpers/evm-trade-amounts.js +39 -0
  135. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -0
  136. package/dist/esm/helpers/solana-instruction.js +146 -0
  137. package/dist/esm/helpers/solana-instruction.js.map +1 -0
  138. package/dist/esm/helpers/solana-intent-id.js +457 -0
  139. package/dist/esm/helpers/solana-intent-id.js.map +1 -0
  140. package/dist/esm/helpers/solana-transaction-decode.js +55 -0
  141. package/dist/esm/helpers/solana-transaction-decode.js.map +1 -0
  142. package/dist/esm/helpers/zod.js +9 -0
  143. package/dist/esm/helpers/zod.js.map +1 -0
  144. package/dist/esm/index.js +3 -0
  145. package/dist/esm/index.js.map +1 -0
  146. package/dist/esm/package.json +1 -0
  147. package/dist/esm/types/enums.js +134 -0
  148. package/dist/esm/types/enums.js.map +1 -0
  149. package/dist/esm/types/index.js +5 -0
  150. package/dist/esm/types/index.js.map +1 -0
  151. package/dist/esm/types/request.js +62 -0
  152. package/dist/esm/types/request.js.map +1 -0
  153. package/dist/esm/types/response.js +249 -0
  154. package/dist/esm/types/response.js.map +1 -0
  155. package/dist/esm/types/validation.js +239 -0
  156. package/dist/esm/types/validation.js.map +1 -0
  157. package/dist/esm/validations/echo-fields.js +64 -0
  158. package/dist/esm/validations/echo-fields.js.map +1 -0
  159. package/dist/esm/validations/evm-caveats.js +228 -0
  160. package/dist/esm/validations/evm-caveats.js.map +1 -0
  161. package/dist/esm/validations/evm-op-budget.js +258 -0
  162. package/dist/esm/validations/evm-op-budget.js.map +1 -0
  163. package/dist/esm/validations/evm-op-gas-compensation.js +149 -0
  164. package/dist/esm/validations/evm-op-gas-compensation.js.map +1 -0
  165. package/dist/esm/validations/evm-op-hook.js +5 -0
  166. package/dist/esm/validations/evm-op-hook.js.map +1 -0
  167. package/dist/esm/validations/evm-op-wrap.js +109 -0
  168. package/dist/esm/validations/evm-op-wrap.js.map +1 -0
  169. package/dist/esm/validations/evm-permit.js +221 -0
  170. package/dist/esm/validations/evm-permit.js.map +1 -0
  171. package/dist/esm/validations/evm-permit2.js +358 -0
  172. package/dist/esm/validations/evm-permit2.js.map +1 -0
  173. package/dist/esm/validations/evm-required-actions.js +181 -0
  174. package/dist/esm/validations/evm-required-actions.js.map +1 -0
  175. package/dist/esm/validations/evm-sign712-metamask.js +144 -0
  176. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -0
  177. package/dist/esm/validations/evm-sign712.js +200 -0
  178. package/dist/esm/validations/evm-sign712.js.map +1 -0
  179. package/dist/esm/validations/evm-sign7702.js +56 -0
  180. package/dist/esm/validations/evm-sign7702.js.map +1 -0
  181. package/dist/esm/validations/evm-transaction.js +35 -0
  182. package/dist/esm/validations/evm-transaction.js.map +1 -0
  183. package/dist/esm/validations/hooks-common.js +204 -0
  184. package/dist/esm/validations/hooks-common.js.map +1 -0
  185. package/dist/esm/validations/required-actions.js +66 -0
  186. package/dist/esm/validations/required-actions.js.map +1 -0
  187. package/dist/esm/validations/solana-hook.js +222 -0
  188. package/dist/esm/validations/solana-hook.js.map +1 -0
  189. package/dist/esm/validations/solana-op-budget.js +290 -0
  190. package/dist/esm/validations/solana-op-budget.js.map +1 -0
  191. package/dist/esm/validations/solana-op-wrap.js +188 -0
  192. package/dist/esm/validations/solana-op-wrap.js.map +1 -0
  193. package/dist/esm/validations/solana-required-actions.js +119 -0
  194. package/dist/esm/validations/solana-required-actions.js.map +1 -0
  195. package/dist/esm/validations/solana-sign.js +168 -0
  196. package/dist/esm/validations/solana-sign.js.map +1 -0
  197. package/dist/esm/validations/solana-transaction.js +234 -0
  198. package/dist/esm/validations/solana-transaction.js.map +1 -0
  199. package/dist/esm/validations/trade-grouping.js +161 -0
  200. package/dist/esm/validations/trade-grouping.js.map +1 -0
  201. package/dist/esm/validations/trade-intent-consistency.js +101 -0
  202. package/dist/esm/validations/trade-intent-consistency.js.map +1 -0
  203. package/dist/esm/validations/trades.js +514 -0
  204. package/dist/esm/validations/trades.js.map +1 -0
  205. package/dist/esm/validator.js +72 -0
  206. package/dist/esm/validator.js.map +1 -0
  207. package/dist/esm/whitelists/environment-config.js +115 -0
  208. package/dist/esm/whitelists/environment-config.js.map +1 -0
  209. package/dist/esm/whitelists/evm/caveat-enforcers.js +15 -0
  210. package/dist/esm/whitelists/evm/caveat-enforcers.js.map +1 -0
  211. package/dist/esm/whitelists/evm/delegation-manager.js +6 -0
  212. package/dist/esm/whitelists/evm/delegation-manager.js.map +1 -0
  213. package/dist/esm/whitelists/evm/eip7702-delegation.js +5 -0
  214. package/dist/esm/whitelists/evm/eip7702-delegation.js.map +1 -0
  215. package/dist/esm/whitelists/evm/index.js +6 -0
  216. package/dist/esm/whitelists/evm/index.js.map +1 -0
  217. package/dist/esm/whitelists/evm/permit2.js +15 -0
  218. package/dist/esm/whitelists/evm/permit2.js.map +1 -0
  219. package/dist/esm/whitelists/evm/weth.js +16 -0
  220. package/dist/esm/whitelists/evm/weth.js.map +1 -0
  221. package/dist/esm/whitelists/solana/index.js +3 -0
  222. package/dist/esm/whitelists/solana/index.js.map +1 -0
  223. package/dist/esm/whitelists/solana/intent-signature.js +22 -0
  224. package/dist/esm/whitelists/solana/intent-signature.js.map +1 -0
  225. package/dist/esm/whitelists/solana/programs.js +16 -0
  226. package/dist/esm/whitelists/solana/programs.js.map +1 -0
  227. package/dist/esm/whitelists/subscription-to-chain-id.js +32 -0
  228. package/dist/esm/whitelists/subscription-to-chain-id.js.map +1 -0
  229. package/dist/esm/whitelists/types.js +26 -0
  230. package/dist/esm/whitelists/types.js.map +1 -0
  231. package/dist/types/graylists/evm/token-permit-metadata.d.ts +11 -0
  232. package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -0
  233. package/dist/types/helpers/address.d.ts +13 -0
  234. package/dist/types/helpers/address.d.ts.map +1 -0
  235. package/dist/types/helpers/caveat-decoder.d.ts +13 -0
  236. package/dist/types/helpers/caveat-decoder.d.ts.map +1 -0
  237. package/dist/types/helpers/constants.d.ts +2 -0
  238. package/dist/types/helpers/constants.d.ts.map +1 -0
  239. package/dist/types/helpers/evm-action.d.ts +4 -0
  240. package/dist/types/helpers/evm-action.d.ts.map +1 -0
  241. package/dist/types/helpers/evm-calldata.d.ts +15 -0
  242. package/dist/types/helpers/evm-calldata.d.ts.map +1 -0
  243. package/dist/types/helpers/evm-intent-id-abi.d.ts +106 -0
  244. package/dist/types/helpers/evm-intent-id-abi.d.ts.map +1 -0
  245. package/dist/types/helpers/evm-intent-id.d.ts +3 -0
  246. package/dist/types/helpers/evm-intent-id.d.ts.map +1 -0
  247. package/dist/types/helpers/evm-token.d.ts +4 -0
  248. package/dist/types/helpers/evm-token.d.ts.map +1 -0
  249. package/dist/types/helpers/evm-trade-amounts.d.ts +16 -0
  250. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -0
  251. package/dist/types/helpers/solana-instruction.d.ts +44 -0
  252. package/dist/types/helpers/solana-instruction.d.ts.map +1 -0
  253. package/dist/types/helpers/solana-intent-id.d.ts +3 -0
  254. package/dist/types/helpers/solana-intent-id.d.ts.map +1 -0
  255. package/dist/types/helpers/solana-transaction-decode.d.ts +18 -0
  256. package/dist/types/helpers/solana-transaction-decode.d.ts.map +1 -0
  257. package/dist/types/helpers/zod.d.ts +2 -0
  258. package/dist/types/helpers/zod.d.ts.map +1 -0
  259. package/dist/types/index.d.ts +4 -0
  260. package/dist/types/index.d.ts.map +1 -0
  261. package/dist/types/types/enums.d.ts +112 -0
  262. package/dist/types/types/enums.d.ts.map +1 -0
  263. package/dist/types/types/index.d.ts +5 -0
  264. package/dist/types/types/index.d.ts.map +1 -0
  265. package/dist/types/types/request.d.ts +134 -0
  266. package/dist/types/types/request.d.ts.map +1 -0
  267. package/dist/types/types/response.d.ts +1140 -0
  268. package/dist/types/types/response.d.ts.map +1 -0
  269. package/dist/types/types/validation.d.ts +216 -0
  270. package/dist/types/types/validation.d.ts.map +1 -0
  271. package/dist/types/validations/echo-fields.d.ts +3 -0
  272. package/dist/types/validations/echo-fields.d.ts.map +1 -0
  273. package/dist/types/validations/evm-caveats.d.ts +33 -0
  274. package/dist/types/validations/evm-caveats.d.ts.map +1 -0
  275. package/dist/types/validations/evm-op-budget.d.ts +4 -0
  276. package/dist/types/validations/evm-op-budget.d.ts.map +1 -0
  277. package/dist/types/validations/evm-op-gas-compensation.d.ts +3 -0
  278. package/dist/types/validations/evm-op-gas-compensation.d.ts.map +1 -0
  279. package/dist/types/validations/evm-op-hook.d.ts +3 -0
  280. package/dist/types/validations/evm-op-hook.d.ts.map +1 -0
  281. package/dist/types/validations/evm-op-wrap.d.ts +3 -0
  282. package/dist/types/validations/evm-op-wrap.d.ts.map +1 -0
  283. package/dist/types/validations/evm-permit.d.ts +4 -0
  284. package/dist/types/validations/evm-permit.d.ts.map +1 -0
  285. package/dist/types/validations/evm-permit2.d.ts +4 -0
  286. package/dist/types/validations/evm-permit2.d.ts.map +1 -0
  287. package/dist/types/validations/evm-required-actions.d.ts +4 -0
  288. package/dist/types/validations/evm-required-actions.d.ts.map +1 -0
  289. package/dist/types/validations/evm-sign712-metamask.d.ts +3 -0
  290. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -0
  291. package/dist/types/validations/evm-sign712.d.ts +4 -0
  292. package/dist/types/validations/evm-sign712.d.ts.map +1 -0
  293. package/dist/types/validations/evm-sign7702.d.ts +3 -0
  294. package/dist/types/validations/evm-sign7702.d.ts.map +1 -0
  295. package/dist/types/validations/evm-transaction.d.ts +3 -0
  296. package/dist/types/validations/evm-transaction.d.ts.map +1 -0
  297. package/dist/types/validations/hooks-common.d.ts +3 -0
  298. package/dist/types/validations/hooks-common.d.ts.map +1 -0
  299. package/dist/types/validations/required-actions.d.ts +4 -0
  300. package/dist/types/validations/required-actions.d.ts.map +1 -0
  301. package/dist/types/validations/solana-hook.d.ts +4 -0
  302. package/dist/types/validations/solana-hook.d.ts.map +1 -0
  303. package/dist/types/validations/solana-op-budget.d.ts +5 -0
  304. package/dist/types/validations/solana-op-budget.d.ts.map +1 -0
  305. package/dist/types/validations/solana-op-wrap.d.ts +4 -0
  306. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -0
  307. package/dist/types/validations/solana-required-actions.d.ts +4 -0
  308. package/dist/types/validations/solana-required-actions.d.ts.map +1 -0
  309. package/dist/types/validations/solana-sign.d.ts +4 -0
  310. package/dist/types/validations/solana-sign.d.ts.map +1 -0
  311. package/dist/types/validations/solana-transaction.d.ts +5 -0
  312. package/dist/types/validations/solana-transaction.d.ts.map +1 -0
  313. package/dist/types/validations/trade-grouping.d.ts +22 -0
  314. package/dist/types/validations/trade-grouping.d.ts.map +1 -0
  315. package/dist/types/validations/trade-intent-consistency.d.ts +3 -0
  316. package/dist/types/validations/trade-intent-consistency.d.ts.map +1 -0
  317. package/dist/types/validations/trades.d.ts +3 -0
  318. package/dist/types/validations/trades.d.ts.map +1 -0
  319. package/dist/types/validator.d.ts +3 -0
  320. package/dist/types/validator.d.ts.map +1 -0
  321. package/dist/types/whitelists/environment-config.d.ts +4 -0
  322. package/dist/types/whitelists/environment-config.d.ts.map +1 -0
  323. package/dist/types/whitelists/evm/caveat-enforcers.d.ts +6 -0
  324. package/dist/types/whitelists/evm/caveat-enforcers.d.ts.map +1 -0
  325. package/dist/types/whitelists/evm/delegation-manager.d.ts +3 -0
  326. package/dist/types/whitelists/evm/delegation-manager.d.ts.map +1 -0
  327. package/dist/types/whitelists/evm/eip7702-delegation.d.ts +3 -0
  328. package/dist/types/whitelists/evm/eip7702-delegation.d.ts.map +1 -0
  329. package/dist/types/whitelists/evm/index.d.ts +6 -0
  330. package/dist/types/whitelists/evm/index.d.ts.map +1 -0
  331. package/dist/types/whitelists/evm/permit2.d.ts +3 -0
  332. package/dist/types/whitelists/evm/permit2.d.ts.map +1 -0
  333. package/dist/types/whitelists/evm/weth.d.ts +3 -0
  334. package/dist/types/whitelists/evm/weth.d.ts.map +1 -0
  335. package/dist/types/whitelists/solana/index.d.ts +3 -0
  336. package/dist/types/whitelists/solana/index.d.ts.map +1 -0
  337. package/dist/types/whitelists/solana/intent-signature.d.ts +9 -0
  338. package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -0
  339. package/dist/types/whitelists/solana/programs.d.ts +9 -0
  340. package/dist/types/whitelists/solana/programs.d.ts.map +1 -0
  341. package/dist/types/whitelists/subscription-to-chain-id.d.ts +4 -0
  342. package/dist/types/whitelists/subscription-to-chain-id.d.ts.map +1 -0
  343. package/dist/types/whitelists/types.d.ts +18 -0
  344. package/dist/types/whitelists/types.d.ts.map +1 -0
  345. package/package.json +59 -0
@@ -0,0 +1,55 @@
1
+ import { decodeAbiParameters } from "viem";
2
+ // ExactExecutionEnforcer uses packed encoding:
3
+ // bytes [0:20] — address target
4
+ // bytes [20:52] — uint256 value
5
+ // bytes [52:] — bytes callData
6
+ // See: https://docs.metamask.io/smart-accounts-kit/reference/delegation/caveats#exactexecution
7
+ export function decodeExactExecution(terms) {
8
+ const hex = strip0x(terms);
9
+ if (hex.length < 104) { // 52 bytes minimum (20 + 32 + 0)
10
+ // This exception will be caught and reported as a violation in the validation logic
11
+ throw new Error(`ExactExecution terms too short: ${hex.length / 2} bytes`);
12
+ }
13
+ const to = "0x" + hex.slice(0, 40);
14
+ const value = BigInt("0x" + hex.slice(40, 104)).toString();
15
+ const data = "0x" + hex.slice(104);
16
+ return { to, value, data };
17
+ }
18
+ // ExactExecutionBatchEnforcer uses abi.encode(Execution[]):
19
+ // Execution = (address target, uint256 value, bytes callData)
20
+ // See: https://docs.metamask.io/smart-accounts-kit/reference/delegation/caveats#exactexecutionbatch
21
+ export function decodeExactExecutionBatch(terms) {
22
+ const decoded = decodeAbiParameters([
23
+ {
24
+ type: "tuple[]",
25
+ components: [
26
+ { name: "target", type: "address" },
27
+ { name: "value", type: "uint256" },
28
+ { name: "callData", type: "bytes" },
29
+ ],
30
+ },
31
+ ], terms);
32
+ const executions = decoded[0];
33
+ return executions.map(e => ({
34
+ to: e.target.toLowerCase(),
35
+ value: e.value.toString(),
36
+ data: e.callData,
37
+ }));
38
+ }
39
+ // TimestampEnforcer uses packed encoding:
40
+ // bytes [0:16] — uint128 afterThreshold
41
+ // bytes [16:32] — uint128 beforeThreshold
42
+ // See: https://docs.metamask.io/smart-accounts-kit/reference/delegation/caveats#timestamp
43
+ export function decodeTimestampEnforcer(terms) {
44
+ const hex = strip0x(terms);
45
+ if (hex.length < 64) { // 32 bytes minimum (16 + 16)
46
+ throw new Error(`TimestampEnforcer terms too short: ${hex.length / 2} bytes`);
47
+ }
48
+ const afterThreshold = BigInt("0x" + hex.slice(0, 32));
49
+ const beforeThreshold = BigInt("0x" + hex.slice(32, 64));
50
+ return { afterThreshold, beforeThreshold };
51
+ }
52
+ function strip0x(hex) {
53
+ return hex.startsWith("0x") ? hex.slice(2) : hex;
54
+ }
55
+ //# sourceMappingURL=caveat-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caveat-decoder.js","sourceRoot":"","sources":["../../../src/helpers/caveat-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAQ3C,+CAA+C;AAC/C,mCAAmC;AACnC,kCAAkC;AAClC,mCAAmC;AACnC,+FAA+F;AAC/F,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,iCAAiC;QACrD,oFAAoF;QACpF,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,4DAA4D;AAC5D,gEAAgE;AAChE,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACnD,MAAM,OAAO,GAAG,mBAAmB,CAC/B;QACI;YACI,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;aACtC;SACJ;KACJ,EACD,KAAsB,CACzB,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAmE,CAAC;IAEhG,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,QAAQ;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AAOD,0CAA0C;AAC1C,2CAA2C;AAC3C,4CAA4C;AAC5C,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,6BAA6B;QAChD,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEzD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IACxB,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Solana max u64 value (used for "unlimited" approve amounts)
2
+ export const MAX_U64 = (1n << 64n) - 1n;
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/helpers/constants.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EvmActionKind } from "../types/index.js";
2
+ // Transaction and Sign712MetaMask actions carry transactionCalls;
3
+ // Sign712 (Permit/Permit2) and Sign7702Authorization do not.
4
+ export function actionUsesTransactionCalls(action) {
5
+ return action.type === EvmActionKind.Transaction
6
+ || action.type === EvmActionKind.Sign712MetaMask;
7
+ }
8
+ // For Transaction-type actions (non-AA), the call is in action.data directly.
9
+ // For Sign712MetaMask-type actions (AA), the calls are in details.transactionCalls.
10
+ export function getTransactionCalls(action) {
11
+ if (action.type === EvmActionKind.Transaction) {
12
+ return [action.data];
13
+ }
14
+ return action.details?.transactionCalls ?? [];
15
+ }
16
+ //# sourceMappingURL=evm-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-action.js","sourceRoot":"","sources":["../../../src/helpers/evm-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhF,kEAAkE;AAClE,6DAA6D;AAC7D,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAChE,OAAO,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;WACzC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,eAAe,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,IAA0B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { decodeFunctionData, erc20Abi } from "viem";
2
+ export const APPROVE_SELECTOR = "0x095ea7b3";
3
+ export const DEPOSIT_SELECTOR = "0xd0e30db0";
4
+ export const TRANSFER_SELECTOR = "0xa9059cbb";
5
+ export function decodeApproveCalldata(data) {
6
+ if (!data.toLowerCase().startsWith(APPROVE_SELECTOR)) {
7
+ throw new Error(`expected approve selector ${APPROVE_SELECTOR}, got ${data.slice(0, 10)}`);
8
+ }
9
+ const decoded = decodeFunctionData({
10
+ abi: erc20Abi,
11
+ data: data,
12
+ });
13
+ if (decoded.functionName !== "approve") {
14
+ throw new Error(`unexpected function: ${decoded.functionName}`);
15
+ }
16
+ const [spender, amount] = decoded.args;
17
+ return { spender: spender.toLowerCase(), amount };
18
+ }
19
+ export function isDepositCalldata(data) {
20
+ const normalized = data.toLowerCase();
21
+ return (normalized === DEPOSIT_SELECTOR || // only selector
22
+ normalized === DEPOSIT_SELECTOR + "0".repeat(56) // selector + padding
23
+ );
24
+ }
25
+ export function decodeTransferCalldata(data) {
26
+ if (!data.toLowerCase().startsWith(TRANSFER_SELECTOR)) {
27
+ throw new Error(`expected transfer selector ${TRANSFER_SELECTOR}, got ${data.slice(0, 10)}`);
28
+ }
29
+ const decoded = decodeFunctionData({
30
+ abi: erc20Abi,
31
+ data: data,
32
+ });
33
+ if (decoded.functionName !== "transfer") {
34
+ throw new Error(`unexpected function: ${decoded.functionName}`);
35
+ }
36
+ const [to, amount] = decoded.args;
37
+ return { to: to.toLowerCase(), amount };
38
+ }
39
+ //# sourceMappingURL=evm-calldata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-calldata.js","sourceRoot":"","sources":["../../../src/helpers/evm-calldata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAY9C,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACX,6BAA6B,gBAAgB,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC5E,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAC/B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,IAAqB;KAC9B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACH,UAAU,KAAK,gBAAgB,IAAI,gBAAgB;QACnD,UAAU,KAAK,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,qBAAqB;KACzE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACX,8BAA8B,iBAAiB,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC9E,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAC/B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,IAAqB;KAC9B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,64 @@
1
+ // ABI parameter definition for DeBridgeIntentManager.submitIntent(_intent)
2
+ // Extracted from the on-chain contract ABI — used for encoding the intent
3
+ // struct before hashing to compute intentId.
4
+ const allowedAddressTuple = {
5
+ type: "tuple[]",
6
+ components: [
7
+ { name: "allowedAddress", type: "bytes" },
8
+ { name: "chains", type: "uint32[]" },
9
+ { name: "isAnyChain", type: "bool" },
10
+ ],
11
+ };
12
+ export const SUBMIT_INTENT_ABI_PARAMS = [
13
+ {
14
+ type: "tuple",
15
+ components: [
16
+ { name: "intentChainId", type: "uint32" },
17
+ { name: "intentOwner", type: "address" },
18
+ { ...allowedAddressTuple, name: "receiverDetails" },
19
+ {
20
+ type: "tuple[]",
21
+ name: "inputToken",
22
+ components: [
23
+ { name: "token", type: "address" },
24
+ { name: "minPartialAmount", type: "uint256" },
25
+ { name: "maxPartialAmount", type: "uint256" },
26
+ { name: "budget", type: "uint256" },
27
+ ],
28
+ },
29
+ {
30
+ type: "tuple[]",
31
+ name: "giveToken",
32
+ components: [
33
+ { name: "inputToken", type: "address" },
34
+ { name: "giveToken", type: "address" },
35
+ { name: "numerator", type: "uint256" },
36
+ { name: "denominator", type: "uint8" },
37
+ ],
38
+ },
39
+ {
40
+ type: "tuple[]",
41
+ name: "takeToken",
42
+ components: [
43
+ { name: "giveToken", type: "address" },
44
+ { name: "takeTokenChain", type: "uint32" },
45
+ { name: "takeToken", type: "bytes" },
46
+ { name: "numerator", type: "uint256" },
47
+ { name: "denominator", type: "uint8" },
48
+ ],
49
+ },
50
+ { name: "expirationTimestamp", type: "uint64" },
51
+ { name: "intentTimestamp", type: "uint64" },
52
+ { name: "srcAllowedSender", type: "address[]" },
53
+ { name: "executionMetadata", type: "bytes" },
54
+ { name: "isAnyDlnMetadataAllowed", type: "bool" },
55
+ { name: "dlnMetadata", type: "bytes" },
56
+ { name: "externalCallHash", type: "bytes32" },
57
+ { name: "combinedInteractions", type: "bytes" },
58
+ { name: "allowedCancelBeneficiary", type: "address" },
59
+ { ...allowedAddressTuple, name: "dstAuthorityAddress" },
60
+ { name: "intentAuthority", type: "address" },
61
+ ],
62
+ },
63
+ ];
64
+ //# sourceMappingURL=evm-intent-id-abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-intent-id-abi.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id-abi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { encodeAbiParameters, keccak256, zeroAddress, zeroHash } from "viem";
2
+ import { SUBMIT_INTENT_ABI_PARAMS } from "./evm-intent-id-abi.js";
3
+ export function computeIntentId(intent) {
4
+ const struct = convertToIntentStruct(intent);
5
+ const encoded = encodeAbiParameters(SUBMIT_INTENT_ABI_PARAMS, [struct]);
6
+ return keccak256(encoded);
7
+ }
8
+ function convertToIntentStruct(intent) {
9
+ return {
10
+ intentChainId: intent.intentChainId,
11
+ intentOwner: intent.intentOwner,
12
+ receiverDetails: convertAllowedAddresses(intent.receiverDetails),
13
+ inputToken: convertInputTokens(intent.inputToken),
14
+ giveToken: convertGiveTokens(intent.giveToken),
15
+ takeToken: convertTakeTokens(intent.takeToken),
16
+ expirationTimestamp: BigInt(intent.expirationTimestamp),
17
+ intentTimestamp: BigInt(intent.intentTimestamp),
18
+ srcAllowedSender: (intent.srcAllowedSender ?? []),
19
+ executionMetadata: (intent.executionMetadata ?? zeroHash),
20
+ isAnyDlnMetadataAllowed: true,
21
+ dlnMetadata: (intent.dlnMetadata ?? "0x"),
22
+ externalCallHash: (intent.externalCallHash ?? zeroHash),
23
+ combinedInteractions: "0x",
24
+ allowedCancelBeneficiary: (intent.allowedCancelBeneficiary ?? zeroAddress),
25
+ dstAuthorityAddress: convertAllowedAddresses(intent.dstAuthorityAddress),
26
+ intentAuthority: intent.intentAuthority,
27
+ };
28
+ }
29
+ function convertAllowedAddresses(details) {
30
+ if (!details)
31
+ return [];
32
+ return details.map(d => ({
33
+ allowedAddress: d.address,
34
+ chains: d.destinationChainIds === "any" ? [] : d.destinationChainIds,
35
+ isAnyChain: d.destinationChainIds === "any",
36
+ }));
37
+ }
38
+ function convertInputTokens(tokens) {
39
+ if (!tokens)
40
+ return [];
41
+ return tokens.map(t => ({
42
+ token: t.address,
43
+ minPartialAmount: BigInt(t.minPartialAmount),
44
+ maxPartialAmount: BigInt(t.maxPartialAmount),
45
+ budget: BigInt(t.constraintBudget),
46
+ }));
47
+ }
48
+ function convertGiveTokens(tokens) {
49
+ if (!tokens)
50
+ return [];
51
+ return tokens.map(t => ({
52
+ inputToken: t.inputTokenAddress,
53
+ giveToken: t.giveTokenAddress,
54
+ numerator: BigInt(t.numerator),
55
+ denominator: Number(t.denominator),
56
+ }));
57
+ }
58
+ function convertTakeTokens(tokens) {
59
+ return tokens.map(t => ({
60
+ giveToken: t.fromTokenAddress,
61
+ takeTokenChain: t.takeTokenChainId,
62
+ takeToken: t.takeTokenAddress,
63
+ numerator: BigInt(t.numerator),
64
+ denominator: Number(t.denominator),
65
+ }));
66
+ }
67
+ //# sourceMappingURL=evm-intent-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-intent-id.js","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,MAAsB;IAClD,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsB;IACjD,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAA4B;QAChD,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC;QAChE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9C,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9C,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACvD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,gBAAgB,EAAE,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAoB;QACpE,iBAAiB,EAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,QAAQ,CAAkB;QAC1E,uBAAuB,EAAE,IAAI;QAC7B,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAkB;QAC1D,gBAAgB,EAAE,CAAC,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAkB;QACxE,oBAAoB,EAAE,IAAqB;QAC3C,wBAAwB,EAAE,CAAC,MAAM,CAAC,wBAAwB,IAAI,WAAW,CAAkB;QAC3F,mBAAmB,EAAE,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACxE,eAAe,EAAE,MAAM,CAAC,eAAgC;KAC3D,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAC5B,OAAsE;IAEtE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,cAAc,EAAE,CAAC,CAAC,OAAwB;QAC1C,MAAM,EAAE,CAAC,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;QACpE,UAAU,EAAE,CAAC,CAAC,mBAAmB,KAAK,KAAK;KAC9C,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CACvB,MAA4G;IAE5G,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,OAAwB;QACjC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC5C,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;KACrC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,iBAAiB,CACtB,MAA0G;IAE1G,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,iBAAkC;QAChD,SAAS,EAAE,CAAC,CAAC,gBAAiC;QAC9C,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;KACrC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,iBAAiB,CACtB,MAAkI;IAElI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,SAAS,EAAE,CAAC,CAAC,gBAAiC;QAC9C,cAAc,EAAE,CAAC,CAAC,gBAAgB;QAClC,SAAS,EAAE,CAAC,CAAC,gBAAiC;QAC9C,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;KACrC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { WETH_CONTRACTS } from "../whitelists/evm/index.js";
2
+ import { SPL_NATIVE_MINT } from "../whitelists/solana/programs.js";
3
+ import { ChainId } from "../types/enums.js";
4
+ import { isNativeToken } from "./address.js";
5
+ // Re-export for convenience — callers that only need isNativeToken
6
+ // don't have to know about address.ts
7
+ export { isNativeToken } from "./address.js";
8
+ // Returns the wrapped token address for native tokens, or the token address as-is for non-native.
9
+ // For EVM native (0x000...0) → WETH address for the given chain.
10
+ // For Tron native (T9yD14N...) → WTRX (0x891... in EVM hex).
11
+ // For Solana native (111...1) → WSOL (SPL_NATIVE_MINT).
12
+ // For non-native tokens → the address unchanged.
13
+ export function resolveWrappedTokenAddress(tokenAddress, realChainId) {
14
+ if (!isNativeToken(tokenAddress, realChainId)) {
15
+ return tokenAddress;
16
+ }
17
+ if (realChainId === ChainId.Solana) {
18
+ return SPL_NATIVE_MINT;
19
+ }
20
+ const wethAddresses = WETH_CONTRACTS[realChainId] ?? WETH_CONTRACTS[ChainId.Wildcard];
21
+ if (!wethAddresses || wethAddresses.length === 0)
22
+ return undefined;
23
+ return wethAddresses[0];
24
+ }
25
+ //# sourceMappingURL=evm-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-token.js","sourceRoot":"","sources":["../../../src/helpers/evm-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,mEAAmE;AACnE,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,kGAAkG;AAClG,iEAAiE;AACjE,6DAA6D;AAC7D,wDAAwD;AACxD,iDAAiD;AACjD,MAAM,UAAU,0BAA0B,CACtC,YAAoB,EACpB,WAAoB;IAEpB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtF,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { ViolationCode, SpecialAmount, } from "../types/index.js";
2
+ import { normalizeAddress } from "./address.js";
3
+ import { resolveWrappedTokenAddress } from "./evm-token.js";
4
+ // Sums srcChainTokenInAmount for trades matching a given token address.
5
+ // Returns skip=true if any matching trade has max/auto amount.
6
+ // Returns violations if any matching trade has an invalid (non-numeric) amount.
7
+ export function sumTradeAmounts(trades, tokenAddress, realChainId) {
8
+ let sum = 0n;
9
+ // Resolve native → WETH so Budget for WETH matches trades with native input (and vice versa)
10
+ const resolvedToken = resolveWrappedTokenAddress(tokenAddress, realChainId) ?? tokenAddress;
11
+ const normalized = normalizeAddress(realChainId, resolvedToken);
12
+ for (let i = 0; i < trades.length; i++) {
13
+ const trade = trades[i];
14
+ const resolvedTradeToken = resolveWrappedTokenAddress(trade.srcChainTokenIn, realChainId);
15
+ const normalizedTradeToken = normalizeAddress(realChainId, resolvedTradeToken ?? trade.srcChainTokenIn);
16
+ if (normalizedTradeToken !== normalized) {
17
+ continue;
18
+ }
19
+ const amount = trade.srcChainTokenInAmount;
20
+ if (amount === SpecialAmount.Max || amount === SpecialAmount.Auto) {
21
+ return { skip: true };
22
+ }
23
+ try {
24
+ sum += BigInt(amount);
25
+ }
26
+ catch {
27
+ return {
28
+ violations: [{
29
+ code: ViolationCode.TradeAmountInvalid,
30
+ message: `trade srcChainTokenInAmount is not a valid number`,
31
+ path: `request.trades[${i}].srcChainTokenInAmount`,
32
+ actual: amount,
33
+ }],
34
+ };
35
+ }
36
+ }
37
+ return { sum };
38
+ }
39
+ //# sourceMappingURL=evm-trade-amounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-trade-amounts.js","sourceRoot":"","sources":["../../../src/helpers/evm-trade-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,aAAa,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAOzD,wEAAwE;AACxE,+DAA+D;AAC/D,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAC3B,MAAsB,EACtB,YAAoB,EACpB,WAAoB;IAEpB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,6FAA6F;IAC7F,MAAM,aAAa,GAAG,0BAA0B,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,YAAY,CAAC;IAC5F,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,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,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,oBAAoB,GAAG,gBAAgB,CACzC,WAAW,EAAE,kBAAkB,IAAI,KAAK,CAAC,eAAe,CAC3D,CAAC;QACF,IAAI,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACtC,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAC3C,IAAI,MAAM,KAAK,aAAa,CAAC,GAAG,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACD,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;gBACH,UAAU,EAAE,CAAC;wBACT,IAAI,EAAE,aAAa,CAAC,kBAAkB;wBACtC,OAAO,EAAE,mDAAmD;wBAC5D,IAAI,EAAE,kBAAkB,CAAC,yBAAyB;wBAClD,MAAM,EAAE,MAAM;qBACjB,CAAC;aACL,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,146 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { ASSOCIATED_TOKEN_PROGRAM, COMPUTE_BUDGET_PROGRAM, MEMO_PROGRAM, SPL_TOKEN_PROGRAM, SPL_TOKEN_2022_PROGRAM, SYSTEM_PROGRAM, } from "../whitelists/solana/programs.js";
3
+ // =============================================
4
+ // Constants
5
+ // =============================================
6
+ // Classic SPL Token Approve discriminator (1 byte)
7
+ const CLASSIC_APPROVE_DISCRIMINATOR = 4;
8
+ // Classic approve instruction data length: 1 byte discriminator + 8 bytes amount
9
+ const CLASSIC_APPROVE_DATA_LENGTH = 9;
10
+ // Custom approveProtocolTransfers discriminator (8 bytes, Anchor)
11
+ const CUSTOM_APPROVE_DISCRIMINATOR = new Uint8Array([17, 3, 184, 144, 112, 130, 116, 98]);
12
+ // Token program IDs that can issue classic approve
13
+ const TOKEN_PROGRAMS = new Set([SPL_TOKEN_PROGRAM, SPL_TOKEN_2022_PROGRAM]);
14
+ // Custom approve accounts layout: [0]=maker, [1]=statePda, [2]=tokenProgram, [3+]=ATAs
15
+ export const CUSTOM_APPROVE_FIRST_ATA_INDEX = 3;
16
+ // =============================================
17
+ // Types
18
+ // =============================================
19
+ export var ApproveKind;
20
+ (function (ApproveKind) {
21
+ ApproveKind[ApproveKind["Classic"] = 0] = "Classic";
22
+ ApproveKind[ApproveKind["Custom"] = 1] = "Custom";
23
+ })(ApproveKind || (ApproveKind = {}));
24
+ // =============================================
25
+ // Instruction identification
26
+ // =============================================
27
+ export function isClassicApprove(ix) {
28
+ return TOKEN_PROGRAMS.has(ix.programId)
29
+ && ix.data.length === CLASSIC_APPROVE_DATA_LENGTH
30
+ && ix.data[0] === CLASSIC_APPROVE_DISCRIMINATOR;
31
+ }
32
+ export function isCustomApprove(ix, intentProgram) {
33
+ if (ix.programId !== intentProgram)
34
+ return false;
35
+ if (ix.data.length < CUSTOM_APPROVE_DISCRIMINATOR.length)
36
+ return false;
37
+ for (let i = 0; i < CUSTOM_APPROVE_DISCRIMINATOR.length; i++) {
38
+ if (ix.data[i] !== CUSTOM_APPROVE_DISCRIMINATOR[i])
39
+ return false;
40
+ }
41
+ return true;
42
+ }
43
+ // SystemProgram Transfer: discriminator = 2 as u32 LE, data >= 12 bytes
44
+ export function isSystemTransfer(ix) {
45
+ if (ix.programId !== SYSTEM_PROGRAM)
46
+ return false;
47
+ if (ix.data.length < 12)
48
+ return false; // 4 discriminator + 8 lamports
49
+ return ix.data[0] === 2 && ix.data[1] === 0 && ix.data[2] === 0 && ix.data[3] === 0;
50
+ }
51
+ // SPL Token SyncNative: discriminator = 17, data = 1 byte
52
+ export function isSyncNative(ix) {
53
+ return ix.programId === SPL_TOKEN_PROGRAM
54
+ && ix.data.length === 1
55
+ && ix.data[0] === 17;
56
+ }
57
+ // CreateAssociatedTokenAccountIdempotent: discriminator = 1, data = 1 byte
58
+ export function isCreateAtaIdempotent(ix) {
59
+ return ix.programId === ASSOCIATED_TOKEN_PROGRAM
60
+ && ix.data.length === 1
61
+ && ix.data[0] === 1;
62
+ }
63
+ // ComputeBudget program instruction (any discriminator)
64
+ export function isComputeBudget(ix) {
65
+ return ix.programId === COMPUTE_BUDGET_PROGRAM;
66
+ }
67
+ // Memo program instruction (any content)
68
+ export function isMemo(ix) {
69
+ return ix.programId === MEMO_PROGRAM;
70
+ }
71
+ // =============================================
72
+ // Instruction decoding
73
+ // =============================================
74
+ export function decodeClassicApprove(ix) {
75
+ const amount = readU64LE(ix.data, 1);
76
+ return {
77
+ kind: ApproveKind.Classic,
78
+ amount,
79
+ ataAddress: ix.accountKeys[0],
80
+ delegate: ix.accountKeys[1],
81
+ owner: ix.accountKeys[2],
82
+ tokenProgramId: ix.programId,
83
+ };
84
+ }
85
+ export function decodeCustomApprove(ix) {
86
+ const vecLength = readU32LE(ix.data, 8);
87
+ const amounts = [];
88
+ for (let i = 0; i < vecLength; i++) {
89
+ amounts.push(readU64LE(ix.data, 12 + i * 8));
90
+ }
91
+ return {
92
+ kind: ApproveKind.Custom,
93
+ vecLength,
94
+ amounts,
95
+ maker: ix.accountKeys[0],
96
+ statePda: ix.accountKeys[1],
97
+ tokenProgramId: ix.accountKeys[2],
98
+ ataAddresses: ix.accountKeys.slice(CUSTOM_APPROVE_FIRST_ATA_INDEX),
99
+ };
100
+ }
101
+ // =============================================
102
+ // ATA derivation
103
+ // =============================================
104
+ const ASSOCIATED_TOKEN_PROGRAM_PUB_KEY = new PublicKey(ASSOCIATED_TOKEN_PROGRAM);
105
+ // Derives the Associated Token Account address.
106
+ // seeds = [owner, tokenProgramId, mint], program = ASSOCIATED_TOKEN_PROGRAM
107
+ export function deriveAta(owner, mint, tokenProgramId) {
108
+ const ownerPk = new PublicKey(owner);
109
+ const mintPk = new PublicKey(mint);
110
+ const tokenProgramPk = new PublicKey(tokenProgramId);
111
+ const [ata] = PublicKey.findProgramAddressSync([ownerPk.toBytes(), tokenProgramPk.toBytes(), mintPk.toBytes()], ASSOCIATED_TOKEN_PROGRAM_PUB_KEY);
112
+ return ata.toBase58();
113
+ }
114
+ // =============================================
115
+ // Resolve compiled instructions to ResolvedInstruction[]
116
+ // =============================================
117
+ export function resolveInstructions(compiledInstructions, staticAccountKeys) {
118
+ const resolved = [];
119
+ for (const ix of compiledInstructions) {
120
+ const programId = staticAccountKeys[ix.programIdIndex];
121
+ // Skip instructions with programId in Address Lookup Table
122
+ // (must be already reported by other validations)
123
+ if (programId === undefined)
124
+ continue;
125
+ const accountKeys = ix.accountKeyIndexes.map(idx => staticAccountKeys[idx] ?? "");
126
+ resolved.push({ programId, accountKeys, data: ix.data });
127
+ }
128
+ return resolved;
129
+ }
130
+ // =============================================
131
+ // Binary helpers (little-endian)
132
+ // =============================================
133
+ function readU64LE(data, offset) {
134
+ let value = 0n;
135
+ for (let i = 0; i < 8; i++) {
136
+ value |= BigInt(data[offset + i]) << BigInt(i * 8);
137
+ }
138
+ return value;
139
+ }
140
+ function readU32LE(data, offset) {
141
+ return (data[offset]
142
+ | (data[offset + 1] << 8)
143
+ | (data[offset + 2] << 16)
144
+ | (data[offset + 3] << 24)) >>> 0;
145
+ }
146
+ //# sourceMappingURL=solana-instruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-instruction.js","sourceRoot":"","sources":["../../../src/helpers/solana-instruction.ts"],"names":[],"mappings":"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"}