@paraswap/dex-lib 3.11.8-stader.3 → 3.11.8

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 (269) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/balancer-v3/batch-router.json +989 -0
  5. package/build/abi/balancer-v3/router.json +1792 -0
  6. package/build/abi/balancer-v3/vault-extension.json +2834 -0
  7. package/build/abi/{cables/CablesMainnetRFQ.json → inception/inception-ineth-pool.json} +489 -510
  8. package/build/abi/inception/inception-ratio-feed.json +329 -0
  9. package/build/abi/inception/inception-vault.json +991 -0
  10. package/build/abi/permit2.json +581 -0
  11. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  12. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
  13. package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +681 -0
  14. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  15. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  16. package/build/dex/aave-v1/aave-v1.js +23 -0
  17. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  18. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  19. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  20. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  21. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  22. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  23. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  24. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  25. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  26. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  27. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  28. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  29. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  30. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +80 -0
  31. package/build/dex/balancer-v3/balancer-v3-pool.js +461 -0
  32. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  33. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  34. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  35. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  36. package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
  37. package/build/dex/balancer-v3/balancer-v3.js +383 -0
  38. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  39. package/build/dex/balancer-v3/config.d.ts +8 -0
  40. package/build/dex/balancer-v3/config.js +24 -0
  41. package/build/dex/balancer-v3/config.js.map +1 -0
  42. package/build/dex/balancer-v3/getGasCost.d.ts +2 -0
  43. package/build/dex/balancer-v3/getGasCost.js +41 -0
  44. package/build/dex/balancer-v3/getGasCost.js.map +1 -0
  45. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  46. package/build/dex/balancer-v3/getOnChainState.js +164 -0
  47. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  48. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  49. package/build/dex/balancer-v3/getPoolsApi.js +81 -0
  50. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  51. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
  52. package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
  53. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  54. package/build/dex/balancer-v3/optimizer.d.ts +2 -0
  55. package/build/dex/{trader-joe-v2.1 → balancer-v3}/optimizer.js +17 -16
  56. package/build/dex/balancer-v3/optimizer.js.map +1 -0
  57. package/build/dex/balancer-v3/stablePool.d.ts +7 -0
  58. package/build/dex/balancer-v3/stablePool.js +73 -0
  59. package/build/dex/balancer-v3/stablePool.js.map +1 -0
  60. package/build/dex/balancer-v3/types.d.ts +62 -0
  61. package/build/dex/balancer-v3/types.js +3 -0
  62. package/build/dex/balancer-v3/types.js.map +1 -0
  63. package/build/dex/balancer-v3/weightedPool.d.ts +1 -0
  64. package/build/dex/balancer-v3/weightedPool.js +6 -0
  65. package/build/dex/balancer-v3/weightedPool.js.map +1 -0
  66. package/build/dex/bebop/constants.d.ts +1 -1
  67. package/build/dex/bebop/constants.js +1 -1
  68. package/build/dex/inception/config.d.ts +4 -0
  69. package/build/dex/inception/config.js +109 -0
  70. package/build/dex/inception/config.js.map +1 -0
  71. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  72. package/build/dex/inception/inception-event-pool.js +49 -0
  73. package/build/dex/inception/inception-event-pool.js.map +1 -0
  74. package/build/dex/inception/inception.d.ts +43 -0
  75. package/build/dex/inception/inception.js +180 -0
  76. package/build/dex/inception/inception.js.map +1 -0
  77. package/build/dex/inception/tokens.d.ts +9 -0
  78. package/build/dex/inception/tokens.js +28 -0
  79. package/build/dex/inception/tokens.js.map +1 -0
  80. package/build/dex/inception/types.d.ts +22 -0
  81. package/build/dex/inception/types.js +3 -0
  82. package/build/dex/inception/types.js.map +1 -0
  83. package/build/dex/inception/utils.d.ts +7 -0
  84. package/build/dex/inception/utils.js +58 -0
  85. package/build/dex/inception/utils.js.map +1 -0
  86. package/build/dex/index.js +0 -2
  87. package/build/dex/index.js.map +1 -1
  88. package/build/dex/jarvis.d.ts +2 -1
  89. package/build/dex/jarvis.js +58 -0
  90. package/build/dex/jarvis.js.map +1 -1
  91. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  92. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  93. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  94. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  95. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  96. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +1 -0
  97. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +20 -0
  98. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
  99. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +4 -0
  100. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  101. package/build/dex/platypus/platypus.d.ts +2 -1
  102. package/build/dex/platypus/platypus.js +45 -0
  103. package/build/dex/platypus/platypus.js.map +1 -1
  104. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  105. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  106. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  107. package/build/dex/stable-pool.js +1 -8
  108. package/build/dex/stable-pool.js.map +1 -1
  109. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  110. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  111. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  112. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  113. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  114. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  115. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  116. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  117. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  118. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +1 -0
  119. package/build/dex/uniswap-v3/uniswap-v3-pool.js +20 -0
  120. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  121. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  122. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  123. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  124. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  125. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  126. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  127. package/build/dex/uniswap-v3/uniswap-v3.js +5 -0
  128. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  129. package/build/dex/usual/types.d.ts +13 -0
  130. package/build/dex/usual/types.js +3 -0
  131. package/build/dex/usual/types.js.map +1 -0
  132. package/build/dex/usual/usual-bond.d.ts +18 -0
  133. package/build/dex/usual/usual-bond.js +52 -0
  134. package/build/dex/usual/usual-bond.js.map +1 -0
  135. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  136. package/build/dex/usual/usual-m-smart-m.js +50 -0
  137. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  138. package/build/dex/usual/usual-m-usd0.d.ts +17 -0
  139. package/build/dex/usual/usual-m-usd0.js +51 -0
  140. package/build/dex/usual/usual-m-usd0.js.map +1 -0
  141. package/build/dex/usual/usual.d.ts +27 -0
  142. package/build/dex/usual/usual.js +125 -0
  143. package/build/dex/usual/usual.js.map +1 -0
  144. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  145. package/build/dex/usual-m-smart-m/config.js +13 -0
  146. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  147. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  148. package/build/dex/usual-m-smart-m/types.js +3 -0
  149. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  150. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  151. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  152. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  153. package/build/dex/{stader → usual-m-usd0}/config.d.ts +1 -1
  154. package/build/dex/usual-m-usd0/config.js +14 -0
  155. package/build/dex/usual-m-usd0/config.js.map +1 -0
  156. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  157. package/build/dex/usual-m-usd0/types.js +3 -0
  158. package/build/dex/usual-m-usd0/types.js.map +1 -0
  159. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  160. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  161. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  162. package/build/dex/zerox/index.d.ts +4 -26
  163. package/build/dex/zerox/index.js +50 -42
  164. package/build/dex/zerox/index.js.map +1 -1
  165. package/build/dex/zerox/types.d.ts +29 -0
  166. package/build/dex/zerox/types.js +8 -1
  167. package/build/dex/zerox/types.js.map +1 -1
  168. package/package.json +1 -1
  169. package/src/dex/balancer-v3/balancer-v3-sepolia-pools.ts +404 -0
  170. package/src/dex/bebop/constants.ts +1 -1
  171. package/src/dex/index.ts +0 -2
  172. package/src/dex/pancakeswap-v3/pancakeswap-v3-pool.ts +30 -0
  173. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +10 -0
  174. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +30 -0
  175. package/src/dex/uniswap-v3/uniswap-v3.ts +11 -0
  176. package/tests/constants-e2e.ts +0 -5
  177. package/.idea/aws.xml +0 -17
  178. package/.idea/codeStyles/Project.xml +0 -19
  179. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  180. package/.idea/misc.xml +0 -6
  181. package/.idea/modules.xml +0 -8
  182. package/.idea/paraswap-dex-lib.iml +0 -9
  183. package/.idea/prettier.xml +0 -7
  184. package/.idea/vcs.xml +0 -6
  185. package/build/abi/SSPM.json +0 -829
  186. package/build/abi/StaderOracle.json +0 -2170
  187. package/build/abi/integral/factory.json +0 -333
  188. package/build/abi/integral/oracle.json +0 -501
  189. package/build/abi/integral/pool.json +0 -1041
  190. package/build/dex/cables/cables.d.ts +0 -59
  191. package/build/dex/cables/cables.js +0 -614
  192. package/build/dex/cables/cables.js.map +0 -1
  193. package/build/dex/cables/config.d.ts +0 -4
  194. package/build/dex/cables/config.js +0 -15
  195. package/build/dex/cables/config.js.map +0 -1
  196. package/build/dex/cables/constants.d.ts +0 -20
  197. package/build/dex/cables/constants.js +0 -24
  198. package/build/dex/cables/constants.js.map +0 -1
  199. package/build/dex/cables/rate-fetcher.d.ts +0 -34
  200. package/build/dex/cables/rate-fetcher.js +0 -106
  201. package/build/dex/cables/rate-fetcher.js.map +0 -1
  202. package/build/dex/cables/types.d.ts +0 -113
  203. package/build/dex/cables/types.js +0 -19
  204. package/build/dex/cables/types.js.map +0 -1
  205. package/build/dex/cables/validators.d.ts +0 -5
  206. package/build/dex/cables/validators.js +0 -49
  207. package/build/dex/cables/validators.js.map +0 -1
  208. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  209. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  210. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  211. package/build/dex/integral/config.d.ts +0 -4
  212. package/build/dex/integral/config.js +0 -20
  213. package/build/dex/integral/config.js.map +0 -1
  214. package/build/dex/integral/context.d.ts +0 -40
  215. package/build/dex/integral/context.js +0 -158
  216. package/build/dex/integral/context.js.map +0 -1
  217. package/build/dex/integral/integral-factory.d.ts +0 -24
  218. package/build/dex/integral/integral-factory.js +0 -95
  219. package/build/dex/integral/integral-factory.js.map +0 -1
  220. package/build/dex/integral/integral-pool.d.ts +0 -50
  221. package/build/dex/integral/integral-pool.js +0 -149
  222. package/build/dex/integral/integral-pool.js.map +0 -1
  223. package/build/dex/integral/integral-pricing.d.ts +0 -18
  224. package/build/dex/integral/integral-pricing.js +0 -114
  225. package/build/dex/integral/integral-pricing.js.map +0 -1
  226. package/build/dex/integral/integral-relayer.d.ts +0 -42
  227. package/build/dex/integral/integral-relayer.js +0 -192
  228. package/build/dex/integral/integral-relayer.js.map +0 -1
  229. package/build/dex/integral/integral-token.d.ts +0 -27
  230. package/build/dex/integral/integral-token.js +0 -59
  231. package/build/dex/integral/integral-token.js.map +0 -1
  232. package/build/dex/integral/integral.d.ts +0 -41
  233. package/build/dex/integral/integral.js +0 -376
  234. package/build/dex/integral/integral.js.map +0 -1
  235. package/build/dex/integral/types.d.ts +0 -85
  236. package/build/dex/integral/types.js +0 -9
  237. package/build/dex/integral/types.js.map +0 -1
  238. package/build/dex/integral/utils-e2e.d.ts +0 -9
  239. package/build/dex/integral/utils-e2e.js +0 -131
  240. package/build/dex/integral/utils-e2e.js.map +0 -1
  241. package/build/dex/integral/utils.d.ts +0 -17
  242. package/build/dex/integral/utils.js +0 -94
  243. package/build/dex/integral/utils.js.map +0 -1
  244. package/build/dex/stader/config.js +0 -14
  245. package/build/dex/stader/config.js.map +0 -1
  246. package/build/dex/stader/stader-pool.d.ts +0 -18
  247. package/build/dex/stader/stader-pool.js +0 -47
  248. package/build/dex/stader/stader-pool.js.map +0 -1
  249. package/build/dex/stader/stader.d.ts +0 -42
  250. package/build/dex/stader/stader.js +0 -141
  251. package/build/dex/stader/stader.js.map +0 -1
  252. package/build/dex/stader/types.d.ts +0 -13
  253. package/build/dex/stader/types.js +0 -8
  254. package/build/dex/stader/types.js.map +0 -1
  255. package/build/dex/stader/utils.d.ts +0 -4
  256. package/build/dex/stader/utils.js +0 -24
  257. package/build/dex/stader/utils.js.map +0 -1
  258. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  259. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  260. package/src/abi/SSPM.json +0 -829
  261. package/src/abi/StaderOracle.json +0 -2170
  262. package/src/dex/stader/config.ts +0 -13
  263. package/src/dex/stader/stader-e2e.test.ts +0 -74
  264. package/src/dex/stader/stader-events.test.ts +0 -64
  265. package/src/dex/stader/stader-integration.test.ts +0 -210
  266. package/src/dex/stader/stader-pool.ts +0 -68
  267. package/src/dex/stader/stader.ts +0 -208
  268. package/src/dex/stader/types.ts +0 -16
  269. package/src/dex/stader/utils.ts +0 -34
