@guru-fund/sdk 0.1.0

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 (413) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +226 -0
  3. package/dist/GuruProtocol.d.ts +44 -0
  4. package/dist/GuruProtocol.js +75 -0
  5. package/dist/addresses.d.ts +40 -0
  6. package/dist/addresses.js +111 -0
  7. package/dist/constants.d.ts +22 -0
  8. package/dist/constants.js +23 -0
  9. package/dist/helpers/FundDataFetcher.d.ts +24 -0
  10. package/dist/helpers/FundDataFetcher.js +66 -0
  11. package/dist/helpers/ReceiptParser.d.ts +23 -0
  12. package/dist/helpers/ReceiptParser.js +59 -0
  13. package/dist/helpers/Token.d.ts +18 -0
  14. package/dist/helpers/Token.js +43 -0
  15. package/dist/helpers/compareAddresses.d.ts +1 -0
  16. package/dist/helpers/compareAddresses.js +15 -0
  17. package/dist/index.d.ts +17 -0
  18. package/dist/index.js +3 -0
  19. package/dist/quotes/quoteDeposit.d.ts +41 -0
  20. package/dist/quotes/quoteDeposit.js +186 -0
  21. package/dist/quotes/quoteHarvest.d.ts +34 -0
  22. package/dist/quotes/quoteHarvest.js +105 -0
  23. package/dist/quotes/quoteRebalance.d.ts +51 -0
  24. package/dist/quotes/quoteRebalance.js +201 -0
  25. package/dist/quotes/quoteTrade.d.ts +18 -0
  26. package/dist/quotes/quoteTrade.js +51 -0
  27. package/dist/quotes/quoteWithdrawal.d.ts +41 -0
  28. package/dist/quotes/quoteWithdrawal.js +113 -0
  29. package/dist/router/constants.d.ts +18 -0
  30. package/dist/router/constants.js +25 -0
  31. package/dist/router/finalizeRoute.d.ts +16 -0
  32. package/dist/router/finalizeRoute.js +29 -0
  33. package/dist/router/getFallbackRoutes.d.ts +10 -0
  34. package/dist/router/getFallbackRoutes.js +91 -0
  35. package/dist/router/getUniswapV4Route.d.ts +42 -0
  36. package/dist/router/getUniswapV4Route.js +324 -0
  37. package/dist/router/getVeloraRoute.d.ts +10 -0
  38. package/dist/router/getVeloraRoute.js +68 -0
  39. package/dist/router/helpers.d.ts +11 -0
  40. package/dist/router/helpers.js +30 -0
  41. package/dist/router/index.d.ts +22 -0
  42. package/dist/router/index.js +135 -0
  43. package/dist/router/pathCache.d.ts +16 -0
  44. package/dist/router/pathCache.js +116 -0
  45. package/dist/router/poolHelper.d.ts +126 -0
  46. package/dist/router/poolHelper.js +807 -0
  47. package/dist/router/quoteWethTrade.d.ts +14 -0
  48. package/dist/router/quoteWethTrade.js +125 -0
  49. package/dist/router/simulation.d.ts +43 -0
  50. package/dist/router/simulation.js +70 -0
  51. package/dist/router/types.d.ts +149 -0
  52. package/dist/router/types.js +1 -0
  53. package/dist/router/v4PoolDiscovery.d.ts +30 -0
  54. package/dist/router/v4PoolDiscovery.js +147 -0
  55. package/dist/router/velora.d.ts +42 -0
  56. package/dist/router/velora.js +279 -0
  57. package/dist/schemas/index.d.ts +6 -0
  58. package/dist/schemas/index.js +6 -0
  59. package/dist/schemas/primitives.d.ts +3 -0
  60. package/dist/schemas/primitives.js +9 -0
  61. package/dist/schemas/quoteDeposit.d.ts +23 -0
  62. package/dist/schemas/quoteDeposit.js +10 -0
  63. package/dist/schemas/quoteHarvest.d.ts +17 -0
  64. package/dist/schemas/quoteHarvest.js +8 -0
  65. package/dist/schemas/quoteRebalance.d.ts +29 -0
  66. package/dist/schemas/quoteRebalance.js +10 -0
  67. package/dist/schemas/quoteTrade.d.ts +20 -0
  68. package/dist/schemas/quoteTrade.js +9 -0
  69. package/dist/schemas/quoteWithdrawal.d.ts +23 -0
  70. package/dist/schemas/quoteWithdrawal.js +10 -0
  71. package/dist/txBuilders/buildDepositTx.d.ts +17 -0
  72. package/dist/txBuilders/buildDepositTx.js +18 -0
  73. package/dist/txBuilders/buildHarvestTx.d.ts +16 -0
  74. package/dist/txBuilders/buildHarvestTx.js +17 -0
  75. package/dist/txBuilders/buildTradeTx.d.ts +9 -0
  76. package/dist/txBuilders/buildTradeTx.js +9 -0
  77. package/dist/txBuilders/buildWithdrawTx.d.ts +16 -0
  78. package/dist/txBuilders/buildWithdrawTx.js +17 -0
  79. package/dist/txBuilders/index.d.ts +8 -0
  80. package/dist/txBuilders/index.js +4 -0
  81. package/dist/typechain/common.d.ts +50 -0
  82. package/dist/typechain/common.js +1 -0
  83. package/dist/typechain/factories/include/IPancakeQuoterV2__factory.d.ts +225 -0
  84. package/dist/typechain/factories/include/IPancakeQuoterV2__factory.js +295 -0
  85. package/dist/typechain/factories/include/ISwapRouter02__factory.d.ts +826 -0
  86. package/dist/typechain/factories/include/ISwapRouter02__factory.js +1073 -0
  87. package/dist/typechain/factories/include/index.d.ts +2 -0
  88. package/dist/typechain/factories/include/index.js +2 -0
  89. package/dist/typechain/factories/index.d.ts +2 -0
  90. package/dist/typechain/factories/index.js +2 -0
  91. package/dist/typechain/factories/out/Adapter__factory.d.ts +31 -0
  92. package/dist/typechain/factories/out/Adapter__factory.js +43 -0
  93. package/dist/typechain/factories/out/AerodromeV2Adapter__factory.d.ts +179 -0
  94. package/dist/typechain/factories/out/AerodromeV2Adapter__factory.js +237 -0
  95. package/dist/typechain/factories/out/AerodromeV3Adapter__factory.d.ts +162 -0
  96. package/dist/typechain/factories/out/AerodromeV3Adapter__factory.js +215 -0
  97. package/dist/typechain/factories/out/AssetManager.sol/LedgerAssetManager__factory.d.ts +1032 -0
  98. package/dist/typechain/factories/out/AssetManager.sol/LedgerAssetManager__factory.js +1357 -0
  99. package/dist/typechain/factories/out/AssetManager.sol/index.d.ts +1 -0
  100. package/dist/typechain/factories/out/AssetManager.sol/index.js +1 -0
  101. package/dist/typechain/factories/out/Bookkeeper.sol/LedgerBookkeeper__factory.d.ts +950 -0
  102. package/dist/typechain/factories/out/Bookkeeper.sol/LedgerBookkeeper__factory.js +1250 -0
  103. package/dist/typechain/factories/out/Bookkeeper.sol/index.d.ts +1 -0
  104. package/dist/typechain/factories/out/Bookkeeper.sol/index.js +1 -0
  105. package/dist/typechain/factories/out/Checkpoint.sol/CheckpointController__factory.d.ts +33 -0
  106. package/dist/typechain/factories/out/Checkpoint.sol/CheckpointController__factory.js +47 -0
  107. package/dist/typechain/factories/out/Checkpoint.sol/index.d.ts +1 -0
  108. package/dist/typechain/factories/out/Checkpoint.sol/index.js +1 -0
  109. package/dist/typechain/factories/out/Closure.sol/ClosureController__factory.d.ts +459 -0
  110. package/dist/typechain/factories/out/Closure.sol/ClosureController__factory.js +603 -0
  111. package/dist/typechain/factories/out/Closure.sol/index.d.ts +1 -0
  112. package/dist/typechain/factories/out/Closure.sol/index.js +1 -0
  113. package/dist/typechain/factories/out/ContextBuilder__factory.d.ts +671 -0
  114. package/dist/typechain/factories/out/ContextBuilder__factory.js +870 -0
  115. package/dist/typechain/factories/out/Control.sol/Controllable__factory.d.ts +107 -0
  116. package/dist/typechain/factories/out/Control.sol/Controllable__factory.js +141 -0
  117. package/dist/typechain/factories/out/Control.sol/Controller__factory.d.ts +21 -0
  118. package/dist/typechain/factories/out/Control.sol/Controller__factory.js +30 -0
  119. package/dist/typechain/factories/out/Control.sol/index.d.ts +2 -0
  120. package/dist/typechain/factories/out/Control.sol/index.js +2 -0
  121. package/dist/typechain/factories/out/Controller.sol/ClosureDelegate__factory.d.ts +57 -0
  122. package/dist/typechain/factories/out/Controller.sol/ClosureDelegate__factory.js +77 -0
  123. package/dist/typechain/factories/out/Controller.sol/CreationDelegate__factory.d.ts +58 -0
  124. package/dist/typechain/factories/out/Controller.sol/CreationDelegate__factory.js +77 -0
  125. package/dist/typechain/factories/out/Controller.sol/DepositDelegate__factory.d.ts +55 -0
  126. package/dist/typechain/factories/out/Controller.sol/DepositDelegate__factory.js +74 -0
  127. package/dist/typechain/factories/out/Controller.sol/FundController__factory.d.ts +703 -0
  128. package/dist/typechain/factories/out/Controller.sol/FundController__factory.js +911 -0
  129. package/dist/typechain/factories/out/Controller.sol/HarvestDelegate__factory.d.ts +234 -0
  130. package/dist/typechain/factories/out/Controller.sol/HarvestDelegate__factory.js +303 -0
  131. package/dist/typechain/factories/out/Controller.sol/TradeDelegate__factory.d.ts +61 -0
  132. package/dist/typechain/factories/out/Controller.sol/TradeDelegate__factory.js +81 -0
  133. package/dist/typechain/factories/out/Controller.sol/TransferDelegate__factory.d.ts +29 -0
  134. package/dist/typechain/factories/out/Controller.sol/TransferDelegate__factory.js +40 -0
  135. package/dist/typechain/factories/out/Controller.sol/WithdrawalDelegate__factory.d.ts +51 -0
  136. package/dist/typechain/factories/out/Controller.sol/WithdrawalDelegate__factory.js +69 -0
  137. package/dist/typechain/factories/out/Controller.sol/index.d.ts +8 -0
  138. package/dist/typechain/factories/out/Controller.sol/index.js +8 -0
  139. package/dist/typechain/factories/out/Cooldown.sol/LedgerCooldown__factory.d.ts +747 -0
  140. package/dist/typechain/factories/out/Cooldown.sol/LedgerCooldown__factory.js +982 -0
  141. package/dist/typechain/factories/out/Cooldown.sol/index.d.ts +1 -0
  142. package/dist/typechain/factories/out/Cooldown.sol/index.js +1 -0
  143. package/dist/typechain/factories/out/Creation.sol/CreationController__factory.d.ts +172 -0
  144. package/dist/typechain/factories/out/Creation.sol/CreationController__factory.js +225 -0
  145. package/dist/typechain/factories/out/Creation.sol/index.d.ts +1 -0
  146. package/dist/typechain/factories/out/Creation.sol/index.js +1 -0
  147. package/dist/typechain/factories/out/Deposit.sol/DepositController__factory.d.ts +162 -0
  148. package/dist/typechain/factories/out/Deposit.sol/DepositController__factory.js +223 -0
  149. package/dist/typechain/factories/out/Deposit.sol/index.d.ts +1 -0
  150. package/dist/typechain/factories/out/Deposit.sol/index.js +1 -0
  151. package/dist/typechain/factories/out/Error__factory.d.ts +318 -0
  152. package/dist/typechain/factories/out/Error__factory.js +423 -0
  153. package/dist/typechain/factories/out/Harvest.sol/HarvestController__factory.d.ts +401 -0
  154. package/dist/typechain/factories/out/Harvest.sol/HarvestController__factory.js +527 -0
  155. package/dist/typechain/factories/out/Harvest.sol/index.d.ts +1 -0
  156. package/dist/typechain/factories/out/Harvest.sol/index.js +1 -0
  157. package/dist/typechain/factories/out/IAerodromeRouter__factory.d.ts +85 -0
  158. package/dist/typechain/factories/out/IAerodromeRouter__factory.js +113 -0
  159. package/dist/typechain/factories/out/IAerodromeSwapRouter__factory.d.ts +89 -0
  160. package/dist/typechain/factories/out/IAerodromeSwapRouter__factory.js +119 -0
  161. package/dist/typechain/factories/out/IUniswapV4.sol/IPermit2__factory.d.ts +29 -0
  162. package/dist/typechain/factories/out/IUniswapV4.sol/IPermit2__factory.js +40 -0
  163. package/dist/typechain/factories/out/IUniswapV4.sol/IUniversalRouter__factory.d.ts +25 -0
  164. package/dist/typechain/factories/out/IUniswapV4.sol/IUniversalRouter__factory.js +35 -0
  165. package/dist/typechain/factories/out/IUniswapV4.sol/index.d.ts +2 -0
  166. package/dist/typechain/factories/out/IUniswapV4.sol/index.js +2 -0
  167. package/dist/typechain/factories/out/IV0Fund__factory.d.ts +129 -0
  168. package/dist/typechain/factories/out/IV0Fund__factory.js +173 -0
  169. package/dist/typechain/factories/out/IV3SwapRouter__factory.d.ts +38 -0
  170. package/dist/typechain/factories/out/IV3SwapRouter__factory.js +53 -0
  171. package/dist/typechain/factories/out/Initializer.sol/LedgerInitializer__factory.d.ts +655 -0
  172. package/dist/typechain/factories/out/Initializer.sol/LedgerInitializer__factory.js +859 -0
  173. package/dist/typechain/factories/out/Initializer.sol/VaultInitializer__factory.d.ts +141 -0
  174. package/dist/typechain/factories/out/Initializer.sol/VaultInitializer__factory.js +185 -0
  175. package/dist/typechain/factories/out/Initializer.sol/index.d.ts +2 -0
  176. package/dist/typechain/factories/out/Initializer.sol/index.js +2 -0
  177. package/dist/typechain/factories/out/Ledger.sol/FundLedger__factory.d.ts +1502 -0
  178. package/dist/typechain/factories/out/Ledger.sol/FundLedger__factory.js +1959 -0
  179. package/dist/typechain/factories/out/Ledger.sol/index.d.ts +1 -0
  180. package/dist/typechain/factories/out/Ledger.sol/index.js +1 -0
  181. package/dist/typechain/factories/out/LotusP2P__factory.d.ts +847 -0
  182. package/dist/typechain/factories/out/LotusP2P__factory.js +1095 -0
  183. package/dist/typechain/factories/out/MulticallStatic__factory.d.ts +29 -0
  184. package/dist/typechain/factories/out/MulticallStatic__factory.js +42 -0
  185. package/dist/typechain/factories/out/Operator.sol/VaultOperator__factory.d.ts +235 -0
  186. package/dist/typechain/factories/out/Operator.sol/VaultOperator__factory.js +308 -0
  187. package/dist/typechain/factories/out/Operator.sol/index.d.ts +1 -0
  188. package/dist/typechain/factories/out/Operator.sol/index.js +1 -0
  189. package/dist/typechain/factories/out/P2PAdapter__factory.d.ts +216 -0
  190. package/dist/typechain/factories/out/P2PAdapter__factory.js +287 -0
  191. package/dist/typechain/factories/out/ProtocolMigrationExtension__factory.d.ts +1084 -0
  192. package/dist/typechain/factories/out/ProtocolMigrationExtension__factory.js +1409 -0
  193. package/dist/typechain/factories/out/ProtocolProvider__factory.d.ts +21 -0
  194. package/dist/typechain/factories/out/ProtocolProvider__factory.js +30 -0
  195. package/dist/typechain/factories/out/Protocol__factory.d.ts +1095 -0
  196. package/dist/typechain/factories/out/Protocol__factory.js +1424 -0
  197. package/dist/typechain/factories/out/Registrar.sol/LedgerRegistrar__factory.d.ts +1375 -0
  198. package/dist/typechain/factories/out/Registrar.sol/LedgerRegistrar__factory.js +1791 -0
  199. package/dist/typechain/factories/out/Registrar.sol/index.d.ts +1 -0
  200. package/dist/typechain/factories/out/Registrar.sol/index.js +1 -0
  201. package/dist/typechain/factories/out/Settings.sol/SettingsController__factory.d.ts +143 -0
  202. package/dist/typechain/factories/out/Settings.sol/SettingsController__factory.js +188 -0
  203. package/dist/typechain/factories/out/Settings.sol/index.d.ts +1 -0
  204. package/dist/typechain/factories/out/Settings.sol/index.js +1 -0
  205. package/dist/typechain/factories/out/Shares.sol/ICheckpointController__factory.d.ts +21 -0
  206. package/dist/typechain/factories/out/Shares.sol/ICheckpointController__factory.js +31 -0
  207. package/dist/typechain/factories/out/Shares.sol/ITransferController__factory.d.ts +25 -0
  208. package/dist/typechain/factories/out/Shares.sol/ITransferController__factory.js +35 -0
  209. package/dist/typechain/factories/out/Shares.sol/LedgerShares__factory.d.ts +829 -0
  210. package/dist/typechain/factories/out/Shares.sol/LedgerShares__factory.js +1089 -0
  211. package/dist/typechain/factories/out/Shares.sol/index.d.ts +3 -0
  212. package/dist/typechain/factories/out/Shares.sol/index.js +3 -0
  213. package/dist/typechain/factories/out/SignatureVerifier__factory.d.ts +171 -0
  214. package/dist/typechain/factories/out/SignatureVerifier__factory.js +224 -0
  215. package/dist/typechain/factories/out/Storage.sol/LedgerStorage__factory.d.ts +527 -0
  216. package/dist/typechain/factories/out/Storage.sol/LedgerStorage__factory.js +695 -0
  217. package/dist/typechain/factories/out/Storage.sol/index.d.ts +1 -0
  218. package/dist/typechain/factories/out/Storage.sol/index.js +1 -0
  219. package/dist/typechain/factories/out/Trade.sol/TradeController__factory.d.ts +200 -0
  220. package/dist/typechain/factories/out/Trade.sol/TradeController__factory.js +262 -0
  221. package/dist/typechain/factories/out/Trade.sol/index.d.ts +1 -0
  222. package/dist/typechain/factories/out/Trade.sol/index.js +1 -0
  223. package/dist/typechain/factories/out/Transfer.sol/TransferController__factory.d.ts +100 -0
  224. package/dist/typechain/factories/out/Transfer.sol/TransferController__factory.js +141 -0
  225. package/dist/typechain/factories/out/Transfer.sol/index.d.ts +1 -0
  226. package/dist/typechain/factories/out/Transfer.sol/index.js +1 -0
  227. package/dist/typechain/factories/out/UniswapV2Adapter__factory.d.ts +162 -0
  228. package/dist/typechain/factories/out/UniswapV2Adapter__factory.js +215 -0
  229. package/dist/typechain/factories/out/UniswapV3Adapter__factory.d.ts +162 -0
  230. package/dist/typechain/factories/out/UniswapV3Adapter__factory.js +215 -0
  231. package/dist/typechain/factories/out/UniswapV3SwapRouter02Adapter__factory.d.ts +162 -0
  232. package/dist/typechain/factories/out/UniswapV3SwapRouter02Adapter__factory.js +215 -0
  233. package/dist/typechain/factories/out/UniswapV4Adapter__factory.d.ts +203 -0
  234. package/dist/typechain/factories/out/UniswapV4Adapter__factory.js +268 -0
  235. package/dist/typechain/factories/out/V0ToLotusMigrator__factory.d.ts +216 -0
  236. package/dist/typechain/factories/out/V0ToLotusMigrator__factory.js +284 -0
  237. package/dist/typechain/factories/out/Vault.sol/FundVault__factory.d.ts +258 -0
  238. package/dist/typechain/factories/out/Vault.sol/FundVault__factory.js +339 -0
  239. package/dist/typechain/factories/out/Vault.sol/index.d.ts +1 -0
  240. package/dist/typechain/factories/out/Vault.sol/index.js +1 -0
  241. package/dist/typechain/factories/out/Withdrawal.sol/WithdrawalController__factory.d.ts +285 -0
  242. package/dist/typechain/factories/out/Withdrawal.sol/WithdrawalController__factory.js +377 -0
  243. package/dist/typechain/factories/out/Withdrawal.sol/index.d.ts +1 -0
  244. package/dist/typechain/factories/out/Withdrawal.sol/index.js +1 -0
  245. package/dist/typechain/factories/out/index.d.ts +43 -0
  246. package/dist/typechain/factories/out/index.js +43 -0
  247. package/dist/typechain/include/IPancakeQuoterV2.d.ts +223 -0
  248. package/dist/typechain/include/IPancakeQuoterV2.js +1 -0
  249. package/dist/typechain/include/ISwapRouter02.d.ts +682 -0
  250. package/dist/typechain/include/ISwapRouter02.js +1 -0
  251. package/dist/typechain/include/index.d.ts +2 -0
  252. package/dist/typechain/include/index.js +1 -0
  253. package/dist/typechain/index.d.ts +119 -0
  254. package/dist/typechain/index.js +58 -0
  255. package/dist/typechain/out/Adapter.d.ts +29 -0
  256. package/dist/typechain/out/Adapter.js +1 -0
  257. package/dist/typechain/out/AerodromeV2Adapter.d.ts +106 -0
  258. package/dist/typechain/out/AerodromeV2Adapter.js +1 -0
  259. package/dist/typechain/out/AerodromeV3Adapter.d.ts +87 -0
  260. package/dist/typechain/out/AerodromeV3Adapter.js +1 -0
  261. package/dist/typechain/out/AssetManager.sol/LedgerAssetManager.d.ts +604 -0
  262. package/dist/typechain/out/AssetManager.sol/LedgerAssetManager.js +1 -0
  263. package/dist/typechain/out/AssetManager.sol/index.d.ts +1 -0
  264. package/dist/typechain/out/AssetManager.sol/index.js +1 -0
  265. package/dist/typechain/out/Bookkeeper.sol/LedgerBookkeeper.d.ts +548 -0
  266. package/dist/typechain/out/Bookkeeper.sol/LedgerBookkeeper.js +1 -0
  267. package/dist/typechain/out/Bookkeeper.sol/index.d.ts +1 -0
  268. package/dist/typechain/out/Bookkeeper.sol/index.js +1 -0
  269. package/dist/typechain/out/Checkpoint.sol/CheckpointController.d.ts +29 -0
  270. package/dist/typechain/out/Checkpoint.sol/CheckpointController.js +1 -0
  271. package/dist/typechain/out/Checkpoint.sol/index.d.ts +1 -0
  272. package/dist/typechain/out/Checkpoint.sol/index.js +1 -0
  273. package/dist/typechain/out/Closure.sol/ClosureController.d.ts +273 -0
  274. package/dist/typechain/out/Closure.sol/ClosureController.js +1 -0
  275. package/dist/typechain/out/Closure.sol/index.d.ts +1 -0
  276. package/dist/typechain/out/Closure.sol/index.js +1 -0
  277. package/dist/typechain/out/ContextBuilder.d.ts +403 -0
  278. package/dist/typechain/out/ContextBuilder.js +1 -0
  279. package/dist/typechain/out/Control.sol/Controllable.d.ts +97 -0
  280. package/dist/typechain/out/Control.sol/Controllable.js +1 -0
  281. package/dist/typechain/out/Control.sol/Controller.d.ts +25 -0
  282. package/dist/typechain/out/Control.sol/Controller.js +1 -0
  283. package/dist/typechain/out/Control.sol/index.d.ts +2 -0
  284. package/dist/typechain/out/Control.sol/index.js +1 -0
  285. package/dist/typechain/out/Controller.sol/ClosureDelegate.d.ts +61 -0
  286. package/dist/typechain/out/Controller.sol/ClosureDelegate.js +1 -0
  287. package/dist/typechain/out/Controller.sol/CreationDelegate.d.ts +61 -0
  288. package/dist/typechain/out/Controller.sol/CreationDelegate.js +1 -0
  289. package/dist/typechain/out/Controller.sol/DepositDelegate.d.ts +56 -0
  290. package/dist/typechain/out/Controller.sol/DepositDelegate.js +1 -0
  291. package/dist/typechain/out/Controller.sol/FundController.d.ts +464 -0
  292. package/dist/typechain/out/Controller.sol/FundController.js +1 -0
  293. package/dist/typechain/out/Controller.sol/HarvestDelegate.d.ts +163 -0
  294. package/dist/typechain/out/Controller.sol/HarvestDelegate.js +1 -0
  295. package/dist/typechain/out/Controller.sol/TradeDelegate.d.ts +67 -0
  296. package/dist/typechain/out/Controller.sol/TradeDelegate.js +1 -0
  297. package/dist/typechain/out/Controller.sol/TransferDelegate.d.ts +37 -0
  298. package/dist/typechain/out/Controller.sol/TransferDelegate.js +1 -0
  299. package/dist/typechain/out/Controller.sol/WithdrawalDelegate.d.ts +53 -0
  300. package/dist/typechain/out/Controller.sol/WithdrawalDelegate.js +1 -0
  301. package/dist/typechain/out/Controller.sol/index.d.ts +8 -0
  302. package/dist/typechain/out/Controller.sol/index.js +1 -0
  303. package/dist/typechain/out/Cooldown.sol/LedgerCooldown.d.ts +446 -0
  304. package/dist/typechain/out/Cooldown.sol/LedgerCooldown.js +1 -0
  305. package/dist/typechain/out/Cooldown.sol/index.d.ts +1 -0
  306. package/dist/typechain/out/Cooldown.sol/index.js +1 -0
  307. package/dist/typechain/out/Creation.sol/CreationController.d.ts +102 -0
  308. package/dist/typechain/out/Creation.sol/CreationController.js +1 -0
  309. package/dist/typechain/out/Creation.sol/index.d.ts +1 -0
  310. package/dist/typechain/out/Creation.sol/index.js +1 -0
  311. package/dist/typechain/out/Deposit.sol/DepositController.d.ts +68 -0
  312. package/dist/typechain/out/Deposit.sol/DepositController.js +1 -0
  313. package/dist/typechain/out/Deposit.sol/index.d.ts +1 -0
  314. package/dist/typechain/out/Deposit.sol/index.js +1 -0
  315. package/dist/typechain/out/Error.d.ts +20 -0
  316. package/dist/typechain/out/Error.js +1 -0
  317. package/dist/typechain/out/Harvest.sol/HarvestController.d.ts +241 -0
  318. package/dist/typechain/out/Harvest.sol/HarvestController.js +1 -0
  319. package/dist/typechain/out/Harvest.sol/index.d.ts +1 -0
  320. package/dist/typechain/out/Harvest.sol/index.js +1 -0
  321. package/dist/typechain/out/IAerodromeRouter.d.ts +80 -0
  322. package/dist/typechain/out/IAerodromeRouter.js +1 -0
  323. package/dist/typechain/out/IAerodromeSwapRouter.d.ts +96 -0
  324. package/dist/typechain/out/IAerodromeSwapRouter.js +1 -0
  325. package/dist/typechain/out/IUniswapV4.sol/IPermit2.d.ts +39 -0
  326. package/dist/typechain/out/IUniswapV4.sol/IPermit2.js +1 -0
  327. package/dist/typechain/out/IUniswapV4.sol/IUniversalRouter.d.ts +37 -0
  328. package/dist/typechain/out/IUniswapV4.sol/IUniversalRouter.js +1 -0
  329. package/dist/typechain/out/IUniswapV4.sol/index.d.ts +2 -0
  330. package/dist/typechain/out/IUniswapV4.sol/index.js +1 -0
  331. package/dist/typechain/out/IV0Fund.d.ts +69 -0
  332. package/dist/typechain/out/IV0Fund.js +1 -0
  333. package/dist/typechain/out/IV3SwapRouter.d.ts +52 -0
  334. package/dist/typechain/out/IV3SwapRouter.js +1 -0
  335. package/dist/typechain/out/Initializer.sol/LedgerInitializer.d.ts +379 -0
  336. package/dist/typechain/out/Initializer.sol/LedgerInitializer.js +1 -0
  337. package/dist/typechain/out/Initializer.sol/VaultInitializer.d.ts +129 -0
  338. package/dist/typechain/out/Initializer.sol/VaultInitializer.js +1 -0
  339. package/dist/typechain/out/Initializer.sol/index.d.ts +2 -0
  340. package/dist/typechain/out/Initializer.sol/index.js +1 -0
  341. package/dist/typechain/out/Ledger.sol/FundLedger.d.ts +926 -0
  342. package/dist/typechain/out/Ledger.sol/FundLedger.js +1 -0
  343. package/dist/typechain/out/Ledger.sol/index.d.ts +1 -0
  344. package/dist/typechain/out/Ledger.sol/index.js +1 -0
  345. package/dist/typechain/out/LotusP2P.d.ts +610 -0
  346. package/dist/typechain/out/LotusP2P.js +1 -0
  347. package/dist/typechain/out/MulticallStatic.d.ts +25 -0
  348. package/dist/typechain/out/MulticallStatic.js +1 -0
  349. package/dist/typechain/out/Operator.sol/VaultOperator.d.ts +197 -0
  350. package/dist/typechain/out/Operator.sol/VaultOperator.js +1 -0
  351. package/dist/typechain/out/Operator.sol/index.d.ts +1 -0
  352. package/dist/typechain/out/Operator.sol/index.js +1 -0
  353. package/dist/typechain/out/P2PAdapter.d.ts +100 -0
  354. package/dist/typechain/out/P2PAdapter.js +1 -0
  355. package/dist/typechain/out/Protocol.d.ts +815 -0
  356. package/dist/typechain/out/Protocol.js +1 -0
  357. package/dist/typechain/out/ProtocolMigrationExtension.d.ts +806 -0
  358. package/dist/typechain/out/ProtocolMigrationExtension.js +1 -0
  359. package/dist/typechain/out/ProtocolProvider.d.ts +25 -0
  360. package/dist/typechain/out/ProtocolProvider.js +1 -0
  361. package/dist/typechain/out/Registrar.sol/LedgerRegistrar.d.ts +866 -0
  362. package/dist/typechain/out/Registrar.sol/LedgerRegistrar.js +1 -0
  363. package/dist/typechain/out/Registrar.sol/index.d.ts +1 -0
  364. package/dist/typechain/out/Registrar.sol/index.js +1 -0
  365. package/dist/typechain/out/Settings.sol/SettingsController.d.ts +97 -0
  366. package/dist/typechain/out/Settings.sol/SettingsController.js +1 -0
  367. package/dist/typechain/out/Settings.sol/index.d.ts +1 -0
  368. package/dist/typechain/out/Settings.sol/index.js +1 -0
  369. package/dist/typechain/out/Shares.sol/ICheckpointController.d.ts +29 -0
  370. package/dist/typechain/out/Shares.sol/ICheckpointController.js +1 -0
  371. package/dist/typechain/out/Shares.sol/ITransferController.d.ts +37 -0
  372. package/dist/typechain/out/Shares.sol/ITransferController.js +1 -0
  373. package/dist/typechain/out/Shares.sol/LedgerShares.d.ts +494 -0
  374. package/dist/typechain/out/Shares.sol/LedgerShares.js +1 -0
  375. package/dist/typechain/out/Shares.sol/index.d.ts +3 -0
  376. package/dist/typechain/out/Shares.sol/index.js +1 -0
  377. package/dist/typechain/out/SignatureVerifier.d.ts +139 -0
  378. package/dist/typechain/out/SignatureVerifier.js +1 -0
  379. package/dist/typechain/out/Storage.sol/LedgerStorage.d.ts +281 -0
  380. package/dist/typechain/out/Storage.sol/LedgerStorage.js +1 -0
  381. package/dist/typechain/out/Storage.sol/index.d.ts +1 -0
  382. package/dist/typechain/out/Storage.sol/index.js +1 -0
  383. package/dist/typechain/out/Trade.sol/TradeController.d.ts +137 -0
  384. package/dist/typechain/out/Trade.sol/TradeController.js +1 -0
  385. package/dist/typechain/out/Trade.sol/index.d.ts +1 -0
  386. package/dist/typechain/out/Trade.sol/index.js +1 -0
  387. package/dist/typechain/out/Transfer.sol/TransferController.d.ts +49 -0
  388. package/dist/typechain/out/Transfer.sol/TransferController.js +1 -0
  389. package/dist/typechain/out/Transfer.sol/index.d.ts +1 -0
  390. package/dist/typechain/out/Transfer.sol/index.js +1 -0
  391. package/dist/typechain/out/UniswapV2Adapter.d.ts +87 -0
  392. package/dist/typechain/out/UniswapV2Adapter.js +1 -0
  393. package/dist/typechain/out/UniswapV3Adapter.d.ts +87 -0
  394. package/dist/typechain/out/UniswapV3Adapter.js +1 -0
  395. package/dist/typechain/out/UniswapV3SwapRouter02Adapter.d.ts +87 -0
  396. package/dist/typechain/out/UniswapV3SwapRouter02Adapter.js +1 -0
  397. package/dist/typechain/out/UniswapV4Adapter.d.ts +110 -0
  398. package/dist/typechain/out/UniswapV4Adapter.js +1 -0
  399. package/dist/typechain/out/V0ToLotusMigrator.d.ts +94 -0
  400. package/dist/typechain/out/V0ToLotusMigrator.js +1 -0
  401. package/dist/typechain/out/Vault.sol/FundVault.d.ts +197 -0
  402. package/dist/typechain/out/Vault.sol/FundVault.js +1 -0
  403. package/dist/typechain/out/Vault.sol/index.d.ts +1 -0
  404. package/dist/typechain/out/Vault.sol/index.js +1 -0
  405. package/dist/typechain/out/Withdrawal.sol/WithdrawalController.d.ts +152 -0
  406. package/dist/typechain/out/Withdrawal.sol/WithdrawalController.js +1 -0
  407. package/dist/typechain/out/Withdrawal.sol/index.d.ts +1 -0
  408. package/dist/typechain/out/Withdrawal.sol/index.js +1 -0
  409. package/dist/typechain/out/index.d.ts +65 -0
  410. package/dist/typechain/out/index.js +1 -0
  411. package/dist/types/Fund.d.ts +27 -0
  412. package/dist/types/Fund.js +1 -0
  413. package/package.json +67 -0
