@paraswap/dex-lib 3.8.7 → 3.8.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 (196) 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/AaveV1_lending_pool.json +27 -0
  5. package/build/abi/maverick-v2/MaverickV2Router.json +778 -0
  6. package/build/abi/platypus/asset.json +490 -0
  7. package/build/abi/platypus/avax-pool.json +820 -0
  8. package/build/abi/platypus/oracle.json +119 -0
  9. package/build/abi/platypus/pool.json +677 -0
  10. package/build/abi/smardex/all/smardex-router.json +648 -0
  11. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  12. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  13. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  14. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  15. package/build/abi/swaap-v1/pool.json +1346 -0
  16. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  17. package/build/abi/wombat/pool.json +1289 -0
  18. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  19. package/build/dex/aave-v1/aave-v1.js +181 -0
  20. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  21. package/build/dex/aave-v1/config.d.ts +11 -0
  22. package/build/dex/aave-v1/config.js +20 -0
  23. package/build/dex/aave-v1/config.js.map +1 -0
  24. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  25. package/build/dex/aave-v1/tokens.d.ts +3 -0
  26. package/build/dex/aave-v1/tokens.js +50 -0
  27. package/build/dex/aave-v1/tokens.js.map +1 -0
  28. package/build/dex/aave-v1/types.d.ts +12 -0
  29. package/build/dex/aave-v1/types.js +3 -0
  30. package/build/dex/aave-v1/types.js.map +1 -0
  31. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  32. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  33. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  34. package/build/dex/aave-v3-stata/aave-v3-stata.js +1 -1
  35. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
  36. package/build/dex/bProtocol.d.ts +18 -0
  37. package/build/dex/bProtocol.js +39 -0
  38. package/build/dex/bProtocol.js.map +1 -0
  39. package/build/dex/bancor.d.ts +26 -0
  40. package/build/dex/bancor.js +58 -0
  41. package/build/dex/bancor.js.map +1 -0
  42. package/build/dex/compound.d.ts +18 -0
  43. package/build/dex/compound.js +46 -0
  44. package/build/dex/compound.js.map +1 -0
  45. package/build/dex/curve-v2.d.ts +58 -0
  46. package/build/dex/curve-v2.js +180 -0
  47. package/build/dex/curve-v2.js.map +1 -0
  48. package/build/dex/dodo-v1.d.ts +33 -0
  49. package/build/dex/dodo-v1.js +63 -0
  50. package/build/dex/dodo-v1.js.map +1 -0
  51. package/build/dex/lido.d.ts +19 -0
  52. package/build/dex/lido.js +42 -0
  53. package/build/dex/lido.js.map +1 -0
  54. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  55. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  56. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  57. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  58. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  59. package/build/dex/onebit.d.ts +25 -0
  60. package/build/dex/onebit.js +42 -0
  61. package/build/dex/onebit.js.map +1 -0
  62. package/build/dex/platypus/asset.d.ts +14 -0
  63. package/build/dex/platypus/asset.js +97 -0
  64. package/build/dex/platypus/asset.js.map +1 -0
  65. package/build/dex/platypus/config.d.ts +11 -0
  66. package/build/dex/platypus/config.js +69 -0
  67. package/build/dex/platypus/config.js.map +1 -0
  68. package/build/dex/platypus/platypus.d.ts +63 -0
  69. package/build/dex/platypus/platypus.js +487 -0
  70. package/build/dex/platypus/platypus.js.map +1 -0
  71. package/build/dex/platypus/pool-avax.d.ts +8 -0
  72. package/build/dex/platypus/pool-avax.js +54 -0
  73. package/build/dex/platypus/pool-avax.js.map +1 -0
  74. package/build/dex/platypus/pool-base.d.ts +19 -0
  75. package/build/dex/platypus/pool-base.js +86 -0
  76. package/build/dex/platypus/pool-base.js.map +1 -0
  77. package/build/dex/platypus/pool-pure.d.ts +8 -0
  78. package/build/dex/platypus/pool-pure.js +37 -0
  79. package/build/dex/platypus/pool-pure.js.map +1 -0
  80. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  81. package/build/dex/platypus/pool-subscriber.js +167 -0
  82. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  83. package/build/dex/platypus/pool.d.ts +8 -0
  84. package/build/dex/platypus/pool.js +58 -0
  85. package/build/dex/platypus/pool.js.map +1 -0
  86. package/build/dex/platypus/types.d.ts +92 -0
  87. package/build/dex/platypus/types.js +10 -0
  88. package/build/dex/platypus/types.js.map +1 -0
  89. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  90. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  91. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  92. package/build/dex/smardex/config.d.ts +4 -0
  93. package/build/dex/smardex/config.js +64 -0
  94. package/build/dex/smardex/config.js.map +1 -0
  95. package/build/dex/smardex/constants.d.ts +18 -0
  96. package/build/dex/smardex/constants.js +33 -0
  97. package/build/dex/smardex/constants.js.map +1 -0
  98. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  99. package/build/dex/smardex/sdk/constants.js +13 -0
  100. package/build/dex/smardex/sdk/constants.js.map +1 -0
  101. package/build/dex/smardex/sdk/core.d.ts +113 -0
  102. package/build/dex/smardex/sdk/core.js +499 -0
  103. package/build/dex/smardex/sdk/core.js.map +1 -0
  104. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  105. package/build/dex/smardex/sdk/errors.js +22 -0
  106. package/build/dex/smardex/sdk/errors.js.map +1 -0
  107. package/build/dex/smardex/sdk/types.d.ts +62 -0
  108. package/build/dex/smardex/sdk/types.js +3 -0
  109. package/build/dex/smardex/sdk/types.js.map +1 -0
  110. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  111. package/build/dex/smardex/sdk/utils.js +133 -0
  112. package/build/dex/smardex/sdk/utils.js.map +1 -0
  113. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  114. package/build/dex/smardex/smardex-event-pool.js +119 -0
  115. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  116. package/build/dex/smardex/smardex.d.ts +65 -0
  117. package/build/dex/smardex/smardex.js +519 -0
  118. package/build/dex/smardex/smardex.js.map +1 -0
  119. package/build/dex/smardex/types.d.ts +55 -0
  120. package/build/dex/smardex/types.js +3 -0
  121. package/build/dex/smardex/types.js.map +1 -0
  122. package/build/dex/smoothy.d.ts +26 -0
  123. package/build/dex/smoothy.js +48 -0
  124. package/build/dex/smoothy.js.map +1 -0
  125. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  126. package/build/dex/solidly/forks-override/cone.js +53 -0
  127. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  128. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  129. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  130. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  131. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  132. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  133. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  134. package/build/dex/stable-pool.d.ts +28 -0
  135. package/build/dex/stable-pool.js +55 -0
  136. package/build/dex/stable-pool.js.map +1 -0
  137. package/build/dex/swaap-v1/config.d.ts +17 -0
  138. package/build/dex/swaap-v1/config.js +56 -0
  139. package/build/dex/swaap-v1/config.js.map +1 -0
  140. package/build/dex/swaap-v1/constants.d.ts +6 -0
  141. package/build/dex/swaap-v1/constants.js +17 -0
  142. package/build/dex/swaap-v1/constants.js.map +1 -0
  143. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  144. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  145. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  146. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  147. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  148. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  149. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  150. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  151. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  152. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  153. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  154. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  155. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  156. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  157. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  158. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  159. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  160. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  161. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  162. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  163. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  164. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  165. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  166. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  167. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  168. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  169. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  170. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  171. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  172. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  173. package/build/dex/swaap-v1/types.d.ts +106 -0
  174. package/build/dex/swaap-v1/types.js +9 -0
  175. package/build/dex/swaap-v1/types.js.map +1 -0
  176. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  177. package/build/dex/trader-joe-v2.1.js +79 -0
  178. package/build/dex/trader-joe-v2.1.js.map +1 -0
  179. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  180. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  181. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  182. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  183. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  184. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  185. package/config.ts +1946 -0
  186. package/package.json +1 -1
  187. package/src/dex/aave-v3-stata/aave-v3-stata.ts +1 -1
  188. package/src/dex/dexs.txt +58 -0
  189. package/.idea/aws.xml +0 -17
  190. package/.idea/codeStyles/Project.xml +0 -19
  191. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  192. package/.idea/misc.xml +0 -6
  193. package/.idea/modules.xml +0 -8
  194. package/.idea/paraswap-dex-lib.iml +0 -9
  195. package/.idea/prettier.xml +0 -7
  196. package/.idea/vcs.xml +0 -6
