@paraswap/dex-lib 3.8.13 → 3.8.15

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 (287) hide show
  1. package/.vscode/launch.json +16 -0
  2. package/.vscode/settings.json +3 -0
  3. package/build/abi/Uncompressor.json +250 -0
  4. package/build/abi/concentrator/arUSD5115.json +1746 -0
  5. package/build/abi/fx-protocol/FxMarket.json +1284 -0
  6. package/build/abi/fx-protocol/weETHOralce.json +676 -0
  7. package/build/abi/integral/factory.json +333 -0
  8. package/build/abi/integral/oracle.json +501 -0
  9. package/build/abi/{inception/inception-ineth-pool.json → integral/pool.json} +522 -543
  10. package/build/abi/integral/relayer.json +1536 -0
  11. package/build/abi/maverick-v2/MaverickV2Router.json +778 -0
  12. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  13. package/build/dex/aave-v1/aave-v1.js +0 -22
  14. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  15. package/build/dex/bProtocol.d.ts +18 -0
  16. package/build/dex/bProtocol.js +39 -0
  17. package/build/dex/bProtocol.js.map +1 -0
  18. package/build/dex/bancor.d.ts +26 -0
  19. package/build/dex/bancor.js +58 -0
  20. package/build/dex/bancor.js.map +1 -0
  21. package/build/dex/compound.d.ts +18 -0
  22. package/build/dex/compound.js +46 -0
  23. package/build/dex/compound.js.map +1 -0
  24. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +17 -0
  25. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +66 -0
  26. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -0
  27. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +6 -3
  28. package/build/dex/concentrator-arusd/concentrator-arusd.js +45 -41
  29. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -1
  30. package/build/dex/concentrator-arusd/config.d.ts +1 -2
  31. package/build/dex/concentrator-arusd/config.js +2 -6
  32. package/build/dex/concentrator-arusd/config.js.map +1 -1
  33. package/build/dex/concentrator-arusd/types.d.ts +7 -3
  34. package/build/dex/concentrator-arusd/utils.d.ts +4 -0
  35. package/build/dex/concentrator-arusd/utils.js +27 -0
  36. package/build/dex/concentrator-arusd/utils.js.map +1 -0
  37. package/build/dex/curve-v2.d.ts +58 -0
  38. package/build/dex/curve-v2.js +180 -0
  39. package/build/dex/curve-v2.js.map +1 -0
  40. package/build/dex/dodo-v1.d.ts +33 -0
  41. package/build/dex/dodo-v1.js +63 -0
  42. package/build/dex/dodo-v1.js.map +1 -0
  43. package/build/dex/etherfi/etherfi.d.ts +26 -0
  44. package/build/dex/etherfi/etherfi.js +96 -0
  45. package/build/dex/etherfi/etherfi.js.map +1 -0
  46. package/build/dex/fx-protocol-rusd/config.d.ts +1 -2
  47. package/build/dex/fx-protocol-rusd/config.js +3 -6
  48. package/build/dex/fx-protocol-rusd/config.js.map +1 -1
  49. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.d.ts +18 -0
  50. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js +71 -0
  51. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -0
  52. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.d.ts +10 -10
  53. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +75 -70
  54. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -1
  55. package/build/dex/fx-protocol-rusd/types.d.ts +6 -3
  56. package/build/dex/fx-protocol-rusd/utils.d.ts +4 -0
  57. package/build/dex/fx-protocol-rusd/utils.js +26 -0
  58. package/build/dex/fx-protocol-rusd/utils.js.map +1 -0
  59. package/build/dex/index.js +4 -0
  60. package/build/dex/index.js.map +1 -1
  61. package/build/dex/{infusion → integral}/config.d.ts +1 -1
  62. package/build/dex/integral/config.js +20 -0
  63. package/build/dex/integral/config.js.map +1 -0
  64. package/build/dex/integral/context.d.ts +40 -0
  65. package/build/dex/integral/context.js +158 -0
  66. package/build/dex/integral/context.js.map +1 -0
  67. package/build/dex/integral/helpers.d.ts +17 -0
  68. package/build/dex/integral/helpers.js +157 -0
  69. package/build/dex/integral/helpers.js.map +1 -0
  70. package/build/dex/integral/integral-factory.d.ts +24 -0
  71. package/build/dex/integral/integral-factory.js +95 -0
  72. package/build/dex/integral/integral-factory.js.map +1 -0
  73. package/build/dex/integral/integral-pool.d.ts +50 -0
  74. package/build/dex/integral/integral-pool.js +149 -0
  75. package/build/dex/integral/integral-pool.js.map +1 -0
  76. package/build/dex/integral/integral-pricing.d.ts +18 -0
  77. package/build/dex/integral/integral-pricing.js +114 -0
  78. package/build/dex/integral/integral-pricing.js.map +1 -0
  79. package/build/dex/integral/integral-relayer.d.ts +42 -0
  80. package/build/dex/integral/integral-relayer.js +192 -0
  81. package/build/dex/integral/integral-relayer.js.map +1 -0
  82. package/build/dex/integral/integral-token.d.ts +27 -0
  83. package/build/dex/integral/integral-token.js +59 -0
  84. package/build/dex/integral/integral-token.js.map +1 -0
  85. package/build/dex/{inception/inception-native.d.ts → integral/integral.d.ts} +19 -21
  86. package/build/dex/integral/integral.js +377 -0
  87. package/build/dex/integral/integral.js.map +1 -0
  88. package/build/dex/integral/types.d.ts +84 -0
  89. package/build/dex/integral/types.js +9 -0
  90. package/build/dex/integral/types.js.map +1 -0
  91. package/build/dex/integral/utils-e2e.d.ts +9 -0
  92. package/build/dex/integral/utils-e2e.js +131 -0
  93. package/build/dex/integral/utils-e2e.js.map +1 -0
  94. package/build/dex/integral/utils.d.ts +17 -0
  95. package/build/dex/integral/utils.js +94 -0
  96. package/build/dex/integral/utils.js.map +1 -0
  97. package/build/dex/lido.d.ts +19 -0
  98. package/build/dex/lido.js +42 -0
  99. package/build/dex/lido.js.map +1 -0
  100. package/build/dex/onebit.d.ts +25 -0
  101. package/build/dex/onebit.js +42 -0
  102. package/build/dex/onebit.js.map +1 -0
  103. package/build/dex/oswap/oswap.js +4 -1
  104. package/build/dex/oswap/oswap.js.map +1 -1
  105. package/build/dex/platypus/platypus.d.ts +1 -2
  106. package/build/dex/platypus/platypus.js +0 -31
  107. package/build/dex/platypus/platypus.js.map +1 -1
  108. package/build/dex/sdai/config.d.ts +11 -0
  109. package/build/dex/sdai/config.js +21 -0
  110. package/build/dex/sdai/config.js.map +1 -0
  111. package/build/dex/sdai/constants.d.ts +2 -0
  112. package/build/dex/sdai/constants.js +6 -0
  113. package/build/dex/sdai/constants.js.map +1 -0
  114. package/build/dex/sdai/scripts/validate-state.d.ts +1 -0
  115. package/build/dex/sdai/scripts/validate-state.js +102 -0
  116. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  117. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  118. package/build/dex/sdai/sdai-pool.js +85 -0
  119. package/build/dex/sdai/sdai-pool.js.map +1 -0
  120. package/build/dex/sdai/sdai.d.ts +51 -0
  121. package/build/dex/sdai/sdai.js +172 -0
  122. package/build/dex/sdai/sdai.js.map +1 -0
  123. package/build/dex/sdai/types.d.ts +21 -0
  124. package/build/dex/sdai/types.js +11 -0
  125. package/build/dex/sdai/types.js.map +1 -0
  126. package/build/dex/sdai/utils.d.ts +4 -0
  127. package/build/dex/sdai/utils.js +39 -0
  128. package/build/dex/sdai/utils.js.map +1 -0
  129. package/build/dex/smoothy.d.ts +26 -0
  130. package/build/dex/smoothy.js +48 -0
  131. package/build/dex/smoothy.js.map +1 -0
  132. package/build/dex/stable-pool.d.ts +28 -0
  133. package/build/dex/stable-pool.js +62 -0
  134. package/build/dex/stable-pool.js.map +1 -0
  135. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  136. package/build/dex/swaap-v1/swaap-v1.js +0 -10
  137. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  138. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  139. package/build/dex/trader-joe-v2.1.js +79 -0
  140. package/build/dex/trader-joe-v2.1.js.map +1 -0
  141. package/build/executor/Executor01BytecodeBuilder.js +4 -5
  142. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  143. package/build/executor/Executor02BytecodeBuilder.js +2 -3
  144. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  145. package/build/executor/Executor03BytecodeBuilder.js +24 -14
  146. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  147. package/build/executor/compressor/Compressor.d.ts +23 -0
  148. package/build/executor/compressor/Compressor.js +144 -0
  149. package/build/executor/compressor/Compressor.js.map +1 -0
  150. package/build/executor/compressor/compress.d.ts +17 -0
  151. package/build/executor/compressor/compress.js +187 -0
  152. package/build/executor/compressor/compress.js.map +1 -0
  153. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +6 -0
  154. package/build/executor/compressor/compress_functions/addressSubstitution.js +29 -0
  155. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +1 -0
  156. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +10 -0
  157. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +40 -0
  158. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +1 -0
  159. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +11 -0
  160. package/build/executor/compressor/compress_functions/byteSubstitution.js +64 -0
  161. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +1 -0
  162. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +7 -0
  163. package/build/executor/compressor/compress_functions/ffSubstitution.js +54 -0
  164. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +1 -0
  165. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +8 -0
  166. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +67 -0
  167. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +1 -0
  168. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +8 -0
  169. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +61 -0
  170. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +1 -0
  171. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +6 -0
  172. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +37 -0
  173. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +1 -0
  174. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +9 -0
  175. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +33 -0
  176. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +1 -0
  177. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  178. package/build/executor/compressor/fetchSaved.js +17 -0
  179. package/build/executor/compressor/fetchSaved.js.map +1 -0
  180. package/build/executor/compressor/utils/computeCostL2.d.ts +2 -0
  181. package/build/executor/compressor/utils/computeCostL2.js +14 -0
  182. package/build/executor/compressor/utils/computeCostL2.js.map +1 -0
  183. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +2 -0
  184. package/build/executor/compressor/utils/findLongestDuplicatedString.js +30 -0
  185. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +1 -0
  186. package/build/executor/compressor/utils/getAllIndexes.d.ts +2 -0
  187. package/build/executor/compressor/utils/getAllIndexes.js +12 -0
  188. package/build/executor/compressor/utils/getAllIndexes.js.map +1 -0
  189. package/build/executor/compressor/utils/getByteForAddress.d.ts +2 -0
  190. package/build/executor/compressor/utils/getByteForAddress.js +14 -0
  191. package/build/executor/compressor/utils/getByteForAddress.js.map +1 -0
  192. package/build/executor/compressor/utils/intTo2Bytes.d.ts +2 -0
  193. package/build/executor/compressor/utils/intTo2Bytes.js +14 -0
  194. package/build/executor/compressor/utils/intTo2Bytes.js.map +1 -0
  195. package/build/executor/compressor/utils/intTo3Bytes.d.ts +2 -0
  196. package/build/executor/compressor/utils/intTo3Bytes.js +18 -0
  197. package/build/executor/compressor/utils/intTo3Bytes.js.map +1 -0
  198. package/build/executor/compressor/utils/intToByte.d.ts +2 -0
  199. package/build/executor/compressor/utils/intToByte.js +10 -0
  200. package/build/executor/compressor/utils/intToByte.js.map +1 -0
  201. package/build/generic-swap-transaction-builder.d.ts +1 -1
  202. package/build/generic-swap-transaction-builder.js +10 -10
  203. package/build/generic-swap-transaction-builder.js.map +1 -1
  204. package/package.json +1 -1
  205. package/src/abi/concentrator/arUSD.json +568 -0
  206. package/src/abi/concentrator/arUSD5115.json +1746 -0
  207. package/src/abi/fx-protocol/FxMarket.json +1284 -0
  208. package/src/abi/fx-protocol/FxUSD.json +1227 -0
  209. package/src/abi/fx-protocol/weETHOralce.json +676 -0
  210. package/src/dex/concentrator-arusd/concentrator-arusd-e2e.test.ts +92 -0
  211. package/src/dex/concentrator-arusd/concentrator-arusd-event.ts +100 -0
  212. package/src/dex/concentrator-arusd/concentrator-arusd-integration.test.ts +104 -0
  213. package/src/dex/concentrator-arusd/concentrator-arusd.ts +269 -0
  214. package/src/dex/concentrator-arusd/concetrator-arusd-events.test.ts +97 -0
  215. package/src/dex/concentrator-arusd/config.ts +13 -0
  216. package/src/dex/concentrator-arusd/types.ts +16 -0
  217. package/src/dex/concentrator-arusd/utils.ts +36 -0
  218. package/src/dex/fx-protocol-rusd/config.ts +14 -0
  219. package/src/dex/fx-protocol-rusd/fx-protocol-e2e.test.ts +96 -0
  220. package/src/dex/fx-protocol-rusd/fx-protocol-events.test.ts +101 -0
  221. package/src/dex/fx-protocol-rusd/fx-protocol-integration.test.ts +104 -0
  222. package/src/dex/fx-protocol-rusd/fx-protocol-rusd-event.ts +112 -0
  223. package/src/dex/fx-protocol-rusd/fx-protocol-rusd.ts +282 -0
  224. package/src/dex/fx-protocol-rusd/types.ts +16 -0
  225. package/src/dex/fx-protocol-rusd/utils.ts +47 -0
  226. package/src/dex/index.ts +4 -0
  227. package/src/dex/wsteth/wsteth-integration.test.ts +0 -1
  228. package/src/executor/Executor01BytecodeBuilder.ts +4 -8
  229. package/src/executor/Executor02BytecodeBuilder.ts +2 -7
  230. package/src/executor/Executor03BytecodeBuilder.ts +34 -19
  231. package/src/generic-swap-transaction-builder.ts +3 -5
  232. package/tests/constants-e2e.ts +10 -0
  233. package/build/abi/inception/inception-ineth.json +0 -609
  234. package/build/abi/inception/inception-ratio-feed.json +0 -93
  235. package/build/abi/inception/inception-vault.json +0 -991
  236. package/build/abi/infusion/InfusionFactory.json +0 -147
  237. package/build/abi/infusion/InfusionPair.json +0 -658
  238. package/build/abi/infusion/InfusionRouter.json +0 -442
  239. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  240. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  241. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  242. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  243. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  244. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  245. package/build/dex/idle-dao/scripts.d.ts +0 -9
  246. package/build/dex/idle-dao/scripts.js +0 -552
  247. package/build/dex/idle-dao/scripts.js.map +0 -1
  248. package/build/dex/inception/config.d.ts +0 -5
  249. package/build/dex/inception/config.js +0 -112
  250. package/build/dex/inception/config.js.map +0 -1
  251. package/build/dex/inception/inception-event-pool.d.ts +0 -23
  252. package/build/dex/inception/inception-event-pool.js +0 -34
  253. package/build/dex/inception/inception-event-pool.js.map +0 -1
  254. package/build/dex/inception/inception-native.js +0 -131
  255. package/build/dex/inception/inception-native.js.map +0 -1
  256. package/build/dex/inception/inception-pool.d.ts +0 -18
  257. package/build/dex/inception/inception-pool.js +0 -32
  258. package/build/dex/inception/inception-pool.js.map +0 -1
  259. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  260. package/build/dex/inception/inception-price-feed.js +0 -51
  261. package/build/dex/inception/inception-price-feed.js.map +0 -1
  262. package/build/dex/inception/inception.d.ts +0 -44
  263. package/build/dex/inception/inception.js +0 -162
  264. package/build/dex/inception/inception.js.map +0 -1
  265. package/build/dex/inception/tokens.d.ts +0 -9
  266. package/build/dex/inception/tokens.js +0 -28
  267. package/build/dex/inception/tokens.js.map +0 -1
  268. package/build/dex/inception/types.d.ts +0 -22
  269. package/build/dex/inception/types.js +0 -3
  270. package/build/dex/inception/types.js.map +0 -1
  271. package/build/dex/inception/utils.d.ts +0 -7
  272. package/build/dex/inception/utils.js +0 -58
  273. package/build/dex/inception/utils.js.map +0 -1
  274. package/build/dex/infusion/config.js +0 -25
  275. package/build/dex/infusion/config.js.map +0 -1
  276. package/build/dex/infusion/infusion-stable-pool.d.ts +0 -4
  277. package/build/dex/infusion/infusion-stable-pool.js +0 -74
  278. package/build/dex/infusion/infusion-stable-pool.js.map +0 -1
  279. package/build/dex/infusion/infusion.d.ts +0 -54
  280. package/build/dex/infusion/infusion.js +0 -532
  281. package/build/dex/infusion/infusion.js.map +0 -1
  282. package/build/dex/infusion/types.d.ts +0 -47
  283. package/build/dex/infusion/types.js +0 -3
  284. package/build/dex/infusion/types.js.map +0 -1
  285. package/build/dex/infusion/utils/isStablePair.d.ts +0 -2
  286. package/build/dex/infusion/utils/isStablePair.js +0 -18
  287. package/build/dex/infusion/utils/isStablePair.js.map +0 -1
