@debridge-finance/borderless-validation-sdk 0.0.1 → 0.0.3

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 (292) hide show
  1. package/README.md +164 -0
  2. package/dist/cjs/helpers/address.js +53 -18
  3. package/dist/cjs/helpers/address.js.map +1 -1
  4. package/dist/cjs/helpers/evm-action.js +3 -3
  5. package/dist/cjs/helpers/evm-action.js.map +1 -1
  6. package/dist/cjs/helpers/evm-dln-hook-pack.js +87 -0
  7. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -0
  8. package/dist/cjs/helpers/evm-gas-compensation-tx.js +102 -0
  9. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +1 -0
  10. package/dist/cjs/helpers/evm-intent-id.js +27 -13
  11. package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
  12. package/dist/cjs/helpers/evm-trade-amounts.js +36 -1
  13. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  14. package/dist/cjs/helpers/gas-compensation.js +36 -0
  15. package/dist/cjs/helpers/gas-compensation.js.map +1 -0
  16. package/dist/cjs/helpers/hex.js +24 -0
  17. package/dist/cjs/helpers/hex.js.map +1 -0
  18. package/dist/cjs/helpers/placeholder.js +174 -0
  19. package/dist/cjs/helpers/placeholder.js.map +1 -0
  20. package/dist/cjs/helpers/sets.js +13 -0
  21. package/dist/cjs/helpers/sets.js.map +1 -0
  22. package/dist/cjs/types/enums.js +51 -2
  23. package/dist/cjs/types/enums.js.map +1 -1
  24. package/dist/cjs/types/request.js +36 -3
  25. package/dist/cjs/types/request.js.map +1 -1
  26. package/dist/cjs/types/response.js +126 -6
  27. package/dist/cjs/types/response.js.map +1 -1
  28. package/dist/cjs/types/validation.js +82 -10
  29. package/dist/cjs/types/validation.js.map +1 -1
  30. package/dist/cjs/validations/compensation-hook.js +203 -0
  31. package/dist/cjs/validations/compensation-hook.js.map +1 -0
  32. package/dist/cjs/validations/evm-caveats.js +4 -14
  33. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  34. package/dist/cjs/validations/evm-op-budget.js +13 -10
  35. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  36. package/dist/cjs/validations/evm-op-hook.js +410 -3
  37. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  38. package/dist/cjs/validations/evm-op-wrap.js +10 -7
  39. package/dist/cjs/validations/evm-op-wrap.js.map +1 -1
  40. package/dist/cjs/validations/evm-required-actions.js +7 -9
  41. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  42. package/dist/cjs/validations/evm-sign712-metamask.js +17 -94
  43. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
  44. package/dist/cjs/validations/evm-sign712-shared.js +116 -0
  45. package/dist/cjs/validations/evm-sign712-shared.js.map +1 -0
  46. package/dist/cjs/validations/evm-sign7702.js +34 -22
  47. package/dist/cjs/validations/evm-sign7702.js.map +1 -1
  48. package/dist/cjs/validations/hooks-common.js +252 -37
  49. package/dist/cjs/validations/hooks-common.js.map +1 -1
  50. package/dist/cjs/validations/intent-destinations.js +197 -0
  51. package/dist/cjs/validations/intent-destinations.js.map +1 -0
  52. package/dist/cjs/validations/intent-tokens.js +357 -0
  53. package/dist/cjs/validations/intent-tokens.js.map +1 -0
  54. package/dist/cjs/validations/intent.js +288 -0
  55. package/dist/cjs/validations/intent.js.map +1 -0
  56. package/dist/cjs/validations/required-actions.js +7 -7
  57. package/dist/cjs/validations/required-actions.js.map +1 -1
  58. package/dist/cjs/validations/solana-hook.js +33 -22
  59. package/dist/cjs/validations/solana-hook.js.map +1 -1
  60. package/dist/cjs/validations/solana-op-budget.js +56 -18
  61. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  62. package/dist/cjs/validations/solana-op-wrap.js +46 -13
  63. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  64. package/dist/cjs/validations/solana-required-actions.js +3 -3
  65. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  66. package/dist/cjs/validations/solana-transaction.js +5 -5
  67. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  68. package/dist/cjs/validations/trade-grouping.js +139 -1
  69. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  70. package/dist/cjs/validations/trades.js +168 -40
  71. package/dist/cjs/validations/trades.js.map +1 -1
  72. package/dist/cjs/validator.js +41 -15
  73. package/dist/cjs/validator.js.map +1 -1
  74. package/dist/cjs/whitelists/api-endpoints.js +10 -0
  75. package/dist/cjs/whitelists/api-endpoints.js.map +1 -0
  76. package/dist/cjs/whitelists/environment-config.js +47 -28
  77. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  78. package/dist/cjs/whitelists/evm/caveat-enforcers.js +21 -5
  79. package/dist/cjs/whitelists/evm/caveat-enforcers.js.map +1 -1
  80. package/dist/cjs/whitelists/evm/delegation-manager.js +7 -2
  81. package/dist/cjs/whitelists/evm/delegation-manager.js.map +1 -1
  82. package/dist/cjs/whitelists/evm/eip7702-delegation.js +7 -2
  83. package/dist/cjs/whitelists/evm/eip7702-delegation.js.map +1 -1
  84. package/dist/cjs/whitelists/evm/index.js +14 -1
  85. package/dist/cjs/whitelists/evm/index.js.map +1 -1
  86. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js +16 -0
  87. package/dist/cjs/whitelists/evm/metamask-delegation-chains.js.map +1 -0
  88. package/dist/cjs/whitelists/evm/permit2.js +16 -12
  89. package/dist/cjs/whitelists/evm/permit2.js.map +1 -1
  90. package/dist/cjs/whitelists/evm/weth.js +16 -5
  91. package/dist/cjs/whitelists/evm/weth.js.map +1 -1
  92. package/dist/cjs/whitelists/solana/intent-signature.js +0 -1
  93. package/dist/cjs/whitelists/solana/intent-signature.js.map +1 -1
  94. package/dist/cjs/whitelists/subscription-to-chain-id.js +10 -0
  95. package/dist/cjs/whitelists/subscription-to-chain-id.js.map +1 -1
  96. package/dist/cjs/whitelists/types.js +13 -3
  97. package/dist/cjs/whitelists/types.js.map +1 -1
  98. package/dist/esm/helpers/address.js +48 -17
  99. package/dist/esm/helpers/address.js.map +1 -1
  100. package/dist/esm/helpers/evm-action.js +3 -3
  101. package/dist/esm/helpers/evm-action.js.map +1 -1
  102. package/dist/esm/helpers/evm-dln-hook-pack.js +82 -0
  103. package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -0
  104. package/dist/esm/helpers/evm-gas-compensation-tx.js +99 -0
  105. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +1 -0
  106. package/dist/esm/helpers/evm-intent-id.js +27 -13
  107. package/dist/esm/helpers/evm-intent-id.js.map +1 -1
  108. package/dist/esm/helpers/evm-trade-amounts.js +36 -1
  109. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  110. package/dist/esm/helpers/gas-compensation.js +33 -0
  111. package/dist/esm/helpers/gas-compensation.js.map +1 -0
  112. package/dist/esm/helpers/hex.js +20 -0
  113. package/dist/esm/helpers/hex.js.map +1 -0
  114. package/dist/esm/helpers/placeholder.js +168 -0
  115. package/dist/esm/helpers/placeholder.js.map +1 -0
  116. package/dist/esm/helpers/sets.js +10 -0
  117. package/dist/esm/helpers/sets.js.map +1 -0
  118. package/dist/esm/types/enums.js +50 -1
  119. package/dist/esm/types/enums.js.map +1 -1
  120. package/dist/esm/types/request.js +37 -4
  121. package/dist/esm/types/request.js.map +1 -1
  122. package/dist/esm/types/response.js +126 -6
  123. package/dist/esm/types/response.js.map +1 -1
  124. package/dist/esm/types/validation.js +82 -10
  125. package/dist/esm/types/validation.js.map +1 -1
  126. package/dist/esm/validations/compensation-hook.js +200 -0
  127. package/dist/esm/validations/compensation-hook.js.map +1 -0
  128. package/dist/esm/validations/evm-caveats.js +4 -14
  129. package/dist/esm/validations/evm-caveats.js.map +1 -1
  130. package/dist/esm/validations/evm-op-budget.js +13 -10
  131. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  132. package/dist/esm/validations/evm-op-hook.js +409 -2
  133. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  134. package/dist/esm/validations/evm-op-wrap.js +10 -7
  135. package/dist/esm/validations/evm-op-wrap.js.map +1 -1
  136. package/dist/esm/validations/evm-required-actions.js +7 -9
  137. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  138. package/dist/esm/validations/evm-sign712-metamask.js +17 -94
  139. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
  140. package/dist/esm/validations/evm-sign712-shared.js +110 -0
  141. package/dist/esm/validations/evm-sign712-shared.js.map +1 -0
  142. package/dist/esm/validations/evm-sign7702.js +33 -22
  143. package/dist/esm/validations/evm-sign7702.js.map +1 -1
  144. package/dist/esm/validations/hooks-common.js +251 -38
  145. package/dist/esm/validations/hooks-common.js.map +1 -1
  146. package/dist/esm/validations/intent-destinations.js +194 -0
  147. package/dist/esm/validations/intent-destinations.js.map +1 -0
  148. package/dist/esm/validations/intent-tokens.js +354 -0
  149. package/dist/esm/validations/intent-tokens.js.map +1 -0
  150. package/dist/esm/validations/intent.js +285 -0
  151. package/dist/esm/validations/intent.js.map +1 -0
  152. package/dist/esm/validations/required-actions.js +7 -7
  153. package/dist/esm/validations/required-actions.js.map +1 -1
  154. package/dist/esm/validations/solana-hook.js +35 -24
  155. package/dist/esm/validations/solana-hook.js.map +1 -1
  156. package/dist/esm/validations/solana-op-budget.js +56 -18
  157. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  158. package/dist/esm/validations/solana-op-wrap.js +47 -14
  159. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  160. package/dist/esm/validations/solana-required-actions.js +3 -3
  161. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  162. package/dist/esm/validations/solana-transaction.js +7 -7
  163. package/dist/esm/validations/solana-transaction.js.map +1 -1
  164. package/dist/esm/validations/trade-grouping.js +139 -1
  165. package/dist/esm/validations/trade-grouping.js.map +1 -1
  166. package/dist/esm/validations/trades.js +169 -41
  167. package/dist/esm/validations/trades.js.map +1 -1
  168. package/dist/esm/validator.js +41 -15
  169. package/dist/esm/validator.js.map +1 -1
  170. package/dist/esm/whitelists/api-endpoints.js +7 -0
  171. package/dist/esm/whitelists/api-endpoints.js.map +1 -0
  172. package/dist/esm/whitelists/environment-config.js +47 -28
  173. package/dist/esm/whitelists/environment-config.js.map +1 -1
  174. package/dist/esm/whitelists/evm/caveat-enforcers.js +20 -4
  175. package/dist/esm/whitelists/evm/caveat-enforcers.js.map +1 -1
  176. package/dist/esm/whitelists/evm/delegation-manager.js +6 -1
  177. package/dist/esm/whitelists/evm/delegation-manager.js.map +1 -1
  178. package/dist/esm/whitelists/evm/eip7702-delegation.js +6 -1
  179. package/dist/esm/whitelists/evm/eip7702-delegation.js.map +1 -1
  180. package/dist/esm/whitelists/evm/index.js +4 -4
  181. package/dist/esm/whitelists/evm/index.js.map +1 -1
  182. package/dist/esm/whitelists/evm/metamask-delegation-chains.js +13 -0
  183. package/dist/esm/whitelists/evm/metamask-delegation-chains.js.map +1 -0
  184. package/dist/esm/whitelists/evm/permit2.js +9 -5
  185. package/dist/esm/whitelists/evm/permit2.js.map +1 -1
  186. package/dist/esm/whitelists/evm/weth.js +16 -5
  187. package/dist/esm/whitelists/evm/weth.js.map +1 -1
  188. package/dist/esm/whitelists/solana/intent-signature.js +0 -1
  189. package/dist/esm/whitelists/solana/intent-signature.js.map +1 -1
  190. package/dist/esm/whitelists/subscription-to-chain-id.js +9 -0
  191. package/dist/esm/whitelists/subscription-to-chain-id.js.map +1 -1
  192. package/dist/esm/whitelists/types.js +14 -5
  193. package/dist/esm/whitelists/types.js.map +1 -1
  194. package/dist/types/helpers/address.d.ts +7 -7
  195. package/dist/types/helpers/address.d.ts.map +1 -1
  196. package/dist/types/helpers/evm-dln-hook-pack.d.ts +19 -0
  197. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -0
  198. package/dist/types/helpers/evm-gas-compensation-tx.d.ts +13 -0
  199. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +1 -0
  200. package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
  201. package/dist/types/helpers/evm-trade-amounts.d.ts +2 -2
  202. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  203. package/dist/types/helpers/gas-compensation.d.ts +10 -0
  204. package/dist/types/helpers/gas-compensation.d.ts.map +1 -0
  205. package/dist/types/helpers/hex.d.ts +3 -0
  206. package/dist/types/helpers/hex.d.ts.map +1 -0
  207. package/dist/types/helpers/placeholder.d.ts +41 -0
  208. package/dist/types/helpers/placeholder.d.ts.map +1 -0
  209. package/dist/types/helpers/sets.d.ts +2 -0
  210. package/dist/types/helpers/sets.d.ts.map +1 -0
  211. package/dist/types/types/enums.d.ts +39 -1
  212. package/dist/types/types/enums.d.ts.map +1 -1
  213. package/dist/types/types/request.d.ts +21 -11
  214. package/dist/types/types/request.d.ts.map +1 -1
  215. package/dist/types/types/response.d.ts +1019 -21
  216. package/dist/types/types/response.d.ts.map +1 -1
  217. package/dist/types/types/validation.d.ts +74 -11
  218. package/dist/types/types/validation.d.ts.map +1 -1
  219. package/dist/types/validations/compensation-hook.d.ts +3 -0
  220. package/dist/types/validations/compensation-hook.d.ts.map +1 -0
  221. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  222. package/dist/types/validations/evm-op-budget.d.ts +2 -2
  223. package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
  224. package/dist/types/validations/evm-op-hook.d.ts +4 -2
  225. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  226. package/dist/types/validations/evm-op-wrap.d.ts +2 -2
  227. package/dist/types/validations/evm-op-wrap.d.ts.map +1 -1
  228. package/dist/types/validations/evm-required-actions.d.ts +2 -2
  229. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  230. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  231. package/dist/types/validations/evm-sign712-shared.d.ts +7 -0
  232. package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -0
  233. package/dist/types/validations/evm-sign7702.d.ts +2 -1
  234. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  235. package/dist/types/validations/hooks-common.d.ts +1 -0
  236. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  237. package/dist/types/validations/intent-destinations.d.ts +4 -0
  238. package/dist/types/validations/intent-destinations.d.ts.map +1 -0
  239. package/dist/types/validations/intent-tokens.d.ts +4 -0
  240. package/dist/types/validations/intent-tokens.d.ts.map +1 -0
  241. package/dist/types/validations/intent.d.ts +5 -0
  242. package/dist/types/validations/intent.d.ts.map +1 -0
  243. package/dist/types/validations/required-actions.d.ts +2 -1
  244. package/dist/types/validations/required-actions.d.ts.map +1 -1
  245. package/dist/types/validations/solana-hook.d.ts +4 -2
  246. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  247. package/dist/types/validations/solana-op-budget.d.ts +2 -2
  248. package/dist/types/validations/solana-op-budget.d.ts.map +1 -1
  249. package/dist/types/validations/solana-op-wrap.d.ts +2 -2
  250. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  251. package/dist/types/validations/solana-required-actions.d.ts +2 -2
  252. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  253. package/dist/types/validations/solana-transaction.d.ts +3 -3
  254. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  255. package/dist/types/validations/trade-grouping.d.ts +6 -2
  256. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  257. package/dist/types/validations/trades.d.ts.map +1 -1
  258. package/dist/types/validator.d.ts.map +1 -1
  259. package/dist/types/whitelists/api-endpoints.d.ts +2 -0
  260. package/dist/types/whitelists/api-endpoints.d.ts.map +1 -0
  261. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  262. package/dist/types/whitelists/evm/caveat-enforcers.d.ts +8 -0
  263. package/dist/types/whitelists/evm/caveat-enforcers.d.ts.map +1 -1
  264. package/dist/types/whitelists/evm/delegation-manager.d.ts +2 -0
  265. package/dist/types/whitelists/evm/delegation-manager.d.ts.map +1 -1
  266. package/dist/types/whitelists/evm/eip7702-delegation.d.ts +2 -0
  267. package/dist/types/whitelists/evm/eip7702-delegation.d.ts.map +1 -1
  268. package/dist/types/whitelists/evm/index.d.ts +4 -4
  269. package/dist/types/whitelists/evm/index.d.ts.map +1 -1
  270. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts +3 -0
  271. package/dist/types/whitelists/evm/metamask-delegation-chains.d.ts.map +1 -0
  272. package/dist/types/whitelists/evm/permit2.d.ts +1 -0
  273. package/dist/types/whitelists/evm/permit2.d.ts.map +1 -1
  274. package/dist/types/whitelists/evm/weth.d.ts.map +1 -1
  275. package/dist/types/whitelists/solana/intent-signature.d.ts.map +1 -1
  276. package/dist/types/whitelists/subscription-to-chain-id.d.ts +1 -0
  277. package/dist/types/whitelists/subscription-to-chain-id.d.ts.map +1 -1
  278. package/dist/types/whitelists/types.d.ts +1 -1
  279. package/dist/types/whitelists/types.d.ts.map +1 -1
  280. package/package.json +4 -3
  281. package/dist/cjs/helpers/constants.js +0 -6
  282. package/dist/cjs/helpers/constants.js.map +0 -1
  283. package/dist/cjs/validations/evm-op-gas-compensation.js +0 -152
  284. package/dist/cjs/validations/evm-op-gas-compensation.js.map +0 -1
  285. package/dist/esm/helpers/constants.js +0 -3
  286. package/dist/esm/helpers/constants.js.map +0 -1
  287. package/dist/esm/validations/evm-op-gas-compensation.js +0 -149
  288. package/dist/esm/validations/evm-op-gas-compensation.js.map +0 -1
  289. package/dist/types/helpers/constants.d.ts +0 -2
  290. package/dist/types/helpers/constants.d.ts.map +0 -1
  291. package/dist/types/validations/evm-op-gas-compensation.d.ts +0 -3
  292. package/dist/types/validations/evm-op-gas-compensation.d.ts.map +0 -1
