@paraswap/dex-lib 3.8.0 → 3.8.1

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 (224) 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/platypus/asset.json +490 -0
  6. package/build/abi/platypus/avax-pool.json +820 -0
  7. package/build/abi/platypus/oracle.json +119 -0
  8. package/build/abi/platypus/pool.json +677 -0
  9. package/build/abi/smardex/all/smardex-router.json +648 -0
  10. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  11. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  12. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  13. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  14. package/build/abi/swaap-v1/pool.json +1346 -0
  15. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  16. package/build/abi/wombat/pool.json +1289 -0
  17. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  18. package/build/dex/aave-v1/aave-v1.js +181 -0
  19. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  20. package/build/dex/aave-v1/config.d.ts +11 -0
  21. package/build/dex/aave-v1/config.js +20 -0
  22. package/build/dex/aave-v1/config.js.map +1 -0
  23. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  24. package/build/dex/aave-v1/tokens.d.ts +3 -0
  25. package/build/dex/aave-v1/tokens.js +50 -0
  26. package/build/dex/aave-v1/tokens.js.map +1 -0
  27. package/build/dex/aave-v1/types.d.ts +12 -0
  28. package/build/dex/aave-v1/types.js +3 -0
  29. package/build/dex/aave-v1/types.js.map +1 -0
  30. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  31. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  32. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  33. package/build/dex/bProtocol.d.ts +18 -0
  34. package/build/dex/bProtocol.js +39 -0
  35. package/build/dex/bProtocol.js.map +1 -0
  36. package/build/dex/bancor.d.ts +26 -0
  37. package/build/dex/bancor.js +58 -0
  38. package/build/dex/bancor.js.map +1 -0
  39. package/build/dex/compound.d.ts +18 -0
  40. package/build/dex/compound.js +46 -0
  41. package/build/dex/compound.js.map +1 -0
  42. package/build/dex/curve-v2.d.ts +58 -0
  43. package/build/dex/curve-v2.js +180 -0
  44. package/build/dex/curve-v2.js.map +1 -0
  45. package/build/dex/dodo-v1.d.ts +33 -0
  46. package/build/dex/dodo-v1.js +63 -0
  47. package/build/dex/dodo-v1.js.map +1 -0
  48. package/build/dex/index.js +1 -19
  49. package/build/dex/index.js.map +1 -1
  50. package/build/dex/lido.d.ts +19 -0
  51. package/build/dex/lido.js +42 -0
  52. package/build/dex/lido.js.map +1 -0
  53. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  54. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  55. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  56. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  57. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  58. package/build/dex/onebit.d.ts +25 -0
  59. package/build/dex/onebit.js +42 -0
  60. package/build/dex/onebit.js.map +1 -0
  61. package/build/dex/platypus/asset.d.ts +14 -0
  62. package/build/dex/platypus/asset.js +97 -0
  63. package/build/dex/platypus/asset.js.map +1 -0
  64. package/build/dex/platypus/config.d.ts +11 -0
  65. package/build/dex/platypus/config.js +69 -0
  66. package/build/dex/platypus/config.js.map +1 -0
  67. package/build/dex/platypus/platypus.d.ts +63 -0
  68. package/build/dex/platypus/platypus.js +487 -0
  69. package/build/dex/platypus/platypus.js.map +1 -0
  70. package/build/dex/platypus/pool-avax.d.ts +8 -0
  71. package/build/dex/platypus/pool-avax.js +54 -0
  72. package/build/dex/platypus/pool-avax.js.map +1 -0
  73. package/build/dex/platypus/pool-base.d.ts +19 -0
  74. package/build/dex/platypus/pool-base.js +86 -0
  75. package/build/dex/platypus/pool-base.js.map +1 -0
  76. package/build/dex/platypus/pool-pure.d.ts +8 -0
  77. package/build/dex/platypus/pool-pure.js +37 -0
  78. package/build/dex/platypus/pool-pure.js.map +1 -0
  79. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  80. package/build/dex/platypus/pool-subscriber.js +167 -0
  81. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  82. package/build/dex/platypus/pool.d.ts +8 -0
  83. package/build/dex/platypus/pool.js +58 -0
  84. package/build/dex/platypus/pool.js.map +1 -0
  85. package/build/dex/platypus/types.d.ts +92 -0
  86. package/build/dex/platypus/types.js +10 -0
  87. package/build/dex/platypus/types.js.map +1 -0
  88. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  89. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  90. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  91. package/build/dex/smardex/config.d.ts +4 -0
  92. package/build/dex/smardex/config.js +64 -0
  93. package/build/dex/smardex/config.js.map +1 -0
  94. package/build/dex/smardex/constants.d.ts +18 -0
  95. package/build/dex/smardex/constants.js +33 -0
  96. package/build/dex/smardex/constants.js.map +1 -0
  97. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  98. package/build/dex/smardex/sdk/constants.js +13 -0
  99. package/build/dex/smardex/sdk/constants.js.map +1 -0
  100. package/build/dex/smardex/sdk/core.d.ts +113 -0
  101. package/build/dex/smardex/sdk/core.js +499 -0
  102. package/build/dex/smardex/sdk/core.js.map +1 -0
  103. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  104. package/build/dex/smardex/sdk/errors.js +22 -0
  105. package/build/dex/smardex/sdk/errors.js.map +1 -0
  106. package/build/dex/smardex/sdk/types.d.ts +62 -0
  107. package/build/dex/smardex/sdk/types.js +3 -0
  108. package/build/dex/smardex/sdk/types.js.map +1 -0
  109. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  110. package/build/dex/smardex/sdk/utils.js +133 -0
  111. package/build/dex/smardex/sdk/utils.js.map +1 -0
  112. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  113. package/build/dex/smardex/smardex-event-pool.js +119 -0
  114. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  115. package/build/dex/smardex/smardex.d.ts +65 -0
  116. package/build/dex/smardex/smardex.js +519 -0
  117. package/build/dex/smardex/smardex.js.map +1 -0
  118. package/build/dex/smardex/types.d.ts +55 -0
  119. package/build/dex/smardex/types.js +3 -0
  120. package/build/dex/smardex/types.js.map +1 -0
  121. package/build/dex/smoothy.d.ts +26 -0
  122. package/build/dex/smoothy.js +48 -0
  123. package/build/dex/smoothy.js.map +1 -0
  124. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  125. package/build/dex/solidly/forks-override/cone.js +53 -0
  126. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  127. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  128. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  129. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  130. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  131. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  132. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  133. package/build/dex/stable-pool.d.ts +28 -0
  134. package/build/dex/stable-pool.js +55 -0
  135. package/build/dex/stable-pool.js.map +1 -0
  136. package/build/dex/swaap-v1/config.d.ts +17 -0
  137. package/build/dex/swaap-v1/config.js +56 -0
  138. package/build/dex/swaap-v1/config.js.map +1 -0
  139. package/build/dex/swaap-v1/constants.d.ts +6 -0
  140. package/build/dex/swaap-v1/constants.js +17 -0
  141. package/build/dex/swaap-v1/constants.js.map +1 -0
  142. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  143. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  144. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  145. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  146. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  147. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  148. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  149. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  150. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  151. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  152. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  153. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  154. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  155. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  156. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  157. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  158. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  159. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  160. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  161. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  162. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  163. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  164. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  165. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  166. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  167. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  168. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  169. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  170. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  171. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  172. package/build/dex/swaap-v1/types.d.ts +106 -0
  173. package/build/dex/swaap-v1/types.js +9 -0
  174. package/build/dex/swaap-v1/types.js.map +1 -0
  175. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  176. package/build/dex/trader-joe-v2.1.js +79 -0
  177. package/build/dex/trader-joe-v2.1.js.map +1 -0
  178. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  179. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  180. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  181. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  182. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  183. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  184. package/build/generic-swap-transaction-builder.js +1 -3
  185. package/build/generic-swap-transaction-builder.js.map +1 -1
  186. package/build/router/simpleswap.js +1 -3
  187. package/build/router/simpleswap.js.map +1 -1
  188. package/package.json +1 -1
  189. package/src/dex/index.ts +1 -18
  190. package/src/generic-swap-transaction-builder.ts +1 -3
  191. package/src/router/simpleswap.ts +1 -3
  192. package/.idea/aws.xml +0 -17
  193. package/.idea/codeStyles/Project.xml +0 -19
  194. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  195. package/.idea/misc.xml +0 -6
  196. package/.idea/modules.xml +0 -8
  197. package/.idea/paraswap-dex-lib.iml +0 -9
  198. package/.idea/prettier.xml +0 -7
  199. package/.idea/vcs.xml +0 -6
  200. package/src/abi/BProtocol.json +0 -1155
  201. package/src/abi/Jarvis.json +0 -1172
  202. package/src/abi/MStableAsset.json +0 -1545
  203. package/src/abi/OneInchLp.json +0 -1304
  204. package/src/abi/Onebit.json +0 -736
  205. package/src/abi/Shell.json +0 -1294
  206. package/src/abi/TraderJoeV2Router.json +0 -50
  207. package/src/abi/zrx.v2.json +0 -1967
  208. package/src/abi/zrx.v3.json +0 -3454
  209. package/src/abi/zrx.v4.json +0 -2193
  210. package/src/dex/OneInchLp.ts +0 -84
  211. package/src/dex/bProtocol/bProtocol-e2e.test.ts +0 -93
  212. package/src/dex/bProtocol/bProtocol.ts +0 -108
  213. package/src/dex/bProtocol/types.ts +0 -13
  214. package/src/dex/jarvis.ts +0 -262
  215. package/src/dex/mStable.ts +0 -147
  216. package/src/dex/onebit/onebit.ts +0 -113
  217. package/src/dex/onebit/types.ts +0 -17
  218. package/src/dex/shell.ts +0 -84
  219. package/src/dex/trader-joe-v2.ts +0 -148
  220. package/src/dex/zerox/config.ts +0 -31
  221. package/src/dex/zerox/index.ts +0 -328
  222. package/src/dex/zerox/order.ts +0 -62
  223. package/src/dex/zerox/types.ts +0 -82
  224. package/src/dex/zerox/zerox-e2e.test.ts +0 -110
