@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,285 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../../../common";
4
+ import type { WithdrawalController, WithdrawalControllerInterface } from "../../../out/Withdrawal.sol/WithdrawalController";
5
+ type WithdrawalControllerConstructorParams = [
6
+ linkLibraryAddresses: WithdrawalControllerLibraryAddresses,
7
+ signer?: Signer
8
+ ] | ConstructorParameters<typeof ContractFactory>;
9
+ export declare class WithdrawalController__factory extends ContractFactory {
10
+ constructor(...args: WithdrawalControllerConstructorParams);
11
+ static linkBytecode(linkLibraryAddresses: WithdrawalControllerLibraryAddresses): string;
12
+ getDeployTransaction(protocolAddress: AddressLike, overrides?: NonPayableOverrides & {
13
+ from?: string;
14
+ }): Promise<ContractDeployTransaction>;
15
+ deploy(protocolAddress: AddressLike, overrides?: NonPayableOverrides & {
16
+ from?: string;
17
+ }): Promise<WithdrawalController & {
18
+ deploymentTransaction(): ContractTransactionResponse;
19
+ }>;
20
+ connect(runner: ContractRunner | null): WithdrawalController__factory;
21
+ static readonly bytecode = "0x60a060405234801561000f575f5ffd5b50604051612fba380380612fba83398101604081905261002e91610068565b806001600160a01b0381166100565760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b031660805250610095565b5f60208284031215610078575f5ffd5b81516001600160a01b038116811461008e575f5ffd5b9392505050565b608051612ef96100c15f395f81816096015281816101f3015281816102830152611d3a0152612ef95ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806351d550d214610043578063660b1a52146100695780638ce7442614610089575b5f5ffd5b610056610051366004611f70565b6100c0565b6040519081526020015b60405180910390f35b61007c610077366004611f92565b6100e1565b6040516100609190612162565b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610060565b5f806100cc3384610439565b90506100d781610973565b60c0015192915050565b6101bf60408051610280810182525f808252825160a0810184528181526020818101839052938101829052606080820152608081019190915290918201908152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f8152602001606081526020015f81526020015f815260200160608152602001606081526020015f81526020015f81526020015f81526020015f81525090565b6101c76109de565b6101d46020830183611f70565b6040516384145e3960e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906384145e3990602401602060405180830381865afa158015610238573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025c91906122d2565b610279576040516328bb3bf960e21b815260040160405180910390fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e25daa896102b86040860160208701611f70565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156102fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031e91906122d2565b61032e6040850160208601611f70565b9061035d57604051637fc06c0b60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b5061037461036e6020850185611f70565b33610a15565b6103816020840184611f70565b604051633f190fdd60e21b815273__$0e3f7ebf69dd613ebc736beec31cc9b50e$__9163fc643f74916103c4916001600160a01b031690339088906004016123ee565b5f60405180830381865af41580156103de573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261040591908101906128be565b915061041082610aa5565b61041982610cd7565b61042282610ea3565b61042b82611680565b50610434611791565b919050565b610441611e96565b60408051600880825261012082019092525f91816020015b6060815260200190600190039081610459579050506040805160048152602481019091526020810180516001600160e01b031663027e5f8f60e61b17905281519192509082905f906104ad576104ad612a85565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b0316636b50985960e11b17905281518290600190811061051357610513612a85565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663900c043560e01b17905281518290600290811061057957610579612a85565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166318160ddd60e01b1790528151829060039081106105c5576105c5612a85565b6020908102919091018101919091526040805160048082526024820190925291820180516001600160e01b03166373d9f6c760e01b1790528251839190811061061057610610612a85565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663363b414760e21b17905281518290600590811061067657610676612a85565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166328172be960e21b1790528151829060069081106106c2576106c2612a85565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166327523cf560e11b17905281518290600790811061070e5761070e612a85565b60200260200101819052505f846001600160a01b031663ac9650d8836040518263ffffffff1660e01b81526004016107469190612a99565b5f60405180830381865afa158015610760573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107879190810190612afc565b6001600160a01b03808716855285166040850152805190915081905f906107b0576107b0612a85565b60200260200101518060200190518101906107cb9190612bab565b6001600160801b031660208401528051819060019081106107ee576107ee612a85565b60200260200101518060200190518101906108099190612bc4565b60808401819052606084015280518190600290811061082a5761082a612a85565b60200260200101518060200190518101906108459190612bde565b60a084015280518190600390811061085f5761085f612a85565b602002602001015180602001905181019061087a9190612bde565b61010084015280518190600490811061089557610895612a85565b60200260200101518060200190518101906108b09190612bde565b6101808401528051819060059081106108cb576108cb612a85565b60200260200101518060200190518101906108e69190612bf5565b61016084015280518190600690811061090157610901612a85565b602002602001015180602001905181019061091c9190612bab565b6001600160801b031661012084015280518190600790811061094057610940612a85565b602002602001015180602001905181019061095b9190612bab565b6001600160801b031661014084015250909392505050565b6109c88160a001518260600151602001516001600160681b031683606001515f015161099f9190612cce565b6001600160801b03168361012001516001600160801b03168461018001518561016001516117bb565b6001600160681b031660e083015260c090910152565b6109e66119ae565b610a1360017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b906119ee565b565b816001600160a01b031663f34fd6c66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610a4d575f5ffd5b505af1158015610a5f573d5f5f3e3d5ffd5b505f9250610a799150506001600160a01b03841683610439565b9050610a84816119f5565b15610a8e57505050565b610a9781610973565b610aa081611ab9565b505050565b602081810151015181516040516370a0823160e01b81526001600160a01b0391821660048201525f9291909116906370a0823190602401602060405180830381865afa158015610af7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1b9190612bde565b90505f5b82602001516060015151811015610bfd57825f01516001600160a01b0316631cff79cd610b6f8560200151606001518481518110610b5f57610b5f612a85565b60200260200101515f0151611cf0565b8560200151606001518481518110610b8957610b89612a85565b6020026020010151602001516040518363ffffffff1660e01b8152600401610bb2929190612ced565b5f604051808303815f875af1158015610bcd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bf49190810190612d18565b50600101610b1f565b50602082810151015182516040516370a0823160e01b81526001600160a01b0391821660048201525f9291909116906370a0823190602401602060405180830381865afa158015610c50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c749190612bde565b9050610c808282612d49565b60a0840152606083015115610aa057826101e0015160018460600151610ca69190612d49565b81518110610cb657610cb6612a85565b60200260200101518360a001818151610ccf9190612d5c565b905250505050565b5f5b81610160015151811015610e9f575f8261016001518281518110610cff57610cff612a85565b602090810291909101015183516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610d50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d749190612bde565b90508260200151602001516001600160a01b03168361016001518381518110610d9f57610d9f612a85565b60200260200101516001600160a01b031603610dc75760a0830151610dc49082612d49565b90505b5f81846101c001518481518110610de057610de0612a85565b6020026020010151610df29190612d49565b9050836101e001518381518110610e0b57610e0b612a85565b60200260200101518111158461016001518481518110610e2d57610e2d612a85565b6020026020010151856101e001518581518110610e4c57610e4c612a85565b602002602001015183909192610e8e5760405163018fccfb60e51b81526001600160a01b03909316600484015260248301919091526044820152606401610354565b505060019093019250610cd9915050565b5050565b606080336001600160a01b03168361010001516001600160a01b031603610fd0576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292945090506020808301908036833701905050905033825f81518110610f1757610f17612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508260a00151836102000181815250815f81518110610f5757610f57612a85565b602002602001018181525050825f01516001600160a01b031663a6a192da84602001516020015184846040518463ffffffff1660e01b8152600401610f9e93929190612d6f565b5f604051808303815f87803b158015610fb5575f5ffd5b505af1158015610fc7573d5f5f3e3d5ffd5b50505050505050565b5f610fec84602001516080015161ffff16606461ffff16611ddd565b9050612710818560a001516110019190612de0565b61100b9190612df7565b610240850181905260a08501515f9161102391612d49565b6040860151602081015190519192505f91611047916001600160681b031690612cce565b6001600160801b031690505f8660c001518760200151604001518361106c9190612de0565b6110769190612df7565b90505f8760c00151670de0b6b3a7640000846110929190612de0565b61109c9190612df7565b61026089015190915082908210156110f257670de0b6b3a7640000828a61026001516110c89190612d49565b8a60200151604001516110db9190612de0565b6110e59190612df7565b6110ef9082612d5c565b90505b5f8161110d8b60800151886111079190612de0565b84611def565b6111179190612d49565b9050805f036112b8576102408a0151156112295760408051600280825260608201835290916020830190803683375050604080516002808252606082018352939c5092915060208301908036833701905050975033895f8151811061117e5761117e612a85565b60200260200101906001600160a01b031690816001600160a01b031681525050858a6102000181815250885f815181106111ba576111ba612a85565b602002602001018181525050896101200151896001815181106111df576111df612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508961024001518860018151811061121857611218612a85565b60200260200101818152505061160e565b60408051600180825281830190925290602080830190803683375050604080516001808252818301909252929b5090506020808301908036833701905050975033895f8151811061127c5761127c612a85565b60200260200101906001600160a01b031690816001600160a01b031681525050858a6102000181815250885f8151811061121857611218612a85565b5f8a60800151826112c99190612df7565b90506127108b6101400151826112df9190612de0565b6112e99190612df7565b8b6102200181815250505f6127108c602001515f01516001600160a01b031663bc94064c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135e9190612e16565b61136c9061ffff1684612de0565b6113769190612df7565b9050808c6102400181815161138b9190612d5c565b9052506102208c015181906113a0908a612d49565b6113aa9190612d49565b6102008d01526102408c01511561151557604080516003808252608082019092529060208201606080368337505060408051600380825260808201909252929d50905060208201606080368337019050509950338b5f8151811061141057611410612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508b61020001518a5f8151811061144857611448612a85565b6020026020010181815250508b61010001518b60018151811061146d5761146d612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508b61022001518a6001815181106114a6576114a6612a85565b6020026020010181815250508b61012001518b6002815181106114cb576114cb612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508b61024001518a60028151811061150457611504612a85565b60200260200101818152505061160b565b60408051600280825260608201835290916020830190803683375050604080516002808252606082018352939e50929150602083019080368337019050509950338b5f8151811061156857611568612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508b61020001518a5f815181106115a0576115a0612a85565b6020026020010181815250508b61010001518b6001815181106115c5576115c5612a85565b60200260200101906001600160a01b031690816001600160a01b0316815250508b61022001518a6001815181106115fe576115fe612a85565b6020026020010181815250505b50505b89516020808c01510151604051635350c96d60e11b81526001600160a01b039092169163a6a192da91611647918d908d90600401612d6f565b5f604051808303815f87803b15801561165e575f5ffd5b505af1158015611670573d5f5f3e3d5ffd5b5050505050505050505050505050565b5f6116bc8260c0015183602001516040015184604001515f01516001600160801b03166116ad9190612de0565b6116b79190612df7565b611dfe565b90505f6116fb8360c001518460200151604001518560400151602001516001600160681b03166116ec9190612de0565b6116f69190612df7565b611e35565b6020848101518051918101516040918201516102008801516102208901516102408a015194516351e9b20f60e01b81523360048201526001600160a01b03948516602482015260448101939093526001600160801b03891660648401526001600160681b038716608484015260a483019190915260c482015260e48101929092529293509116906351e9b20f9061010401610f9e565b610a135f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610a0d565b5f5f865f036117ce57505f9050806119a4565b82515f036117e057508590505f6119a4565b8691505f5b83518110156119a2575f84828151811061180157611801612a85565b602002602001015190505f836001600160681b0316896118219190612d5c565b90505f85611837670de0b6b3a764000084612de0565b6118419190612df7565b90505f61271061185e8386602001516001600160801b0316611ddd565b85602001516001600160801b03166118769190612d49565b611880908b612de0565b61188a9190612df7565b90505f8185602001516001600160801b03166118a69190612d49565b85519091506001600160801b03166118be828a612de0565b6118c89190612df7565b9750875f036118db5750505050506119a2565b84516001600160801b0316831080156118f357505f8b115b15611994575f670de0b6b3a76400006001670de0b6b3a7640000885f01516001600160801b03168c6119259190612de0565b61192f9190612d5c565b6119399190612d49565b6119439190612df7565b90508481116119575750505050505061199a565b5f61196e6116f66119688885612d49565b8f611ddd565b905061197a818a612e31565b985061198f6001600160681b0382168e612d49565b9c5050505b50505050505b6001016117e5565b505b9550959350505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15610a1357604051633ee5aeb560e01b815260040160405180910390fd5b80825d5050565b5f8160a001515f03611a9d57611a0e8260200151611e68565b60808301805161ffff909216604092830152835182850151606086015192516101208701516101408801519551639df11ab760e01b81526001600160a01b0390941695639df11ab795611a68959093929190600401612e50565b5f604051808303815f87803b158015611a7f575f5ffd5b505af1158015611a91573d5f5f3e3d5ffd5b50600195945050505050565b816101600151515f03611ab257506001919050565b505f919050565b8060a001518160c001511115611b51575f8160a001518260c00151611ade9190612d49565b82516040808501519051630ab714fb60e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063156e29f6906064015f604051808303815f87803b158015611b35575f5ffd5b505af1158015611b47573d5f5f3e3d5ffd5b5050505050611bd5565b5f8160c001518260a00151611b669190612d49565b82516040808501519051637a94c56560e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063f5298aca906064015f604051808303815f87803b158015611bbd575f5ffd5b505af1158015611bcf573d5f5f3e3d5ffd5b50505050505b611be28160200151611e68565b60808201805161ffff90921660409092019190915260e082015190516020018051611c0e908390612e31565b6001600160681b0390811690915260e083015161014084018051919092169250611c39908390612cce565b6001600160801b031690525060e0810151610120820180516001600160681b0390921691611c68908390612ea4565b6001600160801b03169052508051604080830151606084015160808501516101208601516101408701519451639df11ab760e01b81526001600160a01b0390961695639df11ab795611cc09594939291600401612e50565b5f604051808303815f87803b158015611cd7575f5ffd5b505af1158015611ce9573d5f5f3e3d5ffd5b5050505050565b5f7ffd6a22fca1b8aab27e58b7109329acb92b4151a8d03eb41f5fbf011dd22e17008201805c80611dd557604051634b5d45dd60e11b81526001600160a01b0385811660048301527f000000000000000000000000000000000000000000000000000000000000000016906396ba8bba90602401602060405180830381865afa158015611d7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da391906122d2565b90508381611dd05760405163fd9d0fa360e01b81526001600160a01b039091166004820152602401610354565b5080825d5b509192915050565b8181811115611de95750805b92915050565b8181811015611de95750919050565b5f6001600160801b03821115611e31576040516306dfcc6560e41b81526080600482015260248101839052604401610354565b5090565b5f6001600160681b03821115611e31576040516306dfcc6560e41b81526068600482015260248101839052604401610354565b5f61ffff821115611e31576040516306dfcc6560e41b81526010600482015260248101839052604401610354565b604051806101a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b03168152602001611ee8604080516060810182525f808252602082018190529181019190915290565b8152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f6001600160681b031681526020015f81526020015f6001600160801b031681526020015f6001600160801b03168152602001606081526020015f81525090565b6001600160a01b0381168114611f6d575f5ffd5b50565b5f60208284031215611f80575f5ffd5b8135611f8b81611f59565b9392505050565b5f60208284031215611fa2575f5ffd5b81356001600160401b03811115611fb7575f5ffd5b820160a08185031215611f8b575f5ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f60a0830160018060a01b03835116845260018060a01b03602084015116602085015260408301516040850152606083015160a0606086015281815180845260c08701915060c08160051b88010193506020830192505f5b8181101561209f5787850360bf19018352835180516001600160a01b0316865260209081015160409187018290529061208990870182611fc8565b955050602093840193929092019160010161204e565b5050505060808301516120b8608086018261ffff169052565b509392505050565b80516001600160801b031682526020808201516001600160681b03169083015260409081015161ffff16910152565b5f8151808452602084019350602083015f5b828110156121285781516001600160a01b0316865260209586019590910190600101612101565b5093949350505050565b5f8151808452602084019350602083015f5b82811015612128578151865260209586019590910190600101612144565b6020815261217c6020820183516001600160a01b03169052565b5f60208301516102c060408401526121986102e0840182611ff6565b905060408401516121ac60608501826120c0565b50606084015160c0840152608084015160e084015260a084015161010084015260c084015161012084015260e08401516101408401526101008401516121fe6101608501826001600160a01b03169052565b506101208401516001600160a01b03166101808401526101408401516101a0840152610160840151838203601f19016101c085015261223d82826120ef565b9150506101808401516101e08401526101a08401516102008401526101c0840151601f19848303016102208501526122758282612132565b9150506101e0840151601f19848303016102408501526122958282612132565b9150506102008401516102608401526102208401516102808401526102408401516102a08401526102608401516102c08401528091505092915050565b5f602082840312156122e2575f5ffd5b81518015158114611f8b575f5ffd5b5f8383855260208501945060208460051b820101835f5b868110156123c857838303601f19018852813536879003603e1901811261232d575f5ffd5b8601803561233a81611f59565b6001600160a01b03168452602081013536829003601e1901811261235c575f5ffd5b016020810190356001600160401b03811115612376575f5ffd5b803603821315612384575f5ffd5b60406020860152806040860152808260608701375f606082870101526060601f19601f83011686010194505050602082019150602088019750600181019050612308565b50909695505050505050565b61ffff81168114611f6d575f5ffd5b8035610434816123d4565b6001600160a01b03848116825283166020820152606060408201525f823561241581611f59565b6001600160a01b03166060830152602083013561243181611f59565b6001600160a01b03166080830152604083013560a0830152606083013536849003601e19018112612460575f5ffd5b83016020810190356001600160401b0381111561247b575f5ffd5b8060051b360382131561248c575f5ffd5b60a060c08501526124a2610100850182846122f1565b9150506124b1608085016123e3565b61ffff811660e08501525b5095945050505050565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156124fc576124fc6124c6565b60405290565b604080519081016001600160401b03811182821017156124fc576124fc6124c6565b60405161028081016001600160401b03811182821017156124fc576124fc6124c6565b604051601f8201601f191681016001600160401b038111828210171561256f5761256f6124c6565b604052919050565b805161043481611f59565b5f6001600160401b0382111561259a5761259a6124c6565b5060051b60200190565b5f82601f8301126125b3575f5ffd5b81516001600160401b038111156125cc576125cc6124c6565b6125df601f8201601f1916602001612547565b8181528460208386010111156125f3575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b8051610434816123d4565b5f60a0828403121561262a575f5ffd5b6126326124da565b9050815161263f81611f59565b8152602082015161264f81611f59565b60208201526040828101519082015260608201516001600160401b03811115612676575f5ffd5b8201601f81018413612686575f5ffd5b805161269961269482612582565b612547565b8082825260208201915060208360051b8501019250868311156126ba575f5ffd5b602084015b8381101561274c5780516001600160401b038111156126dc575f5ffd5b85016040818a03601f190112156126f1575f5ffd5b6126f9612502565b602082015161270781611f59565b815260408201516001600160401b03811115612721575f5ffd5b6127308b6020838601016125a4565b60208301525080855250506020830192506020810190506126bf565b506060850152506127629150506080830161260f565b608082015292915050565b80516001600160801b0381168114610434575f5ffd5b5f60608284031215612793575f5ffd5b604051606081016001600160401b03811182821017156127b5576127b56124c6565b6040529050806127c48361276d565b815260208301516001600160681b03811681146127df575f5ffd5b602082015260408301516127f2816123d4565b6040919091015292915050565b5f82601f83011261280e575f5ffd5b815161281c61269482612582565b8082825260208201915060208360051b86010192508583111561283d575f5ffd5b602085015b838110156124bc57805161285581611f59565b835260209283019201612842565b5f82601f830112612872575f5ffd5b815161288061269482612582565b8082825260208201915060208360051b8601019250858311156128a1575f5ffd5b602085015b838110156124bc5780518352602092830192016128a6565b5f602082840312156128ce575f5ffd5b81516001600160401b038111156128e3575f5ffd5b82016102c081850312156128f5575f5ffd5b6128fd612524565b61290682612577565b815260208201516001600160401b03811115612920575f5ffd5b61292c8682850161261a565b60208301525061293f8560408401612783565b604082015260a082810151606083015260c080840151608084015260e0808501519284019290925261010084015190830152610120830151908201526129886101408301612577565b61010082015261299b6101608301612577565b6101208201526101808201516101408201526101a08201516001600160401b038111156129c6575f5ffd5b6129d2868285016127ff565b610160830152506101c08201516101808201526101e08201516101a08201526102008201516001600160401b03811115612a0a575f5ffd5b612a1686828501612863565b6101c0830152506102208201516001600160401b03811115612a36575f5ffd5b612a4286828501612863565b6101e0830152506102408281015161020083015261026080840151610220840152610280840151918301919091526102a090920151918101919091529392505050565b634e487b7160e01b5f52603260045260245ffd5b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612af057603f19878603018452612adb858351611fc8565b94506020938401939190910190600101612abf565b50929695505050505050565b5f60208284031215612b0c575f5ffd5b81516001600160401b03811115612b21575f5ffd5b8201601f81018413612b31575f5ffd5b8051612b3f61269482612582565b8082825260208201915060208360051b850101925086831115612b60575f5ffd5b602084015b83811015612ba05780516001600160401b03811115612b82575f5ffd5b612b91896020838901016125a4565b84525060209283019201612b65565b509695505050505050565b5f60208284031215612bbb575f5ffd5b611f8b8261276d565b5f60608284031215612bd4575f5ffd5b611f8b8383612783565b5f60208284031215612bee575f5ffd5b5051919050565b5f60208284031215612c05575f5ffd5b81516001600160401b03811115612c1a575f5ffd5b8201601f81018413612c2a575f5ffd5b8051612c3861269482612582565b8082825260208201915060208360061b850101925086831115612c59575f5ffd5b6020840193505b82841015612cb05760408488031215612c77575f5ffd5b612c7f612502565b612c888561276d565b8152612c966020860161276d565b602082015280835250602082019150604084019350612c60565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038181168382160190811115611de957611de9612cba565b6001600160a01b03831681526040602082018190525f90612d1090830184611fc8565b949350505050565b5f60208284031215612d28575f5ffd5b81516001600160401b03811115612d3d575f5ffd5b612d10848285016125a4565b81810381811115611de957611de9612cba565b80820180821115611de957611de9612cba565b6001600160a01b03841681526060602080830182905284519183018290525f91908501906080840190835b81811015612dc15783516001600160a01b0316835260209384019390920191600101612d9a565b50508381036040850152612dd58186612132565b979650505050505050565b8082028115828204841417611de957611de9612cba565b5f82612e1157634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612e26575f5ffd5b8151611f8b816123d4565b6001600160681b038181168382160190811115611de957611de9612cba565b6001600160a01b03861681526101208101612e6e60208301876120c0565b612e7b60808301866120c0565b6001600160801b03841660e08301526001600160801b0383166101008301529695505050505050565b6001600160801b038281168282160390811115611de957611de9612cba56fea26469706673582212209dbc6451229abdba21cd05025009e4d859ce6dd2ac66d8caab57e3461912a25b64736f6c634300081e0033";
22
+ static readonly abi: readonly [{
23
+ readonly type: "constructor";
24
+ readonly inputs: readonly [{
25
+ readonly name: "protocolAddress";
26
+ readonly type: "address";
27
+ readonly internalType: "address payable";
28
+ }];
29
+ readonly stateMutability: "nonpayable";
30
+ }, {
31
+ readonly type: "function";
32
+ readonly name: "getPendingBalance";
33
+ readonly inputs: readonly [{
34
+ readonly name: "account";
35
+ readonly type: "address";
36
+ readonly internalType: "address";
37
+ }];
38
+ readonly outputs: readonly [{
39
+ readonly name: "";
40
+ readonly type: "uint256";
41
+ readonly internalType: "uint256";
42
+ }];
43
+ readonly stateMutability: "view";
44
+ }, {
45
+ readonly type: "function";
46
+ readonly name: "protocol";
47
+ readonly inputs: readonly [];
48
+ readonly outputs: readonly [{
49
+ readonly name: "";
50
+ readonly type: "address";
51
+ readonly internalType: "contract Protocol";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ }, {
55
+ readonly type: "function";
56
+ readonly name: "withdraw";
57
+ readonly inputs: readonly [{
58
+ readonly name: "w";
59
+ readonly type: "tuple";
60
+ readonly internalType: "struct Withdrawal";
61
+ readonly components: readonly [{
62
+ readonly name: "ledger";
63
+ readonly type: "address";
64
+ readonly internalType: "contract FundLedger";
65
+ }, {
66
+ readonly name: "coin";
67
+ readonly type: "address";
68
+ readonly internalType: "contract IERC20";
69
+ }, {
70
+ readonly name: "shares";
71
+ readonly type: "uint256";
72
+ readonly internalType: "uint256";
73
+ }, {
74
+ readonly name: "extCalls";
75
+ readonly type: "tuple[]";
76
+ readonly internalType: "struct ExternalCall[]";
77
+ readonly components: readonly [{
78
+ readonly name: "adapter";
79
+ readonly type: "address";
80
+ readonly internalType: "address";
81
+ }, {
82
+ readonly name: "callData";
83
+ readonly type: "bytes";
84
+ readonly internalType: "bytes";
85
+ }];
86
+ }, {
87
+ readonly name: "referrerFeeBps";
88
+ readonly type: "uint16";
89
+ readonly internalType: "uint16";
90
+ }];
91
+ }];
92
+ readonly outputs: readonly [{
93
+ readonly name: "ctx";
94
+ readonly type: "tuple";
95
+ readonly internalType: "struct WithdrawalContext";
96
+ readonly components: readonly [{
97
+ readonly name: "vault";
98
+ readonly type: "address";
99
+ readonly internalType: "contract FundVault";
100
+ }, {
101
+ readonly name: "withdrawal";
102
+ readonly type: "tuple";
103
+ readonly internalType: "struct Withdrawal";
104
+ readonly components: readonly [{
105
+ readonly name: "ledger";
106
+ readonly type: "address";
107
+ readonly internalType: "contract FundLedger";
108
+ }, {
109
+ readonly name: "coin";
110
+ readonly type: "address";
111
+ readonly internalType: "contract IERC20";
112
+ }, {
113
+ readonly name: "shares";
114
+ readonly type: "uint256";
115
+ readonly internalType: "uint256";
116
+ }, {
117
+ readonly name: "extCalls";
118
+ readonly type: "tuple[]";
119
+ readonly internalType: "struct ExternalCall[]";
120
+ readonly components: readonly [{
121
+ readonly name: "adapter";
122
+ readonly type: "address";
123
+ readonly internalType: "address";
124
+ }, {
125
+ readonly name: "callData";
126
+ readonly type: "bytes";
127
+ readonly internalType: "bytes";
128
+ }];
129
+ }, {
130
+ readonly name: "referrerFeeBps";
131
+ readonly type: "uint16";
132
+ readonly internalType: "uint16";
133
+ }];
134
+ }, {
135
+ readonly name: "cursor";
136
+ readonly type: "tuple";
137
+ readonly internalType: "struct AccountCursor";
138
+ readonly components: readonly [{
139
+ readonly name: "principal";
140
+ readonly type: "uint128";
141
+ readonly internalType: "uint128";
142
+ }, {
143
+ readonly name: "virtualBuffer";
144
+ readonly type: "uint104";
145
+ readonly internalType: "uint104";
146
+ }, {
147
+ readonly name: "epoch";
148
+ readonly type: "uint16";
149
+ readonly internalType: "uint16";
150
+ }];
151
+ }, {
152
+ readonly name: "coinSlot";
153
+ readonly type: "uint256";
154
+ readonly internalType: "uint256";
155
+ }, {
156
+ readonly name: "normalizer";
157
+ readonly type: "uint256";
158
+ readonly internalType: "uint256";
159
+ }, {
160
+ readonly name: "proceeds";
161
+ readonly type: "uint256";
162
+ readonly internalType: "uint256";
163
+ }, {
164
+ readonly name: "sharesBalance";
165
+ readonly type: "uint256";
166
+ readonly internalType: "uint256";
167
+ }, {
168
+ readonly name: "principalAmountOut";
169
+ readonly type: "uint256";
170
+ readonly internalType: "uint256";
171
+ }, {
172
+ readonly name: "manager";
173
+ readonly type: "address";
174
+ readonly internalType: "address";
175
+ }, {
176
+ readonly name: "referrer";
177
+ readonly type: "address";
178
+ readonly internalType: "address";
179
+ }, {
180
+ readonly name: "managerProfitFeeBps";
181
+ readonly type: "uint256";
182
+ readonly internalType: "uint256";
183
+ }, {
184
+ readonly name: "assets";
185
+ readonly type: "address[]";
186
+ readonly internalType: "contract IERC20[]";
187
+ }, {
188
+ readonly name: "totalSupply";
189
+ readonly type: "uint256";
190
+ readonly internalType: "uint256";
191
+ }, {
192
+ readonly name: "highestOutputRatio";
193
+ readonly type: "uint256";
194
+ readonly internalType: "uint256";
195
+ }, {
196
+ readonly name: "balancesBefore";
197
+ readonly type: "uint256[]";
198
+ readonly internalType: "uint256[]";
199
+ }, {
200
+ readonly name: "maxAssetsOut";
201
+ readonly type: "uint256[]";
202
+ readonly internalType: "uint256[]";
203
+ }, {
204
+ readonly name: "netAmountOut";
205
+ readonly type: "uint256";
206
+ readonly internalType: "uint256";
207
+ }, {
208
+ readonly name: "managerFee";
209
+ readonly type: "uint256";
210
+ readonly internalType: "uint256";
211
+ }, {
212
+ readonly name: "referrerFee";
213
+ readonly type: "uint256";
214
+ readonly internalType: "uint256";
215
+ }, {
216
+ readonly name: "watermark";
217
+ readonly type: "uint256";
218
+ readonly internalType: "uint256";
219
+ }];
220
+ }];
221
+ readonly stateMutability: "nonpayable";
222
+ }, {
223
+ readonly type: "error";
224
+ readonly name: "ExcessAmountsOut";
225
+ readonly inputs: readonly [{
226
+ readonly name: "asset";
227
+ readonly type: "address";
228
+ readonly internalType: "contract IERC20";
229
+ }, {
230
+ readonly name: "expected";
231
+ readonly type: "uint256";
232
+ readonly internalType: "uint256";
233
+ }, {
234
+ readonly name: "actual";
235
+ readonly type: "uint256";
236
+ readonly internalType: "uint256";
237
+ }];
238
+ }, {
239
+ readonly type: "error";
240
+ readonly name: "InvalidAddress";
241
+ readonly inputs: readonly [];
242
+ }, {
243
+ readonly type: "error";
244
+ readonly name: "InvalidLedger";
245
+ readonly inputs: readonly [];
246
+ }, {
247
+ readonly type: "error";
248
+ readonly name: "ReentrancyGuardReentrantCall";
249
+ readonly inputs: readonly [];
250
+ }, {
251
+ readonly type: "error";
252
+ readonly name: "SafeCastOverflowedUintDowncast";
253
+ readonly inputs: readonly [{
254
+ readonly name: "bits";
255
+ readonly type: "uint8";
256
+ readonly internalType: "uint8";
257
+ }, {
258
+ readonly name: "value";
259
+ readonly type: "uint256";
260
+ readonly internalType: "uint256";
261
+ }];
262
+ }, {
263
+ readonly type: "error";
264
+ readonly name: "UnsupportedStablecoin";
265
+ readonly inputs: readonly [{
266
+ readonly name: "coin";
267
+ readonly type: "address";
268
+ readonly internalType: "contract IERC20";
269
+ }];
270
+ }, {
271
+ readonly type: "error";
272
+ readonly name: "UnsupportedTarget";
273
+ readonly inputs: readonly [{
274
+ readonly name: "target";
275
+ readonly type: "address";
276
+ readonly internalType: "address";
277
+ }];
278
+ }];
279
+ static createInterface(): WithdrawalControllerInterface;
280
+ static connect(address: string, runner?: ContractRunner | null): WithdrawalController;
281
+ }
282
+ export interface WithdrawalControllerLibraryAddresses {
283
+ ["src/lib/ContextBuilder.sol:ContextBuilder"]: string;
284
+ }
285
+ export {};