@@ -0,0 +1,648 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ { "internalType": "address", "name": "_factory", "type": "address" },
5
+ { "internalType": "address", "name": "_WETH", "type": "address" }
6
+ ],
7
+ "stateMutability": "nonpayable",
8
+ "type": "constructor"
9
+ },
10
+ {
11
+ "anonymous": false,
12
+ "inputs": [
13
+ {
14
+ "indexed": false,
15
+ "internalType": "address",
16
+ "name": "tokenA",
17
+ "type": "address"
18
+ },
19
+ {
20
+ "indexed": false,
21
+ "internalType": "address",
22
+ "name": "tokenB",
23
+ "type": "address"
24
+ },
25
+ {
26
+ "indexed": false,
27
+ "internalType": "address",
28
+ "name": "pair",
29
+ "type": "address"
30
+ }
31
+ ],
32
+ "name": "PairWhitelisted",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "inputs": [],
37
+ "name": "WETH",
38
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
39
+ "stateMutability": "view",
40
+ "type": "function"
41
+ },
42
+ {
43
+ "inputs": [
44
+ {
45
+ "components": [
46
+ { "internalType": "address", "name": "tokenA", "type": "address" },
47
+ { "internalType": "address", "name": "tokenB", "type": "address" },
48
+ {
49
+ "internalType": "uint256",
50
+ "name": "amountADesired",
51
+ "type": "uint256"
52
+ },
53
+ {
54
+ "internalType": "uint256",
55
+ "name": "amountBDesired",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "internalType": "uint256",
60
+ "name": "amountAMin",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "internalType": "uint256",
65
+ "name": "amountBMin",
66
+ "type": "uint256"
67
+ },
68
+ {
69
+ "internalType": "uint128",
70
+ "name": "fictiveReserveB",
71
+ "type": "uint128"
72
+ },
73
+ {
74
+ "internalType": "uint128",
75
+ "name": "fictiveReserveAMin",
76
+ "type": "uint128"
77
+ },
78
+ {
79
+ "internalType": "uint128",
80
+ "name": "fictiveReserveAMax",
81
+ "type": "uint128"
82
+ }
83
+ ],
84
+ "internalType": "struct ISmardexRouter.AddLiquidityParams",
85
+ "name": "_params",
86
+ "type": "tuple"
87
+ },
88
+ { "internalType": "address", "name": "_to", "type": "address" },
89
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
90
+ ],
91
+ "name": "addLiquidity",
92
+ "outputs": [
93
+ { "internalType": "uint256", "name": "amountA_", "type": "uint256" },
94
+ { "internalType": "uint256", "name": "amountB_", "type": "uint256" },
95
+ { "internalType": "uint256", "name": "liquidity_", "type": "uint256" }
96
+ ],
97
+ "stateMutability": "nonpayable",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "components": [
104
+ { "internalType": "address", "name": "token", "type": "address" },
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "amountTokenDesired",
108
+ "type": "uint256"
109
+ },
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "amountTokenMin",
113
+ "type": "uint256"
114
+ },
115
+ {
116
+ "internalType": "uint256",
117
+ "name": "amountETHMin",
118
+ "type": "uint256"
119
+ },
120
+ {
121
+ "internalType": "uint128",
122
+ "name": "fictiveReserveETH",
123
+ "type": "uint128"
124
+ },
125
+ {
126
+ "internalType": "uint128",
127
+ "name": "fictiveReserveTokenMin",
128
+ "type": "uint128"
129
+ },
130
+ {
131
+ "internalType": "uint128",
132
+ "name": "fictiveReserveTokenMax",
133
+ "type": "uint128"
134
+ }
135
+ ],
136
+ "internalType": "struct ISmardexRouter.AddLiquidityETHParams",
137
+ "name": "_params",
138
+ "type": "tuple"
139
+ },
140
+ { "internalType": "address", "name": "_to", "type": "address" },
141
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
142
+ ],
143
+ "name": "addLiquidityETH",
144
+ "outputs": [
145
+ { "internalType": "uint256", "name": "amountToken_", "type": "uint256" },
146
+ { "internalType": "uint256", "name": "amountETH_", "type": "uint256" },
147
+ { "internalType": "uint256", "name": "liquidity_", "type": "uint256" }
148
+ ],
149
+ "stateMutability": "payable",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [
154
+ { "internalType": "address", "name": "_tokenA", "type": "address" },
155
+ { "internalType": "address", "name": "_tokenB", "type": "address" }
156
+ ],
157
+ "name": "addPairToWhitelist",
158
+ "outputs": [
159
+ { "internalType": "address", "name": "pair_", "type": "address" }
160
+ ],
161
+ "stateMutability": "nonpayable",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "factory",
167
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
168
+ "stateMutability": "view",
169
+ "type": "function"
170
+ },
171
+ {
172
+ "inputs": [
173
+ {
174
+ "components": [
175
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
176
+ { "internalType": "uint256", "name": "reserveIn", "type": "uint256" },
177
+ {
178
+ "internalType": "uint256",
179
+ "name": "reserveOut",
180
+ "type": "uint256"
181
+ },
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "fictiveReserveIn",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "internalType": "uint256",
189
+ "name": "fictiveReserveOut",
190
+ "type": "uint256"
191
+ },
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "priceAverageIn",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "priceAverageOut",
200
+ "type": "uint256"
201
+ },
202
+ { "internalType": "uint128", "name": "feesLP", "type": "uint128" },
203
+ { "internalType": "uint128", "name": "feesPool", "type": "uint128" }
204
+ ],
205
+ "internalType": "struct SmardexLibrary.GetAmountParameters",
206
+ "name": "_param",
207
+ "type": "tuple"
208
+ }
209
+ ],
210
+ "name": "getAmountIn",
211
+ "outputs": [
212
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" },
213
+ { "internalType": "uint256", "name": "newReserveIn_", "type": "uint256" },
214
+ {
215
+ "internalType": "uint256",
216
+ "name": "newReserveOut_",
217
+ "type": "uint256"
218
+ },
219
+ {
220
+ "internalType": "uint256",
221
+ "name": "newFictiveReserveIn_",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "internalType": "uint256",
226
+ "name": "newFictiveReserveOut_",
227
+ "type": "uint256"
228
+ }
229
+ ],
230
+ "stateMutability": "pure",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
236
+ { "internalType": "address", "name": "_tokenIn", "type": "address" },
237
+ { "internalType": "address", "name": "_tokenOut", "type": "address" }
238
+ ],
239
+ "name": "getAmountInFromPair",
240
+ "outputs": [
241
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" },
242
+ { "internalType": "uint256", "name": "newReserveIn_", "type": "uint256" },
243
+ {
244
+ "internalType": "uint256",
245
+ "name": "newReserveOut_",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "internalType": "uint256",
250
+ "name": "newFictiveReserveIn_",
251
+ "type": "uint256"
252
+ },
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "newFictiveReserveOut_",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "stateMutability": "view",
260
+ "type": "function"
261
+ },
262
+ {
263
+ "inputs": [
264
+ {
265
+ "components": [
266
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
267
+ { "internalType": "uint256", "name": "reserveIn", "type": "uint256" },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "reserveOut",
271
+ "type": "uint256"
272
+ },
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "fictiveReserveIn",
276
+ "type": "uint256"
277
+ },
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "fictiveReserveOut",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "priceAverageIn",
286
+ "type": "uint256"
287
+ },
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "priceAverageOut",
291
+ "type": "uint256"
292
+ },
293
+ { "internalType": "uint128", "name": "feesLP", "type": "uint128" },
294
+ { "internalType": "uint128", "name": "feesPool", "type": "uint128" }
295
+ ],
296
+ "internalType": "struct SmardexLibrary.GetAmountParameters",
297
+ "name": "_param",
298
+ "type": "tuple"
299
+ }
300
+ ],
301
+ "name": "getAmountOut",
302
+ "outputs": [
303
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" },
304
+ { "internalType": "uint256", "name": "newReserveIn_", "type": "uint256" },
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "newReserveOut_",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "internalType": "uint256",
312
+ "name": "newFictiveReserveIn_",
313
+ "type": "uint256"
314
+ },
315
+ {
316
+ "internalType": "uint256",
317
+ "name": "newFictiveReserveOut_",
318
+ "type": "uint256"
319
+ }
320
+ ],
321
+ "stateMutability": "pure",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [
326
+ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" },
327
+ { "internalType": "address", "name": "_tokenIn", "type": "address" },
328
+ { "internalType": "address", "name": "_tokenOut", "type": "address" }
329
+ ],
330
+ "name": "getAmountOutFromPair",
331
+ "outputs": [
332
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" },
333
+ { "internalType": "uint256", "name": "newReserveIn_", "type": "uint256" },
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "newReserveOut_",
337
+ "type": "uint256"
338
+ },
339
+ {
340
+ "internalType": "uint256",
341
+ "name": "newFictiveReserveIn_",
342
+ "type": "uint256"
343
+ },
344
+ {
345
+ "internalType": "uint256",
346
+ "name": "newFictiveReserveOut_",
347
+ "type": "uint256"
348
+ }
349
+ ],
350
+ "stateMutability": "view",
351
+ "type": "function"
352
+ },
353
+ {
354
+ "inputs": [
355
+ { "internalType": "uint256", "name": "_amountA", "type": "uint256" },
356
+ { "internalType": "uint256", "name": "_reserveA", "type": "uint256" },
357
+ { "internalType": "uint256", "name": "_reserveB", "type": "uint256" }
358
+ ],
359
+ "name": "quote",
360
+ "outputs": [
361
+ { "internalType": "uint256", "name": "amountB_", "type": "uint256" }
362
+ ],
363
+ "stateMutability": "pure",
364
+ "type": "function"
365
+ },
366
+ {
367
+ "inputs": [
368
+ { "internalType": "address", "name": "_tokenA", "type": "address" },
369
+ { "internalType": "address", "name": "_tokenB", "type": "address" },
370
+ { "internalType": "uint256", "name": "_liquidity", "type": "uint256" },
371
+ { "internalType": "uint256", "name": "_amountAMin", "type": "uint256" },
372
+ { "internalType": "uint256", "name": "_amountBMin", "type": "uint256" },
373
+ { "internalType": "address", "name": "_to", "type": "address" },
374
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
375
+ ],
376
+ "name": "removeLiquidity",
377
+ "outputs": [
378
+ { "internalType": "uint256", "name": "amountA_", "type": "uint256" },
379
+ { "internalType": "uint256", "name": "amountB_", "type": "uint256" }
380
+ ],
381
+ "stateMutability": "nonpayable",
382
+ "type": "function"
383
+ },
384
+ {
385
+ "inputs": [
386
+ { "internalType": "address", "name": "_token", "type": "address" },
387
+ { "internalType": "uint256", "name": "_liquidity", "type": "uint256" },
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "_amountTokenMin",
391
+ "type": "uint256"
392
+ },
393
+ { "internalType": "uint256", "name": "_amountETHMin", "type": "uint256" },
394
+ { "internalType": "address", "name": "_to", "type": "address" },
395
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
396
+ ],
397
+ "name": "removeLiquidityETH",
398
+ "outputs": [
399
+ { "internalType": "uint256", "name": "amountToken_", "type": "uint256" },
400
+ { "internalType": "uint256", "name": "amountETH_", "type": "uint256" }
401
+ ],
402
+ "stateMutability": "nonpayable",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [
407
+ { "internalType": "address", "name": "_token", "type": "address" },
408
+ { "internalType": "uint256", "name": "_liquidity", "type": "uint256" },
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "_amountTokenMin",
412
+ "type": "uint256"
413
+ },
414
+ { "internalType": "uint256", "name": "_amountETHMin", "type": "uint256" },
415
+ { "internalType": "address", "name": "_to", "type": "address" },
416
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
417
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
418
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
419
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
420
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
421
+ ],
422
+ "name": "removeLiquidityETHWithPermit",
423
+ "outputs": [
424
+ { "internalType": "uint256", "name": "amountToken_", "type": "uint256" },
425
+ { "internalType": "uint256", "name": "amountETH_", "type": "uint256" }
426
+ ],
427
+ "stateMutability": "nonpayable",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [
432
+ { "internalType": "address", "name": "_tokenA", "type": "address" },
433
+ { "internalType": "address", "name": "_tokenB", "type": "address" },
434
+ { "internalType": "uint256", "name": "_liquidity", "type": "uint256" },
435
+ { "internalType": "uint256", "name": "_amountAMin", "type": "uint256" },
436
+ { "internalType": "uint256", "name": "_amountBMin", "type": "uint256" },
437
+ { "internalType": "address", "name": "_to", "type": "address" },
438
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
439
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
440
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
441
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
442
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
443
+ ],
444
+ "name": "removeLiquidityWithPermit",
445
+ "outputs": [
446
+ { "internalType": "uint256", "name": "amountA_", "type": "uint256" },
447
+ { "internalType": "uint256", "name": "amountB_", "type": "uint256" }
448
+ ],
449
+ "stateMutability": "nonpayable",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [
454
+ {
455
+ "components": [
456
+ { "internalType": "address", "name": "token0", "type": "address" },
457
+ { "internalType": "address", "name": "token1", "type": "address" },
458
+ { "internalType": "uint256", "name": "amount0", "type": "uint256" },
459
+ { "internalType": "uint256", "name": "amount1", "type": "uint256" },
460
+ { "internalType": "address", "name": "payer", "type": "address" }
461
+ ],
462
+ "internalType": "struct ISmardexMintCallback.MintCallbackData",
463
+ "name": "_data",
464
+ "type": "tuple"
465
+ }
466
+ ],
467
+ "name": "smardexMintCallback",
468
+ "outputs": [],
469
+ "stateMutability": "nonpayable",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [
474
+ { "internalType": "int256", "name": "_amount0Delta", "type": "int256" },
475
+ { "internalType": "int256", "name": "_amount1Delta", "type": "int256" },
476
+ { "internalType": "bytes", "name": "_data", "type": "bytes" }
477
+ ],
478
+ "name": "smardexSwapCallback",
479
+ "outputs": [],
480
+ "stateMutability": "nonpayable",
481
+ "type": "function"
482
+ },
483
+ {
484
+ "inputs": [
485
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
486
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
487
+ { "internalType": "address", "name": "_to", "type": "address" },
488
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
489
+ ],
490
+ "name": "swapETHForExactTokens",
491
+ "outputs": [
492
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" }
493
+ ],
494
+ "stateMutability": "payable",
495
+ "type": "function"
496
+ },
497
+ {
498
+ "inputs": [
499
+ { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" },
500
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
501
+ { "internalType": "address", "name": "_to", "type": "address" },
502
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
503
+ ],
504
+ "name": "swapExactETHForTokens",
505
+ "outputs": [
506
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" }
507
+ ],
508
+ "stateMutability": "payable",
509
+ "type": "function"
510
+ },
511
+ {
512
+ "inputs": [
513
+ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" },
514
+ { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" },
515
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
516
+ { "internalType": "address", "name": "_to", "type": "address" },
517
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
518
+ ],
519
+ "name": "swapExactTokensForETH",
520
+ "outputs": [
521
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" }
522
+ ],
523
+ "stateMutability": "nonpayable",
524
+ "type": "function"
525
+ },
526
+ {
527
+ "inputs": [
528
+ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" },
529
+ { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" },
530
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
531
+ { "internalType": "address", "name": "_to", "type": "address" },
532
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
533
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
534
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
535
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
536
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
537
+ ],
538
+ "name": "swapExactTokensForETHWithPermit",
539
+ "outputs": [
540
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" }
541
+ ],
542
+ "stateMutability": "nonpayable",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" },
548
+ { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" },
549
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
550
+ { "internalType": "address", "name": "_to", "type": "address" },
551
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
552
+ ],
553
+ "name": "swapExactTokensForTokens",
554
+ "outputs": [
555
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" }
556
+ ],
557
+ "stateMutability": "nonpayable",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [
562
+ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" },
563
+ { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" },
564
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
565
+ { "internalType": "address", "name": "_to", "type": "address" },
566
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
567
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
568
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
569
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
570
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
571
+ ],
572
+ "name": "swapExactTokensForTokensWithPermit",
573
+ "outputs": [
574
+ { "internalType": "uint256", "name": "amountOut_", "type": "uint256" }
575
+ ],
576
+ "stateMutability": "nonpayable",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [
581
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
582
+ { "internalType": "uint256", "name": "_amountInMax", "type": "uint256" },
583
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
584
+ { "internalType": "address", "name": "_to", "type": "address" },
585
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
586
+ ],
587
+ "name": "swapTokensForExactETH",
588
+ "outputs": [
589
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" }
590
+ ],
591
+ "stateMutability": "nonpayable",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [
596
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
597
+ { "internalType": "uint256", "name": "_amountInMax", "type": "uint256" },
598
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
599
+ { "internalType": "address", "name": "_to", "type": "address" },
600
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
601
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
602
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
603
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
604
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
605
+ ],
606
+ "name": "swapTokensForExactETHWithPermit",
607
+ "outputs": [
608
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" }
609
+ ],
610
+ "stateMutability": "nonpayable",
611
+ "type": "function"
612
+ },
613
+ {
614
+ "inputs": [
615
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
616
+ { "internalType": "uint256", "name": "_amountInMax", "type": "uint256" },
617
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
618
+ { "internalType": "address", "name": "_to", "type": "address" },
619
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" }
620
+ ],
621
+ "name": "swapTokensForExactTokens",
622
+ "outputs": [
623
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" }
624
+ ],
625
+ "stateMutability": "nonpayable",
626
+ "type": "function"
627
+ },
628
+ {
629
+ "inputs": [
630
+ { "internalType": "uint256", "name": "_amountOut", "type": "uint256" },
631
+ { "internalType": "uint256", "name": "_amountInMax", "type": "uint256" },
632
+ { "internalType": "address[]", "name": "_path", "type": "address[]" },
633
+ { "internalType": "address", "name": "_to", "type": "address" },
634
+ { "internalType": "uint256", "name": "_deadline", "type": "uint256" },
635
+ { "internalType": "bool", "name": "_approveMax", "type": "bool" },
636
+ { "internalType": "uint8", "name": "_v", "type": "uint8" },
637
+ { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
638
+ { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
639
+ ],
640
+ "name": "swapTokensForExactTokensWithPermit",
641
+ "outputs": [
642
+ { "internalType": "uint256", "name": "amountIn_", "type": "uint256" }
643
+ ],
644
+ "stateMutability": "nonpayable",
645
+ "type": "function"
646
+ },
647
+ { "stateMutability": "payable", "type": "receive" }
648
+ ]