@@ -1,18 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = void 0;
3
+ exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.AVALANCHE_TIMESTAMP_ENFORCER = exports.AVALANCHE_ID_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = exports.DEFAULT_TIMESTAMP_ENFORCER = exports.DEFAULT_ID_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_ENFORCER = void 0;
4
4
  const enums_1 = require("../../types/enums");
5
+ const types_1 = require("../types");
6
+ const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
5
7
  // See: https://docs.metamask.io/smart-accounts-kit/changelog/0.13.0#caveat-enforcers
8
+ // Avalanche has its own deployment with different addresses; everything else uses the
9
+ // "default" set of addresses deployed by MetaMask.
10
+ exports.DEFAULT_EXACT_EXECUTION_ENFORCER = "0x146713078D39eCC1F5338309c28405ccf85Abfbb";
11
+ exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = "0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017";
12
+ exports.DEFAULT_ID_ENFORCER = "0xC8B5D93463c893401094cc70e66A206fb5987997";
13
+ exports.DEFAULT_TIMESTAMP_ENFORCER = "0x1046bb45C8d673d4ea75321280DB34899413c069";
14
+ exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = "0xA8F31338Bf2dadE38719eC1E5291Ca1eBBA3956f";
15
+ exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = "0x421edBd31b161679A85A24fd4634ac508d9A7205";
16
+ exports.AVALANCHE_ID_ENFORCER = "0x60bAF091cADA81FEA4009627EaC8F6FD4e6AF5A9";
17
+ exports.AVALANCHE_TIMESTAMP_ENFORCER = "0xDBA423E48E011006b93149f33E44CfF9C0D23602";
6
18
  exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = {
7
- [enums_1.ChainId.Wildcard]: ["0x146713078D39eCC1F5338309c28405ccf85Abfbb"] // wildcard for any chain
19
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EXACT_EXECUTION_ENFORCER),
20
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EXACT_EXECUTION_ENFORCER],
8
21
  };