@@ -0,0 +1,527 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [
6
+ {
7
+ name: "protocolAddress",
8
+ type: "address",
9
+ internalType: "address payable",
10
+ },
11
+ ],
12
+ stateMutability: "nonpayable",
13
+ },
14
+ {
15
+ type: "function",
16
+ name: "computeHarvestableFees",
17
+ inputs: [
18
+ {
19
+ name: "ctx",
20
+ type: "tuple",
21
+ internalType: "struct HarvestContext",
22
+ components: [
23
+ {
24
+ name: "harvest",
25
+ type: "tuple",
26
+ internalType: "struct Harvest",
27
+ components: [
28
+ {
29
+ name: "ledger",
30
+ type: "address",
31
+ internalType: "contract FundLedger",
32
+ },
33
+ {
34
+ name: "coin",
35
+ type: "address",
36
+ internalType: "contract IERC20",
37
+ },
38
+ {
39
+ name: "fraction",
40
+ type: "uint64",
41
+ internalType: "uint64",
42
+ },
43
+ {
44
+ name: "isManagementFeeEligible",
45
+ type: "bool",
46
+ internalType: "bool",
47
+ },
48
+ {
49
+ name: "extCalls",
50
+ type: "tuple[]",
51
+ internalType: "struct ExternalCall[]",
52
+ components: [
53
+ {
54
+ name: "adapter",
55
+ type: "address",
56
+ internalType: "address",
57
+ },
58
+ {
59
+ name: "callData",
60
+ type: "bytes",
61
+ internalType: "bytes",
62
+ },
63
+ ],
64
+ },
65
+ ],
66
+ },
67
+ {
68
+ name: "vault",
69
+ type: "address",
70
+ internalType: "contract FundVault",
71
+ },
72
+ {
73
+ name: "isFinal",
74
+ type: "bool",
75
+ internalType: "bool",
76
+ },
77
+ {
78
+ name: "referrer",
79
+ type: "address",
80
+ internalType: "address",
81
+ },
82
+ {
83
+ name: "coinSlot",
84
+ type: "uint256",
85
+ internalType: "uint256",
86
+ },
87
+ {
88
+ name: "latestManagementFeeTimestamp",
89
+ type: "uint256",
90
+ internalType: "uint256",
91
+ },
92
+ {
93
+ name: "normalizedTvl",
94
+ type: "uint256",
95
+ internalType: "uint256",
96
+ },
97
+ {
98
+ name: "normalizer",
99
+ type: "uint256",
100
+ internalType: "uint256",
101
+ },
102
+ {
103
+ name: "proceeds",
104
+ type: "uint256",
105
+ internalType: "uint256",
106
+ },
107
+ {
108
+ name: "totalSupply",
109
+ type: "uint256",
110
+ internalType: "uint256",
111
+ },
112
+ {
113
+ name: "managerBalance",
114
+ type: "uint256",
115
+ internalType: "uint256",
116
+ },
117
+ {
118
+ name: "ledgerBalance",
119
+ type: "uint256",
120
+ internalType: "uint256",
121
+ },
122
+ {
123
+ name: "totalVirtualPrincipal",
124
+ type: "uint256",
125
+ internalType: "uint256",
126
+ },
127
+ {
128
+ name: "managerProfitFeeBps",
129
+ type: "uint256",
130
+ internalType: "uint256",
131
+ },
132
+ {
133
+ name: "profitFeeBps",
134
+ type: "uint256",
135
+ internalType: "uint256",
136
+ },
137
+ {
138
+ name: "assets",
139
+ type: "address[]",
140
+ internalType: "contract IERC20[]",
141
+ },
142
+ {
143
+ name: "managerFeeBasis",
144
+ type: "uint128",
145
+ internalType: "uint128",
146
+ },
147
+ {
148
+ name: "watermark",
149
+ type: "uint128",
150
+ internalType: "uint128",
151
+ },
152
+ {
153
+ name: "epochBufferDelta",
154
+ type: "uint128",
155
+ internalType: "uint128",
156
+ },
157
+ {
158
+ name: "upcomingEpoch",
159
+ type: "tuple",
160
+ internalType: "struct Epoch",
161
+ components: [
162
+ {
163
+ name: "watermark",
164
+ type: "uint128",
165
+ internalType: "uint128",
166
+ },
167
+ {
168
+ name: "priceBefore",
169
+ type: "uint128",
170
+ internalType: "uint128",
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ name: "fees",
176
+ type: "tuple",
177
+ internalType: "struct HarvestFees",
178
+ components: [
179
+ {
180
+ name: "managerProfitFee",
181
+ type: "uint256",
182
+ internalType: "uint256",
183
+ },
184
+ {
185
+ name: "referrerProfitFee",
186
+ type: "uint256",
187
+ internalType: "uint256",
188
+ },
189
+ {
190
+ name: "managementFee",
191
+ type: "uint256",
192
+ internalType: "uint256",
193
+ },
194
+ ],
195
+ },
196
+ {
197
+ name: "referrerManagementFeeBps",
198
+ type: "uint256",
199
+ internalType: "uint256",
200
+ },
201
+ {
202
+ name: "managerManagementFeeBps",
203
+ type: "uint256",
204
+ internalType: "uint256",
205
+ },
206
+ ],
207
+ },
208
+ {
209
+ name: "blockTimestamp",
210
+ type: "uint256",
211
+ internalType: "uint256",
212
+ },
213
+ ],
214
+ outputs: [
215
+ {
216
+ name: "managerProfitFee",
217
+ type: "uint256",
218
+ internalType: "uint256",
219
+ },
220
+ {
221
+ name: "referrerProfitFee",
222
+ type: "uint256",
223
+ internalType: "uint256",
224
+ },
225
+ {
226
+ name: "managementFee",
227
+ type: "uint256",
228
+ internalType: "uint256",
229
+ },
230
+ {
231
+ name: "netPerShare",
232
+ type: "uint128",
233
+ internalType: "uint128",
234
+ },
235
+ {
236
+ name: "price",
237
+ type: "uint128",
238
+ internalType: "uint128",
239
+ },
240
+ {
241
+ name: "epochBufferDelta",
242
+ type: "uint128",
243
+ internalType: "uint128",
244
+ },
245
+ ],
246
+ stateMutability: "pure",
247
+ },
248
+ {
249
+ type: "function",
250
+ name: "getPendingBalance",
251
+ inputs: [
252
+ {
253
+ name: "account",
254
+ type: "address",
255
+ internalType: "address",
256
+ },
257
+ ],
258
+ outputs: [
259
+ {
260
+ name: "",
261
+ type: "uint256",
262
+ internalType: "uint256",
263
+ },
264
+ ],
265
+ stateMutability: "view",
266
+ },
267
+ {
268
+ type: "function",
269
+ name: "harvest",
270
+ inputs: [
271
+ {
272
+ name: "h",
273
+ type: "tuple",
274
+ internalType: "struct Harvest",
275
+ components: [
276
+ {
277
+ name: "ledger",
278
+ type: "address",
279
+ internalType: "contract FundLedger",
280
+ },
281
+ {
282
+ name: "coin",
283
+ type: "address",
284
+ internalType: "contract IERC20",
285
+ },
286
+ {
287
+ name: "fraction",
288
+ type: "uint64",
289
+ internalType: "uint64",
290
+ },
291
+ {
292
+ name: "isManagementFeeEligible",
293
+ type: "bool",
294
+ internalType: "bool",
295
+ },
296
+ {
297
+ name: "extCalls",
298
+ type: "tuple[]",
299
+ internalType: "struct ExternalCall[]",
300
+ components: [
301
+ {
302
+ name: "adapter",
303
+ type: "address",
304
+ internalType: "address",
305
+ },
306
+ {
307
+ name: "callData",
308
+ type: "bytes",
309
+ internalType: "bytes",
310
+ },
311
+ ],
312
+ },
313
+ ],
314
+ },
315
+ ],
316
+ outputs: [],
317
+ stateMutability: "nonpayable",
318
+ },
319
+ {
320
+ type: "function",
321
+ name: "protocol",
322
+ inputs: [],
323
+ outputs: [
324
+ {
325
+ name: "",
326
+ type: "address",
327
+ internalType: "contract Protocol",
328
+ },
329
+ ],
330
+ stateMutability: "view",
331
+ },
332
+ {
333
+ type: "event",
334
+ name: "Harvested",
335
+ inputs: [
336
+ {
337
+ name: "ledger",
338
+ type: "address",
339
+ indexed: true,
340
+ internalType: "address",
341
+ },
342
+ {
343
+ name: "coin",
344
+ type: "address",
345
+ indexed: false,
346
+ internalType: "address",
347
+ },
348
+ {
349
+ name: "proceeds",
350
+ type: "uint256",
351
+ indexed: false,
352
+ internalType: "uint256",
353
+ },
354
+ {
355
+ name: "managerFee",
356
+ type: "uint256",
357
+ indexed: false,
358
+ internalType: "uint256",
359
+ },
360
+ {
361
+ name: "referrerFee",
362
+ type: "uint256",
363
+ indexed: false,
364
+ internalType: "uint256",
365
+ },
366
+ {
367
+ name: "managerManagementFee",
368
+ type: "uint256",
369
+ indexed: false,
370
+ internalType: "uint256",
371
+ },
372
+ {
373
+ name: "referrerManagementFee",
374
+ type: "uint256",
375
+ indexed: false,
376
+ internalType: "uint256",
377
+ },
378
+ ],
379
+ anonymous: false,
380
+ },
381
+ {
382
+ type: "error",
383
+ name: "HarvestNotEligible",
384
+ inputs: [
385
+ {
386
+ name: "daysFromLastManagementFee",
387
+ type: "uint256",
388
+ internalType: "uint256",
389
+ },
390
+ {
391
+ name: "shareValueNet",
392
+ type: "uint256",
393
+ internalType: "uint256",
394
+ },
395
+ {
396
+ name: "watermark",
397
+ type: "uint256",
398
+ internalType: "uint256",
399
+ },
400
+ ],
401
+ },
402
+ {
403
+ type: "error",
404
+ name: "InsufficientProceeds",
405
+ inputs: [
406
+ {
407
+ name: "expected",
408
+ type: "uint256",
409
+ internalType: "uint256",
410
+ },
411
+ {
412
+ name: "actual",
413
+ type: "uint256",
414
+ internalType: "uint256",
415
+ },
416
+ ],
417
+ },
418
+ {
419
+ type: "error",
420
+ name: "InvalidAddress",
421
+ inputs: [],
422
+ },
423
+ {
424
+ type: "error",
425
+ name: "InvalidLedger",
426
+ inputs: [],
427
+ },
428
+ {
429
+ type: "error",
430
+ name: "ProtocolPaused",
431
+ inputs: [],
432
+ },
433
+ {
434
+ type: "error",
435
+ name: "ReentrancyGuardReentrantCall",
436
+ inputs: [],
437
+ },
438
+ {
439
+ type: "error",
440
+ name: "SafeCastOverflowedUintDowncast",
441
+ inputs: [
442
+ {
443
+ name: "bits",
444
+ type: "uint8",
445
+ internalType: "uint8",
446
+ },
447
+ {
448
+ name: "value",
449
+ type: "uint256",
450
+ internalType: "uint256",
451
+ },
452
+ ],
453
+ },
454
+ {
455
+ type: "error",
456
+ name: "Unauthorized",
457
+ inputs: [],
458
+ },
459
+ {
460
+ type: "error",
461
+ name: "UnexpectedSwapsAmount",
462
+ inputs: [
463
+ {
464
+ name: "expected",
465
+ type: "uint256",
466
+ internalType: "uint256",
467
+ },
468
+ {
469
+ name: "actual",
470
+ type: "uint256",
471
+ internalType: "uint256",
472
+ },
473
+ ],
474
+ },
475
+ {
476
+ type: "error",
477
+ name: "UnsupportedTarget",
478
+ inputs: [
479
+ {
480
+ name: "target",
481
+ type: "address",
482
+ internalType: "address",
483
+ },
484
+ ],
485
+ },
486
+ ];
487
+ const _bytecode = "0x60a060405234801561000f575f5ffd5b50604051612f73380380612f7383398101604081905261002e91610068565b806001600160a01b0381166100565760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b031660805250610095565b5f60208284031215610078575f5ffd5b81516001600160a01b038116811461008e575f5ffd5b9392505050565b608051612eb26100c15f395f818160e50152818161013b015281816102530152611b3f0152612eb25ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c80630fa218d21461004e5780633cbf871c1461006357806351d550d2146100b75780638ce74426146100d8575b5f5ffd5b61006161005c366004611d06565b61010f565b005b610076610071366004612150565b61039c565b604080519687526020870195909552938501929092526001600160801b03908116606085015290811660808401521660a082015260c0015b60405180910390f35b6100ca6100c5366004612310565b610562565b6040519081526020016100ae565b6040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016100ae565b61011c6020820182612310565b6040516384145e3960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa158015610180573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a49190612336565b6101c1576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610221919061235c565b6001600160a01b0316336001600160a01b031614610251576040516282b42960e81b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d19190612336565b156102ef57604051634427925560e01b815260040160405180910390fd5b6102f7610583565b6103906103076020840184612310565b60405163039bb3dd60e31b815273__$0e3f7ebf69dd613ebc736beec31cc9b50e$__91631cdd9ee89161034a916001600160a01b03169087905f906004016124a5565b5f60405180830381865af4158015610364573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261038b91908101906127cf565b6105ba565b6103986105ee565b5050565b5f5f5f5f5f5f8761012001515f036103c457505f945084935083925082915081905080610558565b6103ef886101200151670de0b6b3a76400008a60c0015102816103e9576103e9612987565b04610618565b91505f620151808960a0015189038161040a5761040a612987565b049050600781101561041c575f61043d565b8861012001518961016001518a60c00151028161043b5761043b612987565b045b9450505f6104548960c001518a6101800151610654565b8960c001510390505f6127108a6101c0015183028161047557610475612987565b0490505f8a6101200151670de0b6b3a764000083028161049757610497612987565b0490508085039550508961022001516001600160801b0316856001600160801b03161115806104d75750836001600160801b0316856001600160801b0316145b156104ed57505f96508695508591506105589050565b5f61051c856001600160801b03168c61020001516001600160801b03168d6101400151858f6101c00151610666565b90508a6101c001518b6101a00151828403028161053b5761053b612987565b04810189019850888203880197505061055382610618565b925050505b9295509295509295565b5f8061056e33846106ca565b905061057981610c04565b60c0015192915050565b61058b610c6f565b6105b860017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90610caf565b565b8051516105c79033610cb6565b6105d081610d46565b6105d981611116565b6105e281611161565b6105eb81611301565b50565b6105b85f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006105b2565b5f6001600160801b03821115610650576040516306dfcc6560e41b815260806004820152602481018390526044015b60405180910390fd5b5090565b81818111156106605750805b92915050565b5f5f826106738888610654565b61067d90896129af565b61068791906129c2565b90505f61069e612710670de0b6b3a76400006129c2565b6106a887846129c2565b6106b291906129d9565b90506106be8186610654565b98975050505050505050565b6106d2611c43565b60408051600880825261012082019092525f91816020015b60608152602001906001900390816106ea579050506040805160048152602481019091526020810180516001600160e01b031663027e5f8f60e61b17905281519192509082905f9061073e5761073e6129f8565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b0316636b50985960e11b1790528151829060019081106107a4576107a46129f8565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663900c043560e01b17905281518290600290811061080a5761080a6129f8565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166318160ddd60e01b179052815182906003908110610856576108566129f8565b6020908102919091018101919091526040805160048082526024820190925291820180516001600160e01b03166373d9f6c760e01b179052825183919081106108a1576108a16129f8565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663363b414760e21b179052815182906005908110610907576109076129f8565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166328172be960e21b179052815182906006908110610953576109536129f8565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166327523cf560e11b17905281518290600790811061099f5761099f6129f8565b60200260200101819052505f846001600160a01b031663ac9650d8836040518263ffffffff1660e01b81526004016109d79190612a3a565b5f60405180830381865afa1580156109f1573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a189190810190612a9d565b6001600160a01b03808716855285166040850152805190915081905f90610a4157610a416129f8565b6020026020010151806020019051810190610a5c9190612b4c565b6001600160801b03166020840152805181906001908110610a7f57610a7f6129f8565b6020026020010151806020019051810190610a9a9190612b67565b608084018190526060840152805181906002908110610abb57610abb6129f8565b6020026020010151806020019051810190610ad69190612bcc565b60a0840152805181906003908110610af057610af06129f8565b6020026020010151806020019051810190610b0b9190612bcc565b610100840152805181906004908110610b2657610b266129f8565b6020026020010151806020019051810190610b419190612bcc565b610180840152805181906005908110610b5c57610b5c6129f8565b6020026020010151806020019051810190610b779190612be3565b610160840152805181906006908110610b9257610b926129f8565b6020026020010151806020019051810190610bad9190612b4c565b6001600160801b0316610120840152805181906007908110610bd157610bd16129f8565b6020026020010151806020019051810190610bec9190612b4c565b6001600160801b031661014084015250909392505050565b610c598160a001518260600151602001516001600160681b031683606001515f0151610c309190612c7d565b6001600160801b03168361012001516001600160801b0316846101800151856101600151611602565b6001600160681b031660e083015260c090910152565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c156105b857604051633ee5aeb560e01b815260040160405180910390fd5b80825d5050565b816001600160a01b031663f34fd6c66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610cee575f5ffd5b505af1158015610d00573d5f5f3e3d5ffd5b505f9250610d1a9150506001600160a01b038416836106ca565b9050610d25816117fa565b15610d2f57505050565b610d3881610c04565b610d41816118be565b505050565b805160800151516101e08201515190818114610d7e57604051636f49e71160e11b815260048101929092526024820152604401610647565b505f90505b816101e001515181101561039857815f0151602001516001600160a01b0316826101e001518281518110610db957610db96129f8565b60200260200101516001600160a01b0316031561110e575f5f5f5f5f865f015160200151876101e001518781518110610df457610df46129f8565b602002602001015188602001519250925092505f836001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401610e4391906001600160a01b0391909116815260200190565b602060405180830381865afa158015610e5e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e829190612bcc565b6040516370a0823160e01b81526001600160a01b0384811660048301529192505f918516906370a0823190602401602060405180830381865afa158015610ecb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eef9190612bcc565b9050826001600160a01b0316631cff79cd610f2c8b5f0151608001518b81518110610f1c57610f1c6129f8565b60200260200101515f0151611af5565b8b516080015180518c908110610f4457610f446129f8565b6020026020010151602001516040518363ffffffff1660e01b8152600401610f6d929190612c9c565b5f604051808303815f875af1158015610f88573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faf9190810190612cbf565b506040516370a0823160e01b81526001600160a01b0384811660048301525f91908716906370a0823190602401602060405180830381865afa158015610ff7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101b9190612bcc565b6040516370a0823160e01b81526001600160a01b0386811660048301529192505f918716906370a0823190602401602060405180830381865afa158015611064573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110889190612bcc565b90505f61109585846129af565b9050808c610100018181516110aa9190612cf0565b90525060e08c01516110bc90826129c2565b98505f6110c983866129af565b9050806110d68b856129c2565b6110e091906129d9565b9a5050505050505050505081816110f79190612cf0565b8460c0018181516111089190612cf0565b90525050505b600101610d83565b611120814261039c565b6102808701516102608801516001600160801b0392831661024090990198909852918116602088810191909152921690955260408501919091528301529052565b5f5f82610280015160400151118061117a575081604001515b610220830151610260840151519192506001600160801b0390811691161181806111a15750805b620151808460a00151426111b591906129af565b6111bf91906129d9565b8461026001515f01518561022001519091926112085760405163656bb8f360e01b815260048101939093526001600160801b039182166024840152166044820152606401610647565b505050811561127257825151604051636cd470a160e01b815265ffffffffffff421660048201526001600160a01b0390911690636cd470a1906024015f604051808303815f87803b15801561125b575f5ffd5b505af115801561126d573d5f5f3e3d5ffd5b505050505b8015610d4157825151610260840151610240850151604051630504026560e21b815282516001600160801b03908116600483015260209093015183166024820152911660448201526001600160a01b03909116906314100994906064015f604051808303815f87803b1580156112e6575f5ffd5b505af11580156112f8573d5f5f3e3d5ffd5b50505050505050565b6102808101516040810151602082015191515f9261131e91612cf0565b6113289190612cf0565b610280830151604001519091505f82156115fc578360e0015184610100015161135191906129c2565b831115838560e0015186610100015161136a91906129c2565b909161139257604051637b26817960e01b815260048101929092526024820152604401610647565b5050610280840151805160209091015185516060015180156113bc57505f86610280015160400151115b1561140a57856102c00151866102a001516113d79190612cf0565b866102c00151876102800151604001516113f191906129c2565b6113fb91906129d9565b925061140783856129af565b93505b6114148383612cf0565b91506114208482612cf0565b6040805160028082526060820183529293505f92909160208301908036833750506040805160028082526060820183529394505f939092509060208301908036833701905050905033825f8151811061147b5761147b6129f8565b6001600160a01b039092166020928302919091019091015260e08801516114a290856129d9565b815f815181106114b4576114b46129f8565b6020026020010181815250508760600151826001815181106114d8576114d86129f8565b6001600160a01b039092166020928302919091019091015260e08801516114ff90846129d9565b81600181518110611512576115126129f8565b60200260200101818152505087602001516001600160a01b031663a6a192da895f01516020015184846040518463ffffffff1660e01b815260040161155993929190612d03565b5f604051808303815f87803b158015611570575f5ffd5b505af1158015611582573d5f5f3e3d5ffd5b5050895180516020918201516101008d0151604080516001600160a01b03938416815294850191909152830189905260608301889052608083018a905260a083018b90521692507f508257bcd30bfd100b9d883096ebfebfba683010dfdf4c035422e673d75e2060915060c00160405180910390a2505050505b50505050565b5f5f865f0361161557505f9050806117f0565b82515f0361162757508590505f6117f0565b8691505f5b83518110156117ee575f848281518110611648576116486129f8565b602002602001015190505f836001600160681b0316896116689190612cf0565b90505f8561167e670de0b6b3a7640000846129c2565b61168891906129d9565b90505f6127106116a58386602001516001600160801b0316610654565b85602001516001600160801b03166116bd91906129af565b6116c7908b6129c2565b6116d191906129d9565b90505f8185602001516001600160801b03166116ed91906129af565b85519091506001600160801b0316611705828a6129c2565b61170f91906129d9565b9750875f036117225750505050506117ee565b84516001600160801b03168310801561173a57505f8b115b156117e0575f670de0b6b3a76400006001670de0b6b3a7640000885f01516001600160801b03168c61176c91906129c2565b6117769190612cf0565b61178091906129af565b61178a91906129d9565b905084811161179e575050505050506117e6565b5f6117ba6117b56117af88856129af565b8f610654565b611be2565b90506117c6818a612d9c565b98506117db6001600160681b0382168e6129af565b9c5050505b50505050505b60010161162c565b505b9550959350505050565b5f8160a001515f036118a2576118138260200151611c15565b60808301805161ffff909216604092830152835182850151606086015192516101208701516101408801519551639df11ab760e01b81526001600160a01b0390941695639df11ab79561186d959093929190600401612dbb565b5f604051808303815f87803b158015611884575f5ffd5b505af1158015611896573d5f5f3e3d5ffd5b50600195945050505050565b816101600151515f036118b757506001919050565b505f919050565b8060a001518160c001511115611956575f8160a001518260c001516118e391906129af565b82516040808501519051630ab714fb60e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063156e29f6906064015f604051808303815f87803b15801561193a575f5ffd5b505af115801561194c573d5f5f3e3d5ffd5b50505050506119da565b5f8160c001518260a0015161196b91906129af565b82516040808501519051637a94c56560e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063f5298aca906064015f604051808303815f87803b1580156119c2575f5ffd5b505af11580156119d4573d5f5f3e3d5ffd5b50505050505b6119e78160200151611c15565b60808201805161ffff90921660409092019190915260e082015190516020018051611a13908390612d9c565b6001600160681b0390811690915260e083015161014084018051919092169250611a3e908390612c7d565b6001600160801b031690525060e0810151610120820180516001600160681b0390921691611a6d908390612e5d565b6001600160801b03169052508051604080830151606084015160808501516101208601516101408701519451639df11ab760e01b81526001600160a01b0390961695639df11ab795611ac59594939291600401612dbb565b5f604051808303815f87803b158015611adc575f5ffd5b505af1158015611aee573d5f5f3e3d5ffd5b5050505050565b5f7ffd6a22fca1b8aab27e58b7109329acb92b4151a8d03eb41f5fbf011dd22e17008201805c80611bda57604051634b5d45dd60e11b81526001600160a01b0385811660048301527f000000000000000000000000000000000000000000000000000000000000000016906396ba8bba90602401602060405180830381865afa158015611b84573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba89190612336565b90508381611bd55760405163fd9d0fa360e01b81526001600160a01b039091166004820152602401610647565b5080825d5b509192915050565b5f6001600160681b03821115610650576040516306dfcc6560e41b81526068600482015260248101839052604401610647565b5f61ffff821115610650576040516306dfcc6560e41b81526010600482015260248101839052604401610647565b604051806101a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b03168152602001611c95604080516060810182525f808252602082018190529181019190915290565b8152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f6001600160681b031681526020015f81526020015f6001600160801b031681526020015f6001600160801b03168152602001606081526020015f81525090565b5f60208284031215611d16575f5ffd5b81356001600160401b03811115611d2b575f5ffd5b820160a08185031215611d3c575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715611d7957611d79611d43565b60405290565b604080519081016001600160401b0381118282101715611d7957611d79611d43565b604051606081016001600160401b0381118282101715611d7957611d79611d43565b6040516102e081016001600160401b0381118282101715611d7957611d79611d43565b604051601f8201601f191681016001600160401b0381118282101715611e0e57611e0e611d43565b604052919050565b6001600160a01b03811681146105eb575f5ffd5b6001600160401b03811681146105eb575f5ffd5b80151581146105eb575f5ffd5b8035611e5681611e3e565b919050565b5f6001600160401b03821115611e7357611e73611d43565b5060051b60200190565b8035611e5681611e16565b5f6001600160401b03821115611ea057611ea0611d43565b50601f01601f191660200190565b5f60a08284031215611ebe575f5ffd5b611ec6611d57565b90508135611ed381611e16565b81526020820135611ee381611e16565b60208201526040820135611ef681611e2a565b60408201526060820135611f0981611e3e565b606082015260808201356001600160401b03811115611f26575f5ffd5b8201601f81018413611f36575f5ffd5b8035611f49611f4482611e5b565b611de6565b8082825260208201915060208360051b850101925086831115611f6a575f5ffd5b602084015b8381101561203a5780356001600160401b03811115611f8c575f5ffd5b85016040818a03601f19011215611fa1575f5ffd5b611fa9611d7f565b6020820135611fb781611e16565b815260408201356001600160401b03811115611fd1575f5ffd5b60208184010192505089601f830112611fe8575f5ffd5b8135611ff6611f4482611e88565b8181528b602083860101111561200a575f5ffd5b816020850160208301375f6020838301015280602084015250508085525050602083019250602081019050611f6f565b5060808501525091949350505050565b5f82601f830112612059575f5ffd5b8135612067611f4482611e5b565b8082825260208201915060208360051b860101925085831115612088575f5ffd5b602085015b838110156120ae5780356120a081611e16565b83526020928301920161208d565b5095945050505050565b6001600160801b03811681146105eb575f5ffd5b8035611e56816120b8565b5f604082840312156120e7575f5ffd5b6120ef611d7f565b905081356120fc816120b8565b8152602082013561210c816120b8565b602082015292915050565b5f60608284031215612127575f5ffd5b61212f611da1565b82358152602080840135908201526040928301359281019290925250919050565b5f5f60408385031215612161575f5ffd5b82356001600160401b03811115612176575f5ffd5b83016103408186031215612188575f5ffd5b612190611dc3565b81356001600160401b038111156121a5575f5ffd5b6121b187828501611eae565b8252506121c060208301611e7d565b60208201526121d160408301611e4b565b60408201526121e260608301611e7d565b60608201526080828101359082015260a0808301359082015260c0808301359082015260e08083013590820152610100808301359082015261012080830135908201526101408083013590820152610160808301359082015261018080830135908201526101a080830135908201526101c080830135908201526101e08201356001600160401b03811115612275575f5ffd5b6122818782850161204a565b6101e08301525061229561020083016120cc565b6102008201526122a861022083016120cc565b6102208201526122bb61024083016120cc565b6102408201526122cf8661026084016120d7565b6102608201526122e3866102a08401612117565b6102808201526103008201356102a0820152610320909101356102c0820152946020939093013593505050565b5f60208284031215612320575f5ffd5b8135611d3c81611e16565b8051611e5681611e3e565b5f60208284031215612346575f5ffd5b8151611d3c81611e3e565b8051611e5681611e16565b5f6020828403121561236c575f5ffd5b8151611d3c81611e16565b5f5f8335601e1984360301811261238c575f5ffd5b83016020810192503590506001600160401b038111156123aa575f5ffd5b8060051b36038213156123bb575f5ffd5b9250929050565b5f8383855260208501945060208460051b820101835f5b8681101561249957838303601f19018852813536879003603e190181126123fe575f5ffd5b8601803561240b81611e16565b6001600160a01b03168452602081013536829003601e1901811261242d575f5ffd5b016020810190356001600160401b03811115612447575f5ffd5b803603821315612455575f5ffd5b60406020860152806040860152808260608701375f606082870101526060601f19601f830116860101945050506020820191506020880197506001810190506123d9565b50909695505050505050565b6001600160a01b0384168152606060208201525f83356124c481611e16565b6001600160a01b0316606083015260208401356124e081611e16565b6001600160a01b0316608083015260408401356124fc81611e2a565b6001600160401b031660a0830152606084013561251881611e3e565b151560c083015261252c6080850185612377565b60a060e0850152612542610100850182846123c2565b92505050612554604083018415159052565b949350505050565b5f82601f83011261256b575f5ffd5b8151612579611f4482611e88565b81815284602083860101111561258d575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60a082840312156125b9575f5ffd5b6125c1611d57565b905081516125ce81611e16565b815260208201516125de81611e16565b602082015260408201516125f181611e2a565b6040820152606082015161260481611e3e565b606082015260808201516001600160401b03811115612621575f5ffd5b8201601f81018413612631575f5ffd5b805161263f611f4482611e5b565b8082825260208201915060208360051b850101925086831115612660575f5ffd5b602084015b8381101561203a5780516001600160401b03811115612682575f5ffd5b85016040818a03601f19011215612697575f5ffd5b61269f611d7f565b60208201516126ad81611e16565b815260408201516001600160401b038111156126c7575f5ffd5b6126d68b60208386010161255c565b6020830152508085525050602083019250602081019050612665565b5f82601f830112612701575f5ffd5b815161270f611f4482611e5b565b8082825260208201915060208360051b860101925085831115612730575f5ffd5b602085015b838110156120ae57805161274881611e16565b835260209283019201612735565b8051611e56816120b8565b5f60408284031215612771575f5ffd5b612779611d7f565b90508151612786816120b8565b8152602082015161210c816120b8565b5f606082840312156127a6575f5ffd5b6127ae611da1565b82518152602080840151908201526040928301519281019290925250919050565b5f602082840312156127df575f5ffd5b81516001600160401b038111156127f4575f5ffd5b82016103408185031215612806575f5ffd5b61280e611dc3565b81516001600160401b03811115612823575f5ffd5b61282f868285016125a9565b82525061283e60208301612351565b602082015261284f6040830161232b565b604082015261286060608301612351565b60608201526080828101519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c080830151908201526101e08201516001600160401b038111156128f3575f5ffd5b6128ff868285016126f2565b6101e0830152506129136102008301612756565b6102008201526129266102208301612756565b6102208201526129396102408301612756565b61024082015261294d856102608401612761565b610260820152612961856102a08401612796565b6102808201526103008201516102a0820152610320909101516102c08201529392505050565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156106605761066061299b565b80820281158282048414176106605761066061299b565b5f826129f357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612a9157603f19878603018452612a7c858351612a0c565b94506020938401939190910190600101612a60565b50929695505050505050565b5f60208284031215612aad575f5ffd5b81516001600160401b03811115612ac2575f5ffd5b8201601f81018413612ad2575f5ffd5b8051612ae0611f4482611e5b565b8082825260208201915060208360051b850101925086831115612b01575f5ffd5b602084015b83811015612b415780516001600160401b03811115612b23575f5ffd5b612b328960208389010161255c565b84525060209283019201612b06565b509695505050505050565b5f60208284031215612b5c575f5ffd5b8151611d3c816120b8565b5f6060828403128015612b78575f5ffd5b50612b81611da1565b8251612b8c816120b8565b815260208301516001600160681b0381168114612ba7575f5ffd5b6020820152604083015161ffff81168114612bc0575f5ffd5b60408201529392505050565b5f60208284031215612bdc575f5ffd5b5051919050565b5f60208284031215612bf3575f5ffd5b81516001600160401b03811115612c08575f5ffd5b8201601f81018413612c18575f5ffd5b8051612c26611f4482611e5b565b8082825260208201915060208360061b850101925086831115612c47575f5ffd5b6020840193505b82841015612c7357612c608785612761565b8252602082019150604084019350612c4e565b9695505050505050565b6001600160801b0381811683821601908111156106605761066061299b565b6001600160a01b03831681526040602082018190525f9061255490830184612a0c565b5f60208284031215612ccf575f5ffd5b81516001600160401b03811115612ce4575f5ffd5b6125548482850161255c565b808201808211156106605761066061299b565b6001600160a01b03841681526060602080830182905284519183018290525f91908501906080840190835b81811015612d555783516001600160a01b0316835260209384019390920191600101612d2e565b50508381036040850152845180825260209182019250908501905f5b81811015612d8f578251845260209384019390920191600101612d71565b5091979650505050505050565b6001600160681b0381811683821601908111156106605761066061299b565b6001600160a01b03861681526101208101612e03602083018780516001600160801b031682526020808201516001600160681b03169083015260409081015161ffff16910152565b84516001600160801b0316608083015260208501516001600160681b031660a0830152604085015161ffff1660c08301526001600160801b03841660e08301526001600160801b0383166101008301529695505050505050565b6001600160801b0382811682821603908111156106605761066061299b56fea264697066735822122014ef97fe4b6d5a4e9db613a92b67421bb276f0922a697059269dd527eb82c17a64736f6c634300081e0033";
488
+ const isSuperArgs = (xs) => {
489
+ return (typeof xs[0] === "string" ||
490
+ Array.isArray(xs[0]) ||
491
+ "_isInterface" in xs[0]);
492
+ };
493
+ export class HarvestController__factory extends ContractFactory {
494
+ constructor(...args) {
495
+ if (isSuperArgs(args)) {
496
+ super(...args);
497
+ }
498
+ else {
499
+ const [linkLibraryAddresses, signer] = args;
500
+ super(_abi, HarvestController__factory.linkBytecode(linkLibraryAddresses), signer);
501
+ }
502
+ }
503
+ static linkBytecode(linkLibraryAddresses) {
504
+ let linkedBytecode = _bytecode;
505
+ linkedBytecode = linkedBytecode.replace(new RegExp("__\\$0e3f7ebf69dd613ebc736beec31cc9b50e\\$__", "g"), linkLibraryAddresses["src/lib/ContextBuilder.sol:ContextBuilder"]
506
+ .replace(/^0x/, "")
507
+ .toLowerCase());
508
+ return linkedBytecode;
509
+ }
510
+ getDeployTransaction(protocolAddress, overrides) {
511
+ return super.getDeployTransaction(protocolAddress, overrides || {});
512
+ }
513
+ deploy(protocolAddress, overrides) {
514
+ return super.deploy(protocolAddress, overrides || {});
515
+ }
516
+ connect(runner) {
517
+ return super.connect(runner);
518
+ }
519
+ static bytecode = _bytecode;
520
+ static abi = _abi;
521
+ static createInterface() {
522
+ return new Interface(_abi);
523
+ }
524
+ static connect(address, runner) {
525
+ return new Contract(address, _abi, runner);
526
+ }
527
+ }
@@ -0,0 +1 @@
1
+ export { HarvestController__factory } from "./HarvestController__factory";
@@ -0,0 +1 @@
1
+ export { HarvestController__factory } from "./HarvestController__factory.js";
@@ -0,0 +1,85 @@
1
+ import { type ContractRunner } from "ethers";
2
+ import type { IAerodromeRouter, IAerodromeRouterInterface } from "../../out/IAerodromeRouter";
3
+ export declare class IAerodromeRouter__factory {
4
+ static readonly abi: readonly [{
5
+ readonly type: "function";
6
+ readonly name: "getAmountsOut";
7
+ readonly inputs: readonly [{
8
+ readonly name: "amountIn";
9
+ readonly type: "uint256";
10
+ readonly internalType: "uint256";
11
+ }, {
12
+ readonly name: "routes";
13
+ readonly type: "tuple[]";
14
+ readonly internalType: "struct IAerodromeRouter.Route[]";
15
+ readonly components: readonly [{
16
+ readonly name: "from";
17
+ readonly type: "address";
18
+ readonly internalType: "address";
19
+ }, {
20
+ readonly name: "to";
21
+ readonly type: "address";
22
+ readonly internalType: "address";
23
+ }, {
24
+ readonly name: "stable";
25
+ readonly type: "bool";
26
+ readonly internalType: "bool";
27
+ }, {
28
+ readonly name: "factory";
29
+ readonly type: "address";
30
+ readonly internalType: "address";
31
+ }];
32
+ }];
33
+ readonly outputs: readonly [{
34
+ readonly name: "amounts";
35
+ readonly type: "uint256[]";
36
+ readonly internalType: "uint256[]";
37
+ }];
38
+ readonly stateMutability: "view";
39
+ }, {
40
+ readonly type: "function";
41
+ readonly name: "swapExactTokensForTokensSupportingFeeOnTransferTokens";
42
+ readonly inputs: readonly [{
43
+ readonly name: "amountIn";
44
+ readonly type: "uint256";
45
+ readonly internalType: "uint256";
46
+ }, {
47
+ readonly name: "amountOutMin";
48
+ readonly type: "uint256";
49
+ readonly internalType: "uint256";
50
+ }, {
51
+ readonly name: "routes";
52
+ readonly type: "tuple[]";
53
+ readonly internalType: "struct IAerodromeRouter.Route[]";
54
+ readonly components: readonly [{
55
+ readonly name: "from";
56
+ readonly type: "address";
57
+ readonly internalType: "address";
58
+ }, {
59
+ readonly name: "to";
60
+ readonly type: "address";
61
+ readonly internalType: "address";
62
+ }, {
63
+ readonly name: "stable";
64
+ readonly type: "bool";
65
+ readonly internalType: "bool";
66
+ }, {
67
+ readonly name: "factory";
68
+ readonly type: "address";
69
+ readonly internalType: "address";
70
+ }];
71
+ }, {
72
+ readonly name: "to";
73
+ readonly type: "address";
74
+ readonly internalType: "address";
75
+ }, {
76
+ readonly name: "deadline";
77
+ readonly type: "uint256";
78
+ readonly internalType: "uint256";
79
+ }];
80
+ readonly outputs: readonly [];
81
+ readonly stateMutability: "nonpayable";
82
+ }];
83
+ static createInterface(): IAerodromeRouterInterface;
84
+ static connect(address: string, runner?: ContractRunner | null): IAerodromeRouter;
85
+ }