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