@@ -0,0 +1,1746 @@
1
+ [
2
+ {
3
+ "inputs": [],
4
+ "name": "CallerIsNotHarvester",
5
+ "type": "error"
6
+ },
7
+ {
8
+ "inputs": [],
9
+ "name": "ConverterIsZero",
10
+ "type": "error"
11
+ },
12
+ {
13
+ "inputs": [],
14
+ "name": "ErrDepositZeroAmount",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "ErrHasLiquidation",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "ErrInsufficientHarvestedBaseToken",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "ErrInsufficientHarvestedFxUSD",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "ErrInsufficientRebalancedFxUSD",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "ErrInsufficientSharesOut",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "ErrInsufficientTokensOut",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "ErrInvalidTokenIn",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "ErrInvalidTokenOut",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "ErrNotLiquidatedBefore",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "ErrRedeemZeroShares",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "ExpenseRatioTooLarge",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "HarvesterRatioTooLarge",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "TreasuryIsZero",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "WithdrawFeePercentageTooLarge",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "anonymous": false,
89
+ "inputs": [
90
+ {
91
+ "indexed": true,
92
+ "internalType": "address",
93
+ "name": "owner",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "indexed": true,
98
+ "internalType": "address",
99
+ "name": "spender",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "uint256",
105
+ "name": "value",
106
+ "type": "uint256"
107
+ }
108
+ ],
109
+ "name": "Approval",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "user",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "address[]",
124
+ "name": "rewardTokens",
125
+ "type": "address[]"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256[]",
130
+ "name": "rewardAmounts",
131
+ "type": "uint256[]"
132
+ }
133
+ ],
134
+ "name": "ClaimRewards",
135
+ "type": "event"
136
+ },
137
+ {
138
+ "anonymous": false,
139
+ "inputs": [
140
+ {
141
+ "indexed": true,
142
+ "internalType": "address",
143
+ "name": "caller",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "indexed": true,
148
+ "internalType": "address",
149
+ "name": "receiver",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "indexed": true,
154
+ "internalType": "address",
155
+ "name": "tokenIn",
156
+ "type": "address"
157
+ },
158
+ {
159
+ "indexed": false,
160
+ "internalType": "uint256",
161
+ "name": "amountDeposited",
162
+ "type": "uint256"
163
+ },
164
+ {
165
+ "indexed": false,
166
+ "internalType": "uint256",
167
+ "name": "amountSyOut",
168
+ "type": "uint256"
169
+ }
170
+ ],
171
+ "name": "Deposit",
172
+ "type": "event"
173
+ },
174
+ {
175
+ "anonymous": false,
176
+ "inputs": [],
177
+ "name": "EIP712DomainChanged",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "caller",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint256",
192
+ "name": "baseOut",
193
+ "type": "uint256"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint256",
198
+ "name": "expense",
199
+ "type": "uint256"
200
+ },
201
+ {
202
+ "indexed": false,
203
+ "internalType": "uint256",
204
+ "name": "bounty",
205
+ "type": "uint256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "uint256",
210
+ "name": "fxUSDOut",
211
+ "type": "uint256"
212
+ }
213
+ ],
214
+ "name": "Harvest",
215
+ "type": "event"
216
+ },
217
+ {
218
+ "anonymous": false,
219
+ "inputs": [
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint8",
223
+ "name": "version",
224
+ "type": "uint8"
225
+ }
226
+ ],
227
+ "name": "Initialized",
228
+ "type": "event"
229
+ },
230
+ {
231
+ "anonymous": false,
232
+ "inputs": [
233
+ {
234
+ "indexed": true,
235
+ "internalType": "address",
236
+ "name": "caller",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "indexed": false,
241
+ "internalType": "uint256",
242
+ "name": "amountBaseToken",
243
+ "type": "uint256"
244
+ },
245
+ {
246
+ "indexed": false,
247
+ "internalType": "uint256",
248
+ "name": "amountFxUSD",
249
+ "type": "uint256"
250
+ }
251
+ ],
252
+ "name": "Rebalance",
253
+ "type": "event"
254
+ },
255
+ {
256
+ "anonymous": false,
257
+ "inputs": [
258
+ {
259
+ "indexed": true,
260
+ "internalType": "address",
261
+ "name": "caller",
262
+ "type": "address"
263
+ },
264
+ {
265
+ "indexed": true,
266
+ "internalType": "address",
267
+ "name": "receiver",
268
+ "type": "address"
269
+ },
270
+ {
271
+ "indexed": true,
272
+ "internalType": "address",
273
+ "name": "tokenOut",
274
+ "type": "address"
275
+ },
276
+ {
277
+ "indexed": false,
278
+ "internalType": "uint256",
279
+ "name": "amountSyToRedeem",
280
+ "type": "uint256"
281
+ },
282
+ {
283
+ "indexed": false,
284
+ "internalType": "uint256",
285
+ "name": "amountTokenOut",
286
+ "type": "uint256"
287
+ }
288
+ ],
289
+ "name": "Redeem",
290
+ "type": "event"
291
+ },
292
+ {
293
+ "anonymous": false,
294
+ "inputs": [
295
+ {
296
+ "indexed": true,
297
+ "internalType": "bytes32",
298
+ "name": "role",
299
+ "type": "bytes32"
300
+ },
301
+ {
302
+ "indexed": true,
303
+ "internalType": "bytes32",
304
+ "name": "previousAdminRole",
305
+ "type": "bytes32"
306
+ },
307
+ {
308
+ "indexed": true,
309
+ "internalType": "bytes32",
310
+ "name": "newAdminRole",
311
+ "type": "bytes32"
312
+ }
313
+ ],
314
+ "name": "RoleAdminChanged",
315
+ "type": "event"
316
+ },
317
+ {
318
+ "anonymous": false,
319
+ "inputs": [
320
+ {
321
+ "indexed": true,
322
+ "internalType": "bytes32",
323
+ "name": "role",
324
+ "type": "bytes32"
325
+ },
326
+ {
327
+ "indexed": true,
328
+ "internalType": "address",
329
+ "name": "account",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "indexed": true,
334
+ "internalType": "address",
335
+ "name": "sender",
336
+ "type": "address"
337
+ }
338
+ ],
339
+ "name": "RoleGranted",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "bytes32",
348
+ "name": "role",
349
+ "type": "bytes32"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "account",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": true,
359
+ "internalType": "address",
360
+ "name": "sender",
361
+ "type": "address"
362
+ }
363
+ ],
364
+ "name": "RoleRevoked",
365
+ "type": "event"
366
+ },
367
+ {
368
+ "anonymous": false,
369
+ "inputs": [
370
+ {
371
+ "indexed": true,
372
+ "internalType": "address",
373
+ "name": "from",
374
+ "type": "address"
375
+ },
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "to",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "indexed": false,
384
+ "internalType": "uint256",
385
+ "name": "value",
386
+ "type": "uint256"
387
+ }
388
+ ],
389
+ "name": "Transfer",
390
+ "type": "event"
391
+ },
392
+ {
393
+ "anonymous": false,
394
+ "inputs": [
395
+ {
396
+ "indexed": false,
397
+ "internalType": "address",
398
+ "name": "token",
399
+ "type": "address"
400
+ },
401
+ {
402
+ "indexed": false,
403
+ "internalType": "uint256[]",
404
+ "name": "routes",
405
+ "type": "uint256[]"
406
+ }
407
+ ],
408
+ "name": "UpdateConvertRoutes",
409
+ "type": "event"
410
+ },
411
+ {
412
+ "anonymous": false,
413
+ "inputs": [
414
+ {
415
+ "indexed": true,
416
+ "internalType": "address",
417
+ "name": "oldConverter",
418
+ "type": "address"
419
+ },
420
+ {
421
+ "indexed": true,
422
+ "internalType": "address",
423
+ "name": "newConverter",
424
+ "type": "address"
425
+ }
426
+ ],
427
+ "name": "UpdateConverter",
428
+ "type": "event"
429
+ },
430
+ {
431
+ "anonymous": false,
432
+ "inputs": [
433
+ {
434
+ "indexed": false,
435
+ "internalType": "uint256",
436
+ "name": "oldRatio",
437
+ "type": "uint256"
438
+ },
439
+ {
440
+ "indexed": false,
441
+ "internalType": "uint256",
442
+ "name": "newRatio",
443
+ "type": "uint256"
444
+ }
445
+ ],
446
+ "name": "UpdateExpenseRatio",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "anonymous": false,
451
+ "inputs": [
452
+ {
453
+ "indexed": true,
454
+ "internalType": "address",
455
+ "name": "oldHarvester",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "indexed": true,
460
+ "internalType": "address",
461
+ "name": "newHarvester",
462
+ "type": "address"
463
+ }
464
+ ],
465
+ "name": "UpdateHarvester",
466
+ "type": "event"
467
+ },
468
+ {
469
+ "anonymous": false,
470
+ "inputs": [
471
+ {
472
+ "indexed": false,
473
+ "internalType": "uint256",
474
+ "name": "oldRatio",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "indexed": false,
479
+ "internalType": "uint256",
480
+ "name": "newRatio",
481
+ "type": "uint256"
482
+ }
483
+ ],
484
+ "name": "UpdateHarvesterRatio",
485
+ "type": "event"
486
+ },
487
+ {
488
+ "anonymous": false,
489
+ "inputs": [
490
+ {
491
+ "indexed": false,
492
+ "internalType": "uint256",
493
+ "name": "oldValue",
494
+ "type": "uint256"
495
+ },
496
+ {
497
+ "indexed": false,
498
+ "internalType": "uint256",
499
+ "name": "newValue",
500
+ "type": "uint256"
501
+ }
502
+ ],
503
+ "name": "UpdateMinRebalanceProfit",
504
+ "type": "event"
505
+ },
506
+ {
507
+ "anonymous": false,
508
+ "inputs": [
509
+ {
510
+ "indexed": true,
511
+ "internalType": "address",
512
+ "name": "oldTreasury",
513
+ "type": "address"
514
+ },
515
+ {
516
+ "indexed": true,
517
+ "internalType": "address",
518
+ "name": "newTreasury",
519
+ "type": "address"
520
+ }
521
+ ],
522
+ "name": "UpdateTreasury",
523
+ "type": "event"
524
+ },
525
+ {
526
+ "anonymous": false,
527
+ "inputs": [
528
+ {
529
+ "indexed": false,
530
+ "internalType": "uint256",
531
+ "name": "oldPercentage",
532
+ "type": "uint256"
533
+ },
534
+ {
535
+ "indexed": false,
536
+ "internalType": "uint256",
537
+ "name": "newPercentage",
538
+ "type": "uint256"
539
+ }
540
+ ],
541
+ "name": "UpdateWithdrawFeePercentage",
542
+ "type": "event"
543
+ },
544
+ {
545
+ "inputs": [],
546
+ "name": "DEFAULT_ADMIN_ROLE",
547
+ "outputs": [
548
+ {
549
+ "internalType": "bytes32",
550
+ "name": "",
551
+ "type": "bytes32"
552
+ }
553
+ ],
554
+ "stateMutability": "view",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [],
559
+ "name": "DOMAIN_SEPARATOR",
560
+ "outputs": [
561
+ {
562
+ "internalType": "bytes32",
563
+ "name": "",
564
+ "type": "bytes32"
565
+ }
566
+ ],
567
+ "stateMutability": "view",
568
+ "type": "function"
569
+ },
570
+ {
571
+ "inputs": [],
572
+ "name": "REBALANCER_ROLE",
573
+ "outputs": [
574
+ {
575
+ "internalType": "bytes32",
576
+ "name": "",
577
+ "type": "bytes32"
578
+ }
579
+ ],
580
+ "stateMutability": "view",
581
+ "type": "function"
582
+ },
583
+ {
584
+ "inputs": [
585
+ {
586
+ "internalType": "address",
587
+ "name": "",
588
+ "type": "address"
589
+ }
590
+ ],
591
+ "name": "accruedRewards",
592
+ "outputs": [
593
+ {
594
+ "internalType": "uint256[]",
595
+ "name": "rewardAmounts",
596
+ "type": "uint256[]"
597
+ }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [
604
+ {
605
+ "internalType": "address",
606
+ "name": "owner",
607
+ "type": "address"
608
+ },
609
+ {
610
+ "internalType": "address",
611
+ "name": "spender",
612
+ "type": "address"
613
+ }
614
+ ],
615
+ "name": "allowance",
616
+ "outputs": [
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "",
620
+ "type": "uint256"
621
+ }
622
+ ],
623
+ "stateMutability": "view",
624
+ "type": "function"
625
+ },
626
+ {
627
+ "inputs": [
628
+ {
629
+ "internalType": "address",
630
+ "name": "spender",
631
+ "type": "address"
632
+ },
633
+ {
634
+ "internalType": "uint256",
635
+ "name": "amount",
636
+ "type": "uint256"
637
+ }
638
+ ],
639
+ "name": "approve",
640
+ "outputs": [
641
+ {
642
+ "internalType": "bool",
643
+ "name": "",
644
+ "type": "bool"
645
+ }
646
+ ],
647
+ "stateMutability": "nonpayable",
648
+ "type": "function"
649
+ },
650
+ {
651
+ "inputs": [],
652
+ "name": "assetInfo",
653
+ "outputs": [
654
+ {
655
+ "internalType": "enum IStandardizedYield.AssetType",
656
+ "name": "assetType",
657
+ "type": "uint8"
658
+ },
659
+ {
660
+ "internalType": "address",
661
+ "name": "assetAddress",
662
+ "type": "address"
663
+ },
664
+ {
665
+ "internalType": "uint8",
666
+ "name": "assetDecimals",
667
+ "type": "uint8"
668
+ }
669
+ ],
670
+ "stateMutability": "view",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "address",
677
+ "name": "account",
678
+ "type": "address"
679
+ }
680
+ ],
681
+ "name": "balanceOf",
682
+ "outputs": [
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "",
686
+ "type": "uint256"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [
694
+ {
695
+ "internalType": "address",
696
+ "name": "",
697
+ "type": "address"
698
+ }
699
+ ],
700
+ "name": "claimRewards",
701
+ "outputs": [
702
+ {
703
+ "internalType": "uint256[]",
704
+ "name": "rewardAmounts",
705
+ "type": "uint256[]"
706
+ }
707
+ ],
708
+ "stateMutability": "nonpayable",
709
+ "type": "function"
710
+ },
711
+ {
712
+ "inputs": [],
713
+ "name": "converter",
714
+ "outputs": [
715
+ {
716
+ "internalType": "address",
717
+ "name": "",
718
+ "type": "address"
719
+ }
720
+ ],
721
+ "stateMutability": "view",
722
+ "type": "function"
723
+ },
724
+ {
725
+ "inputs": [],
726
+ "name": "decimals",
727
+ "outputs": [
728
+ {
729
+ "internalType": "uint8",
730
+ "name": "",
731
+ "type": "uint8"
732
+ }
733
+ ],
734
+ "stateMutability": "view",
735
+ "type": "function"
736
+ },
737
+ {
738
+ "inputs": [
739
+ {
740
+ "internalType": "address",
741
+ "name": "spender",
742
+ "type": "address"
743
+ },
744
+ {
745
+ "internalType": "uint256",
746
+ "name": "subtractedValue",
747
+ "type": "uint256"
748
+ }
749
+ ],
750
+ "name": "decreaseAllowance",
751
+ "outputs": [
752
+ {
753
+ "internalType": "bool",
754
+ "name": "",
755
+ "type": "bool"
756
+ }
757
+ ],
758
+ "stateMutability": "nonpayable",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [
763
+ {
764
+ "internalType": "address",
765
+ "name": "receiver",
766
+ "type": "address"
767
+ },
768
+ {
769
+ "internalType": "address",
770
+ "name": "tokenIn",
771
+ "type": "address"
772
+ },
773
+ {
774
+ "internalType": "uint256",
775
+ "name": "amountTokenToDeposit",
776
+ "type": "uint256"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "minSharesOut",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "name": "deposit",
785
+ "outputs": [
786
+ {
787
+ "internalType": "uint256",
788
+ "name": "amountSharesOut",
789
+ "type": "uint256"
790
+ }
791
+ ],
792
+ "stateMutability": "payable",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [],
797
+ "name": "eip712Domain",
798
+ "outputs": [
799
+ {
800
+ "internalType": "bytes1",
801
+ "name": "fields",
802
+ "type": "bytes1"
803
+ },
804
+ {
805
+ "internalType": "string",
806
+ "name": "name",
807
+ "type": "string"
808
+ },
809
+ {
810
+ "internalType": "string",
811
+ "name": "version",
812
+ "type": "string"
813
+ },
814
+ {
815
+ "internalType": "uint256",
816
+ "name": "chainId",
817
+ "type": "uint256"
818
+ },
819
+ {
820
+ "internalType": "address",
821
+ "name": "verifyingContract",
822
+ "type": "address"
823
+ },
824
+ {
825
+ "internalType": "bytes32",
826
+ "name": "salt",
827
+ "type": "bytes32"
828
+ },
829
+ {
830
+ "internalType": "uint256[]",
831
+ "name": "extensions",
832
+ "type": "uint256[]"
833
+ }
834
+ ],
835
+ "stateMutability": "view",
836
+ "type": "function"
837
+ },
838
+ {
839
+ "inputs": [],
840
+ "name": "exchangeRate",
841
+ "outputs": [
842
+ {
843
+ "internalType": "uint256",
844
+ "name": "res",
845
+ "type": "uint256"
846
+ }
847
+ ],
848
+ "stateMutability": "view",
849
+ "type": "function"
850
+ },
851
+ {
852
+ "inputs": [],
853
+ "name": "getBaseToken",
854
+ "outputs": [
855
+ {
856
+ "internalType": "address",
857
+ "name": "",
858
+ "type": "address"
859
+ }
860
+ ],
861
+ "stateMutability": "view",
862
+ "type": "function"
863
+ },
864
+ {
865
+ "inputs": [
866
+ {
867
+ "internalType": "address",
868
+ "name": "token",
869
+ "type": "address"
870
+ }
871
+ ],
872
+ "name": "getConvertRoutes",
873
+ "outputs": [
874
+ {
875
+ "internalType": "uint256[]",
876
+ "name": "",
877
+ "type": "uint256[]"
878
+ }
879
+ ],
880
+ "stateMutability": "view",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [],
885
+ "name": "getExpenseRatio",
886
+ "outputs": [
887
+ {
888
+ "internalType": "uint256",
889
+ "name": "",
890
+ "type": "uint256"
891
+ }
892
+ ],
893
+ "stateMutability": "view",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [],
898
+ "name": "getHarvesterRatio",
899
+ "outputs": [
900
+ {
901
+ "internalType": "uint256",
902
+ "name": "",
903
+ "type": "uint256"
904
+ }
905
+ ],
906
+ "stateMutability": "view",
907
+ "type": "function"
908
+ },
909
+ {
910
+ "inputs": [],
911
+ "name": "getPool",
912
+ "outputs": [
913
+ {
914
+ "internalType": "address",
915
+ "name": "",
916
+ "type": "address"
917
+ }
918
+ ],
919
+ "stateMutability": "view",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [],
924
+ "name": "getRewardTokens",
925
+ "outputs": [
926
+ {
927
+ "internalType": "address[]",
928
+ "name": "rewardTokens",
929
+ "type": "address[]"
930
+ }
931
+ ],
932
+ "stateMutability": "view",
933
+ "type": "function"
934
+ },
935
+ {
936
+ "inputs": [
937
+ {
938
+ "internalType": "bytes32",
939
+ "name": "role",
940
+ "type": "bytes32"
941
+ }
942
+ ],
943
+ "name": "getRoleAdmin",
944
+ "outputs": [
945
+ {
946
+ "internalType": "bytes32",
947
+ "name": "",
948
+ "type": "bytes32"
949
+ }
950
+ ],
951
+ "stateMutability": "view",
952
+ "type": "function"
953
+ },
954
+ {
955
+ "inputs": [],
956
+ "name": "getTokensIn",
957
+ "outputs": [
958
+ {
959
+ "internalType": "address[]",
960
+ "name": "res",
961
+ "type": "address[]"
962
+ }
963
+ ],
964
+ "stateMutability": "view",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [],
969
+ "name": "getTokensOut",
970
+ "outputs": [
971
+ {
972
+ "internalType": "address[]",
973
+ "name": "res",
974
+ "type": "address[]"
975
+ }
976
+ ],
977
+ "stateMutability": "view",
978
+ "type": "function"
979
+ },
980
+ {
981
+ "inputs": [],
982
+ "name": "getTotalAssets",
983
+ "outputs": [
984
+ {
985
+ "internalType": "uint256",
986
+ "name": "",
987
+ "type": "uint256"
988
+ }
989
+ ],
990
+ "stateMutability": "view",
991
+ "type": "function"
992
+ },
993
+ {
994
+ "inputs": [],
995
+ "name": "getWithdrawFeePercentage",
996
+ "outputs": [
997
+ {
998
+ "internalType": "uint256",
999
+ "name": "",
1000
+ "type": "uint256"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "view",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [
1008
+ {
1009
+ "internalType": "bytes32",
1010
+ "name": "role",
1011
+ "type": "bytes32"
1012
+ },
1013
+ {
1014
+ "internalType": "address",
1015
+ "name": "account",
1016
+ "type": "address"
1017
+ }
1018
+ ],
1019
+ "name": "grantRole",
1020
+ "outputs": [],
1021
+ "stateMutability": "nonpayable",
1022
+ "type": "function"
1023
+ },
1024
+ {
1025
+ "inputs": [
1026
+ {
1027
+ "internalType": "address",
1028
+ "name": "receiver",
1029
+ "type": "address"
1030
+ },
1031
+ {
1032
+ "internalType": "uint256",
1033
+ "name": "minBaseOut",
1034
+ "type": "uint256"
1035
+ },
1036
+ {
1037
+ "internalType": "uint256",
1038
+ "name": "minFxUSD",
1039
+ "type": "uint256"
1040
+ }
1041
+ ],
1042
+ "name": "harvest",
1043
+ "outputs": [
1044
+ {
1045
+ "internalType": "uint256",
1046
+ "name": "baseOut",
1047
+ "type": "uint256"
1048
+ },
1049
+ {
1050
+ "internalType": "uint256",
1051
+ "name": "fxUSDOut",
1052
+ "type": "uint256"
1053
+ }
1054
+ ],
1055
+ "stateMutability": "nonpayable",
1056
+ "type": "function"
1057
+ },
1058
+ {
1059
+ "inputs": [],
1060
+ "name": "harvester",
1061
+ "outputs": [
1062
+ {
1063
+ "internalType": "address",
1064
+ "name": "",
1065
+ "type": "address"
1066
+ }
1067
+ ],
1068
+ "stateMutability": "view",
1069
+ "type": "function"
1070
+ },
1071
+ {
1072
+ "inputs": [
1073
+ {
1074
+ "internalType": "bytes32",
1075
+ "name": "role",
1076
+ "type": "bytes32"
1077
+ },
1078
+ {
1079
+ "internalType": "address",
1080
+ "name": "account",
1081
+ "type": "address"
1082
+ }
1083
+ ],
1084
+ "name": "hasRole",
1085
+ "outputs": [
1086
+ {
1087
+ "internalType": "bool",
1088
+ "name": "",
1089
+ "type": "bool"
1090
+ }
1091
+ ],
1092
+ "stateMutability": "view",
1093
+ "type": "function"
1094
+ },
1095
+ {
1096
+ "inputs": [
1097
+ {
1098
+ "internalType": "address",
1099
+ "name": "spender",
1100
+ "type": "address"
1101
+ },
1102
+ {
1103
+ "internalType": "uint256",
1104
+ "name": "addedValue",
1105
+ "type": "uint256"
1106
+ }
1107
+ ],
1108
+ "name": "increaseAllowance",
1109
+ "outputs": [
1110
+ {
1111
+ "internalType": "bool",
1112
+ "name": "",
1113
+ "type": "bool"
1114
+ }
1115
+ ],
1116
+ "stateMutability": "nonpayable",
1117
+ "type": "function"
1118
+ },
1119
+ {
1120
+ "inputs": [
1121
+ {
1122
+ "internalType": "address",
1123
+ "name": "_treasury",
1124
+ "type": "address"
1125
+ },
1126
+ {
1127
+ "internalType": "address",
1128
+ "name": "_harvester",
1129
+ "type": "address"
1130
+ },
1131
+ {
1132
+ "internalType": "address",
1133
+ "name": "_converter",
1134
+ "type": "address"
1135
+ },
1136
+ {
1137
+ "internalType": "address",
1138
+ "name": "_fxUSD",
1139
+ "type": "address"
1140
+ },
1141
+ {
1142
+ "internalType": "address",
1143
+ "name": "_pool",
1144
+ "type": "address"
1145
+ },
1146
+ {
1147
+ "internalType": "string",
1148
+ "name": "_name",
1149
+ "type": "string"
1150
+ },
1151
+ {
1152
+ "internalType": "string",
1153
+ "name": "_symbol",
1154
+ "type": "string"
1155
+ },
1156
+ {
1157
+ "internalType": "uint256",
1158
+ "name": "_pid",
1159
+ "type": "uint256"
1160
+ }
1161
+ ],
1162
+ "name": "initialize",
1163
+ "outputs": [],
1164
+ "stateMutability": "nonpayable",
1165
+ "type": "function"
1166
+ },
1167
+ {
1168
+ "inputs": [
1169
+ {
1170
+ "internalType": "address",
1171
+ "name": "token",
1172
+ "type": "address"
1173
+ }
1174
+ ],
1175
+ "name": "isValidTokenIn",
1176
+ "outputs": [
1177
+ {
1178
+ "internalType": "bool",
1179
+ "name": "",
1180
+ "type": "bool"
1181
+ }
1182
+ ],
1183
+ "stateMutability": "view",
1184
+ "type": "function"
1185
+ },
1186
+ {
1187
+ "inputs": [
1188
+ {
1189
+ "internalType": "address",
1190
+ "name": "token",
1191
+ "type": "address"
1192
+ }
1193
+ ],
1194
+ "name": "isValidTokenOut",
1195
+ "outputs": [
1196
+ {
1197
+ "internalType": "bool",
1198
+ "name": "",
1199
+ "type": "bool"
1200
+ }
1201
+ ],
1202
+ "stateMutability": "view",
1203
+ "type": "function"
1204
+ },
1205
+ {
1206
+ "inputs": [],
1207
+ "name": "liquidated",
1208
+ "outputs": [
1209
+ {
1210
+ "internalType": "bool",
1211
+ "name": "",
1212
+ "type": "bool"
1213
+ }
1214
+ ],
1215
+ "stateMutability": "view",
1216
+ "type": "function"
1217
+ },
1218
+ {
1219
+ "inputs": [],
1220
+ "name": "minRebalanceProfit",
1221
+ "outputs": [
1222
+ {
1223
+ "internalType": "uint256",
1224
+ "name": "",
1225
+ "type": "uint256"
1226
+ }
1227
+ ],
1228
+ "stateMutability": "view",
1229
+ "type": "function"
1230
+ },
1231
+ {
1232
+ "inputs": [],
1233
+ "name": "name",
1234
+ "outputs": [
1235
+ {
1236
+ "internalType": "string",
1237
+ "name": "",
1238
+ "type": "string"
1239
+ }
1240
+ ],
1241
+ "stateMutability": "view",
1242
+ "type": "function"
1243
+ },
1244
+ {
1245
+ "inputs": [],
1246
+ "name": "nav",
1247
+ "outputs": [
1248
+ {
1249
+ "internalType": "uint256",
1250
+ "name": "",
1251
+ "type": "uint256"
1252
+ }
1253
+ ],
1254
+ "stateMutability": "view",
1255
+ "type": "function"
1256
+ },
1257
+ {
1258
+ "inputs": [
1259
+ {
1260
+ "internalType": "address",
1261
+ "name": "owner",
1262
+ "type": "address"
1263
+ }
1264
+ ],
1265
+ "name": "nonces",
1266
+ "outputs": [
1267
+ {
1268
+ "internalType": "uint256",
1269
+ "name": "",
1270
+ "type": "uint256"
1271
+ }
1272
+ ],
1273
+ "stateMutability": "view",
1274
+ "type": "function"
1275
+ },
1276
+ {
1277
+ "inputs": [
1278
+ {
1279
+ "internalType": "address",
1280
+ "name": "owner",
1281
+ "type": "address"
1282
+ },
1283
+ {
1284
+ "internalType": "address",
1285
+ "name": "spender",
1286
+ "type": "address"
1287
+ },
1288
+ {
1289
+ "internalType": "uint256",
1290
+ "name": "value",
1291
+ "type": "uint256"
1292
+ },
1293
+ {
1294
+ "internalType": "uint256",
1295
+ "name": "deadline",
1296
+ "type": "uint256"
1297
+ },
1298
+ {
1299
+ "internalType": "uint8",
1300
+ "name": "v",
1301
+ "type": "uint8"
1302
+ },
1303
+ {
1304
+ "internalType": "bytes32",
1305
+ "name": "r",
1306
+ "type": "bytes32"
1307
+ },
1308
+ {
1309
+ "internalType": "bytes32",
1310
+ "name": "s",
1311
+ "type": "bytes32"
1312
+ }
1313
+ ],
1314
+ "name": "permit",
1315
+ "outputs": [],
1316
+ "stateMutability": "nonpayable",
1317
+ "type": "function"
1318
+ },
1319
+ {
1320
+ "inputs": [
1321
+ {
1322
+ "internalType": "address",
1323
+ "name": "tokenIn",
1324
+ "type": "address"
1325
+ },
1326
+ {
1327
+ "internalType": "uint256",
1328
+ "name": "amountTokenToDeposit",
1329
+ "type": "uint256"
1330
+ }
1331
+ ],
1332
+ "name": "previewDeposit",
1333
+ "outputs": [
1334
+ {
1335
+ "internalType": "uint256",
1336
+ "name": "amountSharesOut",
1337
+ "type": "uint256"
1338
+ }
1339
+ ],
1340
+ "stateMutability": "view",
1341
+ "type": "function"
1342
+ },
1343
+ {
1344
+ "inputs": [
1345
+ {
1346
+ "internalType": "address",
1347
+ "name": "tokenOut",
1348
+ "type": "address"
1349
+ },
1350
+ {
1351
+ "internalType": "uint256",
1352
+ "name": "amountSharesToRedeem",
1353
+ "type": "uint256"
1354
+ }
1355
+ ],
1356
+ "name": "previewRedeem",
1357
+ "outputs": [
1358
+ {
1359
+ "internalType": "uint256",
1360
+ "name": "amountTokenOut",
1361
+ "type": "uint256"
1362
+ }
1363
+ ],
1364
+ "stateMutability": "view",
1365
+ "type": "function"
1366
+ },
1367
+ {
1368
+ "inputs": [
1369
+ {
1370
+ "internalType": "uint256",
1371
+ "name": "minFxUSD",
1372
+ "type": "uint256"
1373
+ }
1374
+ ],
1375
+ "name": "rebalance",
1376
+ "outputs": [
1377
+ {
1378
+ "internalType": "uint256",
1379
+ "name": "fxUSDOut",
1380
+ "type": "uint256"
1381
+ }
1382
+ ],
1383
+ "stateMutability": "nonpayable",
1384
+ "type": "function"
1385
+ },
1386
+ {
1387
+ "inputs": [
1388
+ {
1389
+ "internalType": "address",
1390
+ "name": "receiver",
1391
+ "type": "address"
1392
+ },
1393
+ {
1394
+ "internalType": "uint256",
1395
+ "name": "amountSharesToRedeem",
1396
+ "type": "uint256"
1397
+ },
1398
+ {
1399
+ "internalType": "address",
1400
+ "name": "tokenOut",
1401
+ "type": "address"
1402
+ },
1403
+ {
1404
+ "internalType": "uint256",
1405
+ "name": "minTokenOut",
1406
+ "type": "uint256"
1407
+ },
1408
+ {
1409
+ "internalType": "bool",
1410
+ "name": "burnFromInternalBalance",
1411
+ "type": "bool"
1412
+ }
1413
+ ],
1414
+ "name": "redeem",
1415
+ "outputs": [
1416
+ {
1417
+ "internalType": "uint256",
1418
+ "name": "amountTokenOut",
1419
+ "type": "uint256"
1420
+ }
1421
+ ],
1422
+ "stateMutability": "nonpayable",
1423
+ "type": "function"
1424
+ },
1425
+ {
1426
+ "inputs": [
1427
+ {
1428
+ "internalType": "bytes32",
1429
+ "name": "role",
1430
+ "type": "bytes32"
1431
+ },
1432
+ {
1433
+ "internalType": "address",
1434
+ "name": "account",
1435
+ "type": "address"
1436
+ }
1437
+ ],
1438
+ "name": "renounceRole",
1439
+ "outputs": [],
1440
+ "stateMutability": "nonpayable",
1441
+ "type": "function"
1442
+ },
1443
+ {
1444
+ "inputs": [
1445
+ {
1446
+ "internalType": "bytes32",
1447
+ "name": "role",
1448
+ "type": "bytes32"
1449
+ },
1450
+ {
1451
+ "internalType": "address",
1452
+ "name": "account",
1453
+ "type": "address"
1454
+ }
1455
+ ],
1456
+ "name": "revokeRole",
1457
+ "outputs": [],
1458
+ "stateMutability": "nonpayable",
1459
+ "type": "function"
1460
+ },
1461
+ {
1462
+ "inputs": [],
1463
+ "name": "rewardIndexesCurrent",
1464
+ "outputs": [
1465
+ {
1466
+ "internalType": "uint256[]",
1467
+ "name": "indexes",
1468
+ "type": "uint256[]"
1469
+ }
1470
+ ],
1471
+ "stateMutability": "nonpayable",
1472
+ "type": "function"
1473
+ },
1474
+ {
1475
+ "inputs": [],
1476
+ "name": "rewardIndexesStored",
1477
+ "outputs": [
1478
+ {
1479
+ "internalType": "uint256[]",
1480
+ "name": "indexes",
1481
+ "type": "uint256[]"
1482
+ }
1483
+ ],
1484
+ "stateMutability": "view",
1485
+ "type": "function"
1486
+ },
1487
+ {
1488
+ "inputs": [
1489
+ {
1490
+ "internalType": "bytes4",
1491
+ "name": "interfaceId",
1492
+ "type": "bytes4"
1493
+ }
1494
+ ],
1495
+ "name": "supportsInterface",
1496
+ "outputs": [
1497
+ {
1498
+ "internalType": "bool",
1499
+ "name": "",
1500
+ "type": "bool"
1501
+ }
1502
+ ],
1503
+ "stateMutability": "view",
1504
+ "type": "function"
1505
+ },
1506
+ {
1507
+ "inputs": [],
1508
+ "name": "symbol",
1509
+ "outputs": [
1510
+ {
1511
+ "internalType": "string",
1512
+ "name": "",
1513
+ "type": "string"
1514
+ }
1515
+ ],
1516
+ "stateMutability": "view",
1517
+ "type": "function"
1518
+ },
1519
+ {
1520
+ "inputs": [],
1521
+ "name": "totalPendingBaseToken",
1522
+ "outputs": [
1523
+ {
1524
+ "internalType": "uint256",
1525
+ "name": "",
1526
+ "type": "uint256"
1527
+ }
1528
+ ],
1529
+ "stateMutability": "view",
1530
+ "type": "function"
1531
+ },
1532
+ {
1533
+ "inputs": [],
1534
+ "name": "totalSupply",
1535
+ "outputs": [
1536
+ {
1537
+ "internalType": "uint256",
1538
+ "name": "",
1539
+ "type": "uint256"
1540
+ }
1541
+ ],
1542
+ "stateMutability": "view",
1543
+ "type": "function"
1544
+ },
1545
+ {
1546
+ "inputs": [
1547
+ {
1548
+ "internalType": "address",
1549
+ "name": "to",
1550
+ "type": "address"
1551
+ },
1552
+ {
1553
+ "internalType": "uint256",
1554
+ "name": "amount",
1555
+ "type": "uint256"
1556
+ }
1557
+ ],
1558
+ "name": "transfer",
1559
+ "outputs": [
1560
+ {
1561
+ "internalType": "bool",
1562
+ "name": "",
1563
+ "type": "bool"
1564
+ }
1565
+ ],
1566
+ "stateMutability": "nonpayable",
1567
+ "type": "function"
1568
+ },
1569
+ {
1570
+ "inputs": [
1571
+ {
1572
+ "internalType": "address",
1573
+ "name": "from",
1574
+ "type": "address"
1575
+ },
1576
+ {
1577
+ "internalType": "address",
1578
+ "name": "to",
1579
+ "type": "address"
1580
+ },
1581
+ {
1582
+ "internalType": "uint256",
1583
+ "name": "amount",
1584
+ "type": "uint256"
1585
+ }
1586
+ ],
1587
+ "name": "transferFrom",
1588
+ "outputs": [
1589
+ {
1590
+ "internalType": "bool",
1591
+ "name": "",
1592
+ "type": "bool"
1593
+ }
1594
+ ],
1595
+ "stateMutability": "nonpayable",
1596
+ "type": "function"
1597
+ },
1598
+ {
1599
+ "inputs": [],
1600
+ "name": "treasury",
1601
+ "outputs": [
1602
+ {
1603
+ "internalType": "address",
1604
+ "name": "",
1605
+ "type": "address"
1606
+ }
1607
+ ],
1608
+ "stateMutability": "view",
1609
+ "type": "function"
1610
+ },
1611
+ {
1612
+ "inputs": [
1613
+ {
1614
+ "internalType": "address",
1615
+ "name": "token",
1616
+ "type": "address"
1617
+ },
1618
+ {
1619
+ "internalType": "uint256[]",
1620
+ "name": "newRoutes",
1621
+ "type": "uint256[]"
1622
+ }
1623
+ ],
1624
+ "name": "updateConvertRoutes",
1625
+ "outputs": [],
1626
+ "stateMutability": "nonpayable",
1627
+ "type": "function"
1628
+ },
1629
+ {
1630
+ "inputs": [
1631
+ {
1632
+ "internalType": "address",
1633
+ "name": "_newConverter",
1634
+ "type": "address"
1635
+ }
1636
+ ],
1637
+ "name": "updateConverter",
1638
+ "outputs": [],
1639
+ "stateMutability": "nonpayable",
1640
+ "type": "function"
1641
+ },
1642
+ {
1643
+ "inputs": [
1644
+ {
1645
+ "internalType": "uint32",
1646
+ "name": "_newRatio",
1647
+ "type": "uint32"
1648
+ }
1649
+ ],
1650
+ "name": "updateExpenseRatio",
1651
+ "outputs": [],
1652
+ "stateMutability": "nonpayable",
1653
+ "type": "function"
1654
+ },
1655
+ {
1656
+ "inputs": [
1657
+ {
1658
+ "internalType": "address",
1659
+ "name": "_newHarvester",
1660
+ "type": "address"
1661
+ }
1662
+ ],
1663
+ "name": "updateHarvester",
1664
+ "outputs": [],
1665
+ "stateMutability": "nonpayable",
1666
+ "type": "function"
1667
+ },
1668
+ {
1669
+ "inputs": [
1670
+ {
1671
+ "internalType": "uint32",
1672
+ "name": "_newRatio",
1673
+ "type": "uint32"
1674
+ }
1675
+ ],
1676
+ "name": "updateHarvesterRatio",
1677
+ "outputs": [],
1678
+ "stateMutability": "nonpayable",
1679
+ "type": "function"
1680
+ },
1681
+ {
1682
+ "inputs": [
1683
+ {
1684
+ "internalType": "uint256",
1685
+ "name": "newMinRebalanceProfit",
1686
+ "type": "uint256"
1687
+ }
1688
+ ],
1689
+ "name": "updateMinRebalanceProfit",
1690
+ "outputs": [],
1691
+ "stateMutability": "nonpayable",
1692
+ "type": "function"
1693
+ },
1694
+ {
1695
+ "inputs": [
1696
+ {
1697
+ "internalType": "address",
1698
+ "name": "_newTreasury",
1699
+ "type": "address"
1700
+ }
1701
+ ],
1702
+ "name": "updateTreasury",
1703
+ "outputs": [],
1704
+ "stateMutability": "nonpayable",
1705
+ "type": "function"
1706
+ },
1707
+ {
1708
+ "inputs": [
1709
+ {
1710
+ "internalType": "uint32",
1711
+ "name": "_newPercentage",
1712
+ "type": "uint32"
1713
+ }
1714
+ ],
1715
+ "name": "updateWithdrawFeePercentage",
1716
+ "outputs": [],
1717
+ "stateMutability": "nonpayable",
1718
+ "type": "function"
1719
+ },
1720
+ {
1721
+ "inputs": [],
1722
+ "name": "vault",
1723
+ "outputs": [
1724
+ {
1725
+ "internalType": "address",
1726
+ "name": "",
1727
+ "type": "address"
1728
+ }
1729
+ ],
1730
+ "stateMutability": "view",
1731
+ "type": "function"
1732
+ },
1733
+ {
1734
+ "inputs": [],
1735
+ "name": "yieldToken",
1736
+ "outputs": [
1737
+ {
1738
+ "internalType": "address",
1739
+ "name": "",
1740
+ "type": "address"
1741
+ }
1742
+ ],
1743
+ "stateMutability": "view",
1744
+ "type": "function"
1745
+ }
1746
+ ]