9
22
  exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = {
10
- [enums_1.ChainId.Wildcard]: ["0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017"] // wildcard for any chain
23
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER),
24
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER],
11
25
  };
12
26
  exports.ID_ENFORCER_CONTRACTS = {
13
- [enums_1.ChainId.Wildcard]: ["0xC8B5D93463c893401094cc70e66A206fb5987997"] // wildcard for any chain
27
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_ID_ENFORCER),
28
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_ID_ENFORCER],
14
29
  };
15
30
  exports.TIMESTAMP_ENFORCER_CONTRACTS = {
16
- [enums_1.ChainId.Wildcard]: ["0x1046bb45C8d673d4ea75321280DB34899413c069"] // wildcard for any chain
31
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_TIMESTAMP_ENFORCER),
32
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_TIMESTAMP_ENFORCER],
17
33
  };
18
34
  //# sourceMappingURL=caveat-enforcers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"caveat-enforcers.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/caveat-enforcers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,qFAAqF;AAExE,QAAA,kCAAkC,GAAoB;IAC/D,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC;AAEE,QAAA,wCAAwC,GAAoB;IACrE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC;AAEE,QAAA,qBAAqB,GAAoB;IAClD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC;AAEE,QAAA,4BAA4B,GAAoB;IACzD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC"}