@@ -0,0 +1,989 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "contract IVault",
6
+ "name": "vault",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "contract IWETH",
11
+ "name": "weth",
12
+ "type": "address"
13
+ },
14
+ {
15
+ "internalType": "contract IPermit2",
16
+ "name": "permit2",
17
+ "type": "address"
18
+ },
19
+ {
20
+ "internalType": "string",
21
+ "name": "version",
22
+ "type": "string"
23
+ }
24
+ ],
25
+ "stateMutability": "nonpayable",
26
+ "type": "constructor"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "target",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "name": "AddressEmptyCode",
37
+ "type": "error"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "internalType": "address",
43
+ "name": "account",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "AddressInsufficientBalance",
48
+ "type": "error"
49
+ },
50
+ {
51
+ "inputs": [],
52
+ "name": "ErrorSelectorNotFound",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [],
57
+ "name": "EthTransfer",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "FailedInnerCall",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "InputLengthMismatch",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "inputs": [],
72
+ "name": "InsufficientEth",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [],
77
+ "name": "ReentrancyGuardReentrantCall",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "uint8",
84
+ "name": "bits",
85
+ "type": "uint8"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "value",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "SafeCastOverflowedUintDowncast",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "address",
100
+ "name": "token",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "name": "SafeERC20FailedOperation",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "address",
111
+ "name": "sender",
112
+ "type": "address"
113
+ }
114
+ ],
115
+ "name": "SenderIsNotVault",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "SwapDeadline",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "TransientIndexOutOfBounds",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "getSender",
131
+ "outputs": [
132
+ {
133
+ "internalType": "address",
134
+ "name": "",
135
+ "type": "address"
136
+ }
137
+ ],
138
+ "stateMutability": "view",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "bytes[]",
145
+ "name": "data",
146
+ "type": "bytes[]"
147
+ }
148
+ ],
149
+ "name": "multicall",
150
+ "outputs": [
151
+ {
152
+ "internalType": "bytes[]",
153
+ "name": "results",
154
+ "type": "bytes[]"
155
+ }
156
+ ],
157
+ "stateMutability": "payable",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "components": [
164
+ {
165
+ "internalType": "address",
166
+ "name": "token",
167
+ "type": "address"
168
+ },
169
+ {
170
+ "internalType": "address",
171
+ "name": "owner",
172
+ "type": "address"
173
+ },
174
+ {
175
+ "internalType": "address",
176
+ "name": "spender",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "internalType": "uint256",
181
+ "name": "amount",
182
+ "type": "uint256"
183
+ },
184
+ {
185
+ "internalType": "uint256",
186
+ "name": "nonce",
187
+ "type": "uint256"
188
+ },
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "deadline",
192
+ "type": "uint256"
193
+ }
194
+ ],
195
+ "internalType": "struct IRouterCommon.PermitApproval[]",
196
+ "name": "permitBatch",
197
+ "type": "tuple[]"
198
+ },
199
+ {
200
+ "internalType": "bytes[]",
201
+ "name": "permitSignatures",
202
+ "type": "bytes[]"
203
+ },
204
+ {
205
+ "components": [
206
+ {
207
+ "components": [
208
+ {
209
+ "internalType": "address",
210
+ "name": "token",
211
+ "type": "address"
212
+ },
213
+ {
214
+ "internalType": "uint160",
215
+ "name": "amount",
216
+ "type": "uint160"
217
+ },
218
+ {
219
+ "internalType": "uint48",
220
+ "name": "expiration",
221
+ "type": "uint48"
222
+ },
223
+ {
224
+ "internalType": "uint48",
225
+ "name": "nonce",
226
+ "type": "uint48"
227
+ }
228
+ ],
229
+ "internalType": "struct IAllowanceTransfer.PermitDetails[]",
230
+ "name": "details",
231
+ "type": "tuple[]"
232
+ },
233
+ {
234
+ "internalType": "address",
235
+ "name": "spender",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "sigDeadline",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "internalType": "struct IAllowanceTransfer.PermitBatch",
245
+ "name": "permit2Batch",
246
+ "type": "tuple"
247
+ },
248
+ {
249
+ "internalType": "bytes",
250
+ "name": "permit2Signature",
251
+ "type": "bytes"
252
+ },
253
+ {
254
+ "internalType": "bytes[]",
255
+ "name": "multicallData",
256
+ "type": "bytes[]"
257
+ }
258
+ ],
259
+ "name": "permitBatchAndCall",
260
+ "outputs": [
261
+ {
262
+ "internalType": "bytes[]",
263
+ "name": "results",
264
+ "type": "bytes[]"
265
+ }
266
+ ],
267
+ "stateMutability": "payable",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "components": [
274
+ {
275
+ "internalType": "contract IERC20",
276
+ "name": "tokenIn",
277
+ "type": "address"
278
+ },
279
+ {
280
+ "components": [
281
+ {
282
+ "internalType": "address",
283
+ "name": "pool",
284
+ "type": "address"
285
+ },
286
+ {
287
+ "internalType": "contract IERC20",
288
+ "name": "tokenOut",
289
+ "type": "address"
290
+ },
291
+ {
292
+ "internalType": "bool",
293
+ "name": "isBuffer",
294
+ "type": "bool"
295
+ }
296
+ ],
297
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
298
+ "name": "steps",
299
+ "type": "tuple[]"
300
+ },
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "exactAmountIn",
304
+ "type": "uint256"
305
+ },
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "minAmountOut",
309
+ "type": "uint256"
310
+ }
311
+ ],
312
+ "internalType": "struct IBatchRouter.SwapPathExactAmountIn[]",
313
+ "name": "paths",
314
+ "type": "tuple[]"
315
+ },
316
+ {
317
+ "internalType": "address",
318
+ "name": "sender",
319
+ "type": "address"
320
+ },
321
+ {
322
+ "internalType": "bytes",
323
+ "name": "userData",
324
+ "type": "bytes"
325
+ }
326
+ ],
327
+ "name": "querySwapExactIn",
328
+ "outputs": [
329
+ {
330
+ "internalType": "uint256[]",
331
+ "name": "pathAmountsOut",
332
+ "type": "uint256[]"
333
+ },
334
+ {
335
+ "internalType": "address[]",
336
+ "name": "tokensOut",
337
+ "type": "address[]"
338
+ },
339
+ {
340
+ "internalType": "uint256[]",
341
+ "name": "amountsOut",
342
+ "type": "uint256[]"
343
+ }
344
+ ],
345
+ "stateMutability": "nonpayable",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [
350
+ {
351
+ "components": [
352
+ {
353
+ "internalType": "address",
354
+ "name": "sender",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "components": [
359
+ {
360
+ "internalType": "contract IERC20",
361
+ "name": "tokenIn",
362
+ "type": "address"
363
+ },
364
+ {
365
+ "components": [
366
+ {
367
+ "internalType": "address",
368
+ "name": "pool",
369
+ "type": "address"
370
+ },
371
+ {
372
+ "internalType": "contract IERC20",
373
+ "name": "tokenOut",
374
+ "type": "address"
375
+ },
376
+ {
377
+ "internalType": "bool",
378
+ "name": "isBuffer",
379
+ "type": "bool"
380
+ }
381
+ ],
382
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
383
+ "name": "steps",
384
+ "type": "tuple[]"
385
+ },
386
+ {
387
+ "internalType": "uint256",
388
+ "name": "exactAmountIn",
389
+ "type": "uint256"
390
+ },
391
+ {
392
+ "internalType": "uint256",
393
+ "name": "minAmountOut",
394
+ "type": "uint256"
395
+ }
396
+ ],
397
+ "internalType": "struct IBatchRouter.SwapPathExactAmountIn[]",
398
+ "name": "paths",
399
+ "type": "tuple[]"
400
+ },
401
+ {
402
+ "internalType": "uint256",
403
+ "name": "deadline",
404
+ "type": "uint256"
405
+ },
406
+ {
407
+ "internalType": "bool",
408
+ "name": "wethIsEth",
409
+ "type": "bool"
410
+ },
411
+ {
412
+ "internalType": "bytes",
413
+ "name": "userData",
414
+ "type": "bytes"
415
+ }
416
+ ],
417
+ "internalType": "struct IBatchRouter.SwapExactInHookParams",
418
+ "name": "params",
419
+ "type": "tuple"
420
+ }
421
+ ],
422
+ "name": "querySwapExactInHook",
423
+ "outputs": [
424
+ {
425
+ "internalType": "uint256[]",
426
+ "name": "pathAmountsOut",
427
+ "type": "uint256[]"
428
+ },
429
+ {
430
+ "internalType": "address[]",
431
+ "name": "tokensOut",
432
+ "type": "address[]"
433
+ },
434
+ {
435
+ "internalType": "uint256[]",
436
+ "name": "amountsOut",
437
+ "type": "uint256[]"
438
+ }
439
+ ],
440
+ "stateMutability": "nonpayable",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [
445
+ {
446
+ "components": [
447
+ {
448
+ "internalType": "contract IERC20",
449
+ "name": "tokenIn",
450
+ "type": "address"
451
+ },
452
+ {
453
+ "components": [
454
+ {
455
+ "internalType": "address",
456
+ "name": "pool",
457
+ "type": "address"
458
+ },
459
+ {
460
+ "internalType": "contract IERC20",
461
+ "name": "tokenOut",
462
+ "type": "address"
463
+ },
464
+ {
465
+ "internalType": "bool",
466
+ "name": "isBuffer",
467
+ "type": "bool"
468
+ }
469
+ ],
470
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
471
+ "name": "steps",
472
+ "type": "tuple[]"
473
+ },
474
+ {
475
+ "internalType": "uint256",
476
+ "name": "maxAmountIn",
477
+ "type": "uint256"
478
+ },
479
+ {
480
+ "internalType": "uint256",
481
+ "name": "exactAmountOut",
482
+ "type": "uint256"
483
+ }
484
+ ],
485
+ "internalType": "struct IBatchRouter.SwapPathExactAmountOut[]",
486
+ "name": "paths",
487
+ "type": "tuple[]"
488
+ },
489
+ {
490
+ "internalType": "address",
491
+ "name": "sender",
492
+ "type": "address"
493
+ },
494
+ {
495
+ "internalType": "bytes",
496
+ "name": "userData",
497
+ "type": "bytes"
498
+ }
499
+ ],
500
+ "name": "querySwapExactOut",
501
+ "outputs": [
502
+ {
503
+ "internalType": "uint256[]",
504
+ "name": "pathAmountsIn",
505
+ "type": "uint256[]"
506
+ },
507
+ {
508
+ "internalType": "address[]",
509
+ "name": "tokensIn",
510
+ "type": "address[]"
511
+ },
512
+ {
513
+ "internalType": "uint256[]",
514
+ "name": "amountsIn",
515
+ "type": "uint256[]"
516
+ }
517
+ ],
518
+ "stateMutability": "nonpayable",
519
+ "type": "function"
520
+ },
521
+ {
522
+ "inputs": [
523
+ {
524
+ "components": [
525
+ {
526
+ "internalType": "address",
527
+ "name": "sender",
528
+ "type": "address"
529
+ },
530
+ {
531
+ "components": [
532
+ {
533
+ "internalType": "contract IERC20",
534
+ "name": "tokenIn",
535
+ "type": "address"
536
+ },
537
+ {
538
+ "components": [
539
+ {
540
+ "internalType": "address",
541
+ "name": "pool",
542
+ "type": "address"
543
+ },
544
+ {
545
+ "internalType": "contract IERC20",
546
+ "name": "tokenOut",
547
+ "type": "address"
548
+ },
549
+ {
550
+ "internalType": "bool",
551
+ "name": "isBuffer",
552
+ "type": "bool"
553
+ }
554
+ ],
555
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
556
+ "name": "steps",
557
+ "type": "tuple[]"
558
+ },
559
+ {
560
+ "internalType": "uint256",
561
+ "name": "maxAmountIn",
562
+ "type": "uint256"
563
+ },
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "exactAmountOut",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "internalType": "struct IBatchRouter.SwapPathExactAmountOut[]",
571
+ "name": "paths",
572
+ "type": "tuple[]"
573
+ },
574
+ {
575
+ "internalType": "uint256",
576
+ "name": "deadline",
577
+ "type": "uint256"
578
+ },
579
+ {
580
+ "internalType": "bool",
581
+ "name": "wethIsEth",
582
+ "type": "bool"
583
+ },
584
+ {
585
+ "internalType": "bytes",
586
+ "name": "userData",
587
+ "type": "bytes"
588
+ }
589
+ ],
590
+ "internalType": "struct IBatchRouter.SwapExactOutHookParams",
591
+ "name": "params",
592
+ "type": "tuple"
593
+ }
594
+ ],
595
+ "name": "querySwapExactOutHook",
596
+ "outputs": [
597
+ {
598
+ "internalType": "uint256[]",
599
+ "name": "pathAmountsIn",
600
+ "type": "uint256[]"
601
+ },
602
+ {
603
+ "internalType": "address[]",
604
+ "name": "tokensIn",
605
+ "type": "address[]"
606
+ },
607
+ {
608
+ "internalType": "uint256[]",
609
+ "name": "amountsIn",
610
+ "type": "uint256[]"
611
+ }
612
+ ],
613
+ "stateMutability": "nonpayable",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [
618
+ {
619
+ "components": [
620
+ {
621
+ "internalType": "contract IERC20",
622
+ "name": "tokenIn",
623
+ "type": "address"
624
+ },
625
+ {
626
+ "components": [
627
+ {
628
+ "internalType": "address",
629
+ "name": "pool",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "internalType": "contract IERC20",
634
+ "name": "tokenOut",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "internalType": "bool",
639
+ "name": "isBuffer",
640
+ "type": "bool"
641
+ }
642
+ ],
643
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
644
+ "name": "steps",
645
+ "type": "tuple[]"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "exactAmountIn",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "minAmountOut",
655
+ "type": "uint256"
656
+ }
657
+ ],
658
+ "internalType": "struct IBatchRouter.SwapPathExactAmountIn[]",
659
+ "name": "paths",
660
+ "type": "tuple[]"
661
+ },
662
+ {
663
+ "internalType": "uint256",
664
+ "name": "deadline",
665
+ "type": "uint256"
666
+ },
667
+ {
668
+ "internalType": "bool",
669
+ "name": "wethIsEth",
670
+ "type": "bool"
671
+ },
672
+ {
673
+ "internalType": "bytes",
674
+ "name": "userData",
675
+ "type": "bytes"
676
+ }
677
+ ],
678
+ "name": "swapExactIn",
679
+ "outputs": [
680
+ {
681
+ "internalType": "uint256[]",
682
+ "name": "pathAmountsOut",
683
+ "type": "uint256[]"
684
+ },
685
+ {
686
+ "internalType": "address[]",
687
+ "name": "tokensOut",
688
+ "type": "address[]"
689
+ },
690
+ {
691
+ "internalType": "uint256[]",
692
+ "name": "amountsOut",
693
+ "type": "uint256[]"
694
+ }
695
+ ],
696
+ "stateMutability": "payable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [
701
+ {
702
+ "components": [
703
+ {
704
+ "internalType": "address",
705
+ "name": "sender",
706
+ "type": "address"
707
+ },
708
+ {
709
+ "components": [
710
+ {
711
+ "internalType": "contract IERC20",
712
+ "name": "tokenIn",
713
+ "type": "address"
714
+ },
715
+ {
716
+ "components": [
717
+ {
718
+ "internalType": "address",
719
+ "name": "pool",
720
+ "type": "address"
721
+ },
722
+ {
723
+ "internalType": "contract IERC20",
724
+ "name": "tokenOut",
725
+ "type": "address"
726
+ },
727
+ {
728
+ "internalType": "bool",
729
+ "name": "isBuffer",
730
+ "type": "bool"
731
+ }
732
+ ],
733
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
734
+ "name": "steps",
735
+ "type": "tuple[]"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "exactAmountIn",
740
+ "type": "uint256"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "minAmountOut",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "internalType": "struct IBatchRouter.SwapPathExactAmountIn[]",
749
+ "name": "paths",
750
+ "type": "tuple[]"
751
+ },
752
+ {
753
+ "internalType": "uint256",
754
+ "name": "deadline",
755
+ "type": "uint256"
756
+ },
757
+ {
758
+ "internalType": "bool",
759
+ "name": "wethIsEth",
760
+ "type": "bool"
761
+ },
762
+ {
763
+ "internalType": "bytes",
764
+ "name": "userData",
765
+ "type": "bytes"
766
+ }
767
+ ],
768
+ "internalType": "struct IBatchRouter.SwapExactInHookParams",
769
+ "name": "params",
770
+ "type": "tuple"
771
+ }
772
+ ],
773
+ "name": "swapExactInHook",
774
+ "outputs": [
775
+ {
776
+ "internalType": "uint256[]",
777
+ "name": "pathAmountsOut",
778
+ "type": "uint256[]"
779
+ },
780
+ {
781
+ "internalType": "address[]",
782
+ "name": "tokensOut",
783
+ "type": "address[]"
784
+ },
785
+ {
786
+ "internalType": "uint256[]",
787
+ "name": "amountsOut",
788
+ "type": "uint256[]"
789
+ }
790
+ ],
791
+ "stateMutability": "nonpayable",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [
796
+ {
797
+ "components": [
798
+ {
799
+ "internalType": "contract IERC20",
800
+ "name": "tokenIn",
801
+ "type": "address"
802
+ },
803
+ {
804
+ "components": [
805
+ {
806
+ "internalType": "address",
807
+ "name": "pool",
808
+ "type": "address"
809
+ },
810
+ {
811
+ "internalType": "contract IERC20",
812
+ "name": "tokenOut",
813
+ "type": "address"
814
+ },
815
+ {
816
+ "internalType": "bool",
817
+ "name": "isBuffer",
818
+ "type": "bool"
819
+ }
820
+ ],
821
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
822
+ "name": "steps",
823
+ "type": "tuple[]"
824
+ },
825
+ {
826
+ "internalType": "uint256",
827
+ "name": "maxAmountIn",
828
+ "type": "uint256"
829
+ },
830
+ {
831
+ "internalType": "uint256",
832
+ "name": "exactAmountOut",
833
+ "type": "uint256"
834
+ }
835
+ ],
836
+ "internalType": "struct IBatchRouter.SwapPathExactAmountOut[]",
837
+ "name": "paths",
838
+ "type": "tuple[]"
839
+ },
840
+ {
841
+ "internalType": "uint256",
842
+ "name": "deadline",
843
+ "type": "uint256"
844
+ },
845
+ {
846
+ "internalType": "bool",
847
+ "name": "wethIsEth",
848
+ "type": "bool"
849
+ },
850
+ {
851
+ "internalType": "bytes",
852
+ "name": "userData",
853
+ "type": "bytes"
854
+ }
855
+ ],
856
+ "name": "swapExactOut",
857
+ "outputs": [
858
+ {
859
+ "internalType": "uint256[]",
860
+ "name": "pathAmountsIn",
861
+ "type": "uint256[]"
862
+ },
863
+ {
864
+ "internalType": "address[]",
865
+ "name": "tokensIn",
866
+ "type": "address[]"
867
+ },
868
+ {
869
+ "internalType": "uint256[]",
870
+ "name": "amountsIn",
871
+ "type": "uint256[]"
872
+ }
873
+ ],
874
+ "stateMutability": "payable",
875
+ "type": "function"
876
+ },
877
+ {
878
+ "inputs": [
879
+ {
880
+ "components": [
881
+ {
882
+ "internalType": "address",
883
+ "name": "sender",
884
+ "type": "address"
885
+ },
886
+ {
887
+ "components": [
888
+ {
889
+ "internalType": "contract IERC20",
890
+ "name": "tokenIn",
891
+ "type": "address"
892
+ },
893
+ {
894
+ "components": [
895
+ {
896
+ "internalType": "address",
897
+ "name": "pool",
898
+ "type": "address"
899
+ },
900
+ {
901
+ "internalType": "contract IERC20",
902
+ "name": "tokenOut",
903
+ "type": "address"
904
+ },
905
+ {
906
+ "internalType": "bool",
907
+ "name": "isBuffer",
908
+ "type": "bool"
909
+ }
910
+ ],
911
+ "internalType": "struct IBatchRouter.SwapPathStep[]",
912
+ "name": "steps",
913
+ "type": "tuple[]"
914
+ },
915
+ {
916
+ "internalType": "uint256",
917
+ "name": "maxAmountIn",
918
+ "type": "uint256"
919
+ },
920
+ {
921
+ "internalType": "uint256",
922
+ "name": "exactAmountOut",
923
+ "type": "uint256"
924
+ }
925
+ ],
926
+ "internalType": "struct IBatchRouter.SwapPathExactAmountOut[]",
927
+ "name": "paths",
928
+ "type": "tuple[]"
929
+ },
930
+ {
931
+ "internalType": "uint256",
932
+ "name": "deadline",
933
+ "type": "uint256"
934
+ },
935
+ {
936
+ "internalType": "bool",
937
+ "name": "wethIsEth",
938
+ "type": "bool"
939
+ },
940
+ {
941
+ "internalType": "bytes",
942
+ "name": "userData",
943
+ "type": "bytes"
944
+ }
945
+ ],
946
+ "internalType": "struct IBatchRouter.SwapExactOutHookParams",
947
+ "name": "params",
948
+ "type": "tuple"
949
+ }
950
+ ],
951
+ "name": "swapExactOutHook",
952
+ "outputs": [
953
+ {
954
+ "internalType": "uint256[]",
955
+ "name": "pathAmountsIn",
956
+ "type": "uint256[]"
957
+ },
958
+ {
959
+ "internalType": "address[]",
960
+ "name": "tokensIn",
961
+ "type": "address[]"
962
+ },
963
+ {
964
+ "internalType": "uint256[]",
965
+ "name": "amountsIn",
966
+ "type": "uint256[]"
967
+ }
968
+ ],
969
+ "stateMutability": "nonpayable",
970
+ "type": "function"
971
+ },
972
+ {
973
+ "inputs": [],
974
+ "name": "version",
975
+ "outputs": [
976
+ {
977
+ "internalType": "string",
978
+ "name": "",
979
+ "type": "string"
980
+ }
981
+ ],
982
+ "stateMutability": "view",
983
+ "type": "function"
984
+ },
985
+ {
986
+ "stateMutability": "payable",
987
+ "type": "receive"
988
+ }
989
+ ]