@@ -0,0 +1,1346 @@
1
+ [
2
+ {
3
+ "anonymous": false,
4
+ "inputs": [
5
+ {
6
+ "indexed": true,
7
+ "internalType": "address",
8
+ "name": "owner",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "indexed": true,
13
+ "internalType": "address",
14
+ "name": "spender",
15
+ "type": "address"
16
+ },
17
+ {
18
+ "indexed": false,
19
+ "internalType": "uint256",
20
+ "name": "value",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "Approval",
25
+ "type": "event"
26
+ },
27
+ {
28
+ "anonymous": true,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "bytes4",
33
+ "name": "sig",
34
+ "type": "bytes4"
35
+ },
36
+ {
37
+ "indexed": true,
38
+ "internalType": "address",
39
+ "name": "caller",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "bytes",
45
+ "name": "data",
46
+ "type": "bytes"
47
+ }
48
+ ],
49
+ "name": "LOG_CALL",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": true,
57
+ "internalType": "address",
58
+ "name": "caller",
59
+ "type": "address"
60
+ },
61
+ {
62
+ "indexed": true,
63
+ "internalType": "address",
64
+ "name": "tokenOut",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "indexed": false,
69
+ "internalType": "uint256",
70
+ "name": "tokenAmountOut",
71
+ "type": "uint256"
72
+ }
73
+ ],
74
+ "name": "LOG_EXIT",
75
+ "type": "event"
76
+ },
77
+ {
78
+ "anonymous": false,
79
+ "inputs": [
80
+ {
81
+ "indexed": true,
82
+ "internalType": "address",
83
+ "name": "caller",
84
+ "type": "address"
85
+ },
86
+ {
87
+ "indexed": true,
88
+ "internalType": "address",
89
+ "name": "tokenIn",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint256",
95
+ "name": "tokenAmountIn",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "LOG_JOIN",
100
+ "type": "event"
101
+ },
102
+ {
103
+ "anonymous": false,
104
+ "inputs": [
105
+ {
106
+ "indexed": true,
107
+ "internalType": "address",
108
+ "name": "from",
109
+ "type": "address"
110
+ },
111
+ {
112
+ "indexed": true,
113
+ "internalType": "address",
114
+ "name": "to",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "name": "LOG_NEW_CONTROLLER",
119
+ "type": "event"
120
+ },
121
+ {
122
+ "anonymous": false,
123
+ "inputs": [
124
+ {
125
+ "indexed": true,
126
+ "internalType": "address",
127
+ "name": "token",
128
+ "type": "address"
129
+ },
130
+ {
131
+ "indexed": false,
132
+ "internalType": "address",
133
+ "name": "oracle",
134
+ "type": "address"
135
+ },
136
+ {
137
+ "indexed": false,
138
+ "internalType": "uint256",
139
+ "name": "price",
140
+ "type": "uint256"
141
+ },
142
+ {
143
+ "indexed": false,
144
+ "internalType": "uint8",
145
+ "name": "decimals",
146
+ "type": "uint8"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "string",
151
+ "name": "description",
152
+ "type": "string"
153
+ }
154
+ ],
155
+ "name": "LOG_NEW_ORACLE_STATE",
156
+ "type": "event"
157
+ },
158
+ {
159
+ "anonymous": false,
160
+ "inputs": [
161
+ {
162
+ "indexed": true,
163
+ "internalType": "address",
164
+ "name": "caller",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "tokenIn",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "address",
176
+ "name": "tokenOut",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "indexed": false,
181
+ "internalType": "uint256",
182
+ "name": "tokenAmountIn",
183
+ "type": "uint256"
184
+ },
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint256",
188
+ "name": "tokenAmountOut",
189
+ "type": "uint256"
190
+ },
191
+ {
192
+ "indexed": false,
193
+ "internalType": "uint256",
194
+ "name": "spread",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "taxBaseIn",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "indexed": false,
205
+ "internalType": "uint256",
206
+ "name": "priceIn",
207
+ "type": "uint256"
208
+ },
209
+ {
210
+ "indexed": false,
211
+ "internalType": "uint256",
212
+ "name": "priceOut",
213
+ "type": "uint256"
214
+ }
215
+ ],
216
+ "name": "LOG_SWAP",
217
+ "type": "event"
218
+ },
219
+ {
220
+ "anonymous": false,
221
+ "inputs": [
222
+ {
223
+ "indexed": true,
224
+ "internalType": "address",
225
+ "name": "from",
226
+ "type": "address"
227
+ },
228
+ {
229
+ "indexed": true,
230
+ "internalType": "address",
231
+ "name": "to",
232
+ "type": "address"
233
+ },
234
+ {
235
+ "indexed": false,
236
+ "internalType": "uint256",
237
+ "name": "value",
238
+ "type": "uint256"
239
+ }
240
+ ],
241
+ "name": "Transfer",
242
+ "type": "event"
243
+ },
244
+ {
245
+ "inputs": [
246
+ {
247
+ "internalType": "address",
248
+ "name": "src",
249
+ "type": "address"
250
+ },
251
+ {
252
+ "internalType": "address",
253
+ "name": "dst",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "allowance",
258
+ "outputs": [
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "",
262
+ "type": "uint256"
263
+ }
264
+ ],
265
+ "stateMutability": "view",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "address",
272
+ "name": "dst",
273
+ "type": "address"
274
+ },
275
+ {
276
+ "internalType": "uint256",
277
+ "name": "amt",
278
+ "type": "uint256"
279
+ }
280
+ ],
281
+ "name": "approve",
282
+ "outputs": [
283
+ {
284
+ "internalType": "bool",
285
+ "name": "",
286
+ "type": "bool"
287
+ }
288
+ ],
289
+ "stateMutability": "nonpayable",
290
+ "type": "function"
291
+ },
292
+ {
293
+ "inputs": [
294
+ {
295
+ "internalType": "address",
296
+ "name": "whom",
297
+ "type": "address"
298
+ }
299
+ ],
300
+ "name": "balanceOf",
301
+ "outputs": [
302
+ {
303
+ "internalType": "uint256",
304
+ "name": "",
305
+ "type": "uint256"
306
+ }
307
+ ],
308
+ "stateMutability": "view",
309
+ "type": "function"
310
+ },
311
+ {
312
+ "inputs": [],
313
+ "name": "decimals",
314
+ "outputs": [
315
+ {
316
+ "internalType": "uint8",
317
+ "name": "",
318
+ "type": "uint8"
319
+ }
320
+ ],
321
+ "stateMutability": "pure",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [
326
+ {
327
+ "internalType": "address",
328
+ "name": "dst",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "amt",
334
+ "type": "uint256"
335
+ }
336
+ ],
337
+ "name": "decreaseApproval",
338
+ "outputs": [
339
+ {
340
+ "internalType": "bool",
341
+ "name": "",
342
+ "type": "bool"
343
+ }
344
+ ],
345
+ "stateMutability": "nonpayable",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [
350
+ {
351
+ "internalType": "address",
352
+ "name": "dst",
353
+ "type": "address"
354
+ },
355
+ {
356
+ "internalType": "uint256",
357
+ "name": "amt",
358
+ "type": "uint256"
359
+ }
360
+ ],
361
+ "name": "increaseApproval",
362
+ "outputs": [
363
+ {
364
+ "internalType": "bool",
365
+ "name": "",
366
+ "type": "bool"
367
+ }
368
+ ],
369
+ "stateMutability": "nonpayable",
370
+ "type": "function"
371
+ },
372
+ {
373
+ "inputs": [],
374
+ "name": "name",
375
+ "outputs": [
376
+ {
377
+ "internalType": "string",
378
+ "name": "",
379
+ "type": "string"
380
+ }
381
+ ],
382
+ "stateMutability": "pure",
383
+ "type": "function"
384
+ },
385
+ {
386
+ "inputs": [],
387
+ "name": "symbol",
388
+ "outputs": [
389
+ {
390
+ "internalType": "string",
391
+ "name": "",
392
+ "type": "string"
393
+ }
394
+ ],
395
+ "stateMutability": "pure",
396
+ "type": "function"
397
+ },
398
+ {
399
+ "inputs": [],
400
+ "name": "totalSupply",
401
+ "outputs": [
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "",
405
+ "type": "uint256"
406
+ }
407
+ ],
408
+ "stateMutability": "view",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [
413
+ {
414
+ "internalType": "address",
415
+ "name": "dst",
416
+ "type": "address"
417
+ },
418
+ {
419
+ "internalType": "uint256",
420
+ "name": "amt",
421
+ "type": "uint256"
422
+ }
423
+ ],
424
+ "name": "transfer",
425
+ "outputs": [
426
+ {
427
+ "internalType": "bool",
428
+ "name": "",
429
+ "type": "bool"
430
+ }
431
+ ],
432
+ "stateMutability": "nonpayable",
433
+ "type": "function"
434
+ },
435
+ {
436
+ "inputs": [
437
+ {
438
+ "internalType": "address",
439
+ "name": "src",
440
+ "type": "address"
441
+ },
442
+ {
443
+ "internalType": "address",
444
+ "name": "dst",
445
+ "type": "address"
446
+ },
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "amt",
450
+ "type": "uint256"
451
+ }
452
+ ],
453
+ "name": "transferFrom",
454
+ "outputs": [
455
+ {
456
+ "internalType": "bool",
457
+ "name": "",
458
+ "type": "bool"
459
+ }
460
+ ],
461
+ "stateMutability": "nonpayable",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [],
466
+ "name": "isPublicSwap",
467
+ "outputs": [
468
+ {
469
+ "internalType": "bool",
470
+ "name": "",
471
+ "type": "bool"
472
+ }
473
+ ],
474
+ "stateMutability": "view",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [],
479
+ "name": "isFinalized",
480
+ "outputs": [
481
+ {
482
+ "internalType": "bool",
483
+ "name": "",
484
+ "type": "bool"
485
+ }
486
+ ],
487
+ "stateMutability": "view",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "t",
495
+ "type": "address"
496
+ }
497
+ ],
498
+ "name": "isBound",
499
+ "outputs": [
500
+ {
501
+ "internalType": "bool",
502
+ "name": "",
503
+ "type": "bool"
504
+ }
505
+ ],
506
+ "stateMutability": "view",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [],
511
+ "name": "getTokens",
512
+ "outputs": [
513
+ {
514
+ "internalType": "address[]",
515
+ "name": "tokens",
516
+ "type": "address[]"
517
+ }
518
+ ],
519
+ "stateMutability": "view",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ {
525
+ "internalType": "address",
526
+ "name": "token",
527
+ "type": "address"
528
+ }
529
+ ],
530
+ "name": "getDenormalizedWeight",
531
+ "outputs": [
532
+ {
533
+ "internalType": "uint256",
534
+ "name": "",
535
+ "type": "uint256"
536
+ }
537
+ ],
538
+ "stateMutability": "view",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "address",
545
+ "name": "token",
546
+ "type": "address"
547
+ }
548
+ ],
549
+ "name": "getBalance",
550
+ "outputs": [
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "",
554
+ "type": "uint256"
555
+ }
556
+ ],
557
+ "stateMutability": "view",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [],
562
+ "name": "getSwapFee",
563
+ "outputs": [
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "stateMutability": "view",
571
+ "type": "function"
572
+ },
573
+ {
574
+ "inputs": [],
575
+ "name": "getController",
576
+ "outputs": [
577
+ {
578
+ "internalType": "address",
579
+ "name": "",
580
+ "type": "address"
581
+ }
582
+ ],
583
+ "stateMutability": "view",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "swapFee",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "name": "setSwapFee",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "address",
603
+ "name": "controller",
604
+ "type": "address"
605
+ }
606
+ ],
607
+ "name": "setControllerAndTransfer",
608
+ "outputs": [],
609
+ "stateMutability": "nonpayable",
610
+ "type": "function"
611
+ },
612
+ {
613
+ "inputs": [
614
+ {
615
+ "internalType": "address",
616
+ "name": "pendingController",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "name": "transferOwnership",
621
+ "outputs": [],
622
+ "stateMutability": "nonpayable",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [],
627
+ "name": "acceptOwnership",
628
+ "outputs": [],
629
+ "stateMutability": "nonpayable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [],
634
+ "name": "revokeFactoryControl",
635
+ "outputs": [],
636
+ "stateMutability": "nonpayable",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [],
641
+ "name": "giveFactoryControl",
642
+ "outputs": [],
643
+ "stateMutability": "nonpayable",
644
+ "type": "function"
645
+ },
646
+ {
647
+ "inputs": [
648
+ {
649
+ "internalType": "bool",
650
+ "name": "publicSwap",
651
+ "type": "bool"
652
+ }
653
+ ],
654
+ "name": "setPublicSwap",
655
+ "outputs": [],
656
+ "stateMutability": "nonpayable",
657
+ "type": "function"
658
+ },
659
+ {
660
+ "inputs": [],
661
+ "name": "finalize",
662
+ "outputs": [],
663
+ "stateMutability": "nonpayable",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [
668
+ {
669
+ "internalType": "address",
670
+ "name": "token",
671
+ "type": "address"
672
+ }
673
+ ],
674
+ "name": "gulp",
675
+ "outputs": [],
676
+ "stateMutability": "nonpayable",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [
681
+ {
682
+ "internalType": "address",
683
+ "name": "tokenIn",
684
+ "type": "address"
685
+ },
686
+ {
687
+ "internalType": "uint256",
688
+ "name": "tokenAmountIn",
689
+ "type": "uint256"
690
+ }
691
+ ],
692
+ "name": "getJoinPool",
693
+ "outputs": [
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "poolAmountOut",
697
+ "type": "uint256"
698
+ },
699
+ {
700
+ "internalType": "uint256[]",
701
+ "name": "tokenAmountsIn",
702
+ "type": "uint256[]"
703
+ }
704
+ ],
705
+ "stateMutability": "view",
706
+ "type": "function"
707
+ },
708
+ {
709
+ "inputs": [
710
+ {
711
+ "internalType": "uint256",
712
+ "name": "poolAmountOut",
713
+ "type": "uint256"
714
+ },
715
+ {
716
+ "internalType": "uint256[]",
717
+ "name": "maxAmountsIn",
718
+ "type": "uint256[]"
719
+ }
720
+ ],
721
+ "name": "joinPool",
722
+ "outputs": [],
723
+ "stateMutability": "nonpayable",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "poolAmountIn",
731
+ "type": "uint256"
732
+ }
733
+ ],
734
+ "name": "getExitPool",
735
+ "outputs": [
736
+ {
737
+ "internalType": "uint256[]",
738
+ "name": "tokenAmountsOut",
739
+ "type": "uint256[]"
740
+ }
741
+ ],
742
+ "stateMutability": "view",
743
+ "type": "function"
744
+ },
745
+ {
746
+ "inputs": [
747
+ {
748
+ "internalType": "uint256",
749
+ "name": "poolAmountIn",
750
+ "type": "uint256"
751
+ },
752
+ {
753
+ "internalType": "uint256[]",
754
+ "name": "minAmountsOut",
755
+ "type": "uint256[]"
756
+ }
757
+ ],
758
+ "name": "exitPool",
759
+ "outputs": [],
760
+ "stateMutability": "nonpayable",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [
765
+ {
766
+ "internalType": "address",
767
+ "name": "tokenIn",
768
+ "type": "address"
769
+ },
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "tokenAmountIn",
773
+ "type": "uint256"
774
+ }
775
+ ],
776
+ "name": "getJoinswapExternAmountInMMM",
777
+ "outputs": [
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "poolAmountOut",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "stateMutability": "view",
785
+ "type": "function"
786
+ },
787
+ {
788
+ "inputs": [
789
+ {
790
+ "internalType": "address",
791
+ "name": "tokenIn",
792
+ "type": "address"
793
+ },
794
+ {
795
+ "internalType": "uint256",
796
+ "name": "tokenAmountIn",
797
+ "type": "uint256"
798
+ },
799
+ {
800
+ "internalType": "uint256",
801
+ "name": "minPoolAmountOut",
802
+ "type": "uint256"
803
+ }
804
+ ],
805
+ "name": "joinswapExternAmountInMMM",
806
+ "outputs": [
807
+ {
808
+ "internalType": "uint256",
809
+ "name": "poolAmountOut",
810
+ "type": "uint256"
811
+ }
812
+ ],
813
+ "stateMutability": "nonpayable",
814
+ "type": "function"
815
+ },
816
+ {
817
+ "inputs": [
818
+ {
819
+ "internalType": "address",
820
+ "name": "tokenOut",
821
+ "type": "address"
822
+ },
823
+ {
824
+ "internalType": "uint256",
825
+ "name": "poolAmountIn",
826
+ "type": "uint256"
827
+ },
828
+ {
829
+ "internalType": "uint256",
830
+ "name": "minAmountOut",
831
+ "type": "uint256"
832
+ }
833
+ ],
834
+ "name": "exitswapPoolAmountInMMM",
835
+ "outputs": [
836
+ {
837
+ "internalType": "uint256",
838
+ "name": "tokenAmountOut",
839
+ "type": "uint256"
840
+ }
841
+ ],
842
+ "stateMutability": "nonpayable",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [
847
+ {
848
+ "internalType": "uint64",
849
+ "name": "dynamicCoverageFeesZ",
850
+ "type": "uint64"
851
+ }
852
+ ],
853
+ "name": "setDynamicCoverageFeesZ",
854
+ "outputs": [],
855
+ "stateMutability": "nonpayable",
856
+ "type": "function"
857
+ },
858
+ {
859
+ "inputs": [
860
+ {
861
+ "internalType": "uint256",
862
+ "name": "dynamicCoverageFeesHorizon",
863
+ "type": "uint256"
864
+ }
865
+ ],
866
+ "name": "setDynamicCoverageFeesHorizon",
867
+ "outputs": [],
868
+ "stateMutability": "nonpayable",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [
873
+ {
874
+ "internalType": "uint8",
875
+ "name": "priceStatisticsLookbackInRound",
876
+ "type": "uint8"
877
+ }
878
+ ],
879
+ "name": "setPriceStatisticsLookbackInRound",
880
+ "outputs": [],
881
+ "stateMutability": "nonpayable",
882
+ "type": "function"
883
+ },
884
+ {
885
+ "inputs": [
886
+ {
887
+ "internalType": "uint256",
888
+ "name": "priceStatisticsLookbackInSec",
889
+ "type": "uint256"
890
+ }
891
+ ],
892
+ "name": "setPriceStatisticsLookbackInSec",
893
+ "outputs": [],
894
+ "stateMutability": "nonpayable",
895
+ "type": "function"
896
+ },
897
+ {
898
+ "inputs": [
899
+ {
900
+ "internalType": "uint8",
901
+ "name": "priceStatisticsLookbackStepInRound",
902
+ "type": "uint8"
903
+ }
904
+ ],
905
+ "name": "setPriceStatisticsLookbackStepInRound",
906
+ "outputs": [],
907
+ "stateMutability": "nonpayable",
908
+ "type": "function"
909
+ },
910
+ {
911
+ "inputs": [
912
+ {
913
+ "internalType": "uint256",
914
+ "name": "maxPriceUnpegRatio",
915
+ "type": "uint256"
916
+ }
917
+ ],
918
+ "name": "setMaxPriceUnpegRatio",
919
+ "outputs": [],
920
+ "stateMutability": "nonpayable",
921
+ "type": "function"
922
+ },
923
+ {
924
+ "inputs": [],
925
+ "name": "getCoverageParameters",
926
+ "outputs": [
927
+ {
928
+ "internalType": "uint8",
929
+ "name": "priceStatisticsLBInRound",
930
+ "type": "uint8"
931
+ },
932
+ {
933
+ "internalType": "uint8",
934
+ "name": "priceStatisticsLBStepInRound",
935
+ "type": "uint8"
936
+ },
937
+ {
938
+ "internalType": "uint64",
939
+ "name": "dynamicCoverageFeesZ",
940
+ "type": "uint64"
941
+ },
942
+ {
943
+ "internalType": "uint256",
944
+ "name": "dynamicCoverageFeesHorizon",
945
+ "type": "uint256"
946
+ },
947
+ {
948
+ "internalType": "uint256",
949
+ "name": "priceStatisticsLBInSec",
950
+ "type": "uint256"
951
+ },
952
+ {
953
+ "internalType": "uint256",
954
+ "name": "maxPriceUnpegRatio",
955
+ "type": "uint256"
956
+ }
957
+ ],
958
+ "stateMutability": "view",
959
+ "type": "function"
960
+ },
961
+ {
962
+ "inputs": [
963
+ {
964
+ "internalType": "address",
965
+ "name": "token",
966
+ "type": "address"
967
+ }
968
+ ],
969
+ "name": "getTokenOracleInitialPrice",
970
+ "outputs": [
971
+ {
972
+ "internalType": "uint256",
973
+ "name": "",
974
+ "type": "uint256"
975
+ }
976
+ ],
977
+ "stateMutability": "view",
978
+ "type": "function"
979
+ },
980
+ {
981
+ "inputs": [
982
+ {
983
+ "internalType": "address",
984
+ "name": "token",
985
+ "type": "address"
986
+ }
987
+ ],
988
+ "name": "getTokenPriceOracle",
989
+ "outputs": [
990
+ {
991
+ "internalType": "address",
992
+ "name": "",
993
+ "type": "address"
994
+ }
995
+ ],
996
+ "stateMutability": "view",
997
+ "type": "function"
998
+ },
999
+ {
1000
+ "inputs": [
1001
+ {
1002
+ "internalType": "address",
1003
+ "name": "token",
1004
+ "type": "address"
1005
+ },
1006
+ {
1007
+ "internalType": "uint256",
1008
+ "name": "balance",
1009
+ "type": "uint256"
1010
+ },
1011
+ {
1012
+ "internalType": "uint80",
1013
+ "name": "denorm",
1014
+ "type": "uint80"
1015
+ },
1016
+ {
1017
+ "internalType": "address",
1018
+ "name": "priceFeedAddress",
1019
+ "type": "address"
1020
+ }
1021
+ ],
1022
+ "name": "bindMMM",
1023
+ "outputs": [],
1024
+ "stateMutability": "nonpayable",
1025
+ "type": "function"
1026
+ },
1027
+ {
1028
+ "inputs": [
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "token",
1032
+ "type": "address"
1033
+ },
1034
+ {
1035
+ "internalType": "uint256",
1036
+ "name": "balance",
1037
+ "type": "uint256"
1038
+ },
1039
+ {
1040
+ "internalType": "uint80",
1041
+ "name": "denorm",
1042
+ "type": "uint80"
1043
+ },
1044
+ {
1045
+ "internalType": "address",
1046
+ "name": "priceFeedAddress",
1047
+ "type": "address"
1048
+ }
1049
+ ],
1050
+ "name": "rebindMMM",
1051
+ "outputs": [],
1052
+ "stateMutability": "nonpayable",
1053
+ "type": "function"
1054
+ },
1055
+ {
1056
+ "inputs": [
1057
+ {
1058
+ "internalType": "address",
1059
+ "name": "token",
1060
+ "type": "address"
1061
+ }
1062
+ ],
1063
+ "name": "unbindMMM",
1064
+ "outputs": [],
1065
+ "stateMutability": "nonpayable",
1066
+ "type": "function"
1067
+ },
1068
+ {
1069
+ "inputs": [
1070
+ {
1071
+ "internalType": "address",
1072
+ "name": "tokenIn",
1073
+ "type": "address"
1074
+ },
1075
+ {
1076
+ "internalType": "address",
1077
+ "name": "tokenOut",
1078
+ "type": "address"
1079
+ }
1080
+ ],
1081
+ "name": "getSpotPriceSansFee",
1082
+ "outputs": [
1083
+ {
1084
+ "internalType": "uint256",
1085
+ "name": "spotPrice",
1086
+ "type": "uint256"
1087
+ }
1088
+ ],
1089
+ "stateMutability": "view",
1090
+ "type": "function"
1091
+ },
1092
+ {
1093
+ "inputs": [
1094
+ {
1095
+ "internalType": "address",
1096
+ "name": "tokenIn",
1097
+ "type": "address"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "tokenAmountIn",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "address",
1106
+ "name": "tokenOut",
1107
+ "type": "address"
1108
+ },
1109
+ {
1110
+ "internalType": "uint256",
1111
+ "name": "minAmountOut",
1112
+ "type": "uint256"
1113
+ },
1114
+ {
1115
+ "internalType": "uint256",
1116
+ "name": "maxPrice",
1117
+ "type": "uint256"
1118
+ }
1119
+ ],
1120
+ "name": "swapExactAmountInMMM",
1121
+ "outputs": [
1122
+ {
1123
+ "internalType": "uint256",
1124
+ "name": "tokenAmountOut",
1125
+ "type": "uint256"
1126
+ },
1127
+ {
1128
+ "internalType": "uint256",
1129
+ "name": "spotPriceAfter",
1130
+ "type": "uint256"
1131
+ }
1132
+ ],
1133
+ "stateMutability": "nonpayable",
1134
+ "type": "function"
1135
+ },
1136
+ {
1137
+ "inputs": [
1138
+ {
1139
+ "internalType": "address",
1140
+ "name": "tokenIn",
1141
+ "type": "address"
1142
+ },
1143
+ {
1144
+ "internalType": "uint256",
1145
+ "name": "tokenAmountIn",
1146
+ "type": "uint256"
1147
+ },
1148
+ {
1149
+ "internalType": "address",
1150
+ "name": "tokenOut",
1151
+ "type": "address"
1152
+ },
1153
+ {
1154
+ "internalType": "uint256",
1155
+ "name": "minAmountOut",
1156
+ "type": "uint256"
1157
+ },
1158
+ {
1159
+ "internalType": "uint256",
1160
+ "name": "maxPrice",
1161
+ "type": "uint256"
1162
+ }
1163
+ ],
1164
+ "name": "getAmountOutGivenInMMM",
1165
+ "outputs": [
1166
+ {
1167
+ "components": [
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "amount",
1171
+ "type": "uint256"
1172
+ },
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "spread",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "taxBaseIn",
1181
+ "type": "uint256"
1182
+ }
1183
+ ],
1184
+ "internalType": "struct Struct.SwapResult",
1185
+ "name": "swapResult",
1186
+ "type": "tuple"
1187
+ },
1188
+ {
1189
+ "components": [
1190
+ {
1191
+ "internalType": "uint256",
1192
+ "name": "spotPriceBefore",
1193
+ "type": "uint256"
1194
+ },
1195
+ {
1196
+ "internalType": "uint256",
1197
+ "name": "spotPriceAfter",
1198
+ "type": "uint256"
1199
+ },
1200
+ {
1201
+ "internalType": "uint256",
1202
+ "name": "priceIn",
1203
+ "type": "uint256"
1204
+ },
1205
+ {
1206
+ "internalType": "uint256",
1207
+ "name": "priceOut",
1208
+ "type": "uint256"
1209
+ }
1210
+ ],
1211
+ "internalType": "struct Struct.PriceResult",
1212
+ "name": "priceResult",
1213
+ "type": "tuple"
1214
+ }
1215
+ ],
1216
+ "stateMutability": "view",
1217
+ "type": "function"
1218
+ },
1219
+ {
1220
+ "inputs": [
1221
+ {
1222
+ "internalType": "address",
1223
+ "name": "tokenIn",
1224
+ "type": "address"
1225
+ },
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "maxAmountIn",
1229
+ "type": "uint256"
1230
+ },
1231
+ {
1232
+ "internalType": "address",
1233
+ "name": "tokenOut",
1234
+ "type": "address"
1235
+ },
1236
+ {
1237
+ "internalType": "uint256",
1238
+ "name": "tokenAmountOut",
1239
+ "type": "uint256"
1240
+ },
1241
+ {
1242
+ "internalType": "uint256",
1243
+ "name": "maxPrice",
1244
+ "type": "uint256"
1245
+ }
1246
+ ],
1247
+ "name": "swapExactAmountOutMMM",
1248
+ "outputs": [
1249
+ {
1250
+ "internalType": "uint256",
1251
+ "name": "tokenAmountIn",
1252
+ "type": "uint256"
1253
+ },
1254
+ {
1255
+ "internalType": "uint256",
1256
+ "name": "spotPriceAfter",
1257
+ "type": "uint256"
1258
+ }
1259
+ ],
1260
+ "stateMutability": "nonpayable",
1261
+ "type": "function"
1262
+ },
1263
+ {
1264
+ "inputs": [
1265
+ {
1266
+ "internalType": "address",
1267
+ "name": "tokenIn",
1268
+ "type": "address"
1269
+ },
1270
+ {
1271
+ "internalType": "uint256",
1272
+ "name": "maxAmountIn",
1273
+ "type": "uint256"
1274
+ },
1275
+ {
1276
+ "internalType": "address",
1277
+ "name": "tokenOut",
1278
+ "type": "address"
1279
+ },
1280
+ {
1281
+ "internalType": "uint256",
1282
+ "name": "tokenAmountOut",
1283
+ "type": "uint256"
1284
+ },
1285
+ {
1286
+ "internalType": "uint256",
1287
+ "name": "maxPrice",
1288
+ "type": "uint256"
1289
+ }
1290
+ ],
1291
+ "name": "getAmountInGivenOutMMM",
1292
+ "outputs": [
1293
+ {
1294
+ "components": [
1295
+ {
1296
+ "internalType": "uint256",
1297
+ "name": "amount",
1298
+ "type": "uint256"
1299
+ },
1300
+ {
1301
+ "internalType": "uint256",
1302
+ "name": "spread",
1303
+ "type": "uint256"
1304
+ },
1305
+ {
1306
+ "internalType": "uint256",
1307
+ "name": "taxBaseIn",
1308
+ "type": "uint256"
1309
+ }
1310
+ ],
1311
+ "internalType": "struct Struct.SwapResult",
1312
+ "name": "swapResult",
1313
+ "type": "tuple"
1314
+ },
1315
+ {
1316
+ "components": [
1317
+ {
1318
+ "internalType": "uint256",
1319
+ "name": "spotPriceBefore",
1320
+ "type": "uint256"
1321
+ },
1322
+ {
1323
+ "internalType": "uint256",
1324
+ "name": "spotPriceAfter",
1325
+ "type": "uint256"
1326
+ },
1327
+ {
1328
+ "internalType": "uint256",
1329
+ "name": "priceIn",
1330
+ "type": "uint256"
1331
+ },
1332
+ {
1333
+ "internalType": "uint256",
1334
+ "name": "priceOut",
1335
+ "type": "uint256"
1336
+ }
1337
+ ],
1338
+ "internalType": "struct Struct.PriceResult",
1339
+ "name": "priceResult",
1340
+ "type": "tuple"
1341
+ }
1342
+ ],
1343
+ "stateMutability": "view",
1344
+ "type": "function"
1345
+ }
1346
+ ]