@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,911 @@
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
+ name: "ctrl",
13
+ type: "tuple",
14
+ internalType: "struct FundController.ControllerDelegates",
15
+ components: [
16
+ {
17
+ name: "deposit",
18
+ type: "address",
19
+ internalType: "address",
20
+ },
21
+ {
22
+ name: "creation",
23
+ type: "address",
24
+ internalType: "address",
25
+ },
26
+ {
27
+ name: "withdrawal",
28
+ type: "address",
29
+ internalType: "address",
30
+ },
31
+ {
32
+ name: "closure",
33
+ type: "address",
34
+ internalType: "address",
35
+ },
36
+ {
37
+ name: "harvest",
38
+ type: "address",
39
+ internalType: "address",
40
+ },
41
+ {
42
+ name: "transfer",
43
+ type: "address",
44
+ internalType: "address",
45
+ },
46
+ {
47
+ name: "trade",
48
+ type: "address",
49
+ internalType: "address",
50
+ },
51
+ ],
52
+ },
53
+ ],
54
+ stateMutability: "nonpayable",
55
+ },
56
+ {
57
+ type: "function",
58
+ name: "closeFund",
59
+ inputs: [
60
+ {
61
+ name: "",
62
+ type: "tuple",
63
+ internalType: "struct Closing",
64
+ components: [
65
+ {
66
+ name: "ledger",
67
+ type: "address",
68
+ internalType: "contract FundLedger",
69
+ },
70
+ {
71
+ name: "coin",
72
+ type: "address",
73
+ internalType: "contract IERC20",
74
+ },
75
+ {
76
+ name: "extCalls",
77
+ type: "tuple[]",
78
+ internalType: "struct ExternalCall[]",
79
+ components: [
80
+ {
81
+ name: "adapter",
82
+ type: "address",
83
+ internalType: "address",
84
+ },
85
+ {
86
+ name: "callData",
87
+ type: "bytes",
88
+ internalType: "bytes",
89
+ },
90
+ ],
91
+ },
92
+ ],
93
+ },
94
+ ],
95
+ outputs: [],
96
+ stateMutability: "nonpayable",
97
+ },
98
+ {
99
+ type: "function",
100
+ name: "collectRelinquishedCoins",
101
+ inputs: [
102
+ {
103
+ name: "",
104
+ type: "address",
105
+ internalType: "contract FundLedger",
106
+ },
107
+ {
108
+ name: "",
109
+ type: "address",
110
+ internalType: "contract IERC20",
111
+ },
112
+ ],
113
+ outputs: [],
114
+ stateMutability: "nonpayable",
115
+ },
116
+ {
117
+ type: "function",
118
+ name: "computeHarvestableFees",
119
+ inputs: [
120
+ {
121
+ name: "",
122
+ type: "tuple",
123
+ internalType: "struct HarvestContext",
124
+ components: [
125
+ {
126
+ name: "harvest",
127
+ type: "tuple",
128
+ internalType: "struct Harvest",
129
+ components: [
130
+ {
131
+ name: "ledger",
132
+ type: "address",
133
+ internalType: "contract FundLedger",
134
+ },
135
+ {
136
+ name: "coin",
137
+ type: "address",
138
+ internalType: "contract IERC20",
139
+ },
140
+ {
141
+ name: "fraction",
142
+ type: "uint64",
143
+ internalType: "uint64",
144
+ },
145
+ {
146
+ name: "isManagementFeeEligible",
147
+ type: "bool",
148
+ internalType: "bool",
149
+ },
150
+ {
151
+ name: "extCalls",
152
+ type: "tuple[]",
153
+ internalType: "struct ExternalCall[]",
154
+ components: [
155
+ {
156
+ name: "adapter",
157
+ type: "address",
158
+ internalType: "address",
159
+ },
160
+ {
161
+ name: "callData",
162
+ type: "bytes",
163
+ internalType: "bytes",
164
+ },
165
+ ],
166
+ },
167
+ ],
168
+ },
169
+ {
170
+ name: "vault",
171
+ type: "address",
172
+ internalType: "contract FundVault",
173
+ },
174
+ {
175
+ name: "isFinal",
176
+ type: "bool",
177
+ internalType: "bool",
178
+ },
179
+ {
180
+ name: "referrer",
181
+ type: "address",
182
+ internalType: "address",
183
+ },
184
+ {
185
+ name: "coinSlot",
186
+ type: "uint256",
187
+ internalType: "uint256",
188
+ },
189
+ {
190
+ name: "latestManagementFeeTimestamp",
191
+ type: "uint256",
192
+ internalType: "uint256",
193
+ },
194
+ {
195
+ name: "normalizedTvl",
196
+ type: "uint256",
197
+ internalType: "uint256",
198
+ },
199
+ {
200
+ name: "normalizer",
201
+ type: "uint256",
202
+ internalType: "uint256",
203
+ },
204
+ {
205
+ name: "proceeds",
206
+ type: "uint256",
207
+ internalType: "uint256",
208
+ },
209
+ {
210
+ name: "totalSupply",
211
+ type: "uint256",
212
+ internalType: "uint256",
213
+ },
214
+ {
215
+ name: "managerBalance",
216
+ type: "uint256",
217
+ internalType: "uint256",
218
+ },
219
+ {
220
+ name: "ledgerBalance",
221
+ type: "uint256",
222
+ internalType: "uint256",
223
+ },
224
+ {
225
+ name: "totalVirtualPrincipal",
226
+ type: "uint256",
227
+ internalType: "uint256",
228
+ },
229
+ {
230
+ name: "managerProfitFeeBps",
231
+ type: "uint256",
232
+ internalType: "uint256",
233
+ },
234
+ {
235
+ name: "profitFeeBps",
236
+ type: "uint256",
237
+ internalType: "uint256",
238
+ },
239
+ {
240
+ name: "assets",
241
+ type: "address[]",
242
+ internalType: "contract IERC20[]",
243
+ },
244
+ {
245
+ name: "managerFeeBasis",
246
+ type: "uint128",
247
+ internalType: "uint128",
248
+ },
249
+ {
250
+ name: "watermark",
251
+ type: "uint128",
252
+ internalType: "uint128",
253
+ },
254
+ {
255
+ name: "epochBufferDelta",
256
+ type: "uint128",
257
+ internalType: "uint128",
258
+ },
259
+ {
260
+ name: "upcomingEpoch",
261
+ type: "tuple",
262
+ internalType: "struct Epoch",
263
+ components: [
264
+ {
265
+ name: "watermark",
266
+ type: "uint128",
267
+ internalType: "uint128",
268
+ },
269
+ {
270
+ name: "priceBefore",
271
+ type: "uint128",
272
+ internalType: "uint128",
273
+ },
274
+ ],
275
+ },
276
+ {
277
+ name: "fees",
278
+ type: "tuple",
279
+ internalType: "struct HarvestFees",
280
+ components: [
281
+ {
282
+ name: "managerProfitFee",
283
+ type: "uint256",
284
+ internalType: "uint256",
285
+ },
286
+ {
287
+ name: "referrerProfitFee",
288
+ type: "uint256",
289
+ internalType: "uint256",
290
+ },
291
+ {
292
+ name: "managementFee",
293
+ type: "uint256",
294
+ internalType: "uint256",
295
+ },
296
+ ],
297
+ },
298
+ {
299
+ name: "referrerManagementFeeBps",
300
+ type: "uint256",
301
+ internalType: "uint256",
302
+ },
303
+ {
304
+ name: "managerManagementFeeBps",
305
+ type: "uint256",
306
+ internalType: "uint256",
307
+ },
308
+ ],
309
+ },
310
+ {
311
+ name: "",
312
+ type: "uint256",
313
+ internalType: "uint256",
314
+ },
315
+ ],
316
+ outputs: [
317
+ {
318
+ name: "",
319
+ type: "uint256",
320
+ internalType: "uint256",
321
+ },
322
+ {
323
+ name: "",
324
+ type: "uint256",
325
+ internalType: "uint256",
326
+ },
327
+ {
328
+ name: "",
329
+ type: "uint256",
330
+ internalType: "uint256",
331
+ },
332
+ {
333
+ name: "",
334
+ type: "uint128",
335
+ internalType: "uint128",
336
+ },
337
+ {
338
+ name: "",
339
+ type: "uint128",
340
+ internalType: "uint128",
341
+ },
342
+ {
343
+ name: "",
344
+ type: "uint256",
345
+ internalType: "uint256",
346
+ },
347
+ ],
348
+ stateMutability: "nonpayable",
349
+ },
350
+ {
351
+ type: "function",
352
+ name: "createFund",
353
+ inputs: [
354
+ {
355
+ name: "",
356
+ type: "tuple",
357
+ internalType: "struct FundCreation",
358
+ components: [
359
+ {
360
+ name: "referrer",
361
+ type: "address",
362
+ internalType: "address",
363
+ },
364
+ {
365
+ name: "name",
366
+ type: "string",
367
+ internalType: "string",
368
+ },
369
+ {
370
+ name: "symbol",
371
+ type: "string",
372
+ internalType: "string",
373
+ },
374
+ {
375
+ name: "coin",
376
+ type: "address",
377
+ internalType: "contract IERC20",
378
+ },
379
+ {
380
+ name: "initialDepositAmount",
381
+ type: "uint256",
382
+ internalType: "uint256",
383
+ },
384
+ {
385
+ name: "minDepositUsd",
386
+ type: "uint96",
387
+ internalType: "uint96",
388
+ },
389
+ {
390
+ name: "cooldownTime",
391
+ type: "uint32",
392
+ internalType: "uint32",
393
+ },
394
+ {
395
+ name: "managerProfitFeeBps",
396
+ type: "uint16",
397
+ internalType: "uint16",
398
+ },
399
+ {
400
+ name: "managerManagementFeeBps",
401
+ type: "uint16",
402
+ internalType: "uint16",
403
+ },
404
+ ],
405
+ },
406
+ ],
407
+ outputs: [],
408
+ stateMutability: "nonpayable",
409
+ },
410
+ {
411
+ type: "function",
412
+ name: "deposit",
413
+ inputs: [
414
+ {
415
+ name: "",
416
+ type: "tuple",
417
+ internalType: "struct Deposit",
418
+ components: [
419
+ {
420
+ name: "ledger",
421
+ type: "address",
422
+ internalType: "contract FundLedger",
423
+ },
424
+ {
425
+ name: "coin",
426
+ type: "address",
427
+ internalType: "contract IERC20",
428
+ },
429
+ {
430
+ name: "amount",
431
+ type: "uint256",
432
+ internalType: "uint256",
433
+ },
434
+ {
435
+ name: "extCalls",
436
+ type: "tuple[]",
437
+ internalType: "struct ExternalCall[]",
438
+ components: [
439
+ {
440
+ name: "adapter",
441
+ type: "address",
442
+ internalType: "address",
443
+ },
444
+ {
445
+ name: "callData",
446
+ type: "bytes",
447
+ internalType: "bytes",
448
+ },
449
+ ],
450
+ },
451
+ {
452
+ name: "sharesOutMin",
453
+ type: "uint256",
454
+ internalType: "uint256",
455
+ },
456
+ {
457
+ name: "referrerFeeBps",
458
+ type: "uint16",
459
+ internalType: "uint16",
460
+ },
461
+ ],
462
+ },
463
+ ],
464
+ outputs: [],
465
+ stateMutability: "nonpayable",
466
+ },
467
+ {
468
+ type: "function",
469
+ name: "executeTrade",
470
+ inputs: [
471
+ {
472
+ name: "",
473
+ type: "address",
474
+ internalType: "contract FundLedger",
475
+ },
476
+ {
477
+ name: "",
478
+ type: "address",
479
+ internalType: "address",
480
+ },
481
+ {
482
+ name: "",
483
+ type: "bytes",
484
+ internalType: "bytes",
485
+ },
486
+ ],
487
+ outputs: [],
488
+ stateMutability: "nonpayable",
489
+ },
490
+ {
491
+ type: "function",
492
+ name: "executeTrades",
493
+ inputs: [
494
+ {
495
+ name: "",
496
+ type: "address",
497
+ internalType: "contract FundLedger",
498
+ },
499
+ {
500
+ name: "",
501
+ type: "address[]",
502
+ internalType: "address[]",
503
+ },
504
+ {
505
+ name: "",
506
+ type: "bytes[]",
507
+ internalType: "bytes[]",
508
+ },
509
+ ],
510
+ outputs: [],
511
+ stateMutability: "nonpayable",
512
+ },
513
+ {
514
+ type: "function",
515
+ name: "getPendingBalance",
516
+ inputs: [
517
+ {
518
+ name: "account",
519
+ type: "address",
520
+ internalType: "address",
521
+ },
522
+ ],
523
+ outputs: [
524
+ {
525
+ name: "",
526
+ type: "uint256",
527
+ internalType: "uint256",
528
+ },
529
+ ],
530
+ stateMutability: "view",
531
+ },
532
+ {
533
+ type: "function",
534
+ name: "harvest",
535
+ inputs: [
536
+ {
537
+ name: "",
538
+ type: "tuple",
539
+ internalType: "struct Harvest",
540
+ components: [
541
+ {
542
+ name: "ledger",
543
+ type: "address",
544
+ internalType: "contract FundLedger",
545
+ },
546
+ {
547
+ name: "coin",
548
+ type: "address",
549
+ internalType: "contract IERC20",
550
+ },
551
+ {
552
+ name: "fraction",
553
+ type: "uint64",
554
+ internalType: "uint64",
555
+ },
556
+ {
557
+ name: "isManagementFeeEligible",
558
+ type: "bool",
559
+ internalType: "bool",
560
+ },
561
+ {
562
+ name: "extCalls",
563
+ type: "tuple[]",
564
+ internalType: "struct ExternalCall[]",
565
+ components: [
566
+ {
567
+ name: "adapter",
568
+ type: "address",
569
+ internalType: "address",
570
+ },
571
+ {
572
+ name: "callData",
573
+ type: "bytes",
574
+ internalType: "bytes",
575
+ },
576
+ ],
577
+ },
578
+ ],
579
+ },
580
+ ],
581
+ outputs: [],
582
+ stateMutability: "nonpayable",
583
+ },
584
+ {
585
+ type: "function",
586
+ name: "protocol",
587
+ inputs: [],
588
+ outputs: [
589
+ {
590
+ name: "",
591
+ type: "address",
592
+ internalType: "contract Protocol",
593
+ },
594
+ ],
595
+ stateMutability: "view",
596
+ },
597
+ {
598
+ type: "function",
599
+ name: "pruneAsset",
600
+ inputs: [
601
+ {
602
+ name: "",
603
+ type: "address",
604
+ internalType: "contract FundLedger",
605
+ },
606
+ {
607
+ name: "",
608
+ type: "address",
609
+ internalType: "contract IERC20",
610
+ },
611
+ ],
612
+ outputs: [],
613
+ stateMutability: "nonpayable",
614
+ },
615
+ {
616
+ type: "function",
617
+ name: "transfer",
618
+ inputs: [
619
+ {
620
+ name: "",
621
+ type: "address",
622
+ internalType: "address",
623
+ },
624
+ {
625
+ name: "",
626
+ type: "address",
627
+ internalType: "address",
628
+ },
629
+ {
630
+ name: "",
631
+ type: "uint256",
632
+ internalType: "uint256",
633
+ },
634
+ ],
635
+ outputs: [],
636
+ stateMutability: "nonpayable",
637
+ },
638
+ {
639
+ type: "function",
640
+ name: "updateController",
641
+ inputs: [
642
+ {
643
+ name: "ledger",
644
+ type: "address",
645
+ internalType: "contract FundLedger",
646
+ },
647
+ {
648
+ name: "newController",
649
+ type: "address",
650
+ internalType: "address",
651
+ },
652
+ ],
653
+ outputs: [],
654
+ stateMutability: "nonpayable",
655
+ },
656
+ {
657
+ type: "function",
658
+ name: "updateCooldownTime",
659
+ inputs: [
660
+ {
661
+ name: "ledger",
662
+ type: "address",
663
+ internalType: "contract FundLedger",
664
+ },
665
+ {
666
+ name: "newCooldownTime",
667
+ type: "uint32",
668
+ internalType: "uint32",
669
+ },
670
+ ],
671
+ outputs: [],
672
+ stateMutability: "nonpayable",
673
+ },
674
+ {
675
+ type: "function",
676
+ name: "updateFees",
677
+ inputs: [
678
+ {
679
+ name: "ledger",
680
+ type: "address",
681
+ internalType: "contract FundLedger",
682
+ },
683
+ {
684
+ name: "newManagerProfitFeeBps",
685
+ type: "uint16",
686
+ internalType: "uint16",
687
+ },
688
+ {
689
+ name: "newManagerManagementFeeBps",
690
+ type: "uint16",
691
+ internalType: "uint16",
692
+ },
693
+ ],
694
+ outputs: [],
695
+ stateMutability: "nonpayable",
696
+ },
697
+ {
698
+ type: "function",
699
+ name: "updateManagerAddress",
700
+ inputs: [
701
+ {
702
+ name: "ledger",
703
+ type: "address",
704
+ internalType: "contract FundLedger",
705
+ },
706
+ {
707
+ name: "newManagerAddress",
708
+ type: "address",
709
+ internalType: "address",
710
+ },
711
+ ],
712
+ outputs: [],
713
+ stateMutability: "nonpayable",
714
+ },
715
+ {
716
+ type: "function",
717
+ name: "updateMinDepositValue",
718
+ inputs: [
719
+ {
720
+ name: "ledger",
721
+ type: "address",
722
+ internalType: "contract FundLedger",
723
+ },
724
+ {
725
+ name: "newMinDepositValue",
726
+ type: "uint96",
727
+ internalType: "uint96",
728
+ },
729
+ ],
730
+ outputs: [],
731
+ stateMutability: "nonpayable",
732
+ },
733
+ {
734
+ type: "function",
735
+ name: "version",
736
+ inputs: [],
737
+ outputs: [
738
+ {
739
+ name: "",
740
+ type: "string",
741
+ internalType: "string",
742
+ },
743
+ ],
744
+ stateMutability: "pure",
745
+ },
746
+ {
747
+ type: "function",
748
+ name: "withdraw",
749
+ inputs: [
750
+ {
751
+ name: "",
752
+ type: "tuple",
753
+ internalType: "struct Withdrawal",
754
+ components: [
755
+ {
756
+ name: "ledger",
757
+ type: "address",
758
+ internalType: "contract FundLedger",
759
+ },
760
+ {
761
+ name: "coin",
762
+ type: "address",
763
+ internalType: "contract IERC20",
764
+ },
765
+ {
766
+ name: "shares",
767
+ type: "uint256",
768
+ internalType: "uint256",
769
+ },
770
+ {
771
+ name: "extCalls",
772
+ type: "tuple[]",
773
+ internalType: "struct ExternalCall[]",
774
+ components: [
775
+ {
776
+ name: "adapter",
777
+ type: "address",
778
+ internalType: "address",
779
+ },
780
+ {
781
+ name: "callData",
782
+ type: "bytes",
783
+ internalType: "bytes",
784
+ },
785
+ ],
786
+ },
787
+ {
788
+ name: "referrerFeeBps",
789
+ type: "uint16",
790
+ internalType: "uint16",
791
+ },
792
+ ],
793
+ },
794
+ ],
795
+ outputs: [],
796
+ stateMutability: "nonpayable",
797
+ },
798
+ {
799
+ type: "error",
800
+ name: "InvalidAddress",
801
+ inputs: [],
802
+ },
803
+ {
804
+ type: "error",
805
+ name: "InvalidCooldownTime",
806
+ inputs: [
807
+ {
808
+ name: "min",
809
+ type: "uint256",
810
+ internalType: "uint256",
811
+ },
812
+ {
813
+ name: "max",
814
+ type: "uint256",
815
+ internalType: "uint256",
816
+ },
817
+ {
818
+ name: "input",
819
+ type: "uint256",
820
+ internalType: "uint256",
821
+ },
822
+ ],
823
+ },
824
+ {
825
+ type: "error",
826
+ name: "InvalidLedger",
827
+ inputs: [],
828
+ },
829
+ {
830
+ type: "error",
831
+ name: "InvalidManagerManagementFeeUpdate",
832
+ inputs: [
833
+ {
834
+ name: "maxFee",
835
+ type: "uint16",
836
+ internalType: "uint16",
837
+ },
838
+ {
839
+ name: "newFee",
840
+ type: "uint16",
841
+ internalType: "uint16",
842
+ },
843
+ ],
844
+ },
845
+ {
846
+ type: "error",
847
+ name: "InvalidManagerProfitFeeUpdate",
848
+ inputs: [
849
+ {
850
+ name: "maxFee",
851
+ type: "uint16",
852
+ internalType: "uint16",
853
+ },
854
+ {
855
+ name: "newFee",
856
+ type: "uint16",
857
+ internalType: "uint16",
858
+ },
859
+ ],
860
+ },
861
+ {
862
+ type: "error",
863
+ name: "SafeCastOverflowedUintDowncast",
864
+ inputs: [
865
+ {
866
+ name: "bits",
867
+ type: "uint8",
868
+ internalType: "uint8",
869
+ },
870
+ {
871
+ name: "value",
872
+ type: "uint256",
873
+ internalType: "uint256",
874
+ },
875
+ ],
876
+ },
877
+ {
878
+ type: "error",
879
+ name: "Unauthorized",
880
+ inputs: [],
881
+ },
882
+ ];
883
+ const _bytecode = "0x610180604052348015610010575f5ffd5b50604051612b41380380612b4183398101604081905261002f9161017c565b60a081015160c082015160808301516060840151604085015160208601518651886001600160a01b0381166100775760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b031660805261008c81610129565b6001600160a01b031660a052506100a281610129565b6001600160a01b031660c052506100b881610129565b6001600160a01b031660e052506100ce81610129565b6001600160a01b031661010052506100e581610129565b6001600160a01b031661012052506100fc81610129565b6001600160a01b0316610140525061011381610129565b6001600160a01b0316610160525061025e915050565b5f6001600160a01b0382166101515760405163e6c4247b60e01b815260040160405180910390fd5b5090565b6001600160a01b0381168114610169575f5ffd5b50565b805161017781610155565b919050565b5f5f82840361010081121561018f575f5ffd5b835161019a81610155565b925060e0601f19820112156101ad575f5ffd5b5060405160e081016001600160401b03811182821017156101dc57634e487b7160e01b5f52604160045260245ffd5b6040526101eb6020850161016c565b81526101f96040850161016c565b602082015261020a6060850161016c565b604082015261021b6080850161016c565b606082015261022c60a0850161016c565b608082015261023d60c0850161016c565b60a082015261024e60e0850161016c565b60c0820152809150509250929050565b60805160a05160c05160e0516101005161012051610140516101605161283461030d5f395f61111b01525f8181610a64015261114401525f818161033d015261036c01525f8181610cdb01526110c901525f610cb201525f6110f201525f61031001525f8181610295015281816103bc015281816106090152818161090d01528181610aaf01528181610d2501528181610e4601528181610ecf01528181610f590152610fd901526128345ff3fe608060405234801561000f575f5ffd5b506004361061011c575f3560e01c80635f436da2116100a95780638ce744261161006e5780638ce7442614610288578063981da12f146102bf5780639cb7590c146102d2578063beabacc8146102e5578063df039c2b146102f8575f5ffd5b80635f436da21461022e578063660b1a521461024157806368813fc214610254578063695c179c1461026257806369fabd1e14610275575f5ffd5b80633e2e9b14116100ef5780633e2e9b14146101ac57806351d550d2146101bf57806354fd4d50146101e0578063566bf738146102085780635c4e58e51461021b575f5ffd5b80630dced77b146101205780630fa218d2146101355780633cbf871c146101485780633e2c51c414610199575b5f5ffd5b61013361012e366004611a2d565b61030b565b005b610133610143366004611a80565b610338565b61015b610156366004611ed4565b610361565b604080519687526020870195909552938501929092526001600160801b03908116606085015216608083015260a082015260c0015b60405180910390f35b6101336101a7366004612094565b61039b565b6101336101ba3660046120da565b6105e8565b6101d26101cd366004612122565b6108cb565b604051908152602001610190565b6040805180820182526006815265076302e312e360d41b60208201529051610190919061216b565b61013361021636600461217d565b6108ec565b6101336102293660046121b9565b610a5f565b61013361023c366004612094565b610a8e565b61013361024f366004611a80565b610cad565b610133610229366004612294565b610133610270366004612094565b610cd6565b61013361028336600461235e565b610d04565b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610190565b6101336102cd366004612392565b6110c4565b6101336102e03660046123c8565b6110ed565b6101336102f33660046123ff565b611116565b610133610306366004612094565b61113f565b6103347f0000000000000000000000000000000000000000000000000000000000000000611164565b5050565b6103347f0000000000000000000000000000000000000000000000000000000000000000611164565b5f5f5f5f5f5f6103907f0000000000000000000000000000000000000000000000000000000000000000611164565b509295509295509295565b6040516384145e3960e01b81526001600160a01b03808416600483015283917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610403573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610427919061243d565b610444576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610480573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a49190612458565b6001600160a01b0316336001600160a01b0316146104d4576040516282b42960e81b815260040160405180910390fd5b6040516301322e7160e01b81526001600160a01b0383811660048301528416906301322e71906024015f604051808303815f87803b158015610514575f5ffd5b505af1158015610526573d5f5f3e3d5ffd5b50505050826001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610566573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058a9190612458565b6040516301322e7160e01b81526001600160a01b03848116600483015291909116906301322e71906024015b5f604051808303815f87803b1580156105cd575f5ffd5b505af11580156105df573d5f5f3e3d5ffd5b50505050505050565b6040516384145e3960e01b81526001600160a01b03808516600483015284917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610650573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610674919061243d565b610691576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f19190612458565b6001600160a01b0316336001600160a01b031614610721576040516282b42960e81b815260040160405180910390fd5b5f846001600160a01b0316630475a9e26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107829190612473565b90505f856001600160a01b031663b7d17b236040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e59190612473565b9050818561ffff8083169082161115610824576040516341185d6b60e11b815261ffff9283166004820152911660248201526044015b60405180910390fd5b50508061ffff168461ffff1611158185909161086157604051630e5954af60e01b815261ffff92831660048201529116602482015260440161081b565b50506040516379e91a8760e11b815261ffff8087166004830152851660248201526001600160a01b0387169063f3d2350e906044015f604051808303815f87803b1580156108ad575f5ffd5b505af11580156108bf573d5f5f3e3d5ffd5b50505050505050505050565b5f806108d73384611184565b90506108e2816116be565b60c0015192915050565b6040516384145e3960e01b81526001600160a01b03808416600483015283917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610954573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610978919061243d565b610995576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f59190612458565b6001600160a01b0316336001600160a01b031614610a25576040516282b42960e81b815260040160405180910390fd5b60405163ce408be360e01b81526bffffffffffffffffffffffff831660048201526001600160a01b0384169063ce408be3906024016105b6565b610a887f0000000000000000000000000000000000000000000000000000000000000000611164565b50505050565b6040516384145e3960e01b81526001600160a01b03808416600483015283917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610af6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1a919061243d565b610b37576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b73573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b979190612458565b6001600160a01b0316336001600160a01b031614610bc7576040516282b42960e81b815260040160405180910390fd5b604051630365adb360e11b81526001600160a01b0383811660048301528416906306cb5b66906024015f604051808303815f87803b158015610c07575f5ffd5b505af1158015610c19573d5f5f3e3d5ffd5b50505050826001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7d9190612458565b604051630365adb360e11b81526001600160a01b03848116600483015291909116906306cb5b66906024016105b6565b6103347f0000000000000000000000000000000000000000000000000000000000000000611164565b610cff7f0000000000000000000000000000000000000000000000000000000000000000611164565b505050565b6040516384145e3960e01b81526001600160a01b03808416600483015283917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610d6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d90919061243d565b610dad576040516328bb3bf960e21b815260040160405180910390fd5b806001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0d9190612458565b6001600160a01b0316336001600160a01b031614610e3d576040516282b42960e81b815260040160405180910390fd5b8163ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15be2ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec4919061248e565b11158015610f5757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166354d6df3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f29573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4d919061248e565b8263ffffffff1611155b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e15be2ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd7919061248e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166354d6df3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611033573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611057919061248e565b8490919261108f576040516346572a0160e01b81526004810193909352602483019190915263ffffffff16604482015260640161081b565b505060405163fe6967ed60e01b815263ffffffff841660048201526001600160a01b038516915063fe6967ed906024016105b6565b6103347f0000000000000000000000000000000000000000000000000000000000000000611164565b6103347f0000000000000000000000000000000000000000000000000000000000000000611164565b610a887f0000000000000000000000000000000000000000000000000000000000000000611164565b610cff7f00000000000000000000000000000000000000000000000000000000000000005b6060365f5f375f5f365f855af43d5f5f3e808015611180573d5ff35b3d5ffd5b61118c61196a565b60408051600880825261012082019092525f91816020015b60608152602001906001900390816111a4579050506040805160048152602481019091526020810180516001600160e01b031663027e5f8f60e61b17905281519192509082905f906111f8576111f86124a5565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b0316636b50985960e11b17905281518290600190811061125e5761125e6124a5565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663900c043560e01b1790528151829060029081106112c4576112c46124a5565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166318160ddd60e01b179052815182906003908110611310576113106124a5565b6020908102919091018101919091526040805160048082526024820190925291820180516001600160e01b03166373d9f6c760e01b1790528251839190811061135b5761135b6124a5565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663363b414760e21b1790528151829060059081106113c1576113c16124a5565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166328172be960e21b17905281518290600690811061140d5761140d6124a5565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166327523cf560e11b179052815182906007908110611459576114596124a5565b60200260200101819052505f846001600160a01b031663ac9650d8836040518263ffffffff1660e01b815260040161149191906124b9565b5f60405180830381865afa1580156114ab573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526114d2919081019061251c565b6001600160a01b03808716855285166040850152805190915081905f906114fb576114fb6124a5565b6020026020010151806020019051810190611516919061260b565b6001600160801b03166020840152805181906001908110611539576115396124a5565b60200260200101518060200190518101906115549190612626565b608084018190526060840152805181906002908110611575576115756124a5565b6020026020010151806020019051810190611590919061248e565b60a08401528051819060039081106115aa576115aa6124a5565b60200260200101518060200190518101906115c5919061248e565b6101008401528051819060049081106115e0576115e06124a5565b60200260200101518060200190518101906115fb919061248e565b610180840152805181906005908110611616576116166124a5565b60200260200101518060200190518101906116319190612685565b61016084015280518190600690811061164c5761164c6124a5565b6020026020010151806020019051810190611667919061260b565b6001600160801b031661012084015280518190600790811061168b5761168b6124a5565b60200260200101518060200190518101906116a6919061260b565b6001600160801b031661014084015250909392505050565b6117138160a001518260600151602001516001600160681b031683606001515f01516116ea9190612764565b6001600160801b03168361012001516001600160801b0316846101800151856101600151611729565b6001600160681b031660e083015260c090910152565b5f5f865f0361173c57505f905080611917565b82515f0361174e57508590505f611917565b8691505f5b8351811015611915575f84828151811061176f5761176f6124a5565b602002602001015190505f836001600160681b03168961178f9190612783565b90505f856117a5670de0b6b3a764000084612796565b6117af91906127ad565b90505f6127106117cc8386602001516001600160801b0316611921565b85602001516001600160801b03166117e491906127cc565b6117ee908b612796565b6117f891906127ad565b90505f8185602001516001600160801b031661181491906127cc565b85519091506001600160801b031661182c828a612796565b61183691906127ad565b9750875f03611849575050505050611915565b84516001600160801b03168310801561186157505f8b115b15611907575f670de0b6b3a76400006001670de0b6b3a7640000885f01516001600160801b03168c6118939190612796565b61189d9190612783565b6118a791906127cc565b6118b191906127ad565b90508481116118c55750505050505061190d565b5f6118e16118dc6118d688856127cc565b8f611921565b611933565b90506118ed818a6127df565b98506119026001600160681b0382168e6127cc565b9c5050505b50505050505b600101611753565b505b9550959350505050565b818181111561192d5750805b92915050565b5f6001600160681b03821115611966576040516306dfcc6560e41b8152606860048201526024810183905260440161081b565b5090565b604051806101a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020016119bc604080516060810182525f808252602082018190529181019190915290565b8152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f6001600160681b031681526020015f81526020015f6001600160801b031681526020015f6001600160801b03168152602001606081526020015f81525090565b5f60208284031215611a3d575f5ffd5b81356001600160401b03811115611a52575f5ffd5b820160c08185031215611a63575f5ffd5b9392505050565b5f60a08284031215611a7a575f5ffd5b50919050565b5f60208284031215611a90575f5ffd5b81356001600160401b03811115611aa5575f5ffd5b611ab184828501611a6a565b949350505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611aef57611aef611ab9565b60405290565b60405160a081016001600160401b0381118282101715611aef57611aef611ab9565b604051606081016001600160401b0381118282101715611aef57611aef611ab9565b6040516102e081016001600160401b0381118282101715611aef57611aef611ab9565b604051601f8201601f191681016001600160401b0381118282101715611b8457611b84611ab9565b604052919050565b6001600160a01b0381168114611ba0575f5ffd5b50565b8015158114611ba0575f5ffd5b8035611bbb81611ba3565b919050565b5f6001600160401b03821115611bd857611bd8611ab9565b5060051b60200190565b8035611bbb81611b8c565b5f6001600160401b03821115611c0557611c05611ab9565b50601f01601f191660200190565b5f82601f830112611c22575f5ffd5b8135611c35611c3082611bed565b611b5c565b818152846020838601011115611c49575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f82601f830112611c74575f5ffd5b8135611c82611c3082611bc0565b8082825260208201915060208360051b860101925085831115611ca3575f5ffd5b602085015b83811015611d355780356001600160401b03811115611cc5575f5ffd5b86016040818903601f19011215611cda575f5ffd5b611ce2611acd565b6020820135611cf081611b8c565b815260408201356001600160401b03811115611d0a575f5ffd5b611d198a602083860101611c13565b6020830152508085525050602083019250602081019050611ca8565b5095945050505050565b5f60a08284031215611d4f575f5ffd5b611d57611af5565b90508135611d6481611b8c565b81526020820135611d7481611b8c565b602082015260408201356001600160401b0381168114611d92575f5ffd5b6040820152611da360608301611bb0565b606082015260808201356001600160401b03811115611dc0575f5ffd5b611dcc84828501611c65565b60808301525092915050565b5f82601f830112611de7575f5ffd5b8135611df5611c3082611bc0565b8082825260208201915060208360051b860101925085831115611e16575f5ffd5b602085015b83811015611d35578035611e2e81611b8c565b835260209283019201611e1b565b6001600160801b0381168114611ba0575f5ffd5b8035611bbb81611e3c565b5f60408284031215611e6b575f5ffd5b611e73611acd565b90508135611e8081611e3c565b81526020820135611e9081611e3c565b602082015292915050565b5f60608284031215611eab575f5ffd5b611eb3611b17565b82358152602080840135908201526040928301359281019290925250919050565b5f5f60408385031215611ee5575f5ffd5b82356001600160401b03811115611efa575f5ffd5b83016103408186031215611f0c575f5ffd5b611f14611b39565b81356001600160401b03811115611f29575f5ffd5b611f3587828501611d3f565b825250611f4460208301611be2565b6020820152611f5560408301611bb0565b6040820152611f6660608301611be2565b60608201526080828101359082015260a0808301359082015260c0808301359082015260e08083013590820152610100808301359082015261012080830135908201526101408083013590820152610160808301359082015261018080830135908201526101a080830135908201526101c080830135908201526101e08201356001600160401b03811115611ff9575f5ffd5b61200587828501611dd8565b6101e0830152506120196102008301611e50565b61020082015261202c6102208301611e50565b61022082015261203f6102408301611e50565b610240820152612053866102608401611e5b565b610260820152612067866102a08401611e9b565b6102808201526103008201356102a0820152610320909101356102c0820152946020939093013593505050565b5f5f604083850312156120a5575f5ffd5b82356120b081611b8c565b915060208301356120c081611b8c565b809150509250929050565b61ffff81168114611ba0575f5ffd5b5f5f5f606084860312156120ec575f5ffd5b83356120f781611b8c565b92506020840135612107816120cb565b91506040840135612117816120cb565b809150509250925092565b5f60208284031215612132575f5ffd5b8135611a6381611b8c565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611a63602083018461213d565b5f5f6040838503121561218e575f5ffd5b823561219981611b8c565b915060208301356bffffffffffffffffffffffff811681146120c0575f5ffd5b5f5f5f606084860312156121cb575f5ffd5b83356121d681611b8c565b925060208401356121e681611b8c565b915060408401356001600160401b03811115612200575f5ffd5b61220c86828701611c13565b9150509250925092565b5f82601f830112612225575f5ffd5b8135612233611c3082611bc0565b8082825260208201915060208360051b860101925085831115612254575f5ffd5b602085015b83811015611d355780356001600160401b03811115612276575f5ffd5b612285886020838a0101611c13565b84525060209283019201612259565b5f5f5f606084860312156122a6575f5ffd5b83356122b181611b8c565b925060208401356001600160401b038111156122cb575f5ffd5b8401601f810186136122db575f5ffd5b80356122e9611c3082611bc0565b8082825260208201915060208360051b85010192508883111561230a575f5ffd5b6020840193505b8284101561233557833561232481611b8c565b825260209384019390910190612311565b945050505060408401356001600160401b03811115612352575f5ffd5b61220c86828701612216565b5f5f6040838503121561236f575f5ffd5b823561237a81611b8c565b9150602083013563ffffffff811681146120c0575f5ffd5b5f602082840312156123a2575f5ffd5b81356001600160401b038111156123b7575f5ffd5b820160608185031215611a63575f5ffd5b5f602082840312156123d8575f5ffd5b81356001600160401b038111156123ed575f5ffd5b82016101208185031215611a63575f5ffd5b5f5f5f60608486031215612411575f5ffd5b833561241c81611b8c565b9250602084013561242c81611b8c565b929592945050506040919091013590565b5f6020828403121561244d575f5ffd5b8151611a6381611ba3565b5f60208284031215612468575f5ffd5b8151611a6381611b8c565b5f60208284031215612483575f5ffd5b8151611a63816120cb565b5f6020828403121561249e575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561251057603f198786030184526124fb85835161213d565b945060209384019391909101906001016124df565b50929695505050505050565b5f6020828403121561252c575f5ffd5b81516001600160401b03811115612541575f5ffd5b8201601f81018413612551575f5ffd5b805161255f611c3082611bc0565b8082825260208201915060208360051b850101925086831115612580575f5ffd5b602084015b838110156126005780516001600160401b038111156125a2575f5ffd5b8501603f810189136125b2575f5ffd5b60208101516125c3611c3082611bed565b8181526040838301018b10156125d7575f5ffd5b8160408401602083015e5f60208383010152808652505050602083019250602081019050612585565b509695505050505050565b5f6020828403121561261b575f5ffd5b8151611a6381611e3c565b5f6060828403128015612637575f5ffd5b50612640611b17565b825161264b81611e3c565b815260208301516001600160681b0381168114612666575f5ffd5b60208201526040830151612679816120cb565b60408201529392505050565b5f60208284031215612695575f5ffd5b81516001600160401b038111156126aa575f5ffd5b8201601f810184136126ba575f5ffd5b80516126c8611c3082611bc0565b8082825260208201915060208360061b8501019250868311156126e9575f5ffd5b6020840193505b828410156127465760408488031215612707575f5ffd5b61270f611acd565b845161271a81611e3c565b8152602085015161272a81611e3c565b80602083015250808352506020820191506040840193506126f0565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03818116838216019081111561192d5761192d612750565b8082018082111561192d5761192d612750565b808202811582820484141761192d5761192d612750565b5f826127c757634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561192d5761192d612750565b6001600160681b03818116838216019081111561192d5761192d61275056fea2646970667358221220d805fd589dc870709cee906190243934956b412b4e40a479f37cb2831508c7ec64736f6c634300081e0033";
884
+ const isSuperArgs = (xs) => xs.length > 1;
885
+ export class FundController__factory extends ContractFactory {
886
+ constructor(...args) {
887
+ if (isSuperArgs(args)) {
888
+ super(...args);
889
+ }
890
+ else {
891
+ super(_abi, _bytecode, args[0]);
892
+ }
893
+ }
894
+ getDeployTransaction(protocolAddress, ctrl, overrides) {
895
+ return super.getDeployTransaction(protocolAddress, ctrl, overrides || {});
896
+ }
897
+ deploy(protocolAddress, ctrl, overrides) {
898
+ return super.deploy(protocolAddress, ctrl, overrides || {});
899
+ }
900
+ connect(runner) {
901
+ return super.connect(runner);
902
+ }
903
+ static bytecode = _bytecode;
904
+ static abi = _abi;
905
+ static createInterface() {
906
+ return new Interface(_abi);
907
+ }
908
+ static connect(address, runner) {
909
+ return new Contract(address, _abi, runner);
910
+ }
911
+ }