@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 @@
1
+ export { LedgerBookkeeper__factory } from "./LedgerBookkeeper__factory";
@@ -0,0 +1 @@
1
+ export { LedgerBookkeeper__factory } from "./LedgerBookkeeper__factory.js";
@@ -0,0 +1,33 @@
1
+ import { type ContractRunner } from "ethers";
2
+ import type { CheckpointController, CheckpointControllerInterface } from "../../../out/Checkpoint.sol/CheckpointController";
3
+ export declare class CheckpointController__factory {
4
+ static readonly abi: readonly [{
5
+ readonly type: "function";
6
+ readonly name: "getPendingBalance";
7
+ readonly inputs: readonly [{
8
+ readonly name: "account";
9
+ readonly type: "address";
10
+ readonly internalType: "address";
11
+ }];
12
+ readonly outputs: readonly [{
13
+ readonly name: "";
14
+ readonly type: "uint256";
15
+ readonly internalType: "uint256";
16
+ }];
17
+ readonly stateMutability: "view";
18
+ }, {
19
+ readonly type: "error";
20
+ readonly name: "SafeCastOverflowedUintDowncast";
21
+ readonly inputs: readonly [{
22
+ readonly name: "bits";
23
+ readonly type: "uint8";
24
+ readonly internalType: "uint8";
25
+ }, {
26
+ readonly name: "value";
27
+ readonly type: "uint256";
28
+ readonly internalType: "uint256";
29
+ }];
30
+ }];
31
+ static createInterface(): CheckpointControllerInterface;
32
+ static connect(address: string, runner?: ContractRunner | null): CheckpointController;
33
+ }
@@ -0,0 +1,47 @@
1
+ import { Contract, Interface } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "function",
5
+ name: "getPendingBalance",
6
+ inputs: [
7
+ {
8
+ name: "account",
9
+ type: "address",
10
+ internalType: "address",
11
+ },
12
+ ],
13
+ outputs: [
14
+ {
15
+ name: "",
16
+ type: "uint256",
17
+ internalType: "uint256",
18
+ },
19
+ ],
20
+ stateMutability: "view",
21
+ },
22
+ {
23
+ type: "error",
24
+ name: "SafeCastOverflowedUintDowncast",
25
+ inputs: [
26
+ {
27
+ name: "bits",
28
+ type: "uint8",
29
+ internalType: "uint8",
30
+ },
31
+ {
32
+ name: "value",
33
+ type: "uint256",
34
+ internalType: "uint256",
35
+ },
36
+ ],
37
+ },
38
+ ];
39
+ export class CheckpointController__factory {
40
+ static abi = _abi;
41
+ static createInterface() {
42
+ return new Interface(_abi);
43
+ }
44
+ static connect(address, runner) {
45
+ return new Contract(address, _abi, runner);
46
+ }
47
+ }
@@ -0,0 +1 @@
1
+ export { CheckpointController__factory } from "./CheckpointController__factory";
@@ -0,0 +1 @@
1
+ export { CheckpointController__factory } from "./CheckpointController__factory.js";
@@ -0,0 +1,459 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../../../common";
4
+ import type { ClosureController, ClosureControllerInterface } from "../../../out/Closure.sol/ClosureController";
5
+ type ClosureControllerConstructorParams = [linkLibraryAddresses: ClosureControllerLibraryAddresses, signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
+ export declare class ClosureController__factory extends ContractFactory {
7
+ constructor(...args: ClosureControllerConstructorParams);
8
+ static linkBytecode(linkLibraryAddresses: ClosureControllerLibraryAddresses): string;
9
+ getDeployTransaction(protocolAddress: AddressLike, overrides?: NonPayableOverrides & {
10
+ from?: string;
11
+ }): Promise<ContractDeployTransaction>;
12
+ deploy(protocolAddress: AddressLike, overrides?: NonPayableOverrides & {
13
+ from?: string;
14
+ }): Promise<ClosureController & {
15
+ deploymentTransaction(): ContractTransactionResponse;
16
+ }>;
17
+ connect(runner: ContractRunner | null): ClosureController__factory;
18
+ static readonly bytecode = "0x60a060405234801561000f575f5ffd5b50604051613c76380380613c7683398101604081905261002e9161006b565b80806001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0316608052506100989050565b5f6020828403121561007b575f5ffd5b81516001600160a01b0381168114610091575f5ffd5b9392505050565b608051613b876100ef5f395f818161010e015281816101770152818161028f015281816105c10152818161065f0152818161072e015281816108c801528181610a4301528181610b5b01526126350152613b875ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80630fa218d2146100645780633cbf871c1461007957806351d550d2146100cd578063695c179c146100ee5780638ce7442614610101578063981da12f14610138575b5f5ffd5b6100776100723660046127fc565b61014b565b005b61008c610087366004612c48565b6103d8565b604080519687526020870195909552938501929092526001600160801b03908116606085015290811660808401521660a082015260c0015b60405180910390f35b6100e06100db366004612e08565b61059e565b6040519081526020016100c4565b6100776100fc366004612e23565b6105bf565b6040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016100c4565b610077610146366004612e5a565b610a17565b6101586020820182612e08565b6040516384145e3960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa1580156101bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e09190612e9b565b6101fd576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610239573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025d9190612ec1565b6001600160a01b0316336001600160a01b03161461028d576040516282b42960e81b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d9190612e9b565b1561032b57604051634427925560e01b815260040160405180910390fd5b610333610dad565b6103cc6103436020840184612e08565b60405163039bb3dd60e31b815273__$0e3f7ebf69dd613ebc736beec31cc9b50e$__91631cdd9ee891610386916001600160a01b03169087905f9060040161300a565b5f60405180830381865af41580156103a0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103c79190810190613344565b610de4565b6103d4610e18565b5050565b5f5f5f5f5f5f8761012001515f0361040057505f945084935083925082915081905080610594565b61042b886101200151670de0b6b3a76400008a60c001510281610425576104256134fc565b04610e42565b91505f620151808960a00151890381610446576104466134fc565b0490506007811015610458575f610479565b8861012001518961016001518a60c001510281610477576104776134fc565b045b9450505f6104908960c001518a6101800151610e79565b8960c001510390505f6127108a6101c001518302816104b1576104b16134fc565b0490505f8a6101200151670de0b6b3a76400008302816104d3576104d36134fc565b0490508085039550508961022001516001600160801b0316856001600160801b03161115806105135750836001600160801b0316856001600160801b0316145b1561052957505f96508695508591506105949050565b5f610558856001600160801b03168c61020001516001600160801b03168d6101400151858f6101c00151610e8b565b90508a6101c001518b6101a001518284030281610577576105776134fc565b04810189019850888203880197505061058f82610e42565b925050505b9295509295509295565b5f806105aa3384610eef565b90506105b581611429565b60c0015192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063f9190612e9b565b1561065d57604051634427925560e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106dd9190612ec1565b6001600160a01b0316336001600160a01b03161461070d576040516282b42960e81b815260040160405180910390fd5b6040516384145e3960e01b81526001600160a01b03808416600483015283917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610775573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107999190612e9b565b6107b6576040516328bb3bf960e21b815260040160405180910390fd5b5f836001600160a01b031663dae2a76c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108179190613510565b65ffffffffffff1690504281808211610851576040516307f674a760e31b8152600481019290925260248201526044015b60405180910390fd5b50505f846001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610890573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b49190612ec1565b9050806001600160a01b031663e58ef8a8857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109469190612ec1565b6040516370a0823160e01b81526001600160a01b0386811660048301528916906370a0823190602401602060405180830381865afa15801561098a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ae9190613535565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156109fa575f5ffd5b505af1158015610a0c573d5f5f3e3d5ffd5b505050505050505050565b610a246020820182612e08565b6040516384145e3960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190612e9b565b610ac9576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190612ec1565b6001600160a01b0316336001600160a01b031614610b59576040516282b42960e81b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd99190612e9b565b15610bf757604051634427925560e01b815260040160405180910390fd5b5f610c056020840184612e08565b6001600160a01b031673__$0e3f7ebf69dd613ebc736beec31cc9b50e$__631cdd9ee890916040518060a00160405280875f016020810190610c479190612e08565b6001600160a01b03168152602001876020016020810190610c689190612e08565b6001600160a01b03168152602001670de0b6b3a76400006001600160401b03168152602001600115158152602001878060400190610ca6919061354c565b610caf91613591565b81525060016040518463ffffffff1660e01b8152600401610cd2939291906135cb565b5f60405180830381865af4158015610cec573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d139190810190613344565b9050610d1e81610de4565b610d288382611494565b610d356020840184612e08565b6001600160a01b031663420ccec1610d536040860160208701612e08565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015b5f604051808303815f87803b158015610d92575f5ffd5b505af1158015610da4573d5f5f3e3d5ffd5b50505050505050565b610db5611792565b610de260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b906117d2565b565b805151610df190336117d9565b610dfa81611869565b610e0381611c39565b610e0c81611c84565b610e1581611df7565b50565b610de25f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610ddc565b5f6001600160801b03821115610e75576040516306dfcc6560e41b81526080600482015260248101839052604401610848565b5090565b8181811115610e855750805b92915050565b5f5f82610e988888610e79565b610ea290896136c9565b610eac91906136dc565b90505f610ec3612710670de0b6b3a76400006136dc565b610ecd87846136dc565b610ed791906136f3565b9050610ee38186610e79565b98975050505050505050565b610ef7612739565b60408051600880825261012082019092525f91816020015b6060815260200190600190039081610f0f579050506040805160048152602481019091526020810180516001600160e01b031663027e5f8f60e61b17905281519192509082905f90610f6357610f63613712565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b0316636b50985960e11b179052815182906001908110610fc957610fc9613712565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663900c043560e01b17905281518290600290811061102f5761102f613712565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166318160ddd60e01b17905281518290600390811061107b5761107b613712565b6020908102919091018101919091526040805160048082526024820190925291820180516001600160e01b03166373d9f6c760e01b179052825183919081106110c6576110c6613712565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663363b414760e21b17905281518290600590811061112c5761112c613712565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166328172be960e21b17905281518290600690811061117857611178613712565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166327523cf560e11b1790528151829060079081106111c4576111c4613712565b60200260200101819052505f846001600160a01b031663ac9650d8836040518263ffffffff1660e01b81526004016111fc9190613726565b5f60405180830381865afa158015611216573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261123d9190810190613789565b6001600160a01b03808716855285166040850152805190915081905f9061126657611266613712565b60200260200101518060200190518101906112819190613838565b6001600160801b031660208401528051819060019081106112a4576112a4613712565b60200260200101518060200190518101906112bf9190613853565b6080840181905260608401528051819060029081106112e0576112e0613712565b60200260200101518060200190518101906112fb9190613535565b60a084015280518190600390811061131557611315613712565b60200260200101518060200190518101906113309190613535565b61010084015280518190600490811061134b5761134b613712565b60200260200101518060200190518101906113669190613535565b61018084015280518190600590811061138157611381613712565b602002602001015180602001905181019061139c91906138b8565b6101608401528051819060069081106113b7576113b7613712565b60200260200101518060200190518101906113d29190613838565b6001600160801b03166101208401528051819060079081106113f6576113f6613712565b60200260200101518060200190518101906114119190613838565b6001600160801b031661014084015250909392505050565b61147e8160a001518260600151602001516001600160681b031683606001515f01516114559190613952565b6001600160801b03168361012001516001600160801b03168461018001518561016001516120f8565b6001600160681b031660e083015260c090910152565b6114aa6114a46020840184612e08565b336117d9565b5f6114bb6040840160208501612e08565b60208301516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015611504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115289190613535565b90505f6115386020850185612e08565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561157c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a09190613535565b90505f83610120015182846115b591906136dc565b6115bf91906136f3565b905083602001516001600160a01b031663e58ef8a88660200160208101906115e79190612e08565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152336024820152604481018490526064015f604051808303815f87803b158015611632575f5ffd5b505af1158015611644573d5f5f3e3d5ffd5b505f92506116589150506020870187612e08565b604051636b50985960e11b81523360048201526001600160a01b03919091169063d6a130b290602401606060405180830381865afa15801561169c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c09190613853565b90506116cf6020870187612e08565b6001600160a01b03166351e9b20f336116ee60408a0160208b01612e08565b8451602086015160405160e086901b6001600160e01b03191681526001600160a01b039485166004820152939092166024840152604483018890526001600160801b031660648301526001600160681b0316608482015260a481018590525f60c4820181905260e4820152610104015f604051808303815f87803b158015611774575f5ffd5b505af1158015611786573d5f5f3e3d5ffd5b50505050505050505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15610de257604051633ee5aeb560e01b815260040160405180910390fd5b80825d5050565b816001600160a01b031663f34fd6c66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611811575f5ffd5b505af1158015611823573d5f5f3e3d5ffd5b505f925061183d9150506001600160a01b03841683610eef565b9050611848816122f0565b1561185257505050565b61185b81611429565b611864816123b4565b505050565b805160800151516101e082015151908181146118a157604051636f49e71160e11b815260048101929092526024820152604401610848565b505f90505b816101e00151518110156103d457815f0151602001516001600160a01b0316826101e0015182815181106118dc576118dc613712565b60200260200101516001600160a01b03160315611c31575f5f5f5f5f865f015160200151876101e00151878151811061191757611917613712565b602002602001015188602001519250925092505f836001600160a01b03166370a08231836040518263ffffffff1660e01b815260040161196691906001600160a01b0391909116815260200190565b602060405180830381865afa158015611981573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a59190613535565b6040516370a0823160e01b81526001600160a01b0384811660048301529192505f918516906370a0823190602401602060405180830381865afa1580156119ee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a129190613535565b9050826001600160a01b0316631cff79cd611a4f8b5f0151608001518b81518110611a3f57611a3f613712565b60200260200101515f01516125eb565b8b516080015180518c908110611a6757611a67613712565b6020026020010151602001516040518363ffffffff1660e01b8152600401611a90929190613971565b5f604051808303815f875af1158015611aab573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ad29190810190613994565b506040516370a0823160e01b81526001600160a01b0384811660048301525f91908716906370a0823190602401602060405180830381865afa158015611b1a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3e9190613535565b6040516370a0823160e01b81526001600160a01b0386811660048301529192505f918716906370a0823190602401602060405180830381865afa158015611b87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bab9190613535565b90505f611bb885846136c9565b9050808c61010001818151611bcd91906139c5565b90525060e08c0151611bdf90826136dc565b98505f611bec83866136c9565b905080611bf98b856136dc565b611c0391906136f3565b9a505050505050505050508181611c1a91906139c5565b8460c001818151611c2b91906139c5565b90525050505b6001016118a6565b611c4381426103d8565b6102808701516102608801516001600160801b0392831661024090990198909852918116602088810191909152921690955260408501919091528301529052565b5f5f826102800151604001511180611c9d575081604001515b610220830151610260840151519192506001600160801b039081169116118180611cc45750805b620151808460a0015142611cd891906136c9565b611ce291906136f3565b8461026001515f0151856102200151909192611d2b5760405163656bb8f360e01b815260048101939093526001600160801b039182166024840152166044820152606401610848565b5050508115611d9557825151604051636cd470a160e01b815265ffffffffffff421660048201526001600160a01b0390911690636cd470a1906024015f604051808303815f87803b158015611d7e575f5ffd5b505af1158015611d90573d5f5f3e3d5ffd5b505050505b801561186457825151610260840151610240850151604051630504026560e21b815282516001600160801b03908116600483015260209093015183166024820152911660448201526001600160a01b0390911690631410099490606401610d7b565b6102808101516040810151602082015191515f92611e14916139c5565b611e1e91906139c5565b610280830151604001519091505f82156120f2578360e00151846101000151611e4791906136dc565b831115838560e00151866101000151611e6091906136dc565b9091611e8857604051637b26817960e01b815260048101929092526024820152604401610848565b505061028084015180516020909101518551606001518015611eb257505f86610280015160400151115b15611f0057856102c00151866102a00151611ecd91906139c5565b866102c0015187610280015160400151611ee791906136dc565b611ef191906136f3565b9250611efd83856136c9565b93505b611f0a83836139c5565b9150611f1684826139c5565b6040805160028082526060820183529293505f92909160208301908036833750506040805160028082526060820183529394505f939092509060208301908036833701905050905033825f81518110611f7157611f71613712565b6001600160a01b039092166020928302919091019091015260e0880151611f9890856136f3565b815f81518110611faa57611faa613712565b602002602001018181525050876060015182600181518110611fce57611fce613712565b6001600160a01b039092166020928302919091019091015260e0880151611ff590846136f3565b8160018151811061200857612008613712565b60200260200101818152505087602001516001600160a01b031663a6a192da895f01516020015184846040518463ffffffff1660e01b815260040161204f939291906139d8565b5f604051808303815f87803b158015612066575f5ffd5b505af1158015612078573d5f5f3e3d5ffd5b5050895180516020918201516101008d0151604080516001600160a01b03938416815294850191909152830189905260608301889052608083018a905260a083018b90521692507f508257bcd30bfd100b9d883096ebfebfba683010dfdf4c035422e673d75e2060915060c00160405180910390a2505050505b50505050565b5f5f865f0361210b57505f9050806122e6565b82515f0361211d57508590505f6122e6565b8691505f5b83518110156122e4575f84828151811061213e5761213e613712565b602002602001015190505f836001600160681b03168961215e91906139c5565b90505f85612174670de0b6b3a7640000846136dc565b61217e91906136f3565b90505f61271061219b8386602001516001600160801b0316610e79565b85602001516001600160801b03166121b391906136c9565b6121bd908b6136dc565b6121c791906136f3565b90505f8185602001516001600160801b03166121e391906136c9565b85519091506001600160801b03166121fb828a6136dc565b61220591906136f3565b9750875f036122185750505050506122e4565b84516001600160801b03168310801561223057505f8b115b156122d6575f670de0b6b3a76400006001670de0b6b3a7640000885f01516001600160801b03168c61226291906136dc565b61226c91906139c5565b61227691906136c9565b61228091906136f3565b9050848111612294575050505050506122dc565b5f6122b06122ab6122a588856136c9565b8f610e79565b6126d8565b90506122bc818a613a71565b98506122d16001600160681b0382168e6136c9565b9c5050505b50505050505b600101612122565b505b9550959350505050565b5f8160a001515f0361239857612309826020015161270b565b60808301805161ffff909216604092830152835182850151606086015192516101208701516101408801519551639df11ab760e01b81526001600160a01b0390941695639df11ab795612363959093929190600401613a90565b5f604051808303815f87803b15801561237a575f5ffd5b505af115801561238c573d5f5f3e3d5ffd5b50600195945050505050565b816101600151515f036123ad57506001919050565b505f919050565b8060a001518160c00151111561244c575f8160a001518260c001516123d991906136c9565b82516040808501519051630ab714fb60e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063156e29f6906064015f604051808303815f87803b158015612430575f5ffd5b505af1158015612442573d5f5f3e3d5ffd5b50505050506124d0565b5f8160c001518260a0015161246191906136c9565b82516040808501519051637a94c56560e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063f5298aca906064015f604051808303815f87803b1580156124b8575f5ffd5b505af11580156124ca573d5f5f3e3d5ffd5b50505050505b6124dd816020015161270b565b60808201805161ffff90921660409092019190915260e082015190516020018051612509908390613a71565b6001600160681b0390811690915260e083015161014084018051919092169250612534908390613952565b6001600160801b031690525060e0810151610120820180516001600160681b0390921691612563908390613b32565b6001600160801b03169052508051604080830151606084015160808501516101208601516101408701519451639df11ab760e01b81526001600160a01b0390961695639df11ab7956125bb9594939291600401613a90565b5f604051808303815f87803b1580156125d2575f5ffd5b505af11580156125e4573d5f5f3e3d5ffd5b5050505050565b5f7ffd6a22fca1b8aab27e58b7109329acb92b4151a8d03eb41f5fbf011dd22e17008201805c806126d057604051634b5d45dd60e11b81526001600160a01b0385811660048301527f000000000000000000000000000000000000000000000000000000000000000016906396ba8bba90602401602060405180830381865afa15801561267a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269e9190612e9b565b905083816126cb5760405163fd9d0fa360e01b81526001600160a01b039091166004820152602401610848565b5080825d5b509192915050565b5f6001600160681b03821115610e75576040516306dfcc6560e41b81526068600482015260248101839052604401610848565b5f61ffff821115610e75576040516306dfcc6560e41b81526010600482015260248101839052604401610848565b604051806101a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b0316815260200161278b604080516060810182525f808252602082018190529181019190915290565b8152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f6001600160681b031681526020015f81526020015f6001600160801b031681526020015f6001600160801b03168152602001606081526020015f81525090565b5f6020828403121561280c575f5ffd5b81356001600160401b03811115612821575f5ffd5b820160a08185031215612832575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b038111828210171561286f5761286f612839565b60405290565b60405160a081016001600160401b038111828210171561286f5761286f612839565b604051606081016001600160401b038111828210171561286f5761286f612839565b6040516102e081016001600160401b038111828210171561286f5761286f612839565b604051601f8201601f191681016001600160401b038111828210171561290457612904612839565b604052919050565b6001600160a01b0381168114610e15575f5ffd5b6001600160401b0381168114610e15575f5ffd5b8015158114610e15575f5ffd5b803561294c81612934565b919050565b5f6001600160401b0382111561296957612969612839565b5060051b60200190565b803561294c8161290c565b5f6001600160401b0382111561299657612996612839565b50601f01601f191660200190565b5f6129b66129b184612951565b6128dc565b838152905060208101600584901b8301858111156129d2575f5ffd5b835b81811015612a955780356001600160401b038111156129f1575f5ffd5b850160408189031215612a02575f5ffd5b612a0a61284d565b8135612a158161290c565b815260208201356001600160401b03811115612a2f575f5ffd5b80830192505088601f830112612a43575f5ffd5b8135612a516129b18261297e565b8181528a6020838601011115612a65575f5ffd5b816020850160208301375f60208383010152806020840152505080855250506020830192506020810190506129d4565b5050509392505050565b5f60a08284031215612aaf575f5ffd5b612ab7612875565b90508135612ac48161290c565b81526020820135612ad48161290c565b60208201526040820135612ae781612920565b60408201526060820135612afa81612934565b606082015260808201356001600160401b03811115612b17575f5ffd5b8201601f81018413612b27575f5ffd5b612b36848235602084016129a4565b60808301525092915050565b5f82601f830112612b51575f5ffd5b8135612b5f6129b182612951565b8082825260208201915060208360051b860101925085831115612b80575f5ffd5b602085015b83811015612ba6578035612b988161290c565b835260209283019201612b85565b5095945050505050565b6001600160801b0381168114610e15575f5ffd5b803561294c81612bb0565b5f60408284031215612bdf575f5ffd5b612be761284d565b90508135612bf481612bb0565b81526020820135612c0481612bb0565b602082015292915050565b5f60608284031215612c1f575f5ffd5b612c27612897565b82358152602080840135908201526040928301359281019290925250919050565b5f5f60408385031215612c59575f5ffd5b82356001600160401b03811115612c6e575f5ffd5b83016103408186031215612c80575f5ffd5b612c886128b9565b81356001600160401b03811115612c9d575f5ffd5b612ca987828501612a9f565b825250612cb860208301612973565b6020820152612cc960408301612941565b6040820152612cda60608301612973565b60608201526080828101359082015260a0808301359082015260c0808301359082015260e08083013590820152610100808301359082015261012080830135908201526101408083013590820152610160808301359082015261018080830135908201526101a080830135908201526101c080830135908201526101e08201356001600160401b03811115612d6d575f5ffd5b612d7987828501612b42565b6101e083015250612d8d6102008301612bc4565b610200820152612da06102208301612bc4565b610220820152612db36102408301612bc4565b610240820152612dc7866102608401612bcf565b610260820152612ddb866102a08401612c0f565b6102808201526103008201356102a0820152610320909101356102c0820152946020939093013593505050565b5f60208284031215612e18575f5ffd5b81356128328161290c565b5f5f60408385031215612e34575f5ffd5b8235612e3f8161290c565b91506020830135612e4f8161290c565b809150509250929050565b5f60208284031215612e6a575f5ffd5b81356001600160401b03811115612e7f575f5ffd5b820160608185031215612832575f5ffd5b805161294c81612934565b5f60208284031215612eab575f5ffd5b815161283281612934565b805161294c8161290c565b5f60208284031215612ed1575f5ffd5b81516128328161290c565b5f5f8335601e19843603018112612ef1575f5ffd5b83016020810192503590506001600160401b03811115612f0f575f5ffd5b8060051b3603821315612f20575f5ffd5b9250929050565b5f8383855260208501945060208460051b820101835f5b86811015612ffe57838303601f19018852813536879003603e19018112612f63575f5ffd5b86018035612f708161290c565b6001600160a01b03168452602081013536829003601e19018112612f92575f5ffd5b016020810190356001600160401b03811115612fac575f5ffd5b803603821315612fba575f5ffd5b60406020860152806040860152808260608701375f606082870101526060601f19601f83011686010194505050602082019150602088019750600181019050612f3e565b50909695505050505050565b6001600160a01b0384168152606060208201525f83356130298161290c565b6001600160a01b0316606083015260208401356130458161290c565b6001600160a01b03166080830152604084013561306181612920565b6001600160401b031660a0830152606084013561307d81612934565b151560c08301526130916080850185612edc565b60a060e08501526130a761010085018284612f27565b925050506130b9604083018415159052565b949350505050565b5f82601f8301126130d0575f5ffd5b81516130de6129b18261297e565b8181528460208386010111156130f2575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60a0828403121561311e575f5ffd5b613126612875565b905081516131338161290c565b815260208201516131438161290c565b6020820152604082015161315681612920565b6040820152606082015161316981612934565b606082015260808201516001600160401b03811115613186575f5ffd5b8201601f81018413613196575f5ffd5b80516131a46129b182612951565b8082825260208201915060208360051b8501019250868311156131c5575f5ffd5b602084015b838110156132575780516001600160401b038111156131e7575f5ffd5b85016040818a03601f190112156131fc575f5ffd5b61320461284d565b60208201516132128161290c565b815260408201516001600160401b0381111561322c575f5ffd5b61323b8b6020838601016130c1565b60208301525080855250506020830192506020810190506131ca565b5060808501525091949350505050565b5f82601f830112613276575f5ffd5b81516132846129b182612951565b8082825260208201915060208360051b8601019250858311156132a5575f5ffd5b602085015b83811015612ba65780516132bd8161290c565b8352602092830192016132aa565b805161294c81612bb0565b5f604082840312156132e6575f5ffd5b6132ee61284d565b905081516132fb81612bb0565b81526020820151612c0481612bb0565b5f6060828403121561331b575f5ffd5b613323612897565b82518152602080840151908201526040928301519281019290925250919050565b5f60208284031215613354575f5ffd5b81516001600160401b03811115613369575f5ffd5b8201610340818503121561337b575f5ffd5b6133836128b9565b81516001600160401b03811115613398575f5ffd5b6133a48682850161310e565b8252506133b360208301612eb6565b60208201526133c460408301612e90565b60408201526133d560608301612eb6565b60608201526080828101519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c080830151908201526101e08201516001600160401b03811115613468575f5ffd5b61347486828501613267565b6101e08301525061348861020083016132cb565b61020082015261349b61022083016132cb565b6102208201526134ae61024083016132cb565b6102408201526134c28561026084016132d6565b6102608201526134d6856102a0840161330b565b6102808201526103008201516102a0820152610320909101516102c08201529392505050565b634e487b7160e01b5f52601260045260245ffd5b5f60208284031215613520575f5ffd5b815165ffffffffffff81168114612832575f5ffd5b5f60208284031215613545575f5ffd5b5051919050565b5f5f8335601e19843603018112613561575f5ffd5b8301803591506001600160401b0382111561357a575f5ffd5b6020019150600581901b3603821315612f20575f5ffd5b5f6128323684846129a4565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0384168152606060208201525f610100820160018060a01b03855116606084015260018060a01b0360208601511660808401526001600160401b0360408601511660a08401526060850151151560c0840152608085015160a060e0850152818151808452610120860191506101208160051b87010193506020830192505f5b818110156136a25786850361011f19018352835180516001600160a01b0316865260209081015160409187018290529061368c9087018261359d565b9550506020938401939290920191600101613650565b50505050831515604084015290506130b9565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610e8557610e856136b5565b8082028115828204841417610e8557610e856136b5565b5f8261370d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561377d57603f1987860301845261376885835161359d565b9450602093840193919091019060010161374c565b50929695505050505050565b5f60208284031215613799575f5ffd5b81516001600160401b038111156137ae575f5ffd5b8201601f810184136137be575f5ffd5b80516137cc6129b182612951565b8082825260208201915060208360051b8501019250868311156137ed575f5ffd5b602084015b8381101561382d5780516001600160401b0381111561380f575f5ffd5b61381e896020838901016130c1565b845250602092830192016137f2565b509695505050505050565b5f60208284031215613848575f5ffd5b815161283281612bb0565b5f6060828403128015613864575f5ffd5b5061386d612897565b825161387881612bb0565b815260208301516001600160681b0381168114613893575f5ffd5b6020820152604083015161ffff811681146138ac575f5ffd5b60408201529392505050565b5f602082840312156138c8575f5ffd5b81516001600160401b038111156138dd575f5ffd5b8201601f810184136138ed575f5ffd5b80516138fb6129b182612951565b8082825260208201915060208360061b85010192508683111561391c575f5ffd5b6020840193505b828410156139485761393587856132d6565b8252602082019150604084019350613923565b9695505050505050565b6001600160801b038181168382160190811115610e8557610e856136b5565b6001600160a01b03831681526040602082018190525f906130b99083018461359d565b5f602082840312156139a4575f5ffd5b81516001600160401b038111156139b9575f5ffd5b6130b9848285016130c1565b80820180821115610e8557610e856136b5565b6001600160a01b03841681526060602080830182905284519183018290525f91908501906080840190835b81811015613a2a5783516001600160a01b0316835260209384019390920191600101613a03565b50508381036040850152845180825260209182019250908501905f5b81811015613a64578251845260209384019390920191600101613a46565b5091979650505050505050565b6001600160681b038181168382160190811115610e8557610e856136b5565b6001600160a01b03861681526101208101613ad8602083018780516001600160801b031682526020808201516001600160681b03169083015260409081015161ffff16910152565b84516001600160801b0316608083015260208501516001600160681b031660a0830152604085015161ffff1660c08301526001600160801b03841660e08301526001600160801b0383166101008301529695505050505050565b6001600160801b038281168282160390811115610e8557610e856136b556fea2646970667358221220896f4ba7e579c4875ef4ed2bd45ceaeee698c4d8f13a018b8f338d55b007862e64736f6c634300081e0033";
19
+ static readonly abi: readonly [{
20
+ readonly type: "constructor";
21
+ readonly inputs: readonly [{
22
+ readonly name: "protocolAddress";
23
+ readonly type: "address";
24
+ readonly internalType: "address payable";
25
+ }];
26
+ readonly stateMutability: "nonpayable";
27
+ }, {
28
+ readonly type: "function";
29
+ readonly name: "closeFund";
30
+ readonly inputs: readonly [{
31
+ readonly name: "c";
32
+ readonly type: "tuple";
33
+ readonly internalType: "struct Closing";
34
+ readonly components: readonly [{
35
+ readonly name: "ledger";
36
+ readonly type: "address";
37
+ readonly internalType: "contract FundLedger";
38
+ }, {
39
+ readonly name: "coin";
40
+ readonly type: "address";
41
+ readonly internalType: "contract IERC20";
42
+ }, {
43
+ readonly name: "extCalls";
44
+ readonly type: "tuple[]";
45
+ readonly internalType: "struct ExternalCall[]";
46
+ readonly components: readonly [{
47
+ readonly name: "adapter";
48
+ readonly type: "address";
49
+ readonly internalType: "address";
50
+ }, {
51
+ readonly name: "callData";
52
+ readonly type: "bytes";
53
+ readonly internalType: "bytes";
54
+ }];
55
+ }];
56
+ }];
57
+ readonly outputs: readonly [];
58
+ readonly stateMutability: "nonpayable";
59
+ }, {
60
+ readonly type: "function";
61
+ readonly name: "collectRelinquishedCoins";
62
+ readonly inputs: readonly [{
63
+ readonly name: "ledger";
64
+ readonly type: "address";
65
+ readonly internalType: "contract FundLedger";
66
+ }, {
67
+ readonly name: "coin";
68
+ readonly type: "address";
69
+ readonly internalType: "contract IERC20";
70
+ }];
71
+ readonly outputs: readonly [];
72
+ readonly stateMutability: "nonpayable";
73
+ }, {
74
+ readonly type: "function";
75
+ readonly name: "computeHarvestableFees";
76
+ readonly inputs: readonly [{
77
+ readonly name: "ctx";
78
+ readonly type: "tuple";
79
+ readonly internalType: "struct HarvestContext";
80
+ readonly components: readonly [{
81
+ readonly name: "harvest";
82
+ readonly type: "tuple";
83
+ readonly internalType: "struct Harvest";
84
+ readonly components: readonly [{
85
+ readonly name: "ledger";
86
+ readonly type: "address";
87
+ readonly internalType: "contract FundLedger";
88
+ }, {
89
+ readonly name: "coin";
90
+ readonly type: "address";
91
+ readonly internalType: "contract IERC20";
92
+ }, {
93
+ readonly name: "fraction";
94
+ readonly type: "uint64";
95
+ readonly internalType: "uint64";
96
+ }, {
97
+ readonly name: "isManagementFeeEligible";
98
+ readonly type: "bool";
99
+ readonly internalType: "bool";
100
+ }, {
101
+ readonly name: "extCalls";
102
+ readonly type: "tuple[]";
103
+ readonly internalType: "struct ExternalCall[]";
104
+ readonly components: readonly [{
105
+ readonly name: "adapter";
106
+ readonly type: "address";
107
+ readonly internalType: "address";
108
+ }, {
109
+ readonly name: "callData";
110
+ readonly type: "bytes";
111
+ readonly internalType: "bytes";
112
+ }];
113
+ }];
114
+ }, {
115
+ readonly name: "vault";
116
+ readonly type: "address";
117
+ readonly internalType: "contract FundVault";
118
+ }, {
119
+ readonly name: "isFinal";
120
+ readonly type: "bool";
121
+ readonly internalType: "bool";
122
+ }, {
123
+ readonly name: "referrer";
124
+ readonly type: "address";
125
+ readonly internalType: "address";
126
+ }, {
127
+ readonly name: "coinSlot";
128
+ readonly type: "uint256";
129
+ readonly internalType: "uint256";
130
+ }, {
131
+ readonly name: "latestManagementFeeTimestamp";
132
+ readonly type: "uint256";
133
+ readonly internalType: "uint256";
134
+ }, {
135
+ readonly name: "normalizedTvl";
136
+ readonly type: "uint256";
137
+ readonly internalType: "uint256";
138
+ }, {
139
+ readonly name: "normalizer";
140
+ readonly type: "uint256";
141
+ readonly internalType: "uint256";
142
+ }, {
143
+ readonly name: "proceeds";
144
+ readonly type: "uint256";
145
+ readonly internalType: "uint256";
146
+ }, {
147
+ readonly name: "totalSupply";
148
+ readonly type: "uint256";
149
+ readonly internalType: "uint256";
150
+ }, {
151
+ readonly name: "managerBalance";
152
+ readonly type: "uint256";
153
+ readonly internalType: "uint256";
154
+ }, {
155
+ readonly name: "ledgerBalance";
156
+ readonly type: "uint256";
157
+ readonly internalType: "uint256";
158
+ }, {
159
+ readonly name: "totalVirtualPrincipal";
160
+ readonly type: "uint256";
161
+ readonly internalType: "uint256";
162
+ }, {
163
+ readonly name: "managerProfitFeeBps";
164
+ readonly type: "uint256";
165
+ readonly internalType: "uint256";
166
+ }, {
167
+ readonly name: "profitFeeBps";
168
+ readonly type: "uint256";
169
+ readonly internalType: "uint256";
170
+ }, {
171
+ readonly name: "assets";
172
+ readonly type: "address[]";
173
+ readonly internalType: "contract IERC20[]";
174
+ }, {
175
+ readonly name: "managerFeeBasis";
176
+ readonly type: "uint128";
177
+ readonly internalType: "uint128";
178
+ }, {
179
+ readonly name: "watermark";
180
+ readonly type: "uint128";
181
+ readonly internalType: "uint128";
182
+ }, {
183
+ readonly name: "epochBufferDelta";
184
+ readonly type: "uint128";
185
+ readonly internalType: "uint128";
186
+ }, {
187
+ readonly name: "upcomingEpoch";
188
+ readonly type: "tuple";
189
+ readonly internalType: "struct Epoch";
190
+ readonly components: readonly [{
191
+ readonly name: "watermark";
192
+ readonly type: "uint128";
193
+ readonly internalType: "uint128";
194
+ }, {
195
+ readonly name: "priceBefore";
196
+ readonly type: "uint128";
197
+ readonly internalType: "uint128";
198
+ }];
199
+ }, {
200
+ readonly name: "fees";
201
+ readonly type: "tuple";
202
+ readonly internalType: "struct HarvestFees";
203
+ readonly components: readonly [{
204
+ readonly name: "managerProfitFee";
205
+ readonly type: "uint256";
206
+ readonly internalType: "uint256";
207
+ }, {
208
+ readonly name: "referrerProfitFee";
209
+ readonly type: "uint256";
210
+ readonly internalType: "uint256";
211
+ }, {
212
+ readonly name: "managementFee";
213
+ readonly type: "uint256";
214
+ readonly internalType: "uint256";
215
+ }];
216
+ }, {
217
+ readonly name: "referrerManagementFeeBps";
218
+ readonly type: "uint256";
219
+ readonly internalType: "uint256";
220
+ }, {
221
+ readonly name: "managerManagementFeeBps";
222
+ readonly type: "uint256";
223
+ readonly internalType: "uint256";
224
+ }];
225
+ }, {
226
+ readonly name: "blockTimestamp";
227
+ readonly type: "uint256";
228
+ readonly internalType: "uint256";
229
+ }];
230
+ readonly outputs: readonly [{
231
+ readonly name: "managerProfitFee";
232
+ readonly type: "uint256";
233
+ readonly internalType: "uint256";
234
+ }, {
235
+ readonly name: "referrerProfitFee";
236
+ readonly type: "uint256";
237
+ readonly internalType: "uint256";
238
+ }, {
239
+ readonly name: "managementFee";
240
+ readonly type: "uint256";
241
+ readonly internalType: "uint256";
242
+ }, {
243
+ readonly name: "netPerShare";
244
+ readonly type: "uint128";
245
+ readonly internalType: "uint128";
246
+ }, {
247
+ readonly name: "price";
248
+ readonly type: "uint128";
249
+ readonly internalType: "uint128";
250
+ }, {
251
+ readonly name: "epochBufferDelta";
252
+ readonly type: "uint128";
253
+ readonly internalType: "uint128";
254
+ }];
255
+ readonly stateMutability: "pure";
256
+ }, {
257
+ readonly type: "function";
258
+ readonly name: "getPendingBalance";
259
+ readonly inputs: readonly [{
260
+ readonly name: "account";
261
+ readonly type: "address";
262
+ readonly internalType: "address";
263
+ }];
264
+ readonly outputs: readonly [{
265
+ readonly name: "";
266
+ readonly type: "uint256";
267
+ readonly internalType: "uint256";
268
+ }];
269
+ readonly stateMutability: "view";
270
+ }, {
271
+ readonly type: "function";
272
+ readonly name: "harvest";
273
+ readonly inputs: readonly [{
274
+ readonly name: "h";
275
+ readonly type: "tuple";
276
+ readonly internalType: "struct Harvest";
277
+ readonly components: readonly [{
278
+ readonly name: "ledger";
279
+ readonly type: "address";
280
+ readonly internalType: "contract FundLedger";
281
+ }, {
282
+ readonly name: "coin";
283
+ readonly type: "address";
284
+ readonly internalType: "contract IERC20";
285
+ }, {
286
+ readonly name: "fraction";
287
+ readonly type: "uint64";
288
+ readonly internalType: "uint64";
289
+ }, {
290
+ readonly name: "isManagementFeeEligible";
291
+ readonly type: "bool";
292
+ readonly internalType: "bool";
293
+ }, {
294
+ readonly name: "extCalls";
295
+ readonly type: "tuple[]";
296
+ readonly internalType: "struct ExternalCall[]";
297
+ readonly components: readonly [{
298
+ readonly name: "adapter";
299
+ readonly type: "address";
300
+ readonly internalType: "address";
301
+ }, {
302
+ readonly name: "callData";
303
+ readonly type: "bytes";
304
+ readonly internalType: "bytes";
305
+ }];
306
+ }];
307
+ }];
308
+ readonly outputs: readonly [];
309
+ readonly stateMutability: "nonpayable";
310
+ }, {
311
+ readonly type: "function";
312
+ readonly name: "protocol";
313
+ readonly inputs: readonly [];
314
+ readonly outputs: readonly [{
315
+ readonly name: "";
316
+ readonly type: "address";
317
+ readonly internalType: "contract Protocol";
318
+ }];
319
+ readonly stateMutability: "view";
320
+ }, {
321
+ readonly type: "event";
322
+ readonly name: "Harvested";
323
+ readonly inputs: readonly [{
324
+ readonly name: "ledger";
325
+ readonly type: "address";
326
+ readonly indexed: true;
327
+ readonly internalType: "address";
328
+ }, {
329
+ readonly name: "coin";
330
+ readonly type: "address";
331
+ readonly indexed: false;
332
+ readonly internalType: "address";
333
+ }, {
334
+ readonly name: "proceeds";
335
+ readonly type: "uint256";
336
+ readonly indexed: false;
337
+ readonly internalType: "uint256";
338
+ }, {
339
+ readonly name: "managerFee";
340
+ readonly type: "uint256";
341
+ readonly indexed: false;
342
+ readonly internalType: "uint256";
343
+ }, {
344
+ readonly name: "referrerFee";
345
+ readonly type: "uint256";
346
+ readonly indexed: false;
347
+ readonly internalType: "uint256";
348
+ }, {
349
+ readonly name: "managerManagementFee";
350
+ readonly type: "uint256";
351
+ readonly indexed: false;
352
+ readonly internalType: "uint256";
353
+ }, {
354
+ readonly name: "referrerManagementFee";
355
+ readonly type: "uint256";
356
+ readonly indexed: false;
357
+ readonly internalType: "uint256";
358
+ }];
359
+ readonly anonymous: false;
360
+ }, {
361
+ readonly type: "error";
362
+ readonly name: "GracePeriodNotEnded";
363
+ readonly inputs: readonly [{
364
+ readonly name: "currentTimestamp";
365
+ readonly type: "uint256";
366
+ readonly internalType: "uint256";
367
+ }, {
368
+ readonly name: "gracePeriodEnd";
369
+ readonly type: "uint256";
370
+ readonly internalType: "uint256";
371
+ }];
372
+ }, {
373
+ readonly type: "error";
374
+ readonly name: "HarvestNotEligible";
375
+ readonly inputs: readonly [{
376
+ readonly name: "daysFromLastManagementFee";
377
+ readonly type: "uint256";
378
+ readonly internalType: "uint256";
379
+ }, {
380
+ readonly name: "shareValueNet";
381
+ readonly type: "uint256";
382
+ readonly internalType: "uint256";
383
+ }, {
384
+ readonly name: "watermark";
385
+ readonly type: "uint256";
386
+ readonly internalType: "uint256";
387
+ }];
388
+ }, {
389
+ readonly type: "error";
390
+ readonly name: "InsufficientProceeds";
391
+ readonly inputs: readonly [{
392
+ readonly name: "expected";
393
+ readonly type: "uint256";
394
+ readonly internalType: "uint256";
395
+ }, {
396
+ readonly name: "actual";
397
+ readonly type: "uint256";
398
+ readonly internalType: "uint256";
399
+ }];
400
+ }, {
401
+ readonly type: "error";
402
+ readonly name: "InvalidAddress";
403
+ readonly inputs: readonly [];
404
+ }, {
405
+ readonly type: "error";
406
+ readonly name: "InvalidLedger";
407
+ readonly inputs: readonly [];
408
+ }, {
409
+ readonly type: "error";
410
+ readonly name: "ProtocolPaused";
411
+ readonly inputs: readonly [];
412
+ }, {
413
+ readonly type: "error";
414
+ readonly name: "ReentrancyGuardReentrantCall";
415
+ readonly inputs: readonly [];
416
+ }, {
417
+ readonly type: "error";
418
+ readonly name: "SafeCastOverflowedUintDowncast";
419
+ readonly inputs: readonly [{
420
+ readonly name: "bits";
421
+ readonly type: "uint8";
422
+ readonly internalType: "uint8";
423
+ }, {
424
+ readonly name: "value";
425
+ readonly type: "uint256";
426
+ readonly internalType: "uint256";
427
+ }];
428
+ }, {
429
+ readonly type: "error";
430
+ readonly name: "Unauthorized";
431
+ readonly inputs: readonly [];
432
+ }, {
433
+ readonly type: "error";
434
+ readonly name: "UnexpectedSwapsAmount";
435
+ readonly inputs: readonly [{
436
+ readonly name: "expected";
437
+ readonly type: "uint256";
438
+ readonly internalType: "uint256";
439
+ }, {
440
+ readonly name: "actual";
441
+ readonly type: "uint256";
442
+ readonly internalType: "uint256";
443
+ }];
444
+ }, {
445
+ readonly type: "error";
446
+ readonly name: "UnsupportedTarget";
447
+ readonly inputs: readonly [{
448
+ readonly name: "target";
449
+ readonly type: "address";
450
+ readonly internalType: "address";
451
+ }];
452
+ }];
453
+ static createInterface(): ClosureControllerInterface;
454
+ static connect(address: string, runner?: ContractRunner | null): ClosureController;
455
+ }
456
+ export interface ClosureControllerLibraryAddresses {
457
+ ["src/lib/ContextBuilder.sol:ContextBuilder"]: string;
458
+ }
459
+ export {};