@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,1409 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [],
6
+ stateMutability: "nonpayable",
7
+ },
8
+ {
9
+ type: "fallback",
10
+ stateMutability: "payable",
11
+ },
12
+ {
13
+ type: "receive",
14
+ stateMutability: "payable",
15
+ },
16
+ {
17
+ type: "function",
18
+ name: "DEFAULT_ADMIN_ROLE",
19
+ inputs: [],
20
+ outputs: [
21
+ {
22
+ name: "",
23
+ type: "bytes32",
24
+ internalType: "bytes32",
25
+ },
26
+ ],
27
+ stateMutability: "view",
28
+ },
29
+ {
30
+ type: "function",
31
+ name: "MAX_COOLDOWN_TIME",
32
+ inputs: [],
33
+ outputs: [
34
+ {
35
+ name: "",
36
+ type: "uint256",
37
+ internalType: "uint256",
38
+ },
39
+ ],
40
+ stateMutability: "view",
41
+ },
42
+ {
43
+ type: "function",
44
+ name: "PAUSER_ROLE",
45
+ inputs: [],
46
+ outputs: [
47
+ {
48
+ name: "",
49
+ type: "bytes32",
50
+ internalType: "bytes32",
51
+ },
52
+ ],
53
+ stateMutability: "view",
54
+ },
55
+ {
56
+ type: "function",
57
+ name: "admin",
58
+ inputs: [],
59
+ outputs: [
60
+ {
61
+ name: "",
62
+ type: "address",
63
+ internalType: "address",
64
+ },
65
+ ],
66
+ stateMutability: "view",
67
+ },
68
+ {
69
+ type: "function",
70
+ name: "controllers",
71
+ inputs: [
72
+ {
73
+ name: "",
74
+ type: "uint256",
75
+ internalType: "uint256",
76
+ },
77
+ ],
78
+ outputs: [
79
+ {
80
+ name: "",
81
+ type: "address",
82
+ internalType: "address",
83
+ },
84
+ ],
85
+ stateMutability: "view",
86
+ },
87
+ {
88
+ type: "function",
89
+ name: "creationFee",
90
+ inputs: [],
91
+ outputs: [
92
+ {
93
+ name: "",
94
+ type: "uint256",
95
+ internalType: "uint256",
96
+ },
97
+ ],
98
+ stateMutability: "view",
99
+ },
100
+ {
101
+ type: "function",
102
+ name: "disableAdapter",
103
+ inputs: [
104
+ {
105
+ name: "target",
106
+ type: "address",
107
+ internalType: "address",
108
+ },
109
+ ],
110
+ outputs: [],
111
+ stateMutability: "nonpayable",
112
+ },
113
+ {
114
+ type: "function",
115
+ name: "disableController",
116
+ inputs: [
117
+ {
118
+ name: "controller",
119
+ type: "address",
120
+ internalType: "address",
121
+ },
122
+ ],
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ },
126
+ {
127
+ type: "function",
128
+ name: "disableStablecoin",
129
+ inputs: [
130
+ {
131
+ name: "coin",
132
+ type: "address",
133
+ internalType: "contract IERC20",
134
+ },
135
+ ],
136
+ outputs: [],
137
+ stateMutability: "nonpayable",
138
+ },
139
+ {
140
+ type: "function",
141
+ name: "enableAdapter",
142
+ inputs: [
143
+ {
144
+ name: "target",
145
+ type: "address",
146
+ internalType: "address",
147
+ },
148
+ ],
149
+ outputs: [],
150
+ stateMutability: "nonpayable",
151
+ },
152
+ {
153
+ type: "function",
154
+ name: "enableController",
155
+ inputs: [
156
+ {
157
+ name: "controller",
158
+ type: "address",
159
+ internalType: "address",
160
+ },
161
+ ],
162
+ outputs: [],
163
+ stateMutability: "nonpayable",
164
+ },
165
+ {
166
+ type: "function",
167
+ name: "enableStablecoin",
168
+ inputs: [
169
+ {
170
+ name: "coin",
171
+ type: "address",
172
+ internalType: "contract IERC20",
173
+ },
174
+ ],
175
+ outputs: [],
176
+ stateMutability: "nonpayable",
177
+ },
178
+ {
179
+ type: "function",
180
+ name: "extension",
181
+ inputs: [],
182
+ outputs: [
183
+ {
184
+ name: "",
185
+ type: "address",
186
+ internalType: "address",
187
+ },
188
+ ],
189
+ stateMutability: "view",
190
+ },
191
+ {
192
+ type: "function",
193
+ name: "feeCollector",
194
+ inputs: [],
195
+ outputs: [
196
+ {
197
+ name: "",
198
+ type: "address",
199
+ internalType: "address",
200
+ },
201
+ ],
202
+ stateMutability: "view",
203
+ },
204
+ {
205
+ type: "function",
206
+ name: "feeTermsByReferrer",
207
+ inputs: [
208
+ {
209
+ name: "referrer",
210
+ type: "address",
211
+ internalType: "address",
212
+ },
213
+ ],
214
+ outputs: [
215
+ {
216
+ name: "",
217
+ type: "tuple",
218
+ internalType: "struct Protocol.FeeTerms",
219
+ components: [
220
+ {
221
+ name: "profitFeeBps",
222
+ type: "uint16",
223
+ internalType: "uint16",
224
+ },
225
+ {
226
+ name: "managementFeeBps",
227
+ type: "uint16",
228
+ internalType: "uint16",
229
+ },
230
+ {
231
+ name: "registered",
232
+ type: "bool",
233
+ internalType: "bool",
234
+ },
235
+ ],
236
+ },
237
+ ],
238
+ stateMutability: "view",
239
+ },
240
+ {
241
+ type: "function",
242
+ name: "getLatestController",
243
+ inputs: [],
244
+ outputs: [
245
+ {
246
+ name: "",
247
+ type: "address",
248
+ internalType: "address",
249
+ },
250
+ ],
251
+ stateMutability: "view",
252
+ },
253
+ {
254
+ type: "function",
255
+ name: "getRoleAdmin",
256
+ inputs: [
257
+ {
258
+ name: "role",
259
+ type: "bytes32",
260
+ internalType: "bytes32",
261
+ },
262
+ ],
263
+ outputs: [
264
+ {
265
+ name: "",
266
+ type: "bytes32",
267
+ internalType: "bytes32",
268
+ },
269
+ ],
270
+ stateMutability: "view",
271
+ },
272
+ {
273
+ type: "function",
274
+ name: "governance",
275
+ inputs: [],
276
+ outputs: [
277
+ {
278
+ name: "",
279
+ type: "address",
280
+ internalType: "address",
281
+ },
282
+ ],
283
+ stateMutability: "view",
284
+ },
285
+ {
286
+ type: "function",
287
+ name: "grantRole",
288
+ inputs: [
289
+ {
290
+ name: "role",
291
+ type: "bytes32",
292
+ internalType: "bytes32",
293
+ },
294
+ {
295
+ name: "account",
296
+ type: "address",
297
+ internalType: "address",
298
+ },
299
+ ],
300
+ outputs: [],
301
+ stateMutability: "nonpayable",
302
+ },
303
+ {
304
+ type: "function",
305
+ name: "hasRole",
306
+ inputs: [
307
+ {
308
+ name: "role",
309
+ type: "bytes32",
310
+ internalType: "bytes32",
311
+ },
312
+ {
313
+ name: "account",
314
+ type: "address",
315
+ internalType: "address",
316
+ },
317
+ ],
318
+ outputs: [
319
+ {
320
+ name: "",
321
+ type: "bool",
322
+ internalType: "bool",
323
+ },
324
+ ],
325
+ stateMutability: "view",
326
+ },
327
+ {
328
+ type: "function",
329
+ name: "isEnabledAdapter",
330
+ inputs: [
331
+ {
332
+ name: "",
333
+ type: "address",
334
+ internalType: "address",
335
+ },
336
+ ],
337
+ outputs: [
338
+ {
339
+ name: "",
340
+ type: "bool",
341
+ internalType: "bool",
342
+ },
343
+ ],
344
+ stateMutability: "view",
345
+ },
346
+ {
347
+ type: "function",
348
+ name: "isEnabledController",
349
+ inputs: [
350
+ {
351
+ name: "",
352
+ type: "address",
353
+ internalType: "address",
354
+ },
355
+ ],
356
+ outputs: [
357
+ {
358
+ name: "",
359
+ type: "bool",
360
+ internalType: "bool",
361
+ },
362
+ ],
363
+ stateMutability: "view",
364
+ },
365
+ {
366
+ type: "function",
367
+ name: "isEnabledStablecoin",
368
+ inputs: [
369
+ {
370
+ name: "",
371
+ type: "address",
372
+ internalType: "contract IERC20",
373
+ },
374
+ ],
375
+ outputs: [
376
+ {
377
+ name: "",
378
+ type: "bool",
379
+ internalType: "bool",
380
+ },
381
+ ],
382
+ stateMutability: "view",
383
+ },
384
+ {
385
+ type: "function",
386
+ name: "isRegisteredLedger",
387
+ inputs: [
388
+ {
389
+ name: "",
390
+ type: "address",
391
+ internalType: "address",
392
+ },
393
+ ],
394
+ outputs: [
395
+ {
396
+ name: "",
397
+ type: "bool",
398
+ internalType: "bool",
399
+ },
400
+ ],
401
+ stateMutability: "view",
402
+ },
403
+ {
404
+ type: "function",
405
+ name: "minCooldownTime",
406
+ inputs: [],
407
+ outputs: [
408
+ {
409
+ name: "",
410
+ type: "uint256",
411
+ internalType: "uint256",
412
+ },
413
+ ],
414
+ stateMutability: "view",
415
+ },
416
+ {
417
+ type: "function",
418
+ name: "minInitialDepositUsd",
419
+ inputs: [],
420
+ outputs: [
421
+ {
422
+ name: "",
423
+ type: "uint256",
424
+ internalType: "uint256",
425
+ },
426
+ ],
427
+ stateMutability: "view",
428
+ },
429
+ {
430
+ type: "function",
431
+ name: "owner",
432
+ inputs: [],
433
+ outputs: [
434
+ {
435
+ name: "",
436
+ type: "address",
437
+ internalType: "address",
438
+ },
439
+ ],
440
+ stateMutability: "view",
441
+ },
442
+ {
443
+ type: "function",
444
+ name: "pause",
445
+ inputs: [],
446
+ outputs: [],
447
+ stateMutability: "nonpayable",
448
+ },
449
+ {
450
+ type: "function",
451
+ name: "paused",
452
+ inputs: [],
453
+ outputs: [
454
+ {
455
+ name: "",
456
+ type: "bool",
457
+ internalType: "bool",
458
+ },
459
+ ],
460
+ stateMutability: "view",
461
+ },
462
+ {
463
+ type: "function",
464
+ name: "registerMigratedFund",
465
+ inputs: [
466
+ {
467
+ name: "ledger",
468
+ type: "address",
469
+ internalType: "address",
470
+ },
471
+ ],
472
+ outputs: [],
473
+ stateMutability: "nonpayable",
474
+ },
475
+ {
476
+ type: "function",
477
+ name: "registerReferrerFeeBps",
478
+ inputs: [
479
+ {
480
+ name: "profitFeeBps",
481
+ type: "uint16",
482
+ internalType: "uint16",
483
+ },
484
+ {
485
+ name: "managementFeeBps",
486
+ type: "uint16",
487
+ internalType: "uint16",
488
+ },
489
+ ],
490
+ outputs: [],
491
+ stateMutability: "nonpayable",
492
+ },
493
+ {
494
+ type: "function",
495
+ name: "registerUpdatedLedger",
496
+ inputs: [
497
+ {
498
+ name: "vault",
499
+ type: "address",
500
+ internalType: "address",
501
+ },
502
+ {
503
+ name: "prevLedger",
504
+ type: "address",
505
+ internalType: "address",
506
+ },
507
+ {
508
+ name: "newLedger",
509
+ type: "address",
510
+ internalType: "address",
511
+ },
512
+ ],
513
+ outputs: [],
514
+ stateMutability: "nonpayable",
515
+ },
516
+ {
517
+ type: "function",
518
+ name: "registerValidFund",
519
+ inputs: [
520
+ {
521
+ name: "ctx",
522
+ type: "tuple",
523
+ internalType: "struct CreationContext",
524
+ components: [
525
+ {
526
+ name: "payload",
527
+ type: "tuple",
528
+ internalType: "struct FundCreation",
529
+ components: [
530
+ {
531
+ name: "referrer",
532
+ type: "address",
533
+ internalType: "address",
534
+ },
535
+ {
536
+ name: "name",
537
+ type: "string",
538
+ internalType: "string",
539
+ },
540
+ {
541
+ name: "symbol",
542
+ type: "string",
543
+ internalType: "string",
544
+ },
545
+ {
546
+ name: "coin",
547
+ type: "address",
548
+ internalType: "contract IERC20",
549
+ },
550
+ {
551
+ name: "initialDepositAmount",
552
+ type: "uint256",
553
+ internalType: "uint256",
554
+ },
555
+ {
556
+ name: "minDepositUsd",
557
+ type: "uint96",
558
+ internalType: "uint96",
559
+ },
560
+ {
561
+ name: "cooldownTime",
562
+ type: "uint32",
563
+ internalType: "uint32",
564
+ },
565
+ {
566
+ name: "managerProfitFeeBps",
567
+ type: "uint16",
568
+ internalType: "uint16",
569
+ },
570
+ {
571
+ name: "managerManagementFeeBps",
572
+ type: "uint16",
573
+ internalType: "uint16",
574
+ },
575
+ ],
576
+ },
577
+ {
578
+ name: "creationFeeAmount",
579
+ type: "uint256",
580
+ internalType: "uint256",
581
+ },
582
+ {
583
+ name: "normalizedDepositAmount",
584
+ type: "uint256",
585
+ internalType: "uint256",
586
+ },
587
+ {
588
+ name: "vault",
589
+ type: "address",
590
+ internalType: "address",
591
+ },
592
+ {
593
+ name: "ledger",
594
+ type: "address",
595
+ internalType: "address",
596
+ },
597
+ ],
598
+ },
599
+ ],
600
+ outputs: [
601
+ {
602
+ name: "",
603
+ type: "tuple",
604
+ internalType: "struct CreationContext",
605
+ components: [
606
+ {
607
+ name: "payload",
608
+ type: "tuple",
609
+ internalType: "struct FundCreation",
610
+ components: [
611
+ {
612
+ name: "referrer",
613
+ type: "address",
614
+ internalType: "address",
615
+ },
616
+ {
617
+ name: "name",
618
+ type: "string",
619
+ internalType: "string",
620
+ },
621
+ {
622
+ name: "symbol",
623
+ type: "string",
624
+ internalType: "string",
625
+ },
626
+ {
627
+ name: "coin",
628
+ type: "address",
629
+ internalType: "contract IERC20",
630
+ },
631
+ {
632
+ name: "initialDepositAmount",
633
+ type: "uint256",
634
+ internalType: "uint256",
635
+ },
636
+ {
637
+ name: "minDepositUsd",
638
+ type: "uint96",
639
+ internalType: "uint96",
640
+ },
641
+ {
642
+ name: "cooldownTime",
643
+ type: "uint32",
644
+ internalType: "uint32",
645
+ },
646
+ {
647
+ name: "managerProfitFeeBps",
648
+ type: "uint16",
649
+ internalType: "uint16",
650
+ },
651
+ {
652
+ name: "managerManagementFeeBps",
653
+ type: "uint16",
654
+ internalType: "uint16",
655
+ },
656
+ ],
657
+ },
658
+ {
659
+ name: "creationFeeAmount",
660
+ type: "uint256",
661
+ internalType: "uint256",
662
+ },
663
+ {
664
+ name: "normalizedDepositAmount",
665
+ type: "uint256",
666
+ internalType: "uint256",
667
+ },
668
+ {
669
+ name: "vault",
670
+ type: "address",
671
+ internalType: "address",
672
+ },
673
+ {
674
+ name: "ledger",
675
+ type: "address",
676
+ internalType: "address",
677
+ },
678
+ ],
679
+ },
680
+ ],
681
+ stateMutability: "nonpayable",
682
+ },
683
+ {
684
+ type: "function",
685
+ name: "renounceOwnership",
686
+ inputs: [],
687
+ outputs: [],
688
+ stateMutability: "nonpayable",
689
+ },
690
+ {
691
+ type: "function",
692
+ name: "renounceRole",
693
+ inputs: [
694
+ {
695
+ name: "role",
696
+ type: "bytes32",
697
+ internalType: "bytes32",
698
+ },
699
+ {
700
+ name: "callerConfirmation",
701
+ type: "address",
702
+ internalType: "address",
703
+ },
704
+ ],
705
+ outputs: [],
706
+ stateMutability: "nonpayable",
707
+ },
708
+ {
709
+ type: "function",
710
+ name: "revokeRole",
711
+ inputs: [
712
+ {
713
+ name: "role",
714
+ type: "bytes32",
715
+ internalType: "bytes32",
716
+ },
717
+ {
718
+ name: "account",
719
+ type: "address",
720
+ internalType: "address",
721
+ },
722
+ ],
723
+ outputs: [],
724
+ stateMutability: "nonpayable",
725
+ },
726
+ {
727
+ type: "function",
728
+ name: "setCreationFee",
729
+ inputs: [
730
+ {
731
+ name: "newCreationFee",
732
+ type: "uint256",
733
+ internalType: "uint256",
734
+ },
735
+ ],
736
+ outputs: [],
737
+ stateMutability: "nonpayable",
738
+ },
739
+ {
740
+ type: "function",
741
+ name: "setMinCooldownTime",
742
+ inputs: [
743
+ {
744
+ name: "newMinCooldownTime",
745
+ type: "uint256",
746
+ internalType: "uint256",
747
+ },
748
+ ],
749
+ outputs: [],
750
+ stateMutability: "nonpayable",
751
+ },
752
+ {
753
+ type: "function",
754
+ name: "setMinInitialDepositUsd",
755
+ inputs: [
756
+ {
757
+ name: "newMinInitialDepositUsd",
758
+ type: "uint256",
759
+ internalType: "uint256",
760
+ },
761
+ ],
762
+ outputs: [],
763
+ stateMutability: "nonpayable",
764
+ },
765
+ {
766
+ type: "function",
767
+ name: "supportsInterface",
768
+ inputs: [
769
+ {
770
+ name: "interfaceId",
771
+ type: "bytes4",
772
+ internalType: "bytes4",
773
+ },
774
+ ],
775
+ outputs: [
776
+ {
777
+ name: "",
778
+ type: "bool",
779
+ internalType: "bool",
780
+ },
781
+ ],
782
+ stateMutability: "view",
783
+ },
784
+ {
785
+ type: "function",
786
+ name: "togglePauserRole",
787
+ inputs: [
788
+ {
789
+ name: "account",
790
+ type: "address",
791
+ internalType: "address",
792
+ },
793
+ {
794
+ name: "enabled",
795
+ type: "bool",
796
+ internalType: "bool",
797
+ },
798
+ ],
799
+ outputs: [],
800
+ stateMutability: "nonpayable",
801
+ },
802
+ {
803
+ type: "function",
804
+ name: "token",
805
+ inputs: [],
806
+ outputs: [
807
+ {
808
+ name: "",
809
+ type: "address",
810
+ internalType: "contract IERC20",
811
+ },
812
+ ],
813
+ stateMutability: "view",
814
+ },
815
+ {
816
+ type: "function",
817
+ name: "transferOwnership",
818
+ inputs: [
819
+ {
820
+ name: "newOwner",
821
+ type: "address",
822
+ internalType: "address",
823
+ },
824
+ ],
825
+ outputs: [],
826
+ stateMutability: "nonpayable",
827
+ },
828
+ {
829
+ type: "function",
830
+ name: "unpause",
831
+ inputs: [],
832
+ outputs: [],
833
+ stateMutability: "nonpayable",
834
+ },
835
+ {
836
+ type: "function",
837
+ name: "updateAdmin",
838
+ inputs: [
839
+ {
840
+ name: "newAdmin",
841
+ type: "address",
842
+ internalType: "address",
843
+ },
844
+ ],
845
+ outputs: [],
846
+ stateMutability: "nonpayable",
847
+ },
848
+ {
849
+ type: "function",
850
+ name: "updateFeeCollector",
851
+ inputs: [
852
+ {
853
+ name: "newFeeCollector",
854
+ type: "address",
855
+ internalType: "address",
856
+ },
857
+ ],
858
+ outputs: [],
859
+ stateMutability: "nonpayable",
860
+ },
861
+ {
862
+ type: "function",
863
+ name: "updateGovernanceToken",
864
+ inputs: [
865
+ {
866
+ name: "newToken",
867
+ type: "address",
868
+ internalType: "contract IERC20",
869
+ },
870
+ ],
871
+ outputs: [],
872
+ stateMutability: "nonpayable",
873
+ },
874
+ {
875
+ type: "function",
876
+ name: "updateProtocolExtension",
877
+ inputs: [
878
+ {
879
+ name: "newExtension",
880
+ type: "address",
881
+ internalType: "address",
882
+ },
883
+ ],
884
+ outputs: [],
885
+ stateMutability: "nonpayable",
886
+ },
887
+ {
888
+ type: "event",
889
+ name: "AdapterDisabled",
890
+ inputs: [
891
+ {
892
+ name: "adapter",
893
+ type: "address",
894
+ indexed: false,
895
+ internalType: "address",
896
+ },
897
+ ],
898
+ anonymous: false,
899
+ },
900
+ {
901
+ type: "event",
902
+ name: "AdapterEnabled",
903
+ inputs: [
904
+ {
905
+ name: "adapter",
906
+ type: "address",
907
+ indexed: false,
908
+ internalType: "address",
909
+ },
910
+ ],
911
+ anonymous: false,
912
+ },
913
+ {
914
+ type: "event",
915
+ name: "AdminUpdated",
916
+ inputs: [],
917
+ anonymous: false,
918
+ },
919
+ {
920
+ type: "event",
921
+ name: "ControllerDisabled",
922
+ inputs: [
923
+ {
924
+ name: "controller",
925
+ type: "address",
926
+ indexed: false,
927
+ internalType: "address",
928
+ },
929
+ ],
930
+ anonymous: false,
931
+ },
932
+ {
933
+ type: "event",
934
+ name: "ControllerEnabled",
935
+ inputs: [
936
+ {
937
+ name: "controller",
938
+ type: "address",
939
+ indexed: false,
940
+ internalType: "address",
941
+ },
942
+ ],
943
+ anonymous: false,
944
+ },
945
+ {
946
+ type: "event",
947
+ name: "CreationFeeUpdated",
948
+ inputs: [
949
+ {
950
+ name: "newCreationFee",
951
+ type: "uint256",
952
+ indexed: false,
953
+ internalType: "uint256",
954
+ },
955
+ ],
956
+ anonymous: false,
957
+ },
958
+ {
959
+ type: "event",
960
+ name: "FeeCollectorUpdated",
961
+ inputs: [
962
+ {
963
+ name: "newFeeCollector",
964
+ type: "address",
965
+ indexed: false,
966
+ internalType: "address",
967
+ },
968
+ ],
969
+ anonymous: false,
970
+ },
971
+ {
972
+ type: "event",
973
+ name: "FundRegistered",
974
+ inputs: [
975
+ {
976
+ name: "fund",
977
+ type: "address",
978
+ indexed: false,
979
+ internalType: "address",
980
+ },
981
+ {
982
+ name: "symbol",
983
+ type: "string",
984
+ indexed: false,
985
+ internalType: "string",
986
+ },
987
+ ],
988
+ anonymous: false,
989
+ },
990
+ {
991
+ type: "event",
992
+ name: "LedgerUpdated",
993
+ inputs: [
994
+ {
995
+ name: "vault",
996
+ type: "address",
997
+ indexed: true,
998
+ internalType: "address",
999
+ },
1000
+ {
1001
+ name: "prevLedger",
1002
+ type: "address",
1003
+ indexed: false,
1004
+ internalType: "address",
1005
+ },
1006
+ {
1007
+ name: "newLedger",
1008
+ type: "address",
1009
+ indexed: false,
1010
+ internalType: "address",
1011
+ },
1012
+ ],
1013
+ anonymous: false,
1014
+ },
1015
+ {
1016
+ type: "event",
1017
+ name: "MinCooldownTimeUpdated",
1018
+ inputs: [
1019
+ {
1020
+ name: "newMinCooldownTime",
1021
+ type: "uint256",
1022
+ indexed: false,
1023
+ internalType: "uint256",
1024
+ },
1025
+ ],
1026
+ anonymous: false,
1027
+ },
1028
+ {
1029
+ type: "event",
1030
+ name: "MinInitialDepositUsdUpdated",
1031
+ inputs: [
1032
+ {
1033
+ name: "newMinInitialDepositUsd",
1034
+ type: "uint256",
1035
+ indexed: false,
1036
+ internalType: "uint256",
1037
+ },
1038
+ ],
1039
+ anonymous: false,
1040
+ },
1041
+ {
1042
+ type: "event",
1043
+ name: "OwnershipTransferred",
1044
+ inputs: [
1045
+ {
1046
+ name: "previousOwner",
1047
+ type: "address",
1048
+ indexed: true,
1049
+ internalType: "address",
1050
+ },
1051
+ {
1052
+ name: "newOwner",
1053
+ type: "address",
1054
+ indexed: true,
1055
+ internalType: "address",
1056
+ },
1057
+ ],
1058
+ anonymous: false,
1059
+ },
1060
+ {
1061
+ type: "event",
1062
+ name: "Paused",
1063
+ inputs: [
1064
+ {
1065
+ name: "account",
1066
+ type: "address",
1067
+ indexed: false,
1068
+ internalType: "address",
1069
+ },
1070
+ ],
1071
+ anonymous: false,
1072
+ },
1073
+ {
1074
+ type: "event",
1075
+ name: "ProtocolExtensionUpdated",
1076
+ inputs: [
1077
+ {
1078
+ name: "newProtocolExtension",
1079
+ type: "address",
1080
+ indexed: false,
1081
+ internalType: "address",
1082
+ },
1083
+ ],
1084
+ anonymous: false,
1085
+ },
1086
+ {
1087
+ type: "event",
1088
+ name: "ReferrerUpdated",
1089
+ inputs: [
1090
+ {
1091
+ name: "referrer",
1092
+ type: "address",
1093
+ indexed: false,
1094
+ internalType: "address",
1095
+ },
1096
+ {
1097
+ name: "profitFeeBps",
1098
+ type: "uint256",
1099
+ indexed: false,
1100
+ internalType: "uint256",
1101
+ },
1102
+ {
1103
+ name: "managementFeeBps",
1104
+ type: "uint256",
1105
+ indexed: false,
1106
+ internalType: "uint256",
1107
+ },
1108
+ ],
1109
+ anonymous: false,
1110
+ },
1111
+ {
1112
+ type: "event",
1113
+ name: "RoleAdminChanged",
1114
+ inputs: [
1115
+ {
1116
+ name: "role",
1117
+ type: "bytes32",
1118
+ indexed: true,
1119
+ internalType: "bytes32",
1120
+ },
1121
+ {
1122
+ name: "previousAdminRole",
1123
+ type: "bytes32",
1124
+ indexed: true,
1125
+ internalType: "bytes32",
1126
+ },
1127
+ {
1128
+ name: "newAdminRole",
1129
+ type: "bytes32",
1130
+ indexed: true,
1131
+ internalType: "bytes32",
1132
+ },
1133
+ ],
1134
+ anonymous: false,
1135
+ },
1136
+ {
1137
+ type: "event",
1138
+ name: "RoleGranted",
1139
+ inputs: [
1140
+ {
1141
+ name: "role",
1142
+ type: "bytes32",
1143
+ indexed: true,
1144
+ internalType: "bytes32",
1145
+ },
1146
+ {
1147
+ name: "account",
1148
+ type: "address",
1149
+ indexed: true,
1150
+ internalType: "address",
1151
+ },
1152
+ {
1153
+ name: "sender",
1154
+ type: "address",
1155
+ indexed: true,
1156
+ internalType: "address",
1157
+ },
1158
+ ],
1159
+ anonymous: false,
1160
+ },
1161
+ {
1162
+ type: "event",
1163
+ name: "RoleRevoked",
1164
+ inputs: [
1165
+ {
1166
+ name: "role",
1167
+ type: "bytes32",
1168
+ indexed: true,
1169
+ internalType: "bytes32",
1170
+ },
1171
+ {
1172
+ name: "account",
1173
+ type: "address",
1174
+ indexed: true,
1175
+ internalType: "address",
1176
+ },
1177
+ {
1178
+ name: "sender",
1179
+ type: "address",
1180
+ indexed: true,
1181
+ internalType: "address",
1182
+ },
1183
+ ],
1184
+ anonymous: false,
1185
+ },
1186
+ {
1187
+ type: "event",
1188
+ name: "StablecoinDisabled",
1189
+ inputs: [
1190
+ {
1191
+ name: "coin",
1192
+ type: "address",
1193
+ indexed: false,
1194
+ internalType: "contract IERC20",
1195
+ },
1196
+ ],
1197
+ anonymous: false,
1198
+ },
1199
+ {
1200
+ type: "event",
1201
+ name: "StablecoinEnabled",
1202
+ inputs: [
1203
+ {
1204
+ name: "coin",
1205
+ type: "address",
1206
+ indexed: false,
1207
+ internalType: "contract IERC20",
1208
+ },
1209
+ ],
1210
+ anonymous: false,
1211
+ },
1212
+ {
1213
+ type: "event",
1214
+ name: "TokenUpdated",
1215
+ inputs: [
1216
+ {
1217
+ name: "newToken",
1218
+ type: "address",
1219
+ indexed: false,
1220
+ internalType: "contract IERC20",
1221
+ },
1222
+ ],
1223
+ anonymous: false,
1224
+ },
1225
+ {
1226
+ type: "event",
1227
+ name: "Unpaused",
1228
+ inputs: [
1229
+ {
1230
+ name: "account",
1231
+ type: "address",
1232
+ indexed: false,
1233
+ internalType: "address",
1234
+ },
1235
+ ],
1236
+ anonymous: false,
1237
+ },
1238
+ {
1239
+ type: "error",
1240
+ name: "AccessControlBadConfirmation",
1241
+ inputs: [],
1242
+ },
1243
+ {
1244
+ type: "error",
1245
+ name: "AccessControlUnauthorizedAccount",
1246
+ inputs: [
1247
+ {
1248
+ name: "account",
1249
+ type: "address",
1250
+ internalType: "address",
1251
+ },
1252
+ {
1253
+ name: "neededRole",
1254
+ type: "bytes32",
1255
+ internalType: "bytes32",
1256
+ },
1257
+ ],
1258
+ },
1259
+ {
1260
+ type: "error",
1261
+ name: "EnforcedPause",
1262
+ inputs: [],
1263
+ },
1264
+ {
1265
+ type: "error",
1266
+ name: "ExpectedPause",
1267
+ inputs: [],
1268
+ },
1269
+ {
1270
+ type: "error",
1271
+ name: "InsufficientInitialDeposit",
1272
+ inputs: [
1273
+ {
1274
+ name: "minInitialDepositUsd",
1275
+ type: "uint256",
1276
+ internalType: "uint256",
1277
+ },
1278
+ {
1279
+ name: "actualDeposit",
1280
+ type: "uint256",
1281
+ internalType: "uint256",
1282
+ },
1283
+ ],
1284
+ },
1285
+ {
1286
+ type: "error",
1287
+ name: "InvalidCooldownTime",
1288
+ inputs: [
1289
+ {
1290
+ name: "min",
1291
+ type: "uint256",
1292
+ internalType: "uint256",
1293
+ },
1294
+ {
1295
+ name: "max",
1296
+ type: "uint256",
1297
+ internalType: "uint256",
1298
+ },
1299
+ {
1300
+ name: "input",
1301
+ type: "uint256",
1302
+ internalType: "uint256",
1303
+ },
1304
+ ],
1305
+ },
1306
+ {
1307
+ type: "error",
1308
+ name: "InvalidCreationFee",
1309
+ inputs: [],
1310
+ },
1311
+ {
1312
+ type: "error",
1313
+ name: "InvalidFee",
1314
+ inputs: [],
1315
+ },
1316
+ {
1317
+ type: "error",
1318
+ name: "InvalidLedger",
1319
+ inputs: [],
1320
+ },
1321
+ {
1322
+ type: "error",
1323
+ name: "NoControllerEnabled",
1324
+ inputs: [],
1325
+ },
1326
+ {
1327
+ type: "error",
1328
+ name: "NoProtocolExtension",
1329
+ inputs: [],
1330
+ },
1331
+ {
1332
+ type: "error",
1333
+ name: "OwnableInvalidOwner",
1334
+ inputs: [
1335
+ {
1336
+ name: "owner",
1337
+ type: "address",
1338
+ internalType: "address",
1339
+ },
1340
+ ],
1341
+ },
1342
+ {
1343
+ type: "error",
1344
+ name: "OwnableUnauthorizedAccount",
1345
+ inputs: [
1346
+ {
1347
+ name: "account",
1348
+ type: "address",
1349
+ internalType: "address",
1350
+ },
1351
+ ],
1352
+ },
1353
+ {
1354
+ type: "error",
1355
+ name: "Unauthorized",
1356
+ inputs: [],
1357
+ },
1358
+ {
1359
+ type: "error",
1360
+ name: "UnregisteredReferrer",
1361
+ inputs: [
1362
+ {
1363
+ name: "referrer",
1364
+ type: "address",
1365
+ internalType: "address",
1366
+ },
1367
+ ],
1368
+ },
1369
+ {
1370
+ type: "error",
1371
+ name: "UnsupportedStablecoin",
1372
+ inputs: [
1373
+ {
1374
+ name: "coin",
1375
+ type: "address",
1376
+ internalType: "contract IERC20",
1377
+ },
1378
+ ],
1379
+ },
1380
+ ];
1381
+ const _bytecode = "0x608060405268056bc75e2d63100000600755683635c9adc5dea0000060085562015180600955348015610030575f5ffd5b506040805160808101825233808252602082018190529181018290525f6060820152908061007757604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61008081610124565b508051600480546001600160a01b039283166001600160a01b03199182168117909255602084015160038054918516918316919091179055604084015160058054918516918316919091179055606084015160028054919094169116179091556100f8905f5160206124e35f395f51905f5290610173565b5060035461011d905f5160206124e35f395f51905f52906001600160a01b0316610173565b5050610205565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8281526001602090815260408083206001600160a01b038516845290915281205460ff166101fc575f8381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016101ff565b505f5b92915050565b6122d1806102125f395ff3fe608060405260043610610296575f3560e01c80638456cb5911610159578063e15be2ec116100c0578063f122d2c911610079578063f122d2c914610924578063f2fde38b14610943578063f4fc357014610962578063f5ba342514610981578063f851a440146109a0578063fc0c546a146109bf5761029f565b8063e15be2ec14610864578063e25daa8914610879578063e2f273bd146108a7578063e3eab506146108c6578063e63ab1e9146108e5578063e94b0dd2146109055761029f565b8063b7d8622511610112578063b7d86225146107b4578063c415b95c146107d3578063c79dbc0b146107f2578063d2c35ce814610811578063d547741f14610830578063dce0b4e41461084f5761029f565b80638456cb59146107055780638da5cb5b1461071957806391d148541461073557806396ba8bba14610754578063a217fddf14610782578063b417143d146107955761029f565b80632f2ff15d116101fd5780635aa6e675116101b65780635aa6e675146106545780635c975abb146106735780636a9f245314610690578063715018a6146106af5780637ef09801146106c357806384145e39146106d75761029f565b80632f2ff15d146105a157806336568abe146105c05780633f4ba83a146105df5780635496b7c1146105f357806354d6df3d1461061257806356dd73d5146106285761029f565b80631a6587e61161024f5780631a6587e6146104bb57806323ad623b146104da578063248a9ca3146104f957806325fd8e76146105365780632d5537b0146105555780632de3153f1461058c5761029f565b80630183c2db1461034e57806301ffc9a71461036f57806307cc8792146103a35780630b6e46fe146103c25780630d68c037146103e157806318dcc3ab1461040f5761029f565b3661029f575f5ffd5b6006545f9036906060906001600160a01b03166102cf5760405163fc5e040160e01b815260040160405180910390fd5b6006546040515f9182916001600160a01b03909116906102f29083903690611b42565b5f60405180830381855af49150503d805f811461032a576040519150601f19603f3d011682016040523d82523d5f602084013e61032f565b606091505b50915091508161034157805160208201fd5b8051945060200192505050f35b348015610359575f5ffd5b5061036d610368366004611b75565b6109de565b005b34801561037a575f5ffd5b5061038e610389366004611b97565b610a8a565b60405190151581526020015b60405180910390f35b3480156103ae575f5ffd5b5061036d6103bd366004611b75565b610ac0565b3480156103cd575f5ffd5b5061036d6103dc366004611b75565b610b16565b3480156103ec575f5ffd5b5061038e6103fb366004611b75565b600c6020525f908152604090205460ff1681565b34801561041a575f5ffd5b5061048e610429366004611b75565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03949094168452600f825292829020825193840183525461ffff80821685526201000082041691840191909152640100000000900460ff1615159082015290565b60408051825161ffff9081168252602080850151909116908201529181015115159082015260600161039a565b3480156104c6575f5ffd5b5061036d6104d5366004611b75565b610bb3565b3480156104e5575f5ffd5b5061036d6104f4366004611b75565b610c52565b348015610504575f5ffd5b50610528610513366004611bbe565b5f908152600160208190526040909120015490565b60405190815260200161039a565b348015610541575f5ffd5b5061036d610550366004611b75565b610caa565b348015610560575f5ffd5b50600654610574906001600160a01b031681565b6040516001600160a01b03909116815260200161039a565b348015610597575f5ffd5b5061052860085481565b3480156105ac575f5ffd5b5061036d6105bb366004611bd5565b610d00565b3480156105cb575f5ffd5b5061036d6105da366004611bd5565b610d2b565b3480156105ea575f5ffd5b5061036d610d63565b3480156105fe575f5ffd5b5061036d61060d366004611c14565b610d75565b34801561061d575f5ffd5b506105286276a70081565b348015610633575f5ffd5b50610647610642366004611d5f565b610f12565b60405161039a9190611eff565b34801561065f575f5ffd5b50600454610574906001600160a01b031681565b34801561067e575f5ffd5b505f54600160a01b900460ff1661038e565b34801561069b575f5ffd5b5061036d6106aa366004612020565b61123d565b3480156106ba575f5ffd5b5061036d61127d565b3480156106ce575f5ffd5b5061057461128e565b3480156106e2575f5ffd5b5061038e6106f1366004611b75565b600e6020525f908152604090205460ff1681565b348015610710575f5ffd5b5061036d611332565b348015610724575f5ffd5b505f546001600160a01b0316610574565b348015610740575f5ffd5b5061038e61074f366004611bd5565b611354565b34801561075f575f5ffd5b5061038e61076e366004611b75565b600d6020525f908152604090205460ff1681565b34801561078d575f5ffd5b506105285f81565b3480156107a0575f5ffd5b5061036d6107af366004611b75565b61137e565b3480156107bf575f5ffd5b5061036d6107ce366004611bbe565b6113d9565b3480156107de575f5ffd5b50600554610574906001600160a01b031681565b3480156107fd575f5ffd5b5061036d61080c366004611bbe565b61144c565b34801561081c575f5ffd5b5061036d61082b366004611b75565b611489565b34801561083b575f5ffd5b5061036d61084a366004611bd5565b6114df565b34801561085a575f5ffd5b5061052860075481565b34801561086f575f5ffd5b5061052860095481565b348015610884575f5ffd5b5061038e610893366004611b75565b600b6020525f908152604090205460ff1681565b3480156108b2575f5ffd5b5061036d6108c1366004611b75565b611504565b3480156108d1575f5ffd5b5061036d6108e0366004612050565b611552565b3480156108f0575f5ffd5b506105285f51602061227c5f395f51905f5281565b348015610910575f5ffd5b5061057461091f366004611bbe565b611632565b34801561092f575f5ffd5b5061036d61093e366004611b75565b61165a565b34801561094e575f5ffd5b5061036d61095d366004611b75565b6116e5565b34801561096d575f5ffd5b5061036d61097c366004611b75565b61171f565b34801561098c575f5ffd5b5061036d61099b366004611bbe565b611777565b3480156109ab575f5ffd5b50600354610574906001600160a01b031681565b3480156109ca575f5ffd5b50600254610574906001600160a01b031681565b6109e66117ea565b60126109fa826001600160a01b0316611816565b60ff1611158190610a2f57604051637fc06c0b60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0381165f818152600b6020908152604091829020805460ff1916600117905590519182527fdff67aae7f628a9bd5dfed3635b03ab70bf916a4bbd8ffbd75c9c98fd846621991015b60405180910390a150565b5f6001600160e01b03198216637965db0b60e01b1480610aba57506301ffc9a760e01b6001600160e01b03198316145b92915050565b610ac86117ea565b600680546001600160a01b0319166001600160a01b0383169081179091556040519081527fb24d39404bc4c916b3b8d64177e32b07d4deb810929796f4364a5a1ec6d9005990602001610a7f565b610b1e6117ea565b6001600160a01b0381165f818152600c60209081526040808320805460ff19166001908117909155600a805491820181559093527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890920180546001600160a01b0319168417905590519182527f0173c1687ba8ee47b801344036829c0df01e6b7461ae6c6090b2e389d29053699101610a7f565b610bbb6117ea565b6001600160a01b0381165f908152600b6020526040902054819060ff16610c0157604051637fc06c0b60e01b81526001600160a01b039091166004820152602401610a26565b506001600160a01b0381165f818152600b6020908152604091829020805460ff1916905590519182527f4543202cc8112e41776f6f88b1cb75db49c28d63d8ae13cb7c4dec6767ec9f089101610a7f565b610c5a6117ea565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916905590519182527fc9dac7c0ef53b7e010194ddaddccf2725339391dc0c712d56bfe361e5aee6e659101610a7f565b610cb26117ea565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f5ba6b30cd4b2f9e9e67f4feb9b9df10d5da3b057598e6901b217b7d590345e3090602001610a7f565b5f8281526001602081905260409091200154610d1b816118d1565b610d2583836118db565b50505050565b6001600160a01b0381163314610d545760405163334bd91960e11b815260040160405180910390fd5b610d5e8282611951565b505050565b610d6b6117ea565b610d736119bc565b565b335f818152600f6020526040902054640100000000900460ff16610e10576109c461ffff84161115610dba576040516358d620b360e01b815260040160405180910390fd5b61019061ffff83161115610de1576040516358d620b360e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f60205260409020805464ff000000001916640100000000179055610e96565b6001600160a01b0381165f908152600f602052604090205461ffff9081169084161115610e50576040516358d620b360e01b815260040160405180910390fd5b6001600160a01b0381165f908152600f602052604090205461ffff6201000090910481169083161115610e96576040516358d620b360e01b815260040160405180910390fd5b6001600160a01b0381165f818152600f6020908152604091829020805461ffff87811662010000810263ffffffff19909316918a169182179290921790925583519485529184015282820152517feae63edf03257306907129d8d44abcbce7c90893bcb0e0ee1606278a8929c43f9181900360600190a1505050565b604080516101c0810182525f60a08201818152606060c0840181905260e08401819052610100840183905261012084018390526101408401839052610160840183905261018084018390526101a08401839052908352602080840183905283850183905290830182905260808301829052338252600c9052919091205460ff16610fae576040516282b42960e81b815260040160405180910390fd5b81516060908101516001600160a01b03165f908152600b60205260409020548351909101519060ff1661100057604051637fc06c0b60e01b81526001600160a01b039091166004820152602401610a26565b50815f015160c0015163ffffffff166009541115801561103057506276a700825f015160c0015163ffffffff1611155b600954835160c0015190916276a7009190611075576040516346572a0160e01b81526004810193909352602483019190915263ffffffff166044820152606401610a26565b50505061138861ffff16825f015160e0015161ffff1611156110aa576040516358d620b360e01b815260040160405180910390fd5b5f6110c4835f0151606001516001600160a01b0316611a10565b905080670de0b6b3a7640000845f0151608001516110e291906120ac565b6110ec91906120c3565b6040840181905260085484516080015190918211156111275760405163f5cbd5b760e01b815260048101929092526024820152604401610a26565b5050670de0b6b3a76400008160075461114091906120ac565b61114a91906120c3565b60208401819052835160800180516111639083906120e2565b90525060075460408401805161117a9083906120e2565b9052508251516001600160a01b03165f908152600f602052604090205483515190640100000000900460ff166111cf57604051635d81e60d60e01b81526001600160a01b039091166004820152602401610a26565b506080830180516001600160a01b03165f908152600e602052604090819020805460ff191660011790559051845182015191517ffdc65c8d9fac83b0e9a154c9dcef5b2abd3b46c6577be48089a48c33742b763c9261122e92916120f5565b60405180910390a15090919050565b6112456117ea565b801561126257610d5e5f51602061227c5f395f51905f52836118db565b610d5e5f51602061227c5f395f51905f5283611951565b5050565b6112856117ea565b610d735f611a25565b600a545f905b801561131957600c5f600a6112a884612118565b935083815481106112bb576112bb61212d565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff161561131457600a81815481106112fa576112fa61212d565b5f918252602090912001546001600160a01b031692915050565b611294565b604051634a699c7f60e11b815260040160405180910390fd5b5f51602061227c5f395f51905f52611349816118d1565b611351611a74565b50565b5f9182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6113866117ea565b6001600160a01b0381165f818152600d6020908152604091829020805460ff1916600117905590519182527ff38bcccb2695d62310bd49c97cdce5aeb96cff24152d703bd42e98308bac407f9101610a7f565b6113e16117ea565b678ac7230489e800006008546113f791906120e2565b81111561141757604051635623662d60e01b815260040160405180910390fd5b60078190556040518181527f88a973fd5506071e0cf878b30898776c47d5250a7ee1e6ee0b36df3b03c7c16a90602001610a7f565b6114546117ea565b60098190556040518181527f802cdc1925f697e06b3baf833ef5bb4c3e203d1637cb0493e2202ed1e2701e7290602001610a7f565b6114916117ea565b600580546001600160a01b0319166001600160a01b0383169081179091556040519081527fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f90602001610a7f565b5f82815260016020819052604090912001546114fa816118d1565b610d258383611951565b61150c6117ea565b600380546001600160a01b0319166001600160a01b0383161790556040517ff661c108654330f655a81cfe47fef50e3d73561e7783028589d900d6e7f7bdb2905f90a150565b335f908152600c602052604090205460ff16611580576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0382165f908152600e602052604090205460ff166115b8576040516328bb3bf960e21b815260040160405180910390fd5b6001600160a01b038281165f818152600e60209081526040808320805460ff199081169091558686168085529382902080549091166001179055805193845290830191909152918516917fa69ae98371921cd4da26eca87cfd43a36e4d72bb705cf4ef743c370e745f26de910160405180910390a2505050565b600a8181548110611641575f80fd5b5f918252602090912001546001600160a01b0316905081565b335f908152600c602052604090205460ff16611688576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381165f818152600e60209081526040808320805460ff1916600117905580519384529083018190528201527ffdc65c8d9fac83b0e9a154c9dcef5b2abd3b46c6577be48089a48c33742b763c90606001610a7f565b6116ed6117ea565b6001600160a01b03811661171657604051631e4fbdf760e01b81525f6004820152602401610a26565b61135181611a25565b6117276117ea565b6001600160a01b0381165f818152600c6020908152604091829020805460ff1916905590519182527f6724241c2a5586919f61beb88989576ff872c11298fa428173b2319eeb933dba9101610a7f565b61177f6117ea565b678ac7230489e800006007546117959190612141565b8110156117b557604051635623662d60e01b815260040160405180910390fd5b60088190556040518181527f3b7a0c8062aef2839f1549026fd519b7a4760d1fac65858b76515e2efe6b80b290602001610a7f565b5f546001600160a01b03163314610d735760405163118cdaa760e01b8152336004820152602401610a26565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f918291829182916001600160a01b0387169161185c91612154565b5f60405180830381855afa9150503d805f8114611894576040519150601f19603f3d011682016040523d82523d5f602084013e611899565b606091505b50915091508180156118ac575080516020145b156118c857808060200190518101906118c5919061216a565b92505b50909392505050565b6113518133611ab6565b5f6118e68383611354565b61194a575f8381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a4506001610aba565b505f610aba565b5f61195c8383611354565b1561194a575f8381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610aba565b6119c4611aef565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f611a1a82611816565b610aba90600a61226d565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611a7c611b18565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119f33390565b611ac08282611354565b6112795760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610a26565b5f54600160a01b900460ff16610d7357604051638dfc202b60e01b815260040160405180910390fd5b5f54600160a01b900460ff1615610d735760405163d93c066560e01b815260040160405180910390fd5b818382375f9101908152919050565b6001600160a01b0381168114611351575f5ffd5b8035611b7081611b51565b919050565b5f60208284031215611b85575f5ffd5b8135611b9081611b51565b9392505050565b5f60208284031215611ba7575f5ffd5b81356001600160e01b031981168114611b90575f5ffd5b5f60208284031215611bce575f5ffd5b5035919050565b5f5f60408385031215611be6575f5ffd5b823591506020830135611bf881611b51565b809150509250929050565b803561ffff81168114611b70575f5ffd5b5f5f60408385031215611c25575f5ffd5b611c2e83611c03565b9150611c3c60208401611c03565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715611c7c57611c7c611c45565b60405290565b604051610120810167ffffffffffffffff81118282101715611c7c57611c7c611c45565b5f82601f830112611cb5575f5ffd5b813567ffffffffffffffff811115611ccf57611ccf611c45565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611cfe57611cfe611c45565b604052818152838201602001851015611d15575f5ffd5b816020850160208301375f918101602001919091529392505050565b80356bffffffffffffffffffffffff81168114611b70575f5ffd5b803563ffffffff81168114611b70575f5ffd5b5f60208284031215611d6f575f5ffd5b813567ffffffffffffffff811115611d85575f5ffd5b820160a08185031215611d96575f5ffd5b611d9e611c59565b813567ffffffffffffffff811115611db4575f5ffd5b82016101208187031215611dc6575f5ffd5b611dce611c82565b611dd782611b65565b8152602082013567ffffffffffffffff811115611df2575f5ffd5b611dfe88828501611ca6565b602083015250604082013567ffffffffffffffff811115611e1d575f5ffd5b611e2988828501611ca6565b604083015250611e3b60608301611b65565b606082015260808281013590820152611e5660a08301611d31565b60a0820152611e6760c08301611d4c565b60c0820152611e7860e08301611c03565b60e0820152611e8a6101008301611c03565b6101008201528252506020828101359082015260408083013590820152611eb360608301611b65565b6060820152611ec460808301611b65565b6080820152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f825160a06020840152611f2360c0840182516001600160a01b03169052565b602081015161012060e0850152611f3e6101e0850182611ed1565b9050604082015160bf1985830301610100860152611f5c8282611ed1565b9150506060820151611f7a6101208601826001600160a01b03169052565b50608082015161014085015260a08201516bffffffffffffffffffffffff1661016085015260c082015163ffffffff1661018085015260e082015161ffff9081166101a0860152610100909201519182166101c085015260208501516040850152604085015160608501526060850151915061200160808501836001600160a01b03169052565b60808501516001600160a01b03811660a086015291505b949350505050565b5f5f60408385031215612031575f5ffd5b823561203c81611b51565b915060208301358015158114611bf8575f5ffd5b5f5f5f60608486031215612062575f5ffd5b833561206d81611b51565b9250602084013561207d81611b51565b9150604084013561208d81611b51565b809150509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610aba57610aba612098565b5f826120dd57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610aba57610aba612098565b6001600160a01b03831681526040602082018190525f9061201890830184611ed1565b5f8161212657612126612098565b505f190190565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610aba57610aba612098565b5f82518060208501845e5f920191825250919050565b5f6020828403121561217a575f5ffd5b815160ff81168114611b90575f5ffd5b6001815b60018411156121c5578085048111156121a9576121a9612098565b60018416156121b757908102905b60019390931c92800261218e565b935093915050565b5f826121db57506001610aba565b816121e757505f610aba565b81600181146121fd576002811461220757612223565b6001915050610aba565b60ff84111561221857612218612098565b50506001821b610aba565b5060208310610133831016604e8410600b8410161715612246575081810a610aba565b6122525f19848461218a565b805f190482111561226557612265612098565b029392505050565b5f611b9060ff8416836121cd56fe65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862aa264697066735822122055a23fa2c6bdbd51a34226b09c9b04a99082f41c2c55a22a55ced66cc56c1a4264736f6c634300081e003365d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a";
1382
+ const isSuperArgs = (xs) => xs.length > 1;
1383
+ export class ProtocolMigrationExtension__factory extends ContractFactory {
1384
+ constructor(...args) {
1385
+ if (isSuperArgs(args)) {
1386
+ super(...args);
1387
+ }
1388
+ else {
1389
+ super(_abi, _bytecode, args[0]);
1390
+ }
1391
+ }
1392
+ getDeployTransaction(overrides) {
1393
+ return super.getDeployTransaction(overrides || {});
1394
+ }
1395
+ deploy(overrides) {
1396
+ return super.deploy(overrides || {});
1397
+ }
1398
+ connect(runner) {
1399
+ return super.connect(runner);
1400
+ }
1401
+ static bytecode = _bytecode;
1402
+ static abi = _abi;
1403
+ static createInterface() {
1404
+ return new Interface(_abi);
1405
+ }
1406
+ static connect(address, runner) {
1407
+ return new Contract(address, _abi, runner);
1408
+ }
1409
+ }