@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,1959 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [
6
+ {
7
+ name: "protocolAddress",
8
+ type: "address",
9
+ internalType: "address payable",
10
+ },
11
+ ],
12
+ stateMutability: "nonpayable",
13
+ },
14
+ {
15
+ type: "function",
16
+ name: "accountFeeBasis",
17
+ inputs: [
18
+ {
19
+ name: "account",
20
+ type: "address",
21
+ internalType: "address",
22
+ },
23
+ ],
24
+ outputs: [
25
+ {
26
+ name: "",
27
+ type: "uint128",
28
+ internalType: "uint128",
29
+ },
30
+ ],
31
+ stateMutability: "view",
32
+ },
33
+ {
34
+ type: "function",
35
+ name: "accrueManagementFee",
36
+ inputs: [],
37
+ outputs: [],
38
+ stateMutability: "nonpayable",
39
+ },
40
+ {
41
+ type: "function",
42
+ name: "addAsset",
43
+ inputs: [
44
+ {
45
+ name: "asset",
46
+ type: "address",
47
+ internalType: "contract IERC20",
48
+ },
49
+ ],
50
+ outputs: [],
51
+ stateMutability: "nonpayable",
52
+ },
53
+ {
54
+ type: "function",
55
+ name: "allowance",
56
+ inputs: [
57
+ {
58
+ name: "owner",
59
+ type: "address",
60
+ internalType: "address",
61
+ },
62
+ {
63
+ name: "spender",
64
+ type: "address",
65
+ internalType: "address",
66
+ },
67
+ ],
68
+ outputs: [
69
+ {
70
+ name: "",
71
+ type: "uint256",
72
+ internalType: "uint256",
73
+ },
74
+ ],
75
+ stateMutability: "view",
76
+ },
77
+ {
78
+ type: "function",
79
+ name: "approve",
80
+ inputs: [
81
+ {
82
+ name: "",
83
+ type: "address",
84
+ internalType: "address",
85
+ },
86
+ {
87
+ name: "",
88
+ type: "uint256",
89
+ internalType: "uint256",
90
+ },
91
+ ],
92
+ outputs: [
93
+ {
94
+ name: "",
95
+ type: "bool",
96
+ internalType: "bool",
97
+ },
98
+ ],
99
+ stateMutability: "pure",
100
+ },
101
+ {
102
+ type: "function",
103
+ name: "assetCount",
104
+ inputs: [],
105
+ outputs: [
106
+ {
107
+ name: "",
108
+ type: "uint256",
109
+ internalType: "uint256",
110
+ },
111
+ ],
112
+ stateMutability: "view",
113
+ },
114
+ {
115
+ type: "function",
116
+ name: "assetSlot",
117
+ inputs: [
118
+ {
119
+ name: "asset",
120
+ type: "address",
121
+ internalType: "contract IERC20",
122
+ },
123
+ ],
124
+ outputs: [
125
+ {
126
+ name: "index",
127
+ type: "uint256",
128
+ internalType: "uint256",
129
+ },
130
+ ],
131
+ stateMutability: "view",
132
+ },
133
+ {
134
+ type: "function",
135
+ name: "assets",
136
+ inputs: [
137
+ {
138
+ name: "",
139
+ type: "uint256",
140
+ internalType: "uint256",
141
+ },
142
+ ],
143
+ outputs: [
144
+ {
145
+ name: "",
146
+ type: "address",
147
+ internalType: "contract IERC20",
148
+ },
149
+ ],
150
+ stateMutability: "view",
151
+ },
152
+ {
153
+ type: "function",
154
+ name: "assignedVirtualBuffer",
155
+ inputs: [],
156
+ outputs: [
157
+ {
158
+ name: "",
159
+ type: "uint128",
160
+ internalType: "uint128",
161
+ },
162
+ ],
163
+ stateMutability: "view",
164
+ },
165
+ {
166
+ type: "function",
167
+ name: "availableBalanceOf",
168
+ inputs: [
169
+ {
170
+ name: "_account",
171
+ type: "address",
172
+ internalType: "address",
173
+ },
174
+ ],
175
+ outputs: [
176
+ {
177
+ name: "availableBalance",
178
+ type: "uint256",
179
+ internalType: "uint256",
180
+ },
181
+ ],
182
+ stateMutability: "view",
183
+ },
184
+ {
185
+ type: "function",
186
+ name: "balanceOf",
187
+ inputs: [
188
+ {
189
+ name: "account",
190
+ type: "address",
191
+ internalType: "address",
192
+ },
193
+ ],
194
+ outputs: [
195
+ {
196
+ name: "balance",
197
+ type: "uint256",
198
+ internalType: "uint256",
199
+ },
200
+ ],
201
+ stateMutability: "view",
202
+ },
203
+ {
204
+ type: "function",
205
+ name: "burn",
206
+ inputs: [
207
+ {
208
+ name: "account",
209
+ type: "address",
210
+ internalType: "address",
211
+ },
212
+ {
213
+ name: "amount",
214
+ type: "uint256",
215
+ internalType: "uint256",
216
+ },
217
+ {
218
+ name: "offset",
219
+ type: "uint256",
220
+ internalType: "uint256",
221
+ },
222
+ ],
223
+ outputs: [],
224
+ stateMutability: "nonpayable",
225
+ },
226
+ {
227
+ type: "function",
228
+ name: "controller",
229
+ inputs: [],
230
+ outputs: [
231
+ {
232
+ name: "",
233
+ type: "address",
234
+ internalType: "address",
235
+ },
236
+ ],
237
+ stateMutability: "view",
238
+ },
239
+ {
240
+ type: "function",
241
+ name: "cooldownTime",
242
+ inputs: [],
243
+ outputs: [
244
+ {
245
+ name: "",
246
+ type: "uint32",
247
+ internalType: "uint32",
248
+ },
249
+ ],
250
+ stateMutability: "view",
251
+ },
252
+ {
253
+ type: "function",
254
+ name: "cursors",
255
+ inputs: [
256
+ {
257
+ name: "account",
258
+ type: "address",
259
+ internalType: "address",
260
+ },
261
+ ],
262
+ outputs: [
263
+ {
264
+ name: "",
265
+ type: "tuple",
266
+ internalType: "struct AccountCursor",
267
+ components: [
268
+ {
269
+ name: "principal",
270
+ type: "uint128",
271
+ internalType: "uint128",
272
+ },
273
+ {
274
+ name: "virtualBuffer",
275
+ type: "uint104",
276
+ internalType: "uint104",
277
+ },
278
+ {
279
+ name: "epoch",
280
+ type: "uint16",
281
+ internalType: "uint16",
282
+ },
283
+ ],
284
+ },
285
+ ],
286
+ stateMutability: "view",
287
+ },
288
+ {
289
+ type: "function",
290
+ name: "decimals",
291
+ inputs: [],
292
+ outputs: [
293
+ {
294
+ name: "",
295
+ type: "uint8",
296
+ internalType: "uint8",
297
+ },
298
+ ],
299
+ stateMutability: "view",
300
+ },
301
+ {
302
+ type: "function",
303
+ name: "epochFeeBasis",
304
+ inputs: [],
305
+ outputs: [
306
+ {
307
+ name: "",
308
+ type: "uint128",
309
+ internalType: "uint128",
310
+ },
311
+ ],
312
+ stateMutability: "view",
313
+ },
314
+ {
315
+ type: "function",
316
+ name: "epochFeePerShare",
317
+ inputs: [
318
+ {
319
+ name: "price",
320
+ type: "uint256",
321
+ internalType: "uint256",
322
+ },
323
+ ],
324
+ outputs: [
325
+ {
326
+ name: "",
327
+ type: "uint256",
328
+ internalType: "uint256",
329
+ },
330
+ ],
331
+ stateMutability: "view",
332
+ },
333
+ {
334
+ type: "function",
335
+ name: "epochs",
336
+ inputs: [],
337
+ outputs: [
338
+ {
339
+ name: "",
340
+ type: "tuple[]",
341
+ internalType: "struct Epoch[]",
342
+ components: [
343
+ {
344
+ name: "watermark",
345
+ type: "uint128",
346
+ internalType: "uint128",
347
+ },
348
+ {
349
+ name: "priceBefore",
350
+ type: "uint128",
351
+ internalType: "uint128",
352
+ },
353
+ ],
354
+ },
355
+ ],
356
+ stateMutability: "view",
357
+ },
358
+ {
359
+ type: "function",
360
+ name: "feeEpoch",
361
+ inputs: [],
362
+ outputs: [
363
+ {
364
+ name: "",
365
+ type: "uint128",
366
+ internalType: "uint128",
367
+ },
368
+ ],
369
+ stateMutability: "view",
370
+ },
371
+ {
372
+ type: "function",
373
+ name: "feePerShare",
374
+ inputs: [
375
+ {
376
+ name: "price",
377
+ type: "uint256",
378
+ internalType: "uint256",
379
+ },
380
+ {
381
+ name: "basis",
382
+ type: "uint256",
383
+ internalType: "uint256",
384
+ },
385
+ ],
386
+ outputs: [
387
+ {
388
+ name: "",
389
+ type: "uint256",
390
+ internalType: "uint256",
391
+ },
392
+ ],
393
+ stateMutability: "view",
394
+ },
395
+ {
396
+ type: "function",
397
+ name: "getAssets",
398
+ inputs: [],
399
+ outputs: [
400
+ {
401
+ name: "",
402
+ type: "address[]",
403
+ internalType: "contract IERC20[]",
404
+ },
405
+ ],
406
+ stateMutability: "view",
407
+ },
408
+ {
409
+ type: "function",
410
+ name: "getCooldownByUser",
411
+ inputs: [
412
+ {
413
+ name: "_account",
414
+ type: "address",
415
+ internalType: "address",
416
+ },
417
+ ],
418
+ outputs: [
419
+ {
420
+ name: "",
421
+ type: "tuple",
422
+ internalType: "struct LedgerCooldown.CooldownsByUser",
423
+ components: [
424
+ {
425
+ name: "offset",
426
+ type: "uint256",
427
+ internalType: "uint256",
428
+ },
429
+ {
430
+ name: "cooldowns",
431
+ type: "tuple[]",
432
+ internalType: "struct LedgerCooldown.Cooldown[]",
433
+ components: [
434
+ {
435
+ name: "expiresAt",
436
+ type: "uint256",
437
+ internalType: "uint256",
438
+ },
439
+ {
440
+ name: "amount",
441
+ type: "uint256",
442
+ internalType: "uint256",
443
+ },
444
+ ],
445
+ },
446
+ ],
447
+ },
448
+ ],
449
+ stateMutability: "view",
450
+ },
451
+ {
452
+ type: "function",
453
+ name: "getPendingEpochs",
454
+ inputs: [
455
+ {
456
+ name: "account",
457
+ type: "address",
458
+ internalType: "address",
459
+ },
460
+ ],
461
+ outputs: [
462
+ {
463
+ name: "_pendingEpochs",
464
+ type: "tuple[]",
465
+ internalType: "struct Epoch[]",
466
+ components: [
467
+ {
468
+ name: "watermark",
469
+ type: "uint128",
470
+ internalType: "uint128",
471
+ },
472
+ {
473
+ name: "priceBefore",
474
+ type: "uint128",
475
+ internalType: "uint128",
476
+ },
477
+ ],
478
+ },
479
+ ],
480
+ stateMutability: "view",
481
+ },
482
+ {
483
+ type: "function",
484
+ name: "gracePeriodEnd",
485
+ inputs: [],
486
+ outputs: [
487
+ {
488
+ name: "",
489
+ type: "uint48",
490
+ internalType: "uint48",
491
+ },
492
+ ],
493
+ stateMutability: "view",
494
+ },
495
+ {
496
+ type: "function",
497
+ name: "hasCooldown",
498
+ inputs: [
499
+ {
500
+ name: "_account",
501
+ type: "address",
502
+ internalType: "address",
503
+ },
504
+ ],
505
+ outputs: [
506
+ {
507
+ name: "",
508
+ type: "bool",
509
+ internalType: "bool",
510
+ },
511
+ ],
512
+ stateMutability: "view",
513
+ },
514
+ {
515
+ type: "function",
516
+ name: "initialize",
517
+ inputs: [
518
+ {
519
+ name: "vault",
520
+ type: "address",
521
+ internalType: "contract FundVault",
522
+ },
523
+ {
524
+ name: "coin",
525
+ type: "address",
526
+ internalType: "contract IERC20",
527
+ },
528
+ {
529
+ name: "name",
530
+ type: "string",
531
+ internalType: "string",
532
+ },
533
+ {
534
+ name: "symbol",
535
+ type: "string",
536
+ internalType: "string",
537
+ },
538
+ {
539
+ name: "minDepositUsd",
540
+ type: "uint96",
541
+ internalType: "uint96",
542
+ },
543
+ {
544
+ name: "cooldownTime",
545
+ type: "uint32",
546
+ internalType: "uint32",
547
+ },
548
+ {
549
+ name: "managerProfitFeeBps",
550
+ type: "uint16",
551
+ internalType: "uint16",
552
+ },
553
+ {
554
+ name: "managerManagementFeeBps",
555
+ type: "uint16",
556
+ internalType: "uint16",
557
+ },
558
+ {
559
+ name: "referrer",
560
+ type: "address",
561
+ internalType: "address",
562
+ },
563
+ ],
564
+ outputs: [],
565
+ stateMutability: "nonpayable",
566
+ },
567
+ {
568
+ type: "function",
569
+ name: "isOpen",
570
+ inputs: [],
571
+ outputs: [
572
+ {
573
+ name: "",
574
+ type: "bool",
575
+ internalType: "bool",
576
+ },
577
+ ],
578
+ stateMutability: "view",
579
+ },
580
+ {
581
+ type: "function",
582
+ name: "latestCheckpointTimestamp",
583
+ inputs: [],
584
+ outputs: [
585
+ {
586
+ name: "",
587
+ type: "uint48",
588
+ internalType: "uint48",
589
+ },
590
+ ],
591
+ stateMutability: "view",
592
+ },
593
+ {
594
+ type: "function",
595
+ name: "latestManagementFeeTimestamp",
596
+ inputs: [],
597
+ outputs: [
598
+ {
599
+ name: "",
600
+ type: "uint48",
601
+ internalType: "uint48",
602
+ },
603
+ ],
604
+ stateMutability: "view",
605
+ },
606
+ {
607
+ type: "function",
608
+ name: "managementFeeBps",
609
+ inputs: [],
610
+ outputs: [
611
+ {
612
+ name: "",
613
+ type: "uint256",
614
+ internalType: "uint256",
615
+ },
616
+ ],
617
+ stateMutability: "view",
618
+ },
619
+ {
620
+ type: "function",
621
+ name: "manager",
622
+ inputs: [],
623
+ outputs: [
624
+ {
625
+ name: "",
626
+ type: "address",
627
+ internalType: "address",
628
+ },
629
+ ],
630
+ stateMutability: "view",
631
+ },
632
+ {
633
+ type: "function",
634
+ name: "managerManagementFeeBps",
635
+ inputs: [],
636
+ outputs: [
637
+ {
638
+ name: "",
639
+ type: "uint16",
640
+ internalType: "uint16",
641
+ },
642
+ ],
643
+ stateMutability: "view",
644
+ },
645
+ {
646
+ type: "function",
647
+ name: "managerProfitFeeBps",
648
+ inputs: [],
649
+ outputs: [
650
+ {
651
+ name: "",
652
+ type: "uint16",
653
+ internalType: "uint16",
654
+ },
655
+ ],
656
+ stateMutability: "view",
657
+ },
658
+ {
659
+ type: "function",
660
+ name: "minDepositUsd",
661
+ inputs: [],
662
+ outputs: [
663
+ {
664
+ name: "",
665
+ type: "uint96",
666
+ internalType: "uint96",
667
+ },
668
+ ],
669
+ stateMutability: "view",
670
+ },
671
+ {
672
+ type: "function",
673
+ name: "mint",
674
+ inputs: [
675
+ {
676
+ name: "account",
677
+ type: "address",
678
+ internalType: "address",
679
+ },
680
+ {
681
+ name: "amount",
682
+ type: "uint256",
683
+ internalType: "uint256",
684
+ },
685
+ {
686
+ name: "offset",
687
+ type: "uint256",
688
+ internalType: "uint256",
689
+ },
690
+ ],
691
+ outputs: [],
692
+ stateMutability: "nonpayable",
693
+ },
694
+ {
695
+ type: "function",
696
+ name: "multicall",
697
+ inputs: [
698
+ {
699
+ name: "data",
700
+ type: "bytes[]",
701
+ internalType: "bytes[]",
702
+ },
703
+ ],
704
+ outputs: [
705
+ {
706
+ name: "results",
707
+ type: "bytes[]",
708
+ internalType: "bytes[]",
709
+ },
710
+ ],
711
+ stateMutability: "view",
712
+ },
713
+ {
714
+ type: "function",
715
+ name: "name",
716
+ inputs: [],
717
+ outputs: [
718
+ {
719
+ name: "",
720
+ type: "string",
721
+ internalType: "string",
722
+ },
723
+ ],
724
+ stateMutability: "view",
725
+ },
726
+ {
727
+ type: "function",
728
+ name: "preAdjustedBalanceOf",
729
+ inputs: [
730
+ {
731
+ name: "account",
732
+ type: "address",
733
+ internalType: "address",
734
+ },
735
+ ],
736
+ outputs: [
737
+ {
738
+ name: "",
739
+ type: "uint256",
740
+ internalType: "uint256",
741
+ },
742
+ ],
743
+ stateMutability: "view",
744
+ },
745
+ {
746
+ type: "function",
747
+ name: "profitFeeBps",
748
+ inputs: [],
749
+ outputs: [
750
+ {
751
+ name: "",
752
+ type: "uint256",
753
+ internalType: "uint256",
754
+ },
755
+ ],
756
+ stateMutability: "view",
757
+ },
758
+ {
759
+ type: "function",
760
+ name: "protocol",
761
+ inputs: [],
762
+ outputs: [
763
+ {
764
+ name: "",
765
+ type: "address",
766
+ internalType: "contract Protocol",
767
+ },
768
+ ],
769
+ stateMutability: "view",
770
+ },
771
+ {
772
+ type: "function",
773
+ name: "rawTotalSupply",
774
+ inputs: [],
775
+ outputs: [
776
+ {
777
+ name: "",
778
+ type: "uint256",
779
+ internalType: "uint256",
780
+ },
781
+ ],
782
+ stateMutability: "view",
783
+ },
784
+ {
785
+ type: "function",
786
+ name: "referrer",
787
+ inputs: [],
788
+ outputs: [
789
+ {
790
+ name: "",
791
+ type: "address",
792
+ internalType: "address",
793
+ },
794
+ ],
795
+ stateMutability: "view",
796
+ },
797
+ {
798
+ type: "function",
799
+ name: "referrerManagementFeeBps",
800
+ inputs: [],
801
+ outputs: [
802
+ {
803
+ name: "",
804
+ type: "uint16",
805
+ internalType: "uint16",
806
+ },
807
+ ],
808
+ stateMutability: "view",
809
+ },
810
+ {
811
+ type: "function",
812
+ name: "referrerProfitFeeBps",
813
+ inputs: [],
814
+ outputs: [
815
+ {
816
+ name: "",
817
+ type: "uint16",
818
+ internalType: "uint16",
819
+ },
820
+ ],
821
+ stateMutability: "view",
822
+ },
823
+ {
824
+ type: "function",
825
+ name: "registerClosure",
826
+ inputs: [
827
+ {
828
+ name: "coin",
829
+ type: "address",
830
+ internalType: "contract IERC20",
831
+ },
832
+ ],
833
+ outputs: [],
834
+ stateMutability: "nonpayable",
835
+ },
836
+ {
837
+ type: "function",
838
+ name: "registerCursor",
839
+ inputs: [
840
+ {
841
+ name: "account",
842
+ type: "address",
843
+ internalType: "address",
844
+ },
845
+ {
846
+ name: "cursorBefore",
847
+ type: "tuple",
848
+ internalType: "struct AccountCursor",
849
+ components: [
850
+ {
851
+ name: "principal",
852
+ type: "uint128",
853
+ internalType: "uint128",
854
+ },
855
+ {
856
+ name: "virtualBuffer",
857
+ type: "uint104",
858
+ internalType: "uint104",
859
+ },
860
+ {
861
+ name: "epoch",
862
+ type: "uint16",
863
+ internalType: "uint16",
864
+ },
865
+ ],
866
+ },
867
+ {
868
+ name: "cursorAfter",
869
+ type: "tuple",
870
+ internalType: "struct AccountCursor",
871
+ components: [
872
+ {
873
+ name: "principal",
874
+ type: "uint128",
875
+ internalType: "uint128",
876
+ },
877
+ {
878
+ name: "virtualBuffer",
879
+ type: "uint104",
880
+ internalType: "uint104",
881
+ },
882
+ {
883
+ name: "epoch",
884
+ type: "uint16",
885
+ internalType: "uint16",
886
+ },
887
+ ],
888
+ },
889
+ {
890
+ name: "newUnassignedVirtBuf",
891
+ type: "uint128",
892
+ internalType: "uint128",
893
+ },
894
+ {
895
+ name: "newAssignedVirtBuf",
896
+ type: "uint128",
897
+ internalType: "uint128",
898
+ },
899
+ ],
900
+ outputs: [],
901
+ stateMutability: "nonpayable",
902
+ },
903
+ {
904
+ type: "function",
905
+ name: "registerDeposit",
906
+ inputs: [
907
+ {
908
+ name: "account",
909
+ type: "address",
910
+ internalType: "address",
911
+ },
912
+ {
913
+ name: "coin",
914
+ type: "address",
915
+ internalType: "contract IERC20",
916
+ },
917
+ {
918
+ name: "sharesAmount",
919
+ type: "uint256",
920
+ internalType: "uint256",
921
+ },
922
+ {
923
+ name: "principalAmountIn",
924
+ type: "uint256",
925
+ internalType: "uint256",
926
+ },
927
+ {
928
+ name: "fee",
929
+ type: "uint256",
930
+ internalType: "uint256",
931
+ },
932
+ ],
933
+ outputs: [],
934
+ stateMutability: "nonpayable",
935
+ },
936
+ {
937
+ type: "function",
938
+ name: "registerEpoch",
939
+ inputs: [
940
+ {
941
+ name: "newEpoch",
942
+ type: "tuple",
943
+ internalType: "struct Epoch",
944
+ components: [
945
+ {
946
+ name: "watermark",
947
+ type: "uint128",
948
+ internalType: "uint128",
949
+ },
950
+ {
951
+ name: "priceBefore",
952
+ type: "uint128",
953
+ internalType: "uint128",
954
+ },
955
+ ],
956
+ },
957
+ {
958
+ name: "epochBufferDelta",
959
+ type: "uint128",
960
+ internalType: "uint128",
961
+ },
962
+ ],
963
+ outputs: [],
964
+ stateMutability: "nonpayable",
965
+ },
966
+ {
967
+ type: "function",
968
+ name: "registerManagementFeeClaim",
969
+ inputs: [
970
+ {
971
+ name: "timestamp",
972
+ type: "uint48",
973
+ internalType: "uint48",
974
+ },
975
+ ],
976
+ outputs: [],
977
+ stateMutability: "nonpayable",
978
+ },
979
+ {
980
+ type: "function",
981
+ name: "registerTransfer",
982
+ inputs: [
983
+ {
984
+ name: "ctx",
985
+ type: "tuple",
986
+ internalType: "struct TransferContext",
987
+ components: [
988
+ {
989
+ name: "from",
990
+ type: "address",
991
+ internalType: "address",
992
+ },
993
+ {
994
+ name: "to",
995
+ type: "address",
996
+ internalType: "address",
997
+ },
998
+ {
999
+ name: "fromCursor",
1000
+ type: "tuple",
1001
+ internalType: "struct AccountCursor",
1002
+ components: [
1003
+ {
1004
+ name: "principal",
1005
+ type: "uint128",
1006
+ internalType: "uint128",
1007
+ },
1008
+ {
1009
+ name: "virtualBuffer",
1010
+ type: "uint104",
1011
+ internalType: "uint104",
1012
+ },
1013
+ {
1014
+ name: "epoch",
1015
+ type: "uint16",
1016
+ internalType: "uint16",
1017
+ },
1018
+ ],
1019
+ },
1020
+ {
1021
+ name: "toCursor",
1022
+ type: "tuple",
1023
+ internalType: "struct AccountCursor",
1024
+ components: [
1025
+ {
1026
+ name: "principal",
1027
+ type: "uint128",
1028
+ internalType: "uint128",
1029
+ },
1030
+ {
1031
+ name: "virtualBuffer",
1032
+ type: "uint104",
1033
+ internalType: "uint104",
1034
+ },
1035
+ {
1036
+ name: "epoch",
1037
+ type: "uint16",
1038
+ internalType: "uint16",
1039
+ },
1040
+ ],
1041
+ },
1042
+ {
1043
+ name: "fromBalance",
1044
+ type: "uint256",
1045
+ internalType: "uint256",
1046
+ },
1047
+ {
1048
+ name: "amount",
1049
+ type: "uint256",
1050
+ internalType: "uint256",
1051
+ },
1052
+ ],
1053
+ },
1054
+ ],
1055
+ outputs: [],
1056
+ stateMutability: "nonpayable",
1057
+ },
1058
+ {
1059
+ type: "function",
1060
+ name: "registerWithdrawal",
1061
+ inputs: [
1062
+ {
1063
+ name: "account",
1064
+ type: "address",
1065
+ internalType: "address",
1066
+ },
1067
+ {
1068
+ name: "coin",
1069
+ type: "address",
1070
+ internalType: "contract IERC20",
1071
+ },
1072
+ {
1073
+ name: "sharesAmount",
1074
+ type: "uint256",
1075
+ internalType: "uint256",
1076
+ },
1077
+ {
1078
+ name: "principalAmountOut",
1079
+ type: "uint128",
1080
+ internalType: "uint128",
1081
+ },
1082
+ {
1083
+ name: "bufferAmountOut",
1084
+ type: "uint104",
1085
+ internalType: "uint104",
1086
+ },
1087
+ {
1088
+ name: "netAmountOut",
1089
+ type: "uint256",
1090
+ internalType: "uint256",
1091
+ },
1092
+ {
1093
+ name: "managerFee",
1094
+ type: "uint256",
1095
+ internalType: "uint256",
1096
+ },
1097
+ {
1098
+ name: "referrerFee",
1099
+ type: "uint256",
1100
+ internalType: "uint256",
1101
+ },
1102
+ ],
1103
+ outputs: [],
1104
+ stateMutability: "nonpayable",
1105
+ },
1106
+ {
1107
+ type: "function",
1108
+ name: "removeAsset",
1109
+ inputs: [
1110
+ {
1111
+ name: "asset",
1112
+ type: "address",
1113
+ internalType: "contract IERC20",
1114
+ },
1115
+ ],
1116
+ outputs: [],
1117
+ stateMutability: "nonpayable",
1118
+ },
1119
+ {
1120
+ type: "function",
1121
+ name: "replaceAsset",
1122
+ inputs: [
1123
+ {
1124
+ name: "oldAsset",
1125
+ type: "address",
1126
+ internalType: "contract IERC20",
1127
+ },
1128
+ {
1129
+ name: "newAsset",
1130
+ type: "address",
1131
+ internalType: "contract IERC20",
1132
+ },
1133
+ ],
1134
+ outputs: [],
1135
+ stateMutability: "nonpayable",
1136
+ },
1137
+ {
1138
+ type: "function",
1139
+ name: "symbol",
1140
+ inputs: [],
1141
+ outputs: [
1142
+ {
1143
+ name: "",
1144
+ type: "string",
1145
+ internalType: "string",
1146
+ },
1147
+ ],
1148
+ stateMutability: "view",
1149
+ },
1150
+ {
1151
+ type: "function",
1152
+ name: "totalPrincipal",
1153
+ inputs: [],
1154
+ outputs: [
1155
+ {
1156
+ name: "",
1157
+ type: "uint256",
1158
+ internalType: "uint256",
1159
+ },
1160
+ ],
1161
+ stateMutability: "view",
1162
+ },
1163
+ {
1164
+ type: "function",
1165
+ name: "totalSupply",
1166
+ inputs: [],
1167
+ outputs: [
1168
+ {
1169
+ name: "",
1170
+ type: "uint256",
1171
+ internalType: "uint256",
1172
+ },
1173
+ ],
1174
+ stateMutability: "view",
1175
+ },
1176
+ {
1177
+ type: "function",
1178
+ name: "totalSupplyOffset",
1179
+ inputs: [],
1180
+ outputs: [
1181
+ {
1182
+ name: "",
1183
+ type: "int256",
1184
+ internalType: "int256",
1185
+ },
1186
+ ],
1187
+ stateMutability: "view",
1188
+ },
1189
+ {
1190
+ type: "function",
1191
+ name: "totalVirtualBuffer",
1192
+ inputs: [],
1193
+ outputs: [
1194
+ {
1195
+ name: "",
1196
+ type: "uint256",
1197
+ internalType: "uint256",
1198
+ },
1199
+ ],
1200
+ stateMutability: "view",
1201
+ },
1202
+ {
1203
+ type: "function",
1204
+ name: "totalVirtualPrincipal",
1205
+ inputs: [],
1206
+ outputs: [
1207
+ {
1208
+ name: "",
1209
+ type: "uint256",
1210
+ internalType: "uint256",
1211
+ },
1212
+ ],
1213
+ stateMutability: "view",
1214
+ },
1215
+ {
1216
+ type: "function",
1217
+ name: "transfer",
1218
+ inputs: [
1219
+ {
1220
+ name: "to",
1221
+ type: "address",
1222
+ internalType: "address",
1223
+ },
1224
+ {
1225
+ name: "amount",
1226
+ type: "uint256",
1227
+ internalType: "uint256",
1228
+ },
1229
+ ],
1230
+ outputs: [
1231
+ {
1232
+ name: "",
1233
+ type: "bool",
1234
+ internalType: "bool",
1235
+ },
1236
+ ],
1237
+ stateMutability: "nonpayable",
1238
+ },
1239
+ {
1240
+ type: "function",
1241
+ name: "transferFrom",
1242
+ inputs: [
1243
+ {
1244
+ name: "from",
1245
+ type: "address",
1246
+ internalType: "address",
1247
+ },
1248
+ {
1249
+ name: "to",
1250
+ type: "address",
1251
+ internalType: "address",
1252
+ },
1253
+ {
1254
+ name: "amount",
1255
+ type: "uint256",
1256
+ internalType: "uint256",
1257
+ },
1258
+ ],
1259
+ outputs: [
1260
+ {
1261
+ name: "",
1262
+ type: "bool",
1263
+ internalType: "bool",
1264
+ },
1265
+ ],
1266
+ stateMutability: "nonpayable",
1267
+ },
1268
+ {
1269
+ type: "function",
1270
+ name: "unassignedVirtualBuffer",
1271
+ inputs: [],
1272
+ outputs: [
1273
+ {
1274
+ name: "",
1275
+ type: "uint128",
1276
+ internalType: "uint128",
1277
+ },
1278
+ ],
1279
+ stateMutability: "view",
1280
+ },
1281
+ {
1282
+ type: "function",
1283
+ name: "updateController",
1284
+ inputs: [
1285
+ {
1286
+ name: "newController",
1287
+ type: "address",
1288
+ internalType: "address",
1289
+ },
1290
+ ],
1291
+ outputs: [],
1292
+ stateMutability: "nonpayable",
1293
+ },
1294
+ {
1295
+ type: "function",
1296
+ name: "updateCooldownTime",
1297
+ inputs: [
1298
+ {
1299
+ name: "newCooldownTime",
1300
+ type: "uint32",
1301
+ internalType: "uint32",
1302
+ },
1303
+ ],
1304
+ outputs: [],
1305
+ stateMutability: "nonpayable",
1306
+ },
1307
+ {
1308
+ type: "function",
1309
+ name: "updateFees",
1310
+ inputs: [
1311
+ {
1312
+ name: "newManagerProfitFeeBps",
1313
+ type: "uint16",
1314
+ internalType: "uint16",
1315
+ },
1316
+ {
1317
+ name: "newManagerManagementFeeBps",
1318
+ type: "uint16",
1319
+ internalType: "uint16",
1320
+ },
1321
+ ],
1322
+ outputs: [],
1323
+ stateMutability: "nonpayable",
1324
+ },
1325
+ {
1326
+ type: "function",
1327
+ name: "updateManagerAddress",
1328
+ inputs: [
1329
+ {
1330
+ name: "newManagerAddress",
1331
+ type: "address",
1332
+ internalType: "address",
1333
+ },
1334
+ ],
1335
+ outputs: [],
1336
+ stateMutability: "nonpayable",
1337
+ },
1338
+ {
1339
+ type: "function",
1340
+ name: "updateMinDepositValue",
1341
+ inputs: [
1342
+ {
1343
+ name: "newMinDepositUsd",
1344
+ type: "uint96",
1345
+ internalType: "uint96",
1346
+ },
1347
+ ],
1348
+ outputs: [],
1349
+ stateMutability: "nonpayable",
1350
+ },
1351
+ {
1352
+ type: "function",
1353
+ name: "vault",
1354
+ inputs: [],
1355
+ outputs: [
1356
+ {
1357
+ name: "",
1358
+ type: "address",
1359
+ internalType: "contract FundVault",
1360
+ },
1361
+ ],
1362
+ stateMutability: "view",
1363
+ },
1364
+ {
1365
+ type: "function",
1366
+ name: "virtualPrincipalOf",
1367
+ inputs: [
1368
+ {
1369
+ name: "account",
1370
+ type: "address",
1371
+ internalType: "address",
1372
+ },
1373
+ ],
1374
+ outputs: [
1375
+ {
1376
+ name: "",
1377
+ type: "uint256",
1378
+ internalType: "uint256",
1379
+ },
1380
+ ],
1381
+ stateMutability: "view",
1382
+ },
1383
+ {
1384
+ type: "function",
1385
+ name: "watermark",
1386
+ inputs: [],
1387
+ outputs: [
1388
+ {
1389
+ name: "",
1390
+ type: "uint128",
1391
+ internalType: "uint128",
1392
+ },
1393
+ ],
1394
+ stateMutability: "view",
1395
+ },
1396
+ {
1397
+ type: "event",
1398
+ name: "Approval",
1399
+ inputs: [
1400
+ {
1401
+ name: "owner",
1402
+ type: "address",
1403
+ indexed: true,
1404
+ internalType: "address",
1405
+ },
1406
+ {
1407
+ name: "spender",
1408
+ type: "address",
1409
+ indexed: true,
1410
+ internalType: "address",
1411
+ },
1412
+ {
1413
+ name: "value",
1414
+ type: "uint256",
1415
+ indexed: false,
1416
+ internalType: "uint256",
1417
+ },
1418
+ ],
1419
+ anonymous: false,
1420
+ },
1421
+ {
1422
+ type: "event",
1423
+ name: "ControllerUpdated",
1424
+ inputs: [
1425
+ {
1426
+ name: "newController",
1427
+ type: "address",
1428
+ indexed: false,
1429
+ internalType: "address",
1430
+ },
1431
+ ],
1432
+ anonymous: false,
1433
+ },
1434
+ {
1435
+ type: "event",
1436
+ name: "CooldownUpdated",
1437
+ inputs: [
1438
+ {
1439
+ name: "newCooldown",
1440
+ type: "uint32",
1441
+ indexed: false,
1442
+ internalType: "uint32",
1443
+ },
1444
+ ],
1445
+ anonymous: false,
1446
+ },
1447
+ {
1448
+ type: "event",
1449
+ name: "CursorUpdated",
1450
+ inputs: [
1451
+ {
1452
+ name: "account",
1453
+ type: "address",
1454
+ indexed: true,
1455
+ internalType: "address",
1456
+ },
1457
+ {
1458
+ name: "epoch",
1459
+ type: "uint256",
1460
+ indexed: true,
1461
+ internalType: "uint256",
1462
+ },
1463
+ {
1464
+ name: "cursorBefore",
1465
+ type: "tuple",
1466
+ indexed: false,
1467
+ internalType: "struct AccountCursor",
1468
+ components: [
1469
+ {
1470
+ name: "principal",
1471
+ type: "uint128",
1472
+ internalType: "uint128",
1473
+ },
1474
+ {
1475
+ name: "virtualBuffer",
1476
+ type: "uint104",
1477
+ internalType: "uint104",
1478
+ },
1479
+ {
1480
+ name: "epoch",
1481
+ type: "uint16",
1482
+ internalType: "uint16",
1483
+ },
1484
+ ],
1485
+ },
1486
+ {
1487
+ name: "cursorAfter",
1488
+ type: "tuple",
1489
+ indexed: false,
1490
+ internalType: "struct AccountCursor",
1491
+ components: [
1492
+ {
1493
+ name: "principal",
1494
+ type: "uint128",
1495
+ internalType: "uint128",
1496
+ },
1497
+ {
1498
+ name: "virtualBuffer",
1499
+ type: "uint104",
1500
+ internalType: "uint104",
1501
+ },
1502
+ {
1503
+ name: "epoch",
1504
+ type: "uint16",
1505
+ internalType: "uint16",
1506
+ },
1507
+ ],
1508
+ },
1509
+ {
1510
+ name: "newUnassignedVirtBuf",
1511
+ type: "uint128",
1512
+ indexed: false,
1513
+ internalType: "uint128",
1514
+ },
1515
+ {
1516
+ name: "newAssignedVirtBuf",
1517
+ type: "uint128",
1518
+ indexed: false,
1519
+ internalType: "uint128",
1520
+ },
1521
+ ],
1522
+ anonymous: false,
1523
+ },
1524
+ {
1525
+ type: "event",
1526
+ name: "Deposited",
1527
+ inputs: [
1528
+ {
1529
+ name: "account",
1530
+ type: "address",
1531
+ indexed: true,
1532
+ internalType: "address",
1533
+ },
1534
+ {
1535
+ name: "coin",
1536
+ type: "address",
1537
+ indexed: false,
1538
+ internalType: "contract IERC20",
1539
+ },
1540
+ {
1541
+ name: "shares",
1542
+ type: "uint256",
1543
+ indexed: false,
1544
+ internalType: "uint256",
1545
+ },
1546
+ {
1547
+ name: "principalAmountIn",
1548
+ type: "uint256",
1549
+ indexed: false,
1550
+ internalType: "uint256",
1551
+ },
1552
+ {
1553
+ name: "fee",
1554
+ type: "uint256",
1555
+ indexed: false,
1556
+ internalType: "uint256",
1557
+ },
1558
+ ],
1559
+ anonymous: false,
1560
+ },
1561
+ {
1562
+ type: "event",
1563
+ name: "EpochAdvanced",
1564
+ inputs: [
1565
+ {
1566
+ name: "epoch",
1567
+ type: "tuple",
1568
+ indexed: false,
1569
+ internalType: "struct Epoch",
1570
+ components: [
1571
+ {
1572
+ name: "watermark",
1573
+ type: "uint128",
1574
+ internalType: "uint128",
1575
+ },
1576
+ {
1577
+ name: "priceBefore",
1578
+ type: "uint128",
1579
+ internalType: "uint128",
1580
+ },
1581
+ ],
1582
+ },
1583
+ ],
1584
+ anonymous: false,
1585
+ },
1586
+ {
1587
+ type: "event",
1588
+ name: "FundClosed",
1589
+ inputs: [
1590
+ {
1591
+ name: "gracePeriodEnd",
1592
+ type: "uint48",
1593
+ indexed: false,
1594
+ internalType: "uint48",
1595
+ },
1596
+ ],
1597
+ anonymous: false,
1598
+ },
1599
+ {
1600
+ type: "event",
1601
+ name: "Initialized",
1602
+ inputs: [
1603
+ {
1604
+ name: "version",
1605
+ type: "uint64",
1606
+ indexed: false,
1607
+ internalType: "uint64",
1608
+ },
1609
+ ],
1610
+ anonymous: false,
1611
+ },
1612
+ {
1613
+ type: "event",
1614
+ name: "ManagementFeeClaimed",
1615
+ inputs: [
1616
+ {
1617
+ name: "timestamp",
1618
+ type: "uint48",
1619
+ indexed: false,
1620
+ internalType: "uint48",
1621
+ },
1622
+ ],
1623
+ anonymous: false,
1624
+ },
1625
+ {
1626
+ type: "event",
1627
+ name: "ManagerAddressUpdated",
1628
+ inputs: [
1629
+ {
1630
+ name: "newManagerAddress",
1631
+ type: "address",
1632
+ indexed: false,
1633
+ internalType: "address",
1634
+ },
1635
+ ],
1636
+ anonymous: false,
1637
+ },
1638
+ {
1639
+ type: "event",
1640
+ name: "ManagerProfitFeeUpdated",
1641
+ inputs: [
1642
+ {
1643
+ name: "newManagerProfitFeeBps",
1644
+ type: "uint16",
1645
+ indexed: false,
1646
+ internalType: "uint16",
1647
+ },
1648
+ ],
1649
+ anonymous: false,
1650
+ },
1651
+ {
1652
+ type: "event",
1653
+ name: "MinDepositUpdated",
1654
+ inputs: [
1655
+ {
1656
+ name: "newMinimum",
1657
+ type: "uint96",
1658
+ indexed: false,
1659
+ internalType: "uint96",
1660
+ },
1661
+ ],
1662
+ anonymous: false,
1663
+ },
1664
+ {
1665
+ type: "event",
1666
+ name: "Transfer",
1667
+ inputs: [
1668
+ {
1669
+ name: "from",
1670
+ type: "address",
1671
+ indexed: true,
1672
+ internalType: "address",
1673
+ },
1674
+ {
1675
+ name: "to",
1676
+ type: "address",
1677
+ indexed: true,
1678
+ internalType: "address",
1679
+ },
1680
+ {
1681
+ name: "value",
1682
+ type: "uint256",
1683
+ indexed: false,
1684
+ internalType: "uint256",
1685
+ },
1686
+ ],
1687
+ anonymous: false,
1688
+ },
1689
+ {
1690
+ type: "event",
1691
+ name: "Withdrawn",
1692
+ inputs: [
1693
+ {
1694
+ name: "account",
1695
+ type: "address",
1696
+ indexed: true,
1697
+ internalType: "address",
1698
+ },
1699
+ {
1700
+ name: "coin",
1701
+ type: "address",
1702
+ indexed: false,
1703
+ internalType: "contract IERC20",
1704
+ },
1705
+ {
1706
+ name: "shares",
1707
+ type: "uint256",
1708
+ indexed: false,
1709
+ internalType: "uint256",
1710
+ },
1711
+ {
1712
+ name: "principalAmountOut",
1713
+ type: "uint256",
1714
+ indexed: false,
1715
+ internalType: "uint256",
1716
+ },
1717
+ {
1718
+ name: "bufferAmountOut",
1719
+ type: "uint256",
1720
+ indexed: false,
1721
+ internalType: "uint256",
1722
+ },
1723
+ {
1724
+ name: "netAmountOut",
1725
+ type: "uint256",
1726
+ indexed: false,
1727
+ internalType: "uint256",
1728
+ },
1729
+ {
1730
+ name: "managerFee",
1731
+ type: "uint256",
1732
+ indexed: false,
1733
+ internalType: "uint256",
1734
+ },
1735
+ {
1736
+ name: "referrerFee",
1737
+ type: "uint256",
1738
+ indexed: false,
1739
+ internalType: "uint256",
1740
+ },
1741
+ ],
1742
+ anonymous: false,
1743
+ },
1744
+ {
1745
+ type: "error",
1746
+ name: "ControllerDisabled",
1747
+ inputs: [],
1748
+ },
1749
+ {
1750
+ type: "error",
1751
+ name: "CooldownNotExpired",
1752
+ inputs: [
1753
+ {
1754
+ name: "availableBalance",
1755
+ type: "uint256",
1756
+ internalType: "uint256",
1757
+ },
1758
+ {
1759
+ name: "transferAmount",
1760
+ type: "uint256",
1761
+ internalType: "uint256",
1762
+ },
1763
+ ],
1764
+ },
1765
+ {
1766
+ type: "error",
1767
+ name: "ERC20InsufficientAllowance",
1768
+ inputs: [
1769
+ {
1770
+ name: "spender",
1771
+ type: "address",
1772
+ internalType: "address",
1773
+ },
1774
+ {
1775
+ name: "allowance",
1776
+ type: "uint256",
1777
+ internalType: "uint256",
1778
+ },
1779
+ {
1780
+ name: "needed",
1781
+ type: "uint256",
1782
+ internalType: "uint256",
1783
+ },
1784
+ ],
1785
+ },
1786
+ {
1787
+ type: "error",
1788
+ name: "ERC20InsufficientBalance",
1789
+ inputs: [
1790
+ {
1791
+ name: "sender",
1792
+ type: "address",
1793
+ internalType: "address",
1794
+ },
1795
+ {
1796
+ name: "balance",
1797
+ type: "uint256",
1798
+ internalType: "uint256",
1799
+ },
1800
+ {
1801
+ name: "needed",
1802
+ type: "uint256",
1803
+ internalType: "uint256",
1804
+ },
1805
+ ],
1806
+ },
1807
+ {
1808
+ type: "error",
1809
+ name: "ERC20InvalidApprover",
1810
+ inputs: [
1811
+ {
1812
+ name: "approver",
1813
+ type: "address",
1814
+ internalType: "address",
1815
+ },
1816
+ ],
1817
+ },
1818
+ {
1819
+ type: "error",
1820
+ name: "ERC20InvalidReceiver",
1821
+ inputs: [
1822
+ {
1823
+ name: "receiver",
1824
+ type: "address",
1825
+ internalType: "address",
1826
+ },
1827
+ ],
1828
+ },
1829
+ {
1830
+ type: "error",
1831
+ name: "ERC20InvalidSender",
1832
+ inputs: [
1833
+ {
1834
+ name: "sender",
1835
+ type: "address",
1836
+ internalType: "address",
1837
+ },
1838
+ ],
1839
+ },
1840
+ {
1841
+ type: "error",
1842
+ name: "ERC20InvalidSpender",
1843
+ inputs: [
1844
+ {
1845
+ name: "spender",
1846
+ type: "address",
1847
+ internalType: "address",
1848
+ },
1849
+ ],
1850
+ },
1851
+ {
1852
+ type: "error",
1853
+ name: "InvalidAddress",
1854
+ inputs: [],
1855
+ },
1856
+ {
1857
+ type: "error",
1858
+ name: "InvalidInitialization",
1859
+ inputs: [],
1860
+ },
1861
+ {
1862
+ type: "error",
1863
+ name: "InvalidVault",
1864
+ inputs: [],
1865
+ },
1866
+ {
1867
+ type: "error",
1868
+ name: "MulticallFailed",
1869
+ inputs: [
1870
+ {
1871
+ name: "index",
1872
+ type: "uint256",
1873
+ internalType: "uint256",
1874
+ },
1875
+ ],
1876
+ },
1877
+ {
1878
+ type: "error",
1879
+ name: "NotImplemented",
1880
+ inputs: [],
1881
+ },
1882
+ {
1883
+ type: "error",
1884
+ name: "NotInitializing",
1885
+ inputs: [],
1886
+ },
1887
+ {
1888
+ type: "error",
1889
+ name: "RedundantAssetAddition",
1890
+ inputs: [
1891
+ {
1892
+ name: "asset",
1893
+ type: "address",
1894
+ internalType: "contract IERC20",
1895
+ },
1896
+ ],
1897
+ },
1898
+ {
1899
+ type: "error",
1900
+ name: "SafeCastOverflowedUintDowncast",
1901
+ inputs: [
1902
+ {
1903
+ name: "bits",
1904
+ type: "uint8",
1905
+ internalType: "uint8",
1906
+ },
1907
+ {
1908
+ name: "value",
1909
+ type: "uint256",
1910
+ internalType: "uint256",
1911
+ },
1912
+ ],
1913
+ },
1914
+ {
1915
+ type: "error",
1916
+ name: "SafeCastOverflowedUintToInt",
1917
+ inputs: [
1918
+ {
1919
+ name: "value",
1920
+ type: "uint256",
1921
+ internalType: "uint256",
1922
+ },
1923
+ ],
1924
+ },
1925
+ {
1926
+ type: "error",
1927
+ name: "Unauthorized",
1928
+ inputs: [],
1929
+ },
1930
+ ];
1931
+ const _bytecode = "0x60a060405234801561000f575f5ffd5b50604051613f26380380613f2683398101604081905261002e91610124565b80806001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03166080525061006c610072565b50610151565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100c25760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101215780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b5f60208284031215610134575f5ffd5b81516001600160a01b038116811461014a575f5ffd5b9392505050565b608051613da16101855f395f818161076d01528181610b7f015281816122ac01528181612ae60152612d680152613da15ff3fe608060405234801561000f575f5ffd5b506004361061040c575f3560e01c80636cd470a111610221578063c7810cf51161012a578063ea32acb4116100b4578063f3d2350e11610084578063f3d2350e14610a3a578063f5298aca14610a4d578063f77c479114610a60578063fbfa77cf14610a71578063fe6967ed14610a83575f5ffd5b8063ea32acb414610a0f578063eafe7a7414610a22578063f13dc2e214610a2a578063f34fd6c614610a32575f5ffd5b8063d6a130b2116100fa578063d6a130b2146108e9578063d8ed051c14610974578063dae2a76c14610987578063dd62ed3e1461099f578063e164f9b8146109f6575f5ffd5b8063c7810cf51461089d578063c8c63c69146108b0578063ce408be3146108c3578063cf35bdd0146108d6575f5ffd5b8063a592d9ec116101ab578063b5adcc541161017b578063b5adcc5414610843578063b7d17b2314610863578063bab04d1b14610878578063bc94064c14610880578063c261f48114610895575f5ffd5b8063a592d9ec146107dd578063a9059cbb146107e5578063ac9650d8146107f8578063b319c6b714610818575f5ffd5b8063900c0435116101f1578063900c04351461079157806395d89b41146107a45780639df11ab7146107ac5780639f97e3c0146107bf578063a05cafa4146107ca575f5ffd5b80636cd470a11461073d57806370a082311461075057806373d9f6c7146107635780638ce744261461076b575f5ffd5b80632f206068116103235780634a5e42b1116102ad57806358152d071161027d57806358152d07146106d85780635f30ba24146106ed57806364e8ae6d1461070257806367e4ac2c1461071557806368447c931461072a575f5ffd5b80634a5e42b11461068f5780634b1533b2146106a25780634ea479ea146106ab57806351e9b20f146106c5575f5ffd5b8063420ccec1116102f3578063420ccec11461062f578063467d15891461064257806347230a941461065557806347535d7b1461065d578063481c6a751461066a575f5ffd5b80632f206068146105d8578063313ce5671461060557806336b6f71c146106145780633813c35a14610627575f5ffd5b806314100994116103a457806323b872dd1161037457806323b872dd1461056b57806325d998bb1461057e578063298410e5146105915780632a43526f146105a45780632df96d57146105ad575f5ffd5b8063141009941461050b578063156e29f61461051e57806318160ddd146105315780631a6e658614610539575f5ffd5b806306cb5b66116103df57806306cb5b66146104a157806306fdde03146104b4578063095ea7b3146104c957806310d07204146104ec575f5ffd5b806301322e7114610410578063045d0c1b146104255780630475a9e21461044b57806305c9961914610473575b5f5ffd5b61042361041e36600461305d565b610a96565b005b61043861043336600461307f565b610b15565b6040519081526020015b60405180910390f35b60035461046090600160581b900461ffff1681565b60405161ffff9091168152602001610442565b60035461048a90610100900465ffffffffffff1681565b60405165ffffffffffff9091168152602001610442565b6104236104af36600461305d565b610b36565b6104bc610c53565b60405161044291906130c4565b6104dc6104d73660046130d6565b610d13565b6040519015158152602001610442565b6104386104fa36600461305d565b60026020525f908152604090205481565b610423610519366004613152565b610d2d565b61042361052c3660046131ca565b610e1f565b610438610e77565b60045461055390600160a01b90046001600160601b031681565b6040516001600160601b039091168152602001610442565b6104dc6105793660046131fc565b610e98565b61043861058c36600461305d565b610ed9565b61042361059f36600461305d565b610f2d565b61043860085481565b6105c06105bb36600461305d565b610ffb565b6040516001600160801b039091168152602001610442565b6104dc6105e636600461305d565b6001600160a01b03165f908152600c6020526040902060010154151590565b60405160128152602001610442565b610423610622366004613306565b61108a565b610438611201565b61042361063d36600461305d565b61122d565b6104236106503660046133dc565b61132d565b61043861137d565b6003546104dc9060ff1681565b600b546001600160a01b03165b6040516001600160a01b039091168152602001610442565b61042361069d36600461305d565b6113b4565b61043860065481565b6007546105c090600160801b90046001600160801b031681565b6104236106d3366004613429565b611468565b6106e06116d4565b60405161044291906134a1565b60035461046090600160481b900461ffff1681565b610438610710366004613504565b611748565b61071d61177f565b6040516104429190613524565b600454610677906001600160a01b031681565b61042361074b366004613564565b6117df565b61043861075e36600461305d565b611875565b610438611951565b7f0000000000000000000000000000000000000000000000000000000000000000610677565b61043861079f36600461305d565b611974565b6104bc61197e565b6104236107ba3660046135d8565b6119bc565b6009545f19016105c0565b6007546105c0906001600160801b031681565b610438611aa9565b6104dc6107f33660046130d6565b611ad2565b61080b61080636600461363f565b611b42565b60405161044291906136ae565b5f5461082e90600160d01b900463ffffffff1681565b60405163ffffffff9091168152602001610442565b61085661085136600461305d565b611c66565b6040516104429190613711565b60035461046090600160381b900461ffff1681565b610438611d15565b60035461046090600160681b900461ffff1681565b6105c0611d44565b6104236108ab366004613778565b611d6b565b6104236108be366004613811565b611e62565b6104236108d136600461385e565b611f67565b6106776108e436600461307f565b611fe7565b6109676108f736600461305d565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03949094168452600582529282902082519384018352546001600160801b0381168452600160801b81046001600160681b031691840191909152600160e81b900461ffff169082015290565b60405161044291906138a6565b6106e061098236600461305d565b61200f565b5f5461048a90600160a01b900465ffffffffffff1681565b6104386109ad3660046133dc565b6001600160a01b039182165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b60035461048a90600160781b900465ffffffffffff1681565b610438610a1d36600461305d565b612152565b600154610438565b6105c061219c565b6104236121cf565b610423610a483660046138b4565b61221e565b610423610a5b3660046131ca565b612390565b600a546001600160a01b0316610677565b5f54610677906001600160a01b031681565b610423610a913660046138e0565b6123de565b600a546001600160a01b03163314610ac0576040516282b42960e81b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1207be401d51e379598f93d2de21878d0a8225208d271069604ce9f9d81c37b0906020015b60405180910390a150565b5f610b3082610b22611d44565b6001600160801b0316611748565b92915050565b600a546001600160a01b03163314610b60576040516282b42960e81b815260040160405180910390fd5b604051630d68c03760e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690630d68c03790602401602060405180830381865afa158015610bc4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be89190613908565b610c05576040516359cf0f3760e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1304018cfe79741dcf02ba6b61d39cc4757d59395d03224d9925c7aa8300214690602001610b0a565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060915f516020613d4c5f395f51905f5291610c9190613921565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbd90613921565b8015610d085780601f10610cdf57610100808354040283529160200191610d08565b820191905f5260205f20905b815481529060010190602001808311610ceb57829003601f168201915b505050505091505090565b5f60405163d623472560e01b815260040160405180910390fd5b600a546001600160a01b03163314610d57576040516282b42960e81b815260040160405180910390fd5b600980546001810182555f918252835160208501516001600160801b03908116600160801b02918116919091177f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af909201919091556007805484939192610dc09185911661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507fe2249cd287947ea9ff0703431518853077d1d3f3cf08fd66541664a0862fa58482604051610e13919061398c565b60405180910390a15050565b600a546001600160a01b03163314610e49576040516282b42960e81b815260040160405180910390fd5b610e545f848461245b565b610e5d81612594565b60085f828254610e6d91906139b0565b9091555050505050565b5f5f5f610e826125c4565b9092509050610e9181836139cf565b9250505090565b600a545f906001600160a01b03163314610ec4576040516282b42960e81b815260040160405180910390fd5b610ecf848484612674565b5060019392505050565b5f610ee382611875565b9050610f08826001600160a01b03165f908152600c6020526040902060010154151590565b15610f28575f610f1783612843565b509050610f2481836139e2565b9150505b919050565b600a546001600160a01b03163314610f57576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f90815260026020526040902054819015610fa057604051637f6d950d60e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b039093166001600160a01b031990931683179055545f9182526002602052604090912055565b5f5f61100683611875565b9050805f0361101757505f92915050565b6001600160a01b0383165f90815260056020526040812054611052906001600160681b03600160801b820416906001600160801b031661396d565b6001600160801b0316905061108282611073670de0b6b3a7640000846139f5565b61107d9190613a20565b6128fe565b949350505050565b5f611093612931565b805490915060ff600160401b82041615906001600160401b03165f811580156110b95750825b90505f826001600160401b031660011480156110d45750303b155b9050811580156110e2575080155b156111005760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561112a57845460ff60401b1916600160401b1785555b6111398e8e8c8c8c8c8c612959565b6111438c8c612cf5565b6111ab8e6001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611182573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a69190613a33565b612d4b565b83156111f157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b6003545f906112249061ffff600160381b8204811691600160481b900416613a4e565b61ffff16905090565b600a546001600160a01b03163314611257576040516282b42960e81b815260040160405180910390fd5b61126260015f612fd7565b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03841690811790915590545f91825260026020526040909120556003805460ff191690556112d162ed4e00426139cf565b5f805465ffffffffffff60a01b1916600160a01b65ffffffffffff93841681029190911791829055604051910490911681527fff33565ba997fa6e0079a3e18ee80afecd3317f29fdf66bd9c9d06e2aa0c1e2d90602001610b0a565b600a546001600160a01b03163314611357576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152600260205260409020546113799082612e26565b5050565b6007546006545f916001600160801b03600160801b82048116926113a59291909116906139cf565b6113af91906139cf565b905090565b600a546001600160a01b031633146113de576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f908152600260205260409020546001805461143492919061140b9082906139e2565b8154811061141b5761141b613a68565b5f918252602090912001546001600160a01b0316612e26565b600180548061144557611445613a7c565b5f8281526020902081015f1990810180546001600160a01b031916905501905550565b600a546001600160a01b03163314611492576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0388165f90815260056020908152604091829020825160608101845290546001600160801b03808216808452600160801b83046001600160681b031694840194909452600160e81b90910461ffff1693820193909352916114fd91908816906139e2565b6001600160801b031681526020810151611523906001600160681b0380881691166139e2565b6001600160681b0390811660208084019182526001600160a01b038c165f908152600590915260408082208551815494519287015161ffff16600160e81b0261ffff60e81b1993909616600160801b026001600160e81b03199095166001600160801b0391821617949094179190911693909317909255600680549189169290916115af9084906139e2565b9091555050600780546001600160681b03871691906010906115e2908490600160801b90046001600160801b0316613a90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506008545f1461164557611617611aa9565b876008546116259190613aaf565b61162f9190613ade565b60085f82825461163f91906139b0565b90915550505b61164f8988612eed565b604080516001600160a01b038a81168252602082018a90526001600160801b038916828401526001600160681b03881660608301526080820187905260a0820186905260c082018590529151918b16917fec4d7fc8319e44dfa849ab87f565622b9cf848ce9959568c3066615ce9e2ef149181900360e00190a2505050505050505050565b60606009805480602002602001604051908101604052809291908181526020015f905b8282101561173f575f84815260209081902060408051808201909152908401546001600160801b038082168352600160801b90910416818301528252600190920191016116f7565b50505050905090565b5f5f6117548484612f21565b61175e90856139e2565b905061271061176b611951565b61177590836139f5565b6110829190613a20565b606060018054806020026020016040519081016040528092919081815260200182805480156117d557602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116117b7575b5050505050905090565b600a546001600160a01b03163314611809576040516282b42960e81b815260040160405180910390fd5b6003805465ffffffffffff60781b1916600160781b65ffffffffffff84160217905561183d3061183881611875565b612eed565b60405165ffffffffffff821681527ffca4e8f38a30da6307fc7a7bf18d7752c0cffc2634a3e11263cee303d047575b90602001610b0a565b6009545f90611886906001906139e2565b6001600160a01b0383165f90815260056020526040902054600160e81b900461ffff161461191f57600a546040516328eaa86960e11b81526001600160a01b038481166004830152909116906351d550d290602401602060405180830381865afa1580156118f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191a9190613b0a565b611928565b61192882612f30565b9050306001600160a01b03831603610f28575f6119436125c4565b9150610f24905081836139cf565b6003545f906112249061ffff600160581b8204811691600160681b900416613a4e565b5f610b3082612f30565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060915f516020613d4c5f395f51905f5291610c9190613921565b600a546001600160a01b031633146119e6576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0385165f818152600560209081526040918290208651815492880151888501516001600160801b039283166001600160e81b031990951694909417600160801b6001600160681b0390921682021761ffff60e81b1916600160e81b61ffff909516948502179092558681169086169091021760075590519091907f829e79e759d98b9c6e1f6ecf17794ea0d4ecfa5e77dab1038c91472d3f90051890611a9a908890889088908890613b21565b60405180910390a35050505050565b5f6113af7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b600a546040516317d5759960e31b81523360048201526001600160a01b038481166024830152604482018490525f92169063beabacc8906064015f604051808303815f87803b158015611b23575f5ffd5b505af1158015611b35573d5f5f3e3d5ffd5b5060019695505050505050565b6060816001600160401b03811115611b5c57611b5c613100565b604051908082528060200260200182016040528015611b8f57816020015b6060815260200190600190039081611b7a5790505b5090505f5b82811015611c5f575f8030868685818110611bb157611bb1613a68565b9050602002810190611bc39190613b64565b604051611bd1929190613bad565b5f60405180830381855afa9150503d805f8114611c09576040519150601f19603f3d011682016040523d82523d5f602084013e611c0e565b606091505b5091509150818390611c365760405163750ebb7d60e01b8152600401610f9791815260200190565b5080848481518110611c4a57611c4a613a68565b60209081029190910101525050600101611b94565b5092915050565b604080518082019091525f8152606060208201526001600160a01b0382165f908152600c6020908152604080832081518083018352815481526001820180548451818702810187019095528085529195929486810194939192919084015b82821015611d07578382905f5260205f2090600202016040518060400160405290815f820154815260200160018201548152505081526020019060010190611cc4565b505050915250909392505050565b6007545f90611d36906001600160801b03600160801b82048116911661396d565b6001600160801b0316905090565b5f6113af611d50610e77565b670de0b6b3a7640000611d6161137d565b61107391906139f5565b600a546001600160a01b03163314611d95576040516282b42960e81b815260040160405180910390fd5b60408082015182516001600160a01b039081165f9081526005602090815284822084518154838701519688015161ffff908116600160e81b90810261ffff60e81b196001600160681b039a8b16600160801b9081026001600160e81b03199687166001600160801b03988916171782169290921790965560608c0151878d018051909a168952978b902088518154988a015199909c0151909316909102969098169097029316961695909517179093169290921790558151905160a0830151611e5f929190612674565b50565b600a546001600160a01b03163314611e8c576040516282b42960e81b815260040160405180910390fd5b611e95826128fe565b6001600160a01b0386165f9081526005602052604081208054909190611ec59084906001600160801b031661396d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508160065f828254611efa91906139cf565b90915550611f0a90508584612f56565b604080516001600160a01b0386811682526020820186905291810184905260608101839052908616907f8bab6aed5a508937051a144e61d6e61336834a66aaee250a00613ae6f744c4229060800160405180910390a25050505050565b600a546001600160a01b03163314611f91576040516282b42960e81b815260040160405180910390fd5b600480546001600160a01b0316600160a01b6001600160601b038416908102919091179091556040519081527f26462afeab04e43bad99da0e8bfb0445715e350b421524b6c07e7e1840d1883790602001610b0a565b60018181548110611ff6575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b0381165f90815260056020526040902054600954606091600160e81b900461ffff16905f19016001600160801b031661204f82826139e2565b6001600160401b0381111561206657612066613100565b6040519080825280602002602001820160405280156120aa57816020015b604080518082019091525f80825260208201528152602001906001900390816120845790505b50925060015b6120ba83836139e2565b811161214a5760096120cc84836139cf565b815481106120dc576120dc613a68565b5f918252602091829020604080518082019091529101546001600160801b038082168352600160801b90910416918101919091528461211c6001846139e2565b8151811061212c5761212c613a68565b6020026020010181905250808061214290613bbc565b9150506120b0565b505050919050565b6001600160a01b0381165f9081526005602052604081205461218d906001600160681b03600160801b820416906001600160801b031661396d565b6001600160801b031692915050565b600980545f91905f1981019081106121b6576121b6613a68565b5f918252602090912001546001600160801b0316919050565b600354610100900465ffffffffffff1642111561221c575f6121ef6125c4565b9150506121fc3082612f56565b506003805466ffffffffffff0019166101004265ffffffffffff16021790555b565b600a546001600160a01b03163314612248576040516282b42960e81b815260040160405180910390fd5b6003805461ffff838116600160381b0261ffff60381b19918616600160581b02919091166cffff0000ffff000000000000001990921691909117179055600480546040516318dcc3ab60e01b81526001600160a01b03918216928101929092525f917f0000000000000000000000000000000000000000000000000000000000000000909116906318dcc3ab90602401606060405180830381865afa1580156122f3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123179190613bd4565b60208181015160038054845165ffff0000ffff60481b19909116600160481b61ffff9485160261ffff60681b191617600160681b9184169190910217905560405190861681529192507f2437b4c438fb39a9340ac2b3b8d1610845463d8f09731b4512a34a2193a02b38910160405180910390a1505050565b600a546001600160a01b031633146123ba576040516282b42960e81b815260040160405180910390fd5b6123c5835f8461245b565b6123ce81612594565b60085f828254610e6d9190613c26565b600a546001600160a01b03163314612408576040516282b42960e81b815260040160405180910390fd5b5f805463ffffffff60d01b1916600160d01b63ffffffff8416908102919091179091556040519081527fcf0ad841e8fa3140506c6291bc33a92598803c4dd5d031a808c8db1278905d7090602001610b0a565b5f516020613d4c5f395f51905f526001600160a01b0384166124955781816002015f82825461248a91906139cf565b909155506125059050565b6001600160a01b0384165f90815260208290526040902054828110156124e75760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610f97565b6001600160a01b0385165f9081526020839052604090209083900390555b6001600160a01b038316612523576002810180548390039055612541565b6001600160a01b0383165f9081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161258691815260200190565b60405180910390a350505050565b5f6001600160ff1b038211156125c05760405163123baf0360e11b815260048101839052602401610f97565b5090565b5f5f6125ce611aa9565b91505f600854126125f5576125e4600854612f8a565b6125ee90836139cf565b915061260d565b612600600854612f8a565b61260a90836139e2565b91505b60035460ff1615612670576003545f9061263490610100900465ffffffffffff16426139e2565b90506126466127106301e133806139f5565b61264e611201565b61265883866139f5565b61266291906139f5565b61266c9190613a20565b9150505b9091565b61267f83838361245b565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545f036126ac575f6008555b60035460ff166126bb57505050565b6001600160a01b03831661274c576001600160a01b0382163014612747576001600160a01b0382165f908152600c602052604080822081518083019092529154600190920191819061271a90600160d01b900463ffffffff16426139cf565b815260209081018490528254600181810185555f9485529382902083516002909202019081559101519101555b505050565b6001600160a01b0383165f908152600c602052604090206001015415612747575f5f61277785612843565b915091508161278586611875565b1015828461279288611875565b61279c91906139cf565b6127a691906139e2565b8490916127cf5760405163b388f18d60e01b815260048101929092526024820152604401610f97565b50506001600160a01b0385165f908152600c60205260409020600101548103612821576001600160a01b0385165f908152600c602052604081208181559061281a6001830182612ff2565b505061283c565b6001600160a01b0385165f908152600c602052604090208190555b5050505050565b6001600160a01b0381165f908152600c6020526040812060018101549054905b818111156128f8576001600160a01b0384165f908152600c6020526040812060019081019061289290846139e2565b815481106128a2576128a2613a68565b905f5260205f2090600202016040518060400160405290815f82015481526020016001820154815250509050805f01514210156128ee57602081015193909301925f19909101906128f2565b8192505b50612863565b50915091565b5f6001600160801b038211156125c0576040516306dfcc6560e41b81526080600482015260248101839052604401610f97565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610b30565b612961612f99565b336001600160a01b0316876001600160a01b031663f77c47916040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129cb9190613a33565b6001600160a01b0316148015612a515750306001600160a01b0316876001600160a01b03166356397c356040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a469190613a33565b6001600160a01b0316145b612a6e57604051630681d31960e51b815260040160405180910390fd5b5f80546001600160a01b03808a166001600160a01b03199283161783556003805460048054878516951694909417845561ffff878116600160381b0261ffff60381b19918a16600160581b026cffff00000000000000000000ff1990931692909217600117161790556040516318dcc3ab60e01b81527f0000000000000000000000000000000000000000000000000000000000000000909116916318dcc3ab91612b2a918691016001600160a01b0391909116815260200190565b606060405180830381865afa158015612b45573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b699190613bd4565b602080820151600380549351600480546001600160601b03909c16600160a01b026001600160a01b039c8d161790555f805463ffffffff909b16600160d01b0263ffffffff60d01b19909b169a909a178a5565ffffffffffff4216610100810266ffffffffffff0019600160781b929092029190911674ffffffffffff0000000000000000ffffffffffff001961ffff938416600160681b0261ffff60681b1994909616600160481b029390931665ffff0000ffff60481b199097169690961793909317169390931717909155604080518082018252670de0b6b3a76400008082528184019081526009805460018181018355918b52925191516001600160801b03908116600160801b029216919091177f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90920191909155805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180549a9099166001600160a01b03199a909a168a1790985597865260029052505050929020555050565b612cfd612f99565b5f516020613d4c5f395f51905f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03612d368482613c91565b5060048101612d458382613c91565b50505050565b612d53612f99565b604051630d68c03760e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630d68c03790602401602060405180830381865afa158015612db5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd99190613908565b612df6576040516359cf0f3760e11b815260040160405180910390fd5b600a8054336001600160a01b031991821617909155600b80549091166001600160a01b0392909216919091179055565b8115801590612e3d57506001600160a01b03811615155b612e5a5760405163e6c4247b60e01b815260040160405180910390fd5b5f6001612e6781856139e2565b81548110612e7757612e77613a68565b5f918252602090912001546001600160a01b03169050816001612e9a81866139e2565b81548110612eaa57612eaa613a68565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559382168152600290935260408084209490945516815290812055565b6001600160a01b038216612f1657604051634b637e8f60e11b81525f6004820152602401610f97565b611379825f83612674565b8181811115610b305750919050565b6001600160a01b03165f9081525f516020613d4c5f395f51905f52602052604090205490565b6001600160a01b038216612f7f5760405163ec442f0560e01b81525f6004820152602401610f97565b6113795f8383612674565b805f811215610f2857505f0390565b612fa1612fbe565b61221c57604051631afcd79f60e31b815260040160405180910390fd5b5f612fc7612931565b54600160401b900460ff16919050565b5080545f8255905f5260205f2090810190611e5f9190613010565b5080545f8255600202905f5260205f2090810190611e5f9190613024565b5b808211156125c0575f8155600101613011565b5b808211156125c0575f8082556001820155600201613025565b6001600160a01b0381168114611e5f575f5ffd5b8035610f288161303e565b5f6020828403121561306d575f5ffd5b81356130788161303e565b9392505050565b5f6020828403121561308f575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6130786020830184613096565b5f5f604083850312156130e7575f5ffd5b82356130f28161303e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561313657613136613100565b60405290565b80356001600160801b0381168114610f28575f5ffd5b5f5f8284036060811215613164575f5ffd5b6040811215613171575f5ffd5b50604080519081016001600160401b038111828210171561319457613194613100565b6040526131a08461313c565b81526131ae6020850161313c565b602082015291506131c16040840161313c565b90509250929050565b5f5f5f606084860312156131dc575f5ffd5b83356131e78161303e565b95602085013595506040909401359392505050565b5f5f5f6060848603121561320e575f5ffd5b83356132198161303e565b925060208401356132298161303e565b929592945050506040919091013590565b5f82601f830112613249575f5ffd5b81356001600160401b0381111561326257613262613100565b604051601f8201601f19908116603f011681016001600160401b038111828210171561329057613290613100565b6040528181528382016020018510156132a7575f5ffd5b816020850160208301375f918101602001919091529392505050565b80356001600160601b0381168114610f28575f5ffd5b803563ffffffff81168114610f28575f5ffd5b61ffff81168114611e5f575f5ffd5b8035610f28816132ec565b5f5f5f5f5f5f5f5f5f6101208a8c03121561331f575f5ffd5b893561332a8161303e565b985061333860208b01613052565b975060408a01356001600160401b03811115613352575f5ffd5b61335e8c828d0161323a565b97505060608a01356001600160401b03811115613379575f5ffd5b6133858c828d0161323a565b96505061339460808b016132c3565b94506133a260a08b016132d9565b93506133b060c08b016132fb565b92506133be60e08b016132fb565b91506133cd6101008b01613052565b90509295985092959850929598565b5f5f604083850312156133ed575f5ffd5b82356133f88161303e565b915060208301356134088161303e565b809150509250929050565b80356001600160681b0381168114610f28575f5ffd5b5f5f5f5f5f5f5f5f610100898b031215613441575f5ffd5b883561344c8161303e565b9750602089013561345c8161303e565b96506040890135955061347160608a0161313c565b945061347f60808a01613413565b979a969950949793969560a0850135955060c08501359460e001359350915050565b602080825282518282018190525f918401906040840190835b818110156134f9576134e383855180516001600160801b03908116835260209182015116910152565b60209390930192604092909201916001016134ba565b509095945050505050565b5f5f60408385031215613515575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b818110156134f95783516001600160a01b031683526020938401939092019160010161353d565b5f60208284031215613574575f5ffd5b813565ffffffffffff81168114613078575f5ffd5b5f60608284031215613599575f5ffd5b6135a1613114565b90506135ac8261313c565b81526135ba60208301613413565b602082015260408201356135cd816132ec565b604082015292915050565b5f5f5f5f5f61012086880312156135ed575f5ffd5b85356135f88161303e565b94506136078760208801613589565b93506136168760808801613589565b925061362460e0870161313c565b9150613633610100870161313c565b90509295509295909350565b5f5f60208385031215613650575f5ffd5b82356001600160401b03811115613665575f5ffd5b8301601f81018513613675575f5ffd5b80356001600160401b0381111561368a575f5ffd5b8560208260051b840101111561369e575f5ffd5b6020919091019590945092505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561370557603f198786030184526136f0858351613096565b945060209384019391909101906001016136d4565b50929695505050505050565b6020808252825182820152828101516040808401528051606084018190525f929190910190829060808501905b8083101561376e57835180518352602081015160208401525060408201915060208401935060018301925061373e565b5095945050505050565b5f61014082840312801561378a575f5ffd5b5060405160c081016001600160401b03811182821017156137ad576137ad613100565b60405282356137bb8161303e565b815260208301356137cb8161303e565b60208201526137dd8460408501613589565b60408201526137ef8460a08501613589565b606082015261010083013560808201526101209092013560a083015250919050565b5f5f5f5f5f60a08688031215613825575f5ffd5b85356138308161303e565b945060208601356138408161303e565b94979496505050506040830135926060810135926080909101359150565b5f6020828403121561386e575f5ffd5b613078826132c3565b80516001600160801b031682526020808201516001600160681b03169083015260409081015161ffff16910152565b60608101610b308284613877565b5f5f604083850312156138c5575f5ffd5b82356138d0816132ec565b91506020830135613408816132ec565b5f602082840312156138f0575f5ffd5b613078826132d9565b80518015158114610f28575f5ffd5b5f60208284031215613918575f5ffd5b613078826138f9565b600181811c9082168061393557607f821691505b60208210810361395357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038181168382160190811115610b3057610b30613959565b60408101610b30828480516001600160801b03908116835260209182015116910152565b8181035f831280158383131683831282161715611c5f57611c5f613959565b80820180821115610b3057610b30613959565b81810381811115610b3057610b30613959565b8082028115828204841417610b3057610b30613959565b634e487b7160e01b5f52601260045260245ffd5b5f82613a2e57613a2e613a0c565b500490565b5f60208284031215613a43575f5ffd5b81516130788161303e565b61ffff8181168382160190811115610b3057610b30613959565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b6001600160801b038281168282160390811115610b3057610b30613959565b8082025f8212600160ff1b84141615613aca57613aca613959565b8181058314821517610b3057610b30613959565b5f82613aec57613aec613a0c565b600160ff1b82145f1984141615613b0557613b05613959565b500590565b5f60208284031215613b1a575f5ffd5b5051919050565b6101008101613b308287613877565b613b3d6060830186613877565b6001600160801b03841660c08301526001600160801b03831660e083015295945050505050565b5f5f8335601e19843603018112613b79575f5ffd5b8301803591506001600160401b03821115613b92575f5ffd5b602001915036819003821315613ba6575f5ffd5b9250929050565b818382375f9101908152919050565b5f60018201613bcd57613bcd613959565b5060010190565b5f6060828403128015613be5575f5ffd5b50613bee613114565b8251613bf9816132ec565b81526020830151613c09816132ec565b6020820152613c1a604084016138f9565b60408201529392505050565b8082018281125f831280158216821582161715613c4557613c45613959565b505092915050565b601f82111561274757805f5260205f20601f840160051c81016020851015613c725750805b601f840160051c820191505b8181101561283c575f8155600101613c7e565b81516001600160401b03811115613caa57613caa613100565b613cbe81613cb88454613921565b84613c4d565b6020601f821160018114613cf0575f8315613cd95750848201515b5f19600385901b1c1916600184901b17845561283c565b5f84815260208120601f198516915b82811015613d1f5787850151825560209485019460019092019101613cff565b5084821015613d3c57868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a2646970667358221220803014d921e63bd065735c762b5a49194b8910c4c56d8ae942947bedeaad013064736f6c634300081e0033";
1932
+ const isSuperArgs = (xs) => xs.length > 1;
1933
+ export class FundLedger__factory extends ContractFactory {
1934
+ constructor(...args) {
1935
+ if (isSuperArgs(args)) {
1936
+ super(...args);
1937
+ }
1938
+ else {
1939
+ super(_abi, _bytecode, args[0]);
1940
+ }
1941
+ }
1942
+ getDeployTransaction(protocolAddress, overrides) {
1943
+ return super.getDeployTransaction(protocolAddress, overrides || {});
1944
+ }
1945
+ deploy(protocolAddress, overrides) {
1946
+ return super.deploy(protocolAddress, overrides || {});
1947
+ }
1948
+ connect(runner) {
1949
+ return super.connect(runner);
1950
+ }
1951
+ static bytecode = _bytecode;
1952
+ static abi = _abi;
1953
+ static createInterface() {
1954
+ return new Interface(_abi);
1955
+ }
1956
+ static connect(address, runner) {
1957
+ return new Contract(address, _abi, runner);
1958
+ }
1959
+ }