1
+ {"version":3,"file":"caveat-enforcers.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/caveat-enforcers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE3E,qFAAqF;AACrF,sFAAsF;AACtF,mDAAmD;AAEtC,QAAA,gCAAgC,GAAG,4CAA4C,CAAC;AAChF,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,mBAAmB,GAAG,4CAA4C,CAAC;AACnE,QAAA,0BAA0B,GAAG,4CAA4C,CAAC;AAE1E,QAAA,kCAAkC,GAAG,4CAA4C,CAAC;AAClF,QAAA,wCAAwC,GAAG,4CAA4C,CAAC;AACxF,QAAA,qBAAqB,GAAG,4CAA4C,CAAC;AACrE,QAAA,4BAA4B,GAAG,4CAA4C,CAAC;AAE5E,QAAA,kCAAkC,GAAoB;IAC/D,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,wCAAgC,CAAC;IACrF,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,0CAAkC,CAAC;CACnD,CAAC;AAEE,QAAA,wCAAwC,GAAoB;IACrE,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,8CAAsC,CAAC;IAC3F,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,gDAAwC,CAAC;CACzD,CAAC;AAEE,QAAA,qBAAqB,GAAoB;IAClD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,2BAAmB,CAAC;IACxE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,6BAAqB,CAAC;CACtC,CAAC;AAEE,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,kCAA0B,CAAC;IAC/E,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oCAA4B,CAAC;CAC7C,CAAC"}
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DELEGATION_MANAGER_CONTRACTS = void 0;
3
+ exports.DELEGATION_MANAGER_CONTRACTS = exports.AVALANCHE_DELEGATION_MANAGER = exports.DEFAULT_DELEGATION_MANAGER = void 0;
4
4
  const enums_1 = require("../../types/enums");
5
+ const types_1 = require("../types");
6
+ const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
5
7
  // See: https://docs.metamask.io/smart-accounts-kit/changelog/0.13.0#delegation-framework
8
+ exports.DEFAULT_DELEGATION_MANAGER = "0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3";
9
+ exports.AVALANCHE_DELEGATION_MANAGER = "0xAe210fcd400801CFd06F2Ae831571363634F673A";
6
10
  exports.DELEGATION_MANAGER_CONTRACTS = {
7
- [enums_1.ChainId.Wildcard]: ["0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3"] // wildcard for any chain
11
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_DELEGATION_MANAGER),
12
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_DELEGATION_MANAGER],
8
13
  };
9
14
  //# sourceMappingURL=delegation-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-manager.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/delegation-manager.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,yFAAyF;AAE5E,QAAA,4BAA4B,GAAoB;IACzD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC"}
1
+ {"version":3,"file":"delegation-manager.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/delegation-manager.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE3E,yFAAyF;AAE5E,QAAA,0BAA0B,GAAG,4CAA4C,CAAC;AAC1E,QAAA,4BAA4B,GAAG,4CAA4C,CAAC;AAE5E,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,kCAA0B,CAAC;IAC/E,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oCAA4B,CAAC;CAC7C,CAAC"}
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EIP7702_DELEGATION_CONTRACTS = void 0;
3
+ exports.EIP7702_DELEGATION_CONTRACTS = exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = void 0;
4
4
  const enums_1 = require("../../types/enums");
5
+ const types_1 = require("../types");
6
+ const metamask_delegation_chains_1 = require("./metamask-delegation-chains");
7
+ exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = "0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B";
8
+ exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = "0x5E52D56A42320997aD2F89512a62cCA5C90d181d";
5
9
  exports.EIP7702_DELEGATION_CONTRACTS = {
6
- [enums_1.ChainId.Wildcard]: ["0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B"] // wildcard for any chain
10
+ ...(0, types_1.buildSameAddressMap)(metamask_delegation_chains_1.METAMASK_DEFAULT_EVM_CHAINS, exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL),
11
+ [enums_1.ChainId.Avalanche]: [exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL],
7
12
  };
8
13
  //# sourceMappingURL=eip7702-delegation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eip7702-delegation.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/eip7702-delegation.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,4BAA4B,GAAoB;IACzD,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC,yBAAyB;CACtF,CAAC"}
1
+ {"version":3,"file":"eip7702-delegation.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/eip7702-delegation.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,oCAAgE;AAChE,6EAA2E;AAE9D,QAAA,wCAAwC,GAAG,4CAA4C,CAAC;AACxF,QAAA,0CAA0C,GAAG,4CAA4C,CAAC;AAE1F,QAAA,4BAA4B,GAAoB;IACzD,GAAG,IAAA,2BAAmB,EAAC,wDAA2B,EAAE,gDAAwC,CAAC;IAC7F,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,kDAA0C,CAAC;CAC3D,CAAC"}
@@ -1,17 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WETH_CONTRACTS = exports.PERMIT2_CONTRACTS = exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.DELEGATION_MANAGER_CONTRACTS = exports.EIP7702_DELEGATION_CONTRACTS = void 0;
3
+ exports.WETH_CONTRACTS = exports.DEFAULT_PERMIT2_ADDRESS = exports.PERMIT2_CONTRACTS = exports.AVALANCHE_TIMESTAMP_ENFORCER = exports.AVALANCHE_ID_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER = exports.AVALANCHE_EXACT_EXECUTION_ENFORCER = exports.DEFAULT_TIMESTAMP_ENFORCER = exports.DEFAULT_ID_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER = exports.DEFAULT_EXACT_EXECUTION_ENFORCER = exports.TIMESTAMP_ENFORCER_CONTRACTS = exports.ID_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS = exports.EXACT_EXECUTION_ENFORCER_CONTRACTS = exports.AVALANCHE_DELEGATION_MANAGER = exports.DEFAULT_DELEGATION_MANAGER = exports.DELEGATION_MANAGER_CONTRACTS = exports.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL = exports.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL = exports.EIP7702_DELEGATION_CONTRACTS = void 0;
4
4
  var eip7702_delegation_1 = require("./eip7702-delegation");
5
5
  Object.defineProperty(exports, "EIP7702_DELEGATION_CONTRACTS", { enumerable: true, get: function () { return eip7702_delegation_1.EIP7702_DELEGATION_CONTRACTS; } });
6
+ Object.defineProperty(exports, "DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL", { enumerable: true, get: function () { return eip7702_delegation_1.DEFAULT_EIP7702_STATELESS_DELEGATOR_IMPL; } });
7
+ Object.defineProperty(exports, "AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL", { enumerable: true, get: function () { return eip7702_delegation_1.AVALANCHE_EIP7702_STATELESS_DELEGATOR_IMPL; } });
6
8
  var delegation_manager_1 = require("./delegation-manager");
7
9
  Object.defineProperty(exports, "DELEGATION_MANAGER_CONTRACTS", { enumerable: true, get: function () { return delegation_manager_1.DELEGATION_MANAGER_CONTRACTS; } });
10
+ Object.defineProperty(exports, "DEFAULT_DELEGATION_MANAGER", { enumerable: true, get: function () { return delegation_manager_1.DEFAULT_DELEGATION_MANAGER; } });
11
+ Object.defineProperty(exports, "AVALANCHE_DELEGATION_MANAGER", { enumerable: true, get: function () { return delegation_manager_1.AVALANCHE_DELEGATION_MANAGER; } });
8
12
  var caveat_enforcers_1 = require("./caveat-enforcers");
