@paraswap/dex-lib 2.50.8 → 2.50.9

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 (160) hide show
  1. package/build/abi/Redstone.json +739 -0
  2. package/build/abi/angle/stagToken.json +963 -0
  3. package/build/abi/angle-transmuter/MorphoOracle.json +193 -0
  4. package/build/abi/angle-transmuter/MorphoVault.json +2506 -0
  5. package/build/abi/angle-transmuter/Pyth.json +1534 -0
  6. package/build/abi/angle-transmuter/Transmuter.json +1711 -0
  7. package/build/abi/pharaoh/PharaohPool.abi.json +1582 -0
  8. package/build/abi/smardex/smardex-factory.json +185 -0
  9. package/build/abi/smardex/smardex-pool.json +578 -0
  10. package/build/abi/smardex/smardex-router.json +648 -0
  11. package/build/abi/trader-joe-v2_1/FactoryABI.json +1208 -0
  12. package/build/abi/trader-joe-v2_1/PairABI.json +1493 -0
  13. package/build/abi/trader-joe-v2_1/RouterABI.json +1489 -0
  14. package/build/abi/trader-joe-v2_1/StateMulticall.json +193 -0
  15. package/build/abi/wombat/pool.json +1289 -0
  16. package/build/config.js +8 -7
  17. package/build/config.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/angle-staked-stable/angle-staked-stable-pool.d.ts +56 -0
  22. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +197 -0
  23. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -0
  24. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +48 -0
  25. package/build/dex/angle-staked-stable/angle-staked-stable.js +222 -0
  26. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -0
  27. package/build/dex/angle-staked-stable/config.d.ts +4 -0
  28. package/build/dex/angle-staked-stable/config.js +139 -0
  29. package/build/dex/angle-staked-stable/config.js.map +1 -0
  30. package/build/dex/angle-staked-stable/types.d.ts +15 -0
  31. package/build/dex/angle-staked-stable/types.js +3 -0
  32. package/build/dex/angle-staked-stable/types.js.map +1 -0
  33. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +61 -0
  34. package/build/dex/angle-transmuter/angle-transmuter-pool.js +415 -0
  35. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -0
  36. package/build/dex/angle-transmuter/angle-transmuter.d.ts +59 -0
  37. package/build/dex/angle-transmuter/angle-transmuter.js +262 -0
  38. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -0
  39. package/build/dex/angle-transmuter/backedOracle.d.ts +19 -0
  40. package/build/dex/angle-transmuter/backedOracle.js +56 -0
  41. package/build/dex/angle-transmuter/backedOracle.js.map +1 -0
  42. package/build/dex/angle-transmuter/config.d.ts +4 -0
  43. package/build/dex/angle-transmuter/config.js +30 -0
  44. package/build/dex/angle-transmuter/config.js.map +1 -0
  45. package/build/dex/angle-transmuter/constants.d.ts +77 -0
  46. package/build/dex/angle-transmuter/constants.js +94 -0
  47. package/build/dex/angle-transmuter/constants.js.map +1 -0
  48. package/build/dex/angle-transmuter/morphoOracle.d.ts +42 -0
  49. package/build/dex/angle-transmuter/morphoOracle.js +179 -0
  50. package/build/dex/angle-transmuter/morphoOracle.js.map +1 -0
  51. package/build/dex/angle-transmuter/morphoVault.d.ts +19 -0
  52. package/build/dex/angle-transmuter/morphoVault.js +78 -0
  53. package/build/dex/angle-transmuter/morphoVault.js.map +1 -0
  54. package/build/dex/angle-transmuter/pyth.d.ts +19 -0
  55. package/build/dex/angle-transmuter/pyth.js +70 -0
  56. package/build/dex/angle-transmuter/pyth.js.map +1 -0
  57. package/build/dex/angle-transmuter/redstone.d.ts +20 -0
  58. package/build/dex/angle-transmuter/redstone.js +73 -0
  59. package/build/dex/angle-transmuter/redstone.js.map +1 -0
  60. package/build/dex/angle-transmuter/transmuter.d.ts +52 -0
  61. package/build/dex/angle-transmuter/transmuter.js +374 -0
  62. package/build/dex/angle-transmuter/transmuter.js.map +1 -0
  63. package/build/dex/angle-transmuter/types.d.ts +188 -0
  64. package/build/dex/angle-transmuter/types.js +33 -0
  65. package/build/dex/angle-transmuter/types.js.map +1 -0
  66. package/build/dex/angle-transmuter/utils.d.ts +9 -0
  67. package/build/dex/angle-transmuter/utils.js +252 -0
  68. package/build/dex/angle-transmuter/utils.js.map +1 -0
  69. package/build/dex/index.js +2 -0
  70. package/build/dex/index.js.map +1 -1
  71. package/build/dex/smardex/subgraph-queries.d.ts +1 -0
  72. package/build/dex/smardex/subgraph-queries.js +17 -0
  73. package/build/dex/smardex/subgraph-queries.js.map +1 -0
  74. package/build/dex/smardex/usd-reserves.d.ts +23 -0
  75. package/build/dex/smardex/usd-reserves.js +86 -0
  76. package/build/dex/smardex/usd-reserves.js.map +1 -0
  77. package/build/dex/trader-joe-v2-1-2/config.d.ts +4 -0
  78. package/build/dex/trader-joe-v2-1-2/config.js +47 -0
  79. package/build/dex/trader-joe-v2-1-2/config.js.map +1 -0
  80. package/build/dex/trader-joe-v2-1-2/constants.d.ts +20 -0
  81. package/build/dex/trader-joe-v2-1-2/constants.js +22 -0
  82. package/build/dex/trader-joe-v2-1-2/constants.js.map +1 -0
  83. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +37 -0
  84. package/build/dex/trader-joe-v2-1-2/math/index.js +291 -0
  85. package/build/dex/trader-joe-v2-1-2/math/index.js.map +1 -0
  86. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +60 -0
  87. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +248 -0
  88. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +1 -0
  89. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +53 -0
  90. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +307 -0
  91. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +1 -0
  92. package/build/dex/trader-joe-v2-1-2/types.d.ts +82 -0
  93. package/build/dex/trader-joe-v2-1-2/types.js +9 -0
  94. package/build/dex/trader-joe-v2-1-2/types.js.map +1 -0
  95. package/build/dex/trader-joe-v2_1/config.d.ts +4 -0
  96. package/build/dex/trader-joe-v2_1/config.js +47 -0
  97. package/build/dex/trader-joe-v2_1/config.js.map +1 -0
  98. package/build/dex/trader-joe-v2_1/constants.d.ts +20 -0
  99. package/build/dex/trader-joe-v2_1/constants.js +22 -0
  100. package/build/dex/trader-joe-v2_1/constants.js.map +1 -0
  101. package/build/dex/trader-joe-v2_1/math/index.d.ts +37 -0
  102. package/build/dex/trader-joe-v2_1/math/index.js +291 -0
  103. package/build/dex/trader-joe-v2_1/math/index.js.map +1 -0
  104. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  105. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +384 -0
  106. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +1 -0
  107. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +60 -0
  108. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +247 -0
  109. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +1 -0
  110. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +53 -0
  111. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +307 -0
  112. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +1 -0
  113. package/build/dex/trader-joe-v2_1/types.d.ts +82 -0
  114. package/build/dex/trader-joe-v2_1/types.js +9 -0
  115. package/build/dex/trader-joe-v2_1/types.js.map +1 -0
  116. package/build/dex/wombat/wombat-pool-poller.d.ts +22 -0
  117. package/build/dex/wombat/wombat-pool-poller.js +164 -0
  118. package/build/dex/wombat/wombat-pool-poller.js.map +1 -0
  119. package/build/dex-helper/Cache.d.ts +31 -0
  120. package/build/dex-helper/Cache.js +106 -0
  121. package/build/dex-helper/Cache.js.map +1 -0
  122. package/build/dex-helper/RedisBatcher.d.ts +20 -0
  123. package/build/dex-helper/RedisBatcher.js +75 -0
  124. package/build/dex-helper/RedisBatcher.js.map +1 -0
  125. package/build/dex-helper/RedisWrapper.d.ts +37 -0
  126. package/build/dex-helper/RedisWrapper.js +165 -0
  127. package/build/dex-helper/RedisWrapper.js.map +1 -0
  128. package/package.json +1 -1
  129. package/src/abi/angle/stagToken.json +963 -0
  130. package/src/config.ts +8 -7
  131. package/src/dex/angle-staked-stable/angle-staked-stable-e2e.test.ts +146 -0
  132. package/src/dex/angle-staked-stable/angle-staked-stable-events.test.ts +95 -0
  133. package/src/dex/angle-staked-stable/angle-staked-stable-integration.test.ts +476 -0
  134. package/src/dex/angle-staked-stable/angle-staked-stable-pool.ts +325 -0
  135. package/src/dex/angle-staked-stable/angle-staked-stable.ts +312 -0
  136. package/src/dex/angle-staked-stable/config.ts +139 -0
  137. package/src/dex/angle-staked-stable/types.ts +16 -0
  138. package/src/dex/index.ts +2 -0
  139. package/tests/constants-e2e.ts +112 -1
  140. package/build/dex/sdai/config.d.ts +0 -11
  141. package/build/dex/sdai/config.js +0 -21
  142. package/build/dex/sdai/config.js.map +0 -1
  143. package/build/dex/sdai/constants.d.ts +0 -2
  144. package/build/dex/sdai/constants.js +0 -6
  145. package/build/dex/sdai/constants.js.map +0 -1
  146. package/build/dex/sdai/scripts/validate-state.d.ts +0 -1
  147. package/build/dex/sdai/scripts/validate-state.js +0 -102
  148. package/build/dex/sdai/scripts/validate-state.js.map +0 -1
  149. package/build/dex/sdai/sdai-pool.d.ts +0 -16
  150. package/build/dex/sdai/sdai-pool.js +0 -85
  151. package/build/dex/sdai/sdai-pool.js.map +0 -1
  152. package/build/dex/sdai/sdai.d.ts +0 -51
  153. package/build/dex/sdai/sdai.js +0 -172
  154. package/build/dex/sdai/sdai.js.map +0 -1
  155. package/build/dex/sdai/types.d.ts +0 -21
  156. package/build/dex/sdai/types.js +0 -11
  157. package/build/dex/sdai/types.js.map +0 -1
  158. package/build/dex/sdai/utils.d.ts +0 -4
  159. package/build/dex/sdai/utils.js +0 -39
  160. package/build/dex/sdai/utils.js.map +0 -1
@@ -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
+ ]