9
13
  Object.defineProperty(exports, "EXACT_EXECUTION_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.EXACT_EXECUTION_ENFORCER_CONTRACTS; } });
10
14
  Object.defineProperty(exports, "EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.EXACT_EXECUTION_BATCH_ENFORCER_CONTRACTS; } });
11
15
  Object.defineProperty(exports, "ID_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.ID_ENFORCER_CONTRACTS; } });
12
16
  Object.defineProperty(exports, "TIMESTAMP_ENFORCER_CONTRACTS", { enumerable: true, get: function () { return caveat_enforcers_1.TIMESTAMP_ENFORCER_CONTRACTS; } });
17
+ Object.defineProperty(exports, "DEFAULT_EXACT_EXECUTION_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_EXACT_EXECUTION_ENFORCER; } });
18
+ Object.defineProperty(exports, "DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_EXACT_EXECUTION_BATCH_ENFORCER; } });
19
+ Object.defineProperty(exports, "DEFAULT_ID_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_ID_ENFORCER; } });
20
+ Object.defineProperty(exports, "DEFAULT_TIMESTAMP_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.DEFAULT_TIMESTAMP_ENFORCER; } });
21
+ Object.defineProperty(exports, "AVALANCHE_EXACT_EXECUTION_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_EXACT_EXECUTION_ENFORCER; } });
22
+ Object.defineProperty(exports, "AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_EXACT_EXECUTION_BATCH_ENFORCER; } });
23
+ Object.defineProperty(exports, "AVALANCHE_ID_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_ID_ENFORCER; } });
24
+ Object.defineProperty(exports, "AVALANCHE_TIMESTAMP_ENFORCER", { enumerable: true, get: function () { return caveat_enforcers_1.AVALANCHE_TIMESTAMP_ENFORCER; } });
13
25
  var permit2_1 = require("./permit2");
14
26
  Object.defineProperty(exports, "PERMIT2_CONTRACTS", { enumerable: true, get: function () { return permit2_1.PERMIT2_CONTRACTS; } });
27
+ Object.defineProperty(exports, "DEFAULT_PERMIT2_ADDRESS", { enumerable: true, get: function () { return permit2_1.DEFAULT_PERMIT2_ADDRESS; } });
15
28
  var weth_1 = require("./weth");
16
29
  Object.defineProperty(exports, "WETH_CONTRACTS", { enumerable: true, get: function () { return weth_1.WETH_CONTRACTS; } });
17
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AAA3D,kIAAA,4BAA4B,OAAA;AACrC,2DAAoE;AAA3D,kIAAA,4BAA4B,OAAA;AACrC,uDAK4B;AAJxB,sIAAA,kCAAkC,OAAA;AAClC,4IAAA,wCAAwC,OAAA;AACxC,yHAAA,qBAAqB,OAAA;AACrB,gIAAA,4BAA4B,OAAA;AAEhC,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,+BAAwC;AAA/B,sGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/index.ts"],"names":[],"mappings":";;;AAAA,2DAI8B;AAH1B,kIAAA,4BAA4B,OAAA;AAC5B,8IAAA,wCAAwC,OAAA;AACxC,gJAAA,0CAA0C,OAAA;AAE9C,2DAI8B;AAH1B,kIAAA,4BAA4B,OAAA;AAC5B,gIAAA,0BAA0B,OAAA;AAC1B,kIAAA,4BAA4B,OAAA;AAEhC,uDAa4B;AAZxB,sIAAA,kCAAkC,OAAA;AAClC,4IAAA,wCAAwC,OAAA;AACxC,yHAAA,qBAAqB,OAAA;AACrB,gIAAA,4BAA4B,OAAA;AAC5B,oIAAA,gCAAgC,OAAA;AAChC,0IAAA,sCAAsC,OAAA;AACtC,uHAAA,mBAAmB,OAAA;AACnB,8HAAA,0BAA0B,OAAA;AAC1B,sIAAA,kCAAkC,OAAA;AAClC,4IAAA,wCAAwC,OAAA;AACxC,yHAAA,qBAAqB,OAAA;AACrB,gIAAA,4BAA4B,OAAA;AAEhC,qCAAuE;AAA9D,4GAAA,iBAAiB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AACnD,+BAAwC;AAA/B,sGAAA,cAAc,OAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.METAMASK_DEFAULT_EVM_CHAINS = void 0;
4
+ const enums_1 = require("../../types/enums");
5
+ // Chains where MetaMask Delegation Framework uses the "default" set of contract addresses
6
+ // (DelegationManager, EIP7702StatelessDeleGatorImpl, caveat enforcers).
7
+ // Avalanche has a separate, chain-specific deployment and is handled separately.
8
+ exports.METAMASK_DEFAULT_EVM_CHAINS = [
9
+ enums_1.ChainId.Ethereum,
10
+ enums_1.ChainId.Optimism,
11
+ enums_1.ChainId.BNB,
12
+ enums_1.ChainId.Polygon,
13
+ enums_1.ChainId.Base,
14
+ enums_1.ChainId.Arbitrum,
15
+ ];
16
+ //# sourceMappingURL=metamask-delegation-chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metamask-delegation-chains.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/metamask-delegation-chains.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,0FAA0F;AAC1F,wEAAwE;AACxE,iFAAiF;AACpE,QAAA,2BAA2B,GAAuB;IAC3D,eAAO,CAAC,QAAQ;IAChB,eAAO,CAAC,QAAQ;IAChB,eAAO,CAAC,GAAG;IACX,eAAO,CAAC,OAAO;IACf,eAAO,CAAC,IAAI;IACZ,eAAO,CAAC,QAAQ;CACV,CAAC"}
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PERMIT2_CONTRACTS = void 0;
3
+ exports.PERMIT2_CONTRACTS = exports.DEFAULT_PERMIT2_ADDRESS = void 0;
4
4
  const enums_1 = require("../../types/enums");
5
- const DEFAULT_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
5
+ // Canonical Permit2 contract address (same on every chain it is deployed on).
6
+ exports.DEFAULT_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
6
7
  exports.PERMIT2_CONTRACTS = {
7
- [enums_1.ChainId.Ethereum]: [DEFAULT_PERMIT2_ADDRESS],
8
- [enums_1.ChainId.BNB]: [DEFAULT_PERMIT2_ADDRESS],
9
- [enums_1.ChainId.Polygon]: [DEFAULT_PERMIT2_ADDRESS],
10
- [enums_1.ChainId.Arbitrum]: [DEFAULT_PERMIT2_ADDRESS],
11
- [enums_1.ChainId.Avalanche]: [DEFAULT_PERMIT2_ADDRESS],
12
- [enums_1.ChainId.Linea]: [DEFAULT_PERMIT2_ADDRESS],
13
- [enums_1.ChainId.Base]: [DEFAULT_PERMIT2_ADDRESS],
14
- [enums_1.ChainId.Optimism]: [DEFAULT_PERMIT2_ADDRESS],
15
- // Gnosis: no Permit2
16
- // Sonic: no Permit2
8
+ [enums_1.ChainId.Ethereum]: [exports.DEFAULT_PERMIT2_ADDRESS],
9
+ [enums_1.ChainId.Optimism]: [exports.DEFAULT_PERMIT2_ADDRESS],
10
+ [enums_1.ChainId.BNB]: [exports.DEFAULT_PERMIT2_ADDRESS],
11
+ [enums_1.ChainId.Polygon]: [exports.DEFAULT_PERMIT2_ADDRESS],
12
+ [enums_1.ChainId.Monad]: [exports.DEFAULT_PERMIT2_ADDRESS],
13
+ [enums_1.ChainId.MegaETH]: [exports.DEFAULT_PERMIT2_ADDRESS],
14
+ [enums_1.ChainId.Base]: [exports.DEFAULT_PERMIT2_ADDRESS],
15
+ [enums_1.ChainId.Arbitrum]: [exports.DEFAULT_PERMIT2_ADDRESS],
16
+ [enums_1.ChainId.Avalanche]: [exports.DEFAULT_PERMIT2_ADDRESS],
17
+ [enums_1.ChainId.Linea]: [exports.DEFAULT_PERMIT2_ADDRESS],
18
+ // No Permit2 deployment on:
19
+ // Cronos, Gnosis, Sonic, Flow, HyperEVM, Sei, Story, Injective, Mantle,
20
+ // Bob, Tron.
17
21
  };
18
22
  //# sourceMappingURL=permit2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/permit2.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,MAAM,uBAAuB,GAAG,4CAA4C,CAAC;AAEhE,QAAA,iBAAiB,GAAoB;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,uBAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,uBAAuB,CAAC;IAC9C,qBAAqB;IACrB,oBAAoB;CACd,CAAC"}
1
+ {"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/permit2.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,8EAA8E;AACjE,QAAA,uBAAuB,GAAG,4CAA4C,CAAC;AAEvE,QAAA,iBAAiB,GAAoB;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,+BAAuB,CAAC;IAC9C,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,+BAAuB,CAAC;IAC9C,4BAA4B;IAC5B,2EAA2E;IAC3E,gBAAgB;CACV,CAAC"}
@@ -2,18 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WETH_CONTRACTS = void 0;
4
4
  const enums_1 = require("../../types/enums");
5
+ // Wrapped native token ("WETH") addresses for chains where deBridge intent contracts are deployed.
5
6
  exports.WETH_CONTRACTS = {
6
7
  [enums_1.ChainId.Ethereum]: ["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"],
8
+ [enums_1.ChainId.Optimism]: ["0x4200000000000000000000000000000000000006"],
9
+ [enums_1.ChainId.Cronos]: ["0x5c7f8a570d578ed84e63fdfa7b1ee72deae1ae23"],
7
10
  [enums_1.ChainId.BNB]: ["0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"],
11
+ [enums_1.ChainId.Gnosis]: ["0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1"],
8
12
  [enums_1.ChainId.Polygon]: ["0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"],
13
+ [enums_1.ChainId.Monad]: ["0x3bd359c1119da7da1d913d1c4d2b7c461115433a"],
14
+ [enums_1.ChainId.Sonic]: ["0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"],
15
+ [enums_1.ChainId.Flow]: ["0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e"],
16
+ [enums_1.ChainId.HyperEVM]: ["0x5555555555555555555555555555555555555555"],
17
+ [enums_1.ChainId.Sei]: ["0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7"],
18
+ [enums_1.ChainId.Story]: ["0x1514000000000000000000000000000000000000"],
19
+ [enums_1.ChainId.Injective]: ["0x0000000088827d2d103ee2d9A6b781773AE03FfB"],
20
+ [enums_1.ChainId.MegaETH]: ["0x4200000000000000000000000000000000000006"],
21
+ [enums_1.ChainId.Mantle]: ["0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8"],
22
+ [enums_1.ChainId.Base]: ["0x4200000000000000000000000000000000000006"],
9
23
  [enums_1.ChainId.Arbitrum]: ["0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"],
10
24
  [enums_1.ChainId.Avalanche]: ["0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"],
11
25
  [enums_1.ChainId.Linea]: ["0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f"],
12
- [enums_1.ChainId.Base]: ["0x4200000000000000000000000000000000000006"],
13
- [enums_1.ChainId.Optimism]: ["0x4200000000000000000000000000000000000006"],
14
- // Gnosis: no WETH
15
- [enums_1.ChainId.Sonic]: ["0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"],
16
- // TODO: add other chains
26
+ [enums_1.ChainId.Bob]: ["0x4200000000000000000000000000000000000006"],
17
27
  [enums_1.ChainId.Tron]: ["0x891cdb91d149f23B1a45D9c5Ca78a88d0cB44C18"],
28
+ // No WETH deployment on: Neon, Metis
18
29
  };
19
30
  //# sourceMappingURL=weth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"weth.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/weth.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,cAAc,GAAoB;IAC3C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,kBAAkB;IAClB,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,yBAAyB;IACzB,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;CAC7D,CAAC"}
1
+ {"version":3,"file":"weth.js","sourceRoot":"","sources":["../../../../src/whitelists/evm/weth.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,mGAAmG;AAEtF,QAAA,cAAc,GAAoB;IAC3C,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,OAAO,CAAC,EAAI,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,MAAM,CAAC,EAAK,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,QAAQ,CAAC,EAAG,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,SAAS,CAAC,EAAE,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,KAAK,CAAC,EAAM,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,GAAG,CAAC,EAAQ,CAAC,4CAA4C,CAAC;IACnE,CAAC,eAAO,CAAC,IAAI,CAAC,EAAO,CAAC,4CAA4C,CAAC;IACnE,qCAAqC;CAC/B,CAAC"}
@@ -9,7 +9,6 @@ const SIG_PREFIX_BY_ENVIRONMENT = {
9
9
  [validation_1.Environment.Prod]: "intents_program",
10
10
  [validation_1.Environment.Dubai]: "intents_program_dubai",
11
11
  [validation_1.Environment.Hanoi]: "intents_program_hanoi",
12
- [validation_1.Environment.Madrid]: "intents_program_madrid", // TODO: placeholder — update when known
13
12
  };
14
13
  // "intents" label — constant across all environments
15
14
  const INTENTS_LABEL = new Uint8Array([105, 110, 116, 101, 110, 116, 115]);
@@ -1 +1 @@
1
- {"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":";;AAsBA,4DAWC;AAjCD,uDAAqD;AACrD,6CAA4C;AAE5C,qEAAqE;AACrE,8EAA8E;AAC9E,MAAM,yBAAyB,GAAgC;IAC3D,CAAC,wBAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACrC,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,wBAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,EAAE,wCAAwC;CAC3F,CAAC;AAEF,qDAAqD;AACrD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAS1E,SAAgB,wBAAwB,CAAC,WAAwB;IAC7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAErE,gDAAgD;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IAE3E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"intent-signature.js","sourceRoot":"","sources":["../../../../src/whitelists/solana/intent-signature.ts"],"names":[],"mappings":";;AAqBA,4DAWC;AAhCD,uDAAqD;AACrD,6CAA4C;AAE5C,qEAAqE;AACrE,8EAA8E;AAC9E,MAAM,yBAAyB,GAAgC;IAC3D,CAAC,wBAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB;IACrC,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,wBAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;CAC/C,CAAC;AAEF,qDAAqD;AACrD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAS1E,SAAgB,wBAAwB,CAAC,WAAwB;IAC7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAErE,gDAAgD;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IAE3E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAChF,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SUBSCRIPTION_TO_CHAIN_ID = void 0;
4
4
  exports.resolveChainId = resolveChainId;
5
+ exports.resolveChainIdOrSelf = resolveChainIdOrSelf;
5
6
  const enums_1 = require("../types/enums");
6
7
  exports.SUBSCRIPTION_TO_CHAIN_ID = {
7
8
  [enums_1.SubscriptionId.Ethereum]: enums_1.ChainId.Ethereum,
@@ -33,4 +34,13 @@ function resolveChainId(subscriptionId) {
33
34
  // Cast is safe: unknown subscriptionIds simply return undefined
34
35
  return exports.SUBSCRIPTION_TO_CHAIN_ID[subscriptionId];
35
36
  }
37
+ // Best-effort resolver: returns the real `ChainId` for known subscriptions,
38
+ // otherwise falls back to the input value cast to `ChainId`. Use this only
39
+ // where chain-aware helpers (whose signature requires `ChainId`) need a
40
+ // best-effort answer; for callers that must surface unknown subscriptionIds
41
+ // to the user, call `resolveChainId` directly and emit `UnknownSubscriptionId`
42
+ // on `undefined`.
43
+ function resolveChainIdOrSelf(subscriptionId) {
44
+ return resolveChainId(subscriptionId) ?? subscriptionId;
45
+ }
36
46
  //# sourceMappingURL=subscription-to-chain-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-to-chain-id.js","sourceRoot":"","sources":["../../../src/whitelists/subscription-to-chain-id.ts"],"names":[],"mappings":";;;AA6BA,wCAGC;AAhCD,0CAAyD;AAE5C,QAAA,wBAAwB,GAAoC;IACrE,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;CAC7B,CAAC;AAEX,SAAgB,cAAc,CAAC,cAAsB;IACjD,gEAAgE;IAChE,OAAO,gCAAwB,CAAC,cAAgC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"subscription-to-chain-id.js","sourceRoot":"","sources":["../../../src/whitelists/subscription-to-chain-id.ts"],"names":[],"mappings":";;;AA6BA,wCAGC;AAQD,oDAEC;AA1CD,0CAAyD;AAE5C,QAAA,wBAAwB,GAAoC;IACrE,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,eAAO,CAAC,QAAQ;IAC3C,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;IACnC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,GAAG,CAAC,EAAE,eAAO,CAAC,GAAG;IACjC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,KAAK,CAAC,EAAE,eAAO,CAAC,KAAK;IACrC,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,eAAO,CAAC,SAAS;IAC7C,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,eAAO,CAAC,OAAO;IACzC,CAAC,sBAAc,CAAC,MAAM,CAAC,EAAE,eAAO,CAAC,MAAM;IACvC,CAAC,sBAAc,CAAC,IAAI,CAAC,EAAE,eAAO,CAAC,IAAI;CAC7B,CAAC;AAEX,SAAgB,cAAc,CAAC,cAAsB;IACjD,gEAAgE;IAChE,OAAO,gCAAwB,CAAC,cAAgC,CAAC,CAAC;AACtE,CAAC;AAED,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,+EAA+E;AAC/E,kBAAkB;AAClB,SAAgB,oBAAoB,CAAC,cAAsB;IACvD,OAAO,cAAc,CAAC,cAAc,CAAC,IAAK,cAA0B,CAAC;AACzE,CAAC"}
@@ -1,11 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSameAddressMap = buildSameAddressMap;
3
4
  exports.isWhitelisted = isWhitelisted;
4
5
  const address_1 = require("../helpers/address");
5
6
  const enums_1 = require("../types/enums");
7
+ // Builds a ChainAddressMap with the same address for every chain in the list.
8
+ // Useful for whitelists where one canonical address is deployed on many chains.
9
+ function buildSameAddressMap(chains, address) {
10
+ const map = {};
11
+ for (const chainId of chains) {
12
+ map[chainId] = [address];
13
+ }
14
+ return map;
15
+ }
6
16
  function isWhitelisted(map, chainId, address) {
7
- const addressFormat = (0, address_1.getAddressFormat)(chainId);
8
- if (addressFormat === address_1.AddressFormat.Solana) {
17
+ const engine = (0, address_1.getChainEngine)(chainId);
18
+ if (engine === enums_1.ChainEngine.Solana) {
9
19
  // This function is not supposed to be used for Solana addresses.
10
20
  // If it was called with a Solana address, it's likely a bug in the caller's code.
11
21
  throw new Error("isWhitelisted() does not support Solana addresses — compare directly");
@@ -22,7 +32,7 @@ function isWhitelisted(map, chainId, address) {
22
32
  const wildcard = map[enums_1.ChainId.Wildcard];
23
33
  if (!wildcard)
24
34
  return false;
25
- const evmAddress = addressFormat === address_1.AddressFormat.Tron ? (0, address_1.tronAddressToEvmHex)(address) : address;
35
+ const evmAddress = engine === enums_1.ChainEngine.Tron ? (0, address_1.tronAddressToEvmHex)(address) : address;
26
36
  const normalized = evmAddress.toLowerCase();
27
37
  return wildcard.some(a => a.toLowerCase() === normalized);
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;AAoCA,sCA6BC;AAjED,gDAK4B;AAC5B,0CAAyC;AA8BzC,SAAgB,aAAa,CACzB,GAAoB,EACpB,OAAgB,EAChB,OAAe;IAEf,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,aAAa,KAAK,uBAAa,CAAC,MAAM,EAAE,CAAC;QACzC,iEAAiE;QACjE,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,oCAAoC;IACpC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,UAAU,GAAG,aAAa,KAAK,uBAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjG,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;AAgBA,kDASC;AAoBD,sCA6BC;AA1ED,gDAI4B;AAC5B,0CAAsD;AAStD,8EAA8E;AAC9E,gFAAgF;AAChF,SAAgB,mBAAmB,CAC/B,MAA0B,EAC1B,OAAe;IAEf,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAoBD,SAAgB,aAAa,CACzB,GAAoB,EACpB,OAAgB,EAChB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,mBAAW,CAAC,MAAM,EAAE,CAAC;QAChC,iEAAiE;QACjE,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,oCAAoC;IACpC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,21 +1,15 @@
1
1
  import { bytesToHex, zeroAddress } from "viem";
2
2
  import bs58 from "bs58";
3
- import { ChainId } from "../types/enums.js";
3
+ import { ChainEngine, ChainId } from "../types/enums.js";
4
4
  import { SYSTEM_PROGRAM } from "../whitelists/solana/index.js";
5
5
  // Tron-specific addresses (Base58Check format)
6
6
  export const TRON_NATIVE_ADDRESS = "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb";
7
- export var AddressFormat;
8
- (function (AddressFormat) {
9
- AddressFormat[AddressFormat["EVM"] = 0] = "EVM";
10
- AddressFormat[AddressFormat["Tron"] = 1] = "Tron";
11
- AddressFormat[AddressFormat["Solana"] = 2] = "Solana";
12
- })(AddressFormat || (AddressFormat = {}));
13
- export function getAddressFormat(chainId) {
7
+ export function getChainEngine(chainId) {
14
8
  if (chainId === ChainId.Tron)
15
- return AddressFormat.Tron;
9
+ return ChainEngine.Tron;
16
10
  if (chainId === ChainId.Solana)
17
- return AddressFormat.Solana;
18
- return AddressFormat.EVM;
11
+ return ChainEngine.Solana;
12
+ return ChainEngine.EVM;
19
13
  }
20
14
  export function isTronAddress(address) {
21
15
  if (!address)
@@ -38,10 +32,26 @@ export function tronAddressToEvmHex(tronAddress) {
38
32
  const addressBytes = decoded.slice(1, 21);
39
33
  return bytesToHex(addressBytes);
40
34
  }
41
- // Normalizes address for comparison based on chain format
35
+ // Normalizes address for comparison based on chain engine
42
36
  export function normalizeAddress(chainId, address) {
43
- const format = getAddressFormat(chainId);
44
- if (format === AddressFormat.Tron || format === AddressFormat.Solana) {
37
+ const engine = getChainEngine(chainId);
38
+ return applyEngineNormalization(address, engine);
39
+ }
40
+ // Detects the chain engine from the address value alone (no chainId required).
41
+ // Useful when a chain is not fixed (e.g. destinationChainIds = "any").
42
+ export function detectChainEngine(address) {
43
+ if (address.startsWith("0x"))
44
+ return ChainEngine.EVM;
45
+ if (isTronAddress(address))
46
+ return ChainEngine.Tron;
47
+ return ChainEngine.Solana;
48
+ }
49
+ // Normalizes an address using only its own value — no chainId needed.
50
+ export function normalizeAddressByValue(address) {
51
+ return applyEngineNormalization(address, detectChainEngine(address));
52
+ }
53
+ function applyEngineNormalization(address, engine) {
54
+ if (engine === ChainEngine.Tron || engine === ChainEngine.Solana) {
45
55
  return address; // case-sensitive
46
56
  }
47
57
  return address.toLowerCase(); // EVM: case-insensitive
@@ -50,12 +60,33 @@ export function normalizeAddress(chainId, address) {
50
60
  export function addressEquals(chainId, a, b) {
51
61
  return normalizeAddress(chainId, a) === normalizeAddress(chainId, b);
52
62
  }
53
- // Checks if address is native token for the given chain
63
+ // Raw byte representation, used when an address flows into the intent ID
64
+ // keccak256 hash. EVM → 20 bytes, Tron → 20 bytes (after stripping 0x41
65
+ // prefix and checksum), Solana → 32 bytes (base58, no checksum).
66
+ export function addressToHex(chainId, address) {
67
+ return applyEngineToHex(address, getChainEngine(chainId));
68
+ }
69
+ // Same as addressToHex but infers the engine from the address value alone.
70
+ // Use when the chainId is unknown (e.g. destinationChainIds = "any").
71
+ export function addressToHexByValue(address) {
72
+ return applyEngineToHex(address, detectChainEngine(address));
73
+ }
74
+ function applyEngineToHex(address, engine) {
75
+ if (engine === ChainEngine.EVM) {
76
+ return address.toLowerCase();
77
+ }
78
+ if (engine === ChainEngine.Tron) {
79
+ return tronAddressToEvmHex(address);
80
+ }
81
+ return bytesToHex(bs58.decode(address));
82
+ }
83
+ // Checks if address is the native token for the given chain.
54
84
  export function isNativeToken(address, chainId) {
55
- if (chainId === ChainId.Tron) {
85
+ const engine = getChainEngine(chainId);
86
+ if (engine === ChainEngine.Tron) {
56
87
  return address === TRON_NATIVE_ADDRESS;
57
88
  }
58
- if (chainId === ChainId.Solana) {
89
+ if (engine === ChainEngine.Solana) {
59
90
  return address === SYSTEM_PROGRAM;
60
91
  }
61
92
  return address.toLowerCase() === zeroAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAExE,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,+CAAG,CAAA;IACH,iDAAI,CAAA;IACJ,qDAAM,CAAA;AACV,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC5C,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACxD,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,aAAa,CAAC,MAAM,CAAC;IAC5D,OAAO,aAAa,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACxC,4DAA4D;IAC5D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,4EAA4E;AAC5E,oEAAoE;AACpE,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,aAAa,CAAC,IAAI,IAAI,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QACnE,OAAO,OAAO,CAAC,CAAC,iBAAiB;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB;AAC1D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,CAAS,EAAE,CAAS;IAC/D,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAgB;IAC3D,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,KAAK,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,OAAO,KAAK,cAAc,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { EvmActionKind } from "../types/index.js";
2
- // Transaction and Sign712MetaMask actions carry transactionCalls;
2
+ // Transaction and Sign712MetaMaskCaveats actions carry transactionCalls;
3
3
  // Sign712 (Permit/Permit2) and Sign7702Authorization do not.
4
4
  export function actionUsesTransactionCalls(action) {
5
5
  return action.type === EvmActionKind.Transaction
6
- || action.type === EvmActionKind.Sign712MetaMask;
6
+ || action.type === EvmActionKind.Sign712MetaMaskCaveats;
7
7
  }
8
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.
9
+ // For Sign712MetaMaskCaveats-type actions (AA), the calls are in details.transactionCalls.
10
10
  export function getTransactionCalls(action) {
11
11
  if (action.type === EvmActionKind.Transaction) {
12
12
  return [action.data];
@@ -1 +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"}
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,yEAAyE;AACzE,6DAA6D;AAC7D,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAChE,OAAO,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;WACzC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,sBAAsB,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,2FAA2F;AAC3F,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,82 @@
1
+ import { concatHex, encodeAbiParameters, zeroAddress } from "viem";
2
+ import { DlnHookType } from "../types/enums.js";
3
+ // Hook envelope: ABI-encoded tuple prefixed with a `uint8 version=1` byte.
4
+ // keccak256 of these bytes is what ends up in `intent.externalCallHash`.
5
+ const ENVELOPE_TUPLE = {
6
+ type: "tuple",
7
+ components: [
8
+ { name: "fallbackAddress", type: "address" },
9
+ { name: "executorAddress", type: "address" },
10
+ { name: "executionFee", type: "uint160" },
11
+ { name: "allowDelayedExecution", type: "bool" },
12
+ { name: "requireSuccessfullExecution", type: "bool" },
13
+ { name: "payload", type: "bytes" },
14
+ ],
15
+ };
16
+ const ENVELOPE_VERSION_PREFIX = "0x01";
17
+ export function packEvmHookV1(data) {
18
+ const tuple = encodeAbiParameters([ENVELOPE_TUPLE], [{
19
+ fallbackAddress: data.fallbackAddress,
20
+ executorAddress: data.target,
21
+ executionFee: BigInt(data.reward),
22
+ allowDelayedExecution: data.isNonAtomic,
23
+ requireSuccessfullExecution: data.isSuccessRequired,
24
+ payload: data.targetPayload,
25
+ }]);
26
+ return concatHex([ENVELOPE_VERSION_PREFIX, tuple]);
27
+ }
28
+ // `evm_transaction_call` wraps the user-supplied (to, gas, calldata) tuple in
29
+ // the same envelope, with fixed field values:
30
+ // executionFee = 0
31
+ // allowDelayedExecution = false
32
+ // requireSuccessfullExecution = true
33
+ // fallbackAddress = dstChainAuthorityAddress
34
+ // executorAddress = 0x0
35
+ export function packEvmTransactionCall(data, dstChainAuthorityAddress) {
36
+ const inner = encodeAbiParameters([{
37
+ type: "tuple",
38
+ components: [
39
+ { name: "to", type: "address" },
40
+ { name: "txGas", type: "uint32" },
41
+ { name: "callData", type: "bytes" },
42
+ ],
43
+ }], [{
44
+ to: data.to,
45
+ txGas: Number(data.gas ?? 0),
46
+ callData: data.calldata,
47
+ }]);
48
+ return packEvmHookV1({
49
+ fallbackAddress: dstChainAuthorityAddress,
50
+ target: zeroAddress,
51
+ reward: "0",
52
+ isNonAtomic: false,
53
+ isSuccessRequired: true,
54
+ targetPayload: inner,
55
+ });
56
+ }
57
+ // Parses a request trade's `dlnHook` JSON and returns the bytes the API
58
+ // hashes into `intent.externalCallHash`. Returns `undefined` when the trade
59
+ // has no hook. Throws on unknown / Solana hook types — Solana hooks live in
60
+ // the response under their own validator and never feed into this hash.
61
+ export function serializeDlnHook(trade) {
62
+ if (!trade.dlnHook)
63
+ return undefined;
64
+ const hook = JSON.parse(trade.dlnHook);
65
+ switch (hook.type) {
66
+ case DlnHookType.EvmHookV1:
67
+ return packEvmHookV1(hook.data);
68
+ case DlnHookType.EvmTransactionCall: {
69
+ if (trade.dstChainAuthorityAddress === undefined) {
70
+ throw new Error("evm_transaction_call hook requires dstChainAuthorityAddress on the trade");
71
+ }
72
+ return packEvmTransactionCall(hook.data, trade.dstChainAuthorityAddress);
73
+ }
74
+ case DlnHookType.SolanaSerializedInstructions:
75
+ throw new Error("Solana hook types are not folded into externalCallHash");
76
+ default: {
77
+ const exhaustive = hook;
78
+ throw new Error(`Unknown dlnHook type: ${JSON.stringify(exhaustive)}`);
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=evm-dln-hook-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-dln-hook-pack.js","sourceRoot":"","sources":["../../../src/helpers/evm-dln-hook-pack.ts"],"names":[],"mappings":"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"}