@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,141 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [
6
+ {
7
+ name: "protocolAddress",
8
+ type: "address",
9
+ internalType: "address payable",
10
+ },
11
+ ],
12
+ stateMutability: "nonpayable",
13
+ },
14
+ {
15
+ type: "function",
16
+ name: "getPendingBalance",
17
+ inputs: [
18
+ {
19
+ name: "account",
20
+ type: "address",
21
+ internalType: "address",
22
+ },
23
+ ],
24
+ outputs: [
25
+ {
26
+ name: "",
27
+ type: "uint256",
28
+ internalType: "uint256",
29
+ },
30
+ ],
31
+ stateMutability: "view",
32
+ },
33
+ {
34
+ type: "function",
35
+ name: "protocol",
36
+ inputs: [],
37
+ outputs: [
38
+ {
39
+ name: "",
40
+ type: "address",
41
+ internalType: "contract Protocol",
42
+ },
43
+ ],
44
+ stateMutability: "view",
45
+ },
46
+ {
47
+ type: "function",
48
+ name: "transfer",
49
+ inputs: [
50
+ {
51
+ name: "from",
52
+ type: "address",
53
+ internalType: "address",
54
+ },
55
+ {
56
+ name: "to",
57
+ type: "address",
58
+ internalType: "address",
59
+ },
60
+ {
61
+ name: "amount",
62
+ type: "uint256",
63
+ internalType: "uint256",
64
+ },
65
+ ],
66
+ outputs: [],
67
+ stateMutability: "nonpayable",
68
+ },
69
+ {
70
+ type: "error",
71
+ name: "InvalidAddress",
72
+ inputs: [],
73
+ },
74
+ {
75
+ type: "error",
76
+ name: "InvalidLedger",
77
+ inputs: [],
78
+ },
79
+ {
80
+ type: "error",
81
+ name: "ReentrancyGuardReentrantCall",
82
+ inputs: [],
83
+ },
84
+ {
85
+ type: "error",
86
+ name: "SafeCastOverflowedUintDowncast",
87
+ inputs: [
88
+ {
89
+ name: "bits",
90
+ type: "uint8",
91
+ internalType: "uint8",
92
+ },
93
+ {
94
+ name: "value",
95
+ type: "uint256",
96
+ internalType: "uint256",
97
+ },
98
+ ],
99
+ },
100
+ ];
101
+ const _bytecode = "0x60a0604052348015600e575f5ffd5b506040516118d13803806118d1833981016040819052602b916063565b806001600160a01b03811660525760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b031660805250608e565b5f602082840312156072575f5ffd5b81516001600160a01b03811681146087575f5ffd5b9392505050565b6080516118256100ac5f395f8181607601526107f901526118255ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806351d550d2146100435780638ce7442614610069578063beabacc8146100a0575b5f5ffd5b610056610051366004611118565b6100b5565b6040519081526020015b60405180910390f35b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610060565b6100b36100ae36600461113a565b6100d6565b005b5f806100c133846101fc565b90506100cc81610736565b60c0015192915050565b6100de6107a1565b5f6100e8336107d8565b90506100f5818585610885565b6040516350ccc87b60e11b81526001600160a01b038281166004830152858116602483015284166044820152606481018390525f9073__$0e3f7ebf69dd613ebc736beec31cc9b50e$__9063a19990f69060840161014060405180830381865af4158015610165573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101899190611284565b905061019481610899565b60405163c7810cf560e01b81526001600160a01b0383169063c7810cf5906101c090849060040161134d565b5f604051808303815f87803b1580156101d7575f5ffd5b505af11580156101e9573d5f5f3e3d5ffd5b5050505050506101f76109a9565b505050565b61020461103e565b60408051600880825261012082019092525f91816020015b606081526020019060019003908161021c579050506040805160048152602481019091526020810180516001600160e01b031663027e5f8f60e61b17905281519192509082905f90610270576102706113b0565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b0316636b50985960e11b1790528151829060019081106102d6576102d66113b0565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663900c043560e01b17905281518290600290811061033c5761033c6113b0565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166318160ddd60e01b179052815182906003908110610388576103886113b0565b6020908102919091018101919091526040805160048082526024820190925291820180516001600160e01b03166373d9f6c760e01b179052825183919081106103d3576103d36113b0565b602090810291909101810191909152604080516001600160a01b03861660248083019190915282518083039091018152604490910190915290810180516001600160e01b031663363b414760e21b179052815182906005908110610439576104396113b0565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166328172be960e21b179052815182906006908110610485576104856113b0565b60209081029190910181019190915260408051600481526024810190915290810180516001600160e01b03166327523cf560e11b1790528151829060079081106104d1576104d16113b0565b60200260200101819052505f846001600160a01b031663ac9650d8836040518263ffffffff1660e01b815260040161050991906113c4565b5f60405180830381865afa158015610523573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261054a919081019061146b565b6001600160a01b03808716855285166040850152805190915081905f90610573576105736113b0565b602002602001015180602001905181019061058e9190611580565b6001600160801b031660208401528051819060019081106105b1576105b16113b0565b60200260200101518060200190518101906105cc9190611599565b6080840181905260608401528051819060029081106105ed576105ed6113b0565b602002602001015180602001905181019061060891906115b3565b60a0840152805181906003908110610622576106226113b0565b602002602001015180602001905181019061063d91906115b3565b610100840152805181906004908110610658576106586113b0565b602002602001015180602001905181019061067391906115b3565b61018084015280518190600590811061068e5761068e6113b0565b60200260200101518060200190518101906106a991906115ca565b6101608401528051819060069081106106c4576106c46113b0565b60200260200101518060200190518101906106df9190611580565b6001600160801b0316610120840152805181906007908110610703576107036113b0565b602002602001015180602001905181019061071e9190611580565b6001600160801b031661014084015250909392505050565b61078b8160a001518260600151602001516001600160681b031683606001515f015161076291906116a4565b6001600160801b03168361012001516001600160801b03168461018001518561016001516109d3565b6001600160681b031660e083015260c090910152565b6107a9610bc6565b6107d660017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90610c06565b565b6040516384145e3960e01b81526001600160a01b0382811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906384145e3990602401602060405180830381865afa158015610840573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086491906116c3565b610881576040516328bb3bf960e21b815260040160405180910390fd5b5090565b61088f8383610c0d565b6101f78382610c0d565b60408101518051602090910151608083015160a08401511461091a576108e583608001518460a00151846001600160801b03166108d691906116e2565b6108e091906116f9565b610c98565b915061091783608001518460a00151836001600160681b031661090891906116e2565b61091291906116f9565b610cd0565b90505b8183606001515f0181815161092f91906116a4565b6001600160801b031690525060608301516020018051829190610953908390611718565b6001600160681b031690525060408301518051839190610974908390611737565b6001600160801b031690525060408301516020018051829190610998908390611756565b6001600160681b0316905250505050565b6107d65f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006107d0565b5f5f865f036109e657505f905080610bbc565b82515f036109f857508590505f610bbc565b8691505f5b8351811015610bba575f848281518110610a1957610a196113b0565b602002602001015190505f836001600160681b031689610a399190611775565b90505f85610a4f670de0b6b3a7640000846116e2565b610a5991906116f9565b90505f612710610a768386602001516001600160801b0316610d03565b85602001516001600160801b0316610a8e9190611788565b610a98908b6116e2565b610aa291906116f9565b90505f8185602001516001600160801b0316610abe9190611788565b85519091506001600160801b0316610ad6828a6116e2565b610ae091906116f9565b9750875f03610af3575050505050610bba565b84516001600160801b031683108015610b0b57505f8b115b15610bac575f670de0b6b3a76400006001670de0b6b3a7640000885f01516001600160801b03168c610b3d91906116e2565b610b479190611775565b610b519190611788565b610b5b91906116f9565b9050848111610b6f57505050505050610bb2565b5f610b86610912610b808885611788565b8f610d03565b9050610b92818a611718565b9850610ba76001600160681b0382168e611788565b9c5050505b50505050505b6001016109fd565b505b9550959350505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c156107d657604051633ee5aeb560e01b815260040160405180910390fd5b80825d5050565b816001600160a01b031663f34fd6c66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c45575f5ffd5b505af1158015610c57573d5f5f3e3d5ffd5b505f9250610c719150506001600160a01b038416836101fc565b9050610c7c81610d15565b15610c8657505050565b610c8f81610736565b6101f781610dd9565b5f6001600160801b03821115610881576040516306dfcc6560e41b815260806004820152602481018390526044015b60405180910390fd5b5f6001600160681b03821115610881576040516306dfcc6560e41b81526068600482015260248101839052604401610cc7565b8181811115610d0f5750805b92915050565b5f8160a001515f03610dbd57610d2e8260200151611010565b60808301805161ffff909216604092830152835182850151606086015192516101208701516101408801519551639df11ab760e01b81526001600160a01b0390941695639df11ab795610d8895909392919060040161179b565b5f604051808303815f87803b158015610d9f575f5ffd5b505af1158015610db1573d5f5f3e3d5ffd5b50600195945050505050565b816101600151515f03610dd257506001919050565b505f919050565b8060a001518160c001511115610e71575f8160a001518260c00151610dfe9190611788565b82516040808501519051630ab714fb60e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063156e29f6906064015f604051808303815f87803b158015610e55575f5ffd5b505af1158015610e67573d5f5f3e3d5ffd5b5050505050610ef5565b5f8160c001518260a00151610e869190611788565b82516040808501519051637a94c56560e11b81526001600160a01b0391821660048201526024810184905260448101849052929350169063f5298aca906064015f604051808303815f87803b158015610edd575f5ffd5b505af1158015610eef573d5f5f3e3d5ffd5b50505050505b610f028160200151611010565b60808201805161ffff90921660409092019190915260e082015190516020018051610f2e908390611718565b6001600160681b0390811690915260e083015161014084018051919092169250610f599083906116a4565b6001600160801b031690525060e0810151610120820180516001600160681b0390921691610f88908390611737565b6001600160801b03169052508051604080830151606084015160808501516101208601516101408701519451639df11ab760e01b81526001600160a01b0390961695639df11ab795610fe0959493929160040161179b565b5f604051808303815f87803b158015610ff7575f5ffd5b505af1158015611009573d5f5f3e3d5ffd5b5050505050565b5f61ffff821115610881576040516306dfcc6560e41b81526010600482015260248101839052604401610cc7565b604051806101a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b03168152602001611090604080516060810182525f808252602082018190529181019190915290565b8152604080516060810182525f80825260208281018290529282015291019081526020015f81526020015f81526020015f6001600160681b031681526020015f81526020015f6001600160801b031681526020015f6001600160801b03168152602001606081526020015f81525090565b6001600160a01b0381168114611115575f5ffd5b50565b5f60208284031215611128575f5ffd5b813561113381611101565b9392505050565b5f5f5f6060848603121561114c575f5ffd5b833561115781611101565b9250602084013561116781611101565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156111af576111af611178565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156111de576111de611178565b604052919050565b80516001600160801b03811681146111fc575f5ffd5b919050565b5f60608284031215611211575f5ffd5b6040516060810167ffffffffffffffff8111828210171561123457611234611178565b604052905080611243836111e6565b815260208301516001600160681b038116811461125e575f5ffd5b6020820152604083015161ffff81168114611277575f5ffd5b6040919091015292915050565b5f610140828403128015611296575f5ffd5b5060405160c0810167ffffffffffffffff811182821017156112ba576112ba611178565b60405282516112c881611101565b815260208301516112d881611101565b60208201526112ea8460408501611201565b60408201526112fc8460a08501611201565b606082015261010083015160808201526101209092015160a083015250919050565b80516001600160801b031682526020808201516001600160681b03169083015260409081015161ffff16910152565b81516001600160a01b039081168252602080840151909116908201526040808301516101408301916113819084018261131e565b50606083015161139460a084018261131e565b50608083015161010083015260a0909201516101209091015290565b634e487b7160e01b5f52603260045260245ffd5b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561143c57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f830116880101965050506020820191506020840193506001810190506113ea565b50929695505050505050565b5f67ffffffffffffffff82111561146157611461611178565b5060051b60200190565b5f6020828403121561147b575f5ffd5b815167ffffffffffffffff811115611491575f5ffd5b8201601f810184136114a1575f5ffd5b80516114b46114af82611448565b6111b5565b8082825260208201915060208360051b8501019250868311156114d5575f5ffd5b602084015b8381101561157557805167ffffffffffffffff8111156114f8575f5ffd5b8501603f81018913611508575f5ffd5b602081015167ffffffffffffffff81111561152557611525611178565b611538601f8201601f19166020016111b5565b8181526040838301018b101561154c575f5ffd5b8160408401602083015e5f602083830101528086525050506020830192506020810190506114da565b509695505050505050565b5f60208284031215611590575f5ffd5b611133826111e6565b5f606082840312156115a9575f5ffd5b6111338383611201565b5f602082840312156115c3575f5ffd5b5051919050565b5f602082840312156115da575f5ffd5b815167ffffffffffffffff8111156115f0575f5ffd5b8201601f81018413611600575f5ffd5b805161160e6114af82611448565b8082825260208201915060208360061b85010192508683111561162f575f5ffd5b6020840193505b82841015611686576040848803121561164d575f5ffd5b61165561118c565b61165e856111e6565b815261166c602086016111e6565b602082015280835250602082019150604084019350611636565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b038181168382160190811115610d0f57610d0f611690565b5f602082840312156116d3575f5ffd5b81518015158114611133575f5ffd5b8082028115828204841417610d0f57610d0f611690565b5f8261171357634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160681b038181168382160190811115610d0f57610d0f611690565b6001600160801b038281168282160390811115610d0f57610d0f611690565b6001600160681b038281168282160390811115610d0f57610d0f611690565b80820180821115610d0f57610d0f611690565b81810381811115610d0f57610d0f611690565b6001600160a01b038616815261012081016117b9602083018761131e565b6117c6608083018661131e565b6001600160801b03841660e08301526001600160801b038316610100830152969550505050505056fea26469706673582212205c81a9db5ae03c09cd4b905f6b7a0fe799a1d91f1e1f6fbef27cf2cc36f3dd9164736f6c634300081e0033";
102
+ const isSuperArgs = (xs) => {
103
+ return (typeof xs[0] === "string" ||
104
+ Array.isArray(xs[0]) ||
105
+ "_isInterface" in xs[0]);
106
+ };
107
+ export class TransferController__factory extends ContractFactory {
108
+ constructor(...args) {
109
+ if (isSuperArgs(args)) {
110
+ super(...args);
111
+ }
112
+ else {
113
+ const [linkLibraryAddresses, signer] = args;
114
+ super(_abi, TransferController__factory.linkBytecode(linkLibraryAddresses), signer);
115
+ }
116
+ }
117
+ static linkBytecode(linkLibraryAddresses) {
118
+ let linkedBytecode = _bytecode;
119
+ linkedBytecode = linkedBytecode.replace(new RegExp("__\\$0e3f7ebf69dd613ebc736beec31cc9b50e\\$__", "g"), linkLibraryAddresses["src/lib/ContextBuilder.sol:ContextBuilder"]
120
+ .replace(/^0x/, "")
121
+ .toLowerCase());
122
+ return linkedBytecode;
123
+ }
124
+ getDeployTransaction(protocolAddress, overrides) {
125
+ return super.getDeployTransaction(protocolAddress, overrides || {});
126
+ }
127
+ deploy(protocolAddress, overrides) {
128
+ return super.deploy(protocolAddress, overrides || {});
129
+ }
130
+ connect(runner) {
131
+ return super.connect(runner);
132
+ }
133
+ static bytecode = _bytecode;
134
+ static abi = _abi;
135
+ static createInterface() {
136
+ return new Interface(_abi);
137
+ }
138
+ static connect(address, runner) {
139
+ return new Contract(address, _abi, runner);
140
+ }
141
+ }
@@ -0,0 +1 @@
1
+ export { TransferController__factory } from "./TransferController__factory";
@@ -0,0 +1 @@
1
+ export { TransferController__factory } from "./TransferController__factory.js";
@@ -0,0 +1,162 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../../common";
4
+ import type { UniswapV2Adapter, UniswapV2AdapterInterface } from "../../out/UniswapV2Adapter";
5
+ type UniswapV2AdapterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
+ export declare class UniswapV2Adapter__factory extends ContractFactory {
7
+ constructor(...args: UniswapV2AdapterConstructorParams);
8
+ getDeployTransaction(protocol: AddressLike, weth: AddressLike, router: AddressLike, overrides?: NonPayableOverrides & {
9
+ from?: string;
10
+ }): Promise<ContractDeployTransaction>;
11
+ deploy(protocol: AddressLike, weth: AddressLike, router: AddressLike, overrides?: NonPayableOverrides & {
12
+ from?: string;
13
+ }): Promise<UniswapV2Adapter & {
14
+ deploymentTransaction(): ContractTransactionResponse;
15
+ }>;
16
+ connect(runner: ContractRunner | null): UniswapV2Adapter__factory;
17
+ static readonly bytecode = "0x610100604052348015610010575f5ffd5b50604051610e99380380610e9983398101604081905261002f9161009c565b8282816001600160a01b0381166100595760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0390811660805290811660a0523060c0529190911660e05250506101f45f55506100e6565b6001600160a01b0381168114610099575f5ffd5b50565b5f5f5f606084860312156100ae575f5ffd5b83516100b981610085565b60208501519093506100ca81610085565b60408501519092506100db81610085565b809150509250925092565b60805160a05160c05160e051610d576101425f395f81816103d5015261042201525f8181610164015261061801525f818161011c015261072e01525f818160ca01528181610657015281816107c901526108750152610d575ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630a6936f31461005957806332fd8ca4146100745780638ce74426146100c85780639a3ef85c14610102578063ad5c464814610117575b5f5ffd5b6100615f5481565b6040519081526020015b60405180910390f35b610087610082366004610adb565b61013e565b60405161006b919081516001600160a01b03908116825260208084015190911690820152604080830151908201526060918201519181019190915260800190565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161006b565b610115610110366004610be1565b61060d565b005b6100ea7f000000000000000000000000000000000000000000000000000000000000000081565b604080516080810182525f8082526020820181905291810182905260608101919091525f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630a6936f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e29190610bf8565b905082604001515f815181106101fa576101fa610c0f565b60209081029190910101516001600160a01b031682526040830151805161022390600190610c23565b8151811061023357610233610c0f565b6020908102919091018101516001600160a01b03169083015281515f906102599061072b565b90505f811580156102725750610272846020015161072b565b9050818061027d5750805b61029a57604051631115766760e01b815260040160405180910390fd5b5f6102a3610863565b85516040516370a0823160e01b81523060048201529192505f9182916001600160a01b0316906370a0823190602401602060405180830381865afa1580156102ed573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103119190610bf8565b60208801516040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561035e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103829190610bf8565b905085156103bf57885187908161039b5761039b610c48565b8a51919004908190038a5288519093506103bf906001600160a01b0316858561091e565b885188516103fa916001600160a01b03909116907f000000000000000000000000000000000000000000000000000000000000000090610958565b885160208a01516040808c015160608d01519151635c11d79560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001694635c11d7959461045d949193909290913091600401610c5c565b5f604051808303815f87803b158015610474575f5ffd5b505af1158015610486573d5f5f3e3d5ffd5b505089516040516370a0823160e01b81523060048201526001600160a01b0390911692506370a082319150602401602060405180830381865afa1580156104cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f39190610bf8565b6104fd9083610c23565b604089810191909152602089015190516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561054d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105719190610bf8565b61057b9190610c23565b60608901528415610601578688606001518161059957610599610c48565b60608a0180519290910491829003905260208901519093506105c5906001600160a01b0316858561091e565b60208901516060890151818110156105fe57604051637b26817960e01b8152600481019290925260248201526044015b60405180910390fd5b50505b50505050505050919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610655576040516282b42960e81b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190610ccc565b6001600160a01b0316336001600160a01b031614610705576040516282b42960e81b815260040160405180910390fd5b6064811015610727576040516358d620b360e01b815260040160405180910390fd5b5f55565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361076d57506001919050565b7ffd6a22fca1b8aab27e58b7109329acb92b4151a8d03eb41f5fbf011dd22e17008201805c5f8160028111156107a5576107a5610cee565b036108465760405163e25daa8960e01b81526001600160a01b0385811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e25daa8990602401602060405180830381865afa15801561080e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108329190610d02565b61083d576002610840565b60015b905080825d5b600181600281111561085a5761085a610cee565b14949350505050565b5f805c6001600160a01b031661090f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f39190610ccc565b5f805c6001600160a01b0319166001600160a01b03831617905d505b506001600160a01b035f5c1690565b61092b83838360016109aa565b61095357604051635274afe760e01b81526001600160a01b03841660048201526024016105f5565b505050565b6109648383835f610a0c565b6109535761097583835f6001610a0c565b61099d57604051635274afe760e01b81526001600160a01b03841660048201526024016105f5565b61092b8383836001610a0c565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610a005783831516156109f4573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b60405163095ea7b360e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610a005783831516156109f4573d5f823e3d81fd5b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610a8d57610a8d610a56565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610abc57610abc610a56565b604052919050565b6001600160a01b0381168114610ad8575f5ffd5b50565b5f60208284031215610aeb575f5ffd5b813567ffffffffffffffff811115610b01575f5ffd5b820160808185031215610b12575f5ffd5b610b1a610a6a565b8135815260208083013590820152604082013567ffffffffffffffff811115610b41575f5ffd5b8201601f81018613610b51575f5ffd5b803567ffffffffffffffff811115610b6b57610b6b610a56565b8060051b610b7b60208201610a93565b91825260208184018101929081019089841115610b96575f5ffd5b6020850194505b83851015610bc45784359250610bb283610ac4565b82825260209485019490910190610b9d565b604086015250505050606091820135918101919091529392505050565b5f60208284031215610bf1575f5ffd5b5035919050565b5f60208284031215610c08575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610c4257634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015610cac5783516001600160a01b0316835260209384019390920191600101610c85565b50506001600160a01b039590951660608401525050608001529392505050565b5f60208284031215610cdc575f5ffd5b8151610ce781610ac4565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215610d12575f5ffd5b81518015158114610ce7575f5ffdfea26469706673582212202c736f22206152ae8b79601fe5f1508080d4668f4226a2789f5aee7ce832f89964736f6c634300081e0033";
18
+ static readonly abi: readonly [{
19
+ readonly type: "constructor";
20
+ readonly inputs: readonly [{
21
+ readonly name: "protocol";
22
+ readonly type: "address";
23
+ readonly internalType: "address payable";
24
+ }, {
25
+ readonly name: "weth";
26
+ readonly type: "address";
27
+ readonly internalType: "address";
28
+ }, {
29
+ readonly name: "router";
30
+ readonly type: "address";
31
+ readonly internalType: "address";
32
+ }];
33
+ readonly stateMutability: "nonpayable";
34
+ }, {
35
+ readonly type: "function";
36
+ readonly name: "WETH";
37
+ readonly inputs: readonly [];
38
+ readonly outputs: readonly [{
39
+ readonly name: "";
40
+ readonly type: "address";
41
+ readonly internalType: "address";
42
+ }];
43
+ readonly stateMutability: "view";
44
+ }, {
45
+ readonly type: "function";
46
+ readonly name: "executeSwap";
47
+ readonly inputs: readonly [{
48
+ readonly name: "swap";
49
+ readonly type: "tuple";
50
+ readonly internalType: "struct SwapV2";
51
+ readonly components: readonly [{
52
+ readonly name: "amountToSend";
53
+ readonly type: "uint256";
54
+ readonly internalType: "uint256";
55
+ }, {
56
+ readonly name: "amountToReceive";
57
+ readonly type: "uint256";
58
+ readonly internalType: "uint256";
59
+ }, {
60
+ readonly name: "path";
61
+ readonly type: "address[]";
62
+ readonly internalType: "address[]";
63
+ }, {
64
+ readonly name: "deadline";
65
+ readonly type: "uint256";
66
+ readonly internalType: "uint256";
67
+ }];
68
+ }];
69
+ readonly outputs: readonly [{
70
+ readonly name: "trade";
71
+ readonly type: "tuple";
72
+ readonly internalType: "struct Trade";
73
+ readonly components: readonly [{
74
+ readonly name: "tokenIn";
75
+ readonly type: "address";
76
+ readonly internalType: "contract IERC20";
77
+ }, {
78
+ readonly name: "tokenOut";
79
+ readonly type: "address";
80
+ readonly internalType: "contract IERC20";
81
+ }, {
82
+ readonly name: "amountIn";
83
+ readonly type: "uint256";
84
+ readonly internalType: "uint256";
85
+ }, {
86
+ readonly name: "amountOut";
87
+ readonly type: "uint256";
88
+ readonly internalType: "uint256";
89
+ }];
90
+ }];
91
+ readonly stateMutability: "nonpayable";
92
+ }, {
93
+ readonly type: "function";
94
+ readonly name: "protocol";
95
+ readonly inputs: readonly [];
96
+ readonly outputs: readonly [{
97
+ readonly name: "";
98
+ readonly type: "address";
99
+ readonly internalType: "contract Protocol";
100
+ }];
101
+ readonly stateMutability: "view";
102
+ }, {
103
+ readonly type: "function";
104
+ readonly name: "setTollDivisor";
105
+ readonly inputs: readonly [{
106
+ readonly name: "newTollDivisor";
107
+ readonly type: "uint256";
108
+ readonly internalType: "uint256";
109
+ }];
110
+ readonly outputs: readonly [];
111
+ readonly stateMutability: "nonpayable";
112
+ }, {
113
+ readonly type: "function";
114
+ readonly name: "tollDivisor";
115
+ readonly inputs: readonly [];
116
+ readonly outputs: readonly [{
117
+ readonly name: "";
118
+ readonly type: "uint256";
119
+ readonly internalType: "uint256";
120
+ }];
121
+ readonly stateMutability: "view";
122
+ }, {
123
+ readonly type: "error";
124
+ readonly name: "InsufficientProceeds";
125
+ readonly inputs: readonly [{
126
+ readonly name: "expected";
127
+ readonly type: "uint256";
128
+ readonly internalType: "uint256";
129
+ }, {
130
+ readonly name: "actual";
131
+ readonly type: "uint256";
132
+ readonly internalType: "uint256";
133
+ }];
134
+ }, {
135
+ readonly type: "error";
136
+ readonly name: "InvalidAddress";
137
+ readonly inputs: readonly [];
138
+ }, {
139
+ readonly type: "error";
140
+ readonly name: "InvalidFee";
141
+ readonly inputs: readonly [];
142
+ }, {
143
+ readonly type: "error";
144
+ readonly name: "InvalidSwap";
145
+ readonly inputs: readonly [];
146
+ }, {
147
+ readonly type: "error";
148
+ readonly name: "SafeERC20FailedOperation";
149
+ readonly inputs: readonly [{
150
+ readonly name: "token";
151
+ readonly type: "address";
152
+ readonly internalType: "address";
153
+ }];
154
+ }, {
155
+ readonly type: "error";
156
+ readonly name: "Unauthorized";
157
+ readonly inputs: readonly [];
158
+ }];
159
+ static createInterface(): UniswapV2AdapterInterface;
160
+ static connect(address: string, runner?: ContractRunner | null): UniswapV2Adapter;
161
+ }
162
+ export {};
@@ -0,0 +1,215 @@
1
+ import { Contract, ContractFactory, Interface, } from "ethers";
2
+ const _abi = [
3
+ {
4
+ type: "constructor",
5
+ inputs: [
6
+ {
7
+ name: "protocol",
8
+ type: "address",
9
+ internalType: "address payable",
10
+ },
11
+ {
12
+ name: "weth",
13
+ type: "address",
14
+ internalType: "address",
15
+ },
16
+ {
17
+ name: "router",
18
+ type: "address",
19
+ internalType: "address",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ },
24
+ {
25
+ type: "function",
26
+ name: "WETH",
27
+ inputs: [],
28
+ outputs: [
29
+ {
30
+ name: "",
31
+ type: "address",
32
+ internalType: "address",
33
+ },
34
+ ],
35
+ stateMutability: "view",
36
+ },
37
+ {
38
+ type: "function",
39
+ name: "executeSwap",
40
+ inputs: [
41
+ {
42
+ name: "swap",
43
+ type: "tuple",
44
+ internalType: "struct SwapV2",
45
+ components: [
46
+ {
47
+ name: "amountToSend",
48
+ type: "uint256",
49
+ internalType: "uint256",
50
+ },
51
+ {
52
+ name: "amountToReceive",
53
+ type: "uint256",
54
+ internalType: "uint256",
55
+ },
56
+ {
57
+ name: "path",
58
+ type: "address[]",
59
+ internalType: "address[]",
60
+ },
61
+ {
62
+ name: "deadline",
63
+ type: "uint256",
64
+ internalType: "uint256",
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ outputs: [
70
+ {
71
+ name: "trade",
72
+ type: "tuple",
73
+ internalType: "struct Trade",
74
+ components: [
75
+ {
76
+ name: "tokenIn",
77
+ type: "address",
78
+ internalType: "contract IERC20",
79
+ },
80
+ {
81
+ name: "tokenOut",
82
+ type: "address",
83
+ internalType: "contract IERC20",
84
+ },
85
+ {
86
+ name: "amountIn",
87
+ type: "uint256",
88
+ internalType: "uint256",
89
+ },
90
+ {
91
+ name: "amountOut",
92
+ type: "uint256",
93
+ internalType: "uint256",
94
+ },
95
+ ],
96
+ },
97
+ ],
98
+ stateMutability: "nonpayable",
99
+ },
100
+ {
101
+ type: "function",
102
+ name: "protocol",
103
+ inputs: [],
104
+ outputs: [
105
+ {
106
+ name: "",
107
+ type: "address",
108
+ internalType: "contract Protocol",
109
+ },
110
+ ],
111
+ stateMutability: "view",
112
+ },
113
+ {
114
+ type: "function",
115
+ name: "setTollDivisor",
116
+ inputs: [
117
+ {
118
+ name: "newTollDivisor",
119
+ type: "uint256",
120
+ internalType: "uint256",
121
+ },
122
+ ],
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ },
126
+ {
127
+ type: "function",
128
+ name: "tollDivisor",
129
+ inputs: [],
130
+ outputs: [
131
+ {
132
+ name: "",
133
+ type: "uint256",
134
+ internalType: "uint256",
135
+ },
136
+ ],
137
+ stateMutability: "view",
138
+ },
139
+ {
140
+ type: "error",
141
+ name: "InsufficientProceeds",
142
+ inputs: [
143
+ {
144
+ name: "expected",
145
+ type: "uint256",
146
+ internalType: "uint256",
147
+ },
148
+ {
149
+ name: "actual",
150
+ type: "uint256",
151
+ internalType: "uint256",
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ type: "error",
157
+ name: "InvalidAddress",
158
+ inputs: [],
159
+ },
160
+ {
161
+ type: "error",
162
+ name: "InvalidFee",
163
+ inputs: [],
164
+ },
165
+ {
166
+ type: "error",
167
+ name: "InvalidSwap",
168
+ inputs: [],
169
+ },
170
+ {
171
+ type: "error",
172
+ name: "SafeERC20FailedOperation",
173
+ inputs: [
174
+ {
175
+ name: "token",
176
+ type: "address",
177
+ internalType: "address",
178
+ },
179
+ ],
180
+ },
181
+ {
182
+ type: "error",
183
+ name: "Unauthorized",
184
+ inputs: [],
185
+ },
186
+ ];
187
+ const _bytecode = "0x610100604052348015610010575f5ffd5b50604051610e99380380610e9983398101604081905261002f9161009c565b8282816001600160a01b0381166100595760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0390811660805290811660a0523060c0529190911660e05250506101f45f55506100e6565b6001600160a01b0381168114610099575f5ffd5b50565b5f5f5f606084860312156100ae575f5ffd5b83516100b981610085565b60208501519093506100ca81610085565b60408501519092506100db81610085565b809150509250925092565b60805160a05160c05160e051610d576101425f395f81816103d5015261042201525f8181610164015261061801525f818161011c015261072e01525f818160ca01528181610657015281816107c901526108750152610d575ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80630a6936f31461005957806332fd8ca4146100745780638ce74426146100c85780639a3ef85c14610102578063ad5c464814610117575b5f5ffd5b6100615f5481565b6040519081526020015b60405180910390f35b610087610082366004610adb565b61013e565b60405161006b919081516001600160a01b03908116825260208084015190911690820152604080830151908201526060918201519181019190915260800190565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161006b565b610115610110366004610be1565b61060d565b005b6100ea7f000000000000000000000000000000000000000000000000000000000000000081565b604080516080810182525f8082526020820181905291810182905260608101919091525f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630a6936f36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e29190610bf8565b905082604001515f815181106101fa576101fa610c0f565b60209081029190910101516001600160a01b031682526040830151805161022390600190610c23565b8151811061023357610233610c0f565b6020908102919091018101516001600160a01b03169083015281515f906102599061072b565b90505f811580156102725750610272846020015161072b565b9050818061027d5750805b61029a57604051631115766760e01b815260040160405180910390fd5b5f6102a3610863565b85516040516370a0823160e01b81523060048201529192505f9182916001600160a01b0316906370a0823190602401602060405180830381865afa1580156102ed573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103119190610bf8565b60208801516040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561035e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103829190610bf8565b905085156103bf57885187908161039b5761039b610c48565b8a51919004908190038a5288519093506103bf906001600160a01b0316858561091e565b885188516103fa916001600160a01b03909116907f000000000000000000000000000000000000000000000000000000000000000090610958565b885160208a01516040808c015160608d01519151635c11d79560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001694635c11d7959461045d949193909290913091600401610c5c565b5f604051808303815f87803b158015610474575f5ffd5b505af1158015610486573d5f5f3e3d5ffd5b505089516040516370a0823160e01b81523060048201526001600160a01b0390911692506370a082319150602401602060405180830381865afa1580156104cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f39190610bf8565b6104fd9083610c23565b604089810191909152602089015190516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561054d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105719190610bf8565b61057b9190610c23565b60608901528415610601578688606001518161059957610599610c48565b60608a0180519290910491829003905260208901519093506105c5906001600160a01b0316858561091e565b60208901516060890151818110156105fe57604051637b26817960e01b8152600481019290925260248201526044015b60405180910390fd5b50505b50505050505050919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610655576040516282b42960e81b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d59190610ccc565b6001600160a01b0316336001600160a01b031614610705576040516282b42960e81b815260040160405180910390fd5b6064811015610727576040516358d620b360e01b815260040160405180910390fd5b5f55565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361076d57506001919050565b7ffd6a22fca1b8aab27e58b7109329acb92b4151a8d03eb41f5fbf011dd22e17008201805c5f8160028111156107a5576107a5610cee565b036108465760405163e25daa8960e01b81526001600160a01b0385811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e25daa8990602401602060405180830381865afa15801561080e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108329190610d02565b61083d576002610840565b60015b905080825d5b600181600281111561085a5761085a610cee565b14949350505050565b5f805c6001600160a01b031661090f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c415b95c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f39190610ccc565b5f805c6001600160a01b0319166001600160a01b03831617905d505b506001600160a01b035f5c1690565b61092b83838360016109aa565b61095357604051635274afe760e01b81526001600160a01b03841660048201526024016105f5565b505050565b6109648383835f610a0c565b6109535761097583835f6001610a0c565b61099d57604051635274afe760e01b81526001600160a01b03841660048201526024016105f5565b61092b8383836001610a0c565b60405163a9059cbb60e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610a005783831516156109f4573d5f823e3d81fd5b5f873b113d1516831692505b60405250949350505050565b60405163095ea7b360e01b5f8181526001600160a01b038616600452602485905291602083604481808b5af1925060015f51148316610a005783831516156109f4573d5f823e3d81fd5b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610a8d57610a8d610a56565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610abc57610abc610a56565b604052919050565b6001600160a01b0381168114610ad8575f5ffd5b50565b5f60208284031215610aeb575f5ffd5b813567ffffffffffffffff811115610b01575f5ffd5b820160808185031215610b12575f5ffd5b610b1a610a6a565b8135815260208083013590820152604082013567ffffffffffffffff811115610b41575f5ffd5b8201601f81018613610b51575f5ffd5b803567ffffffffffffffff811115610b6b57610b6b610a56565b8060051b610b7b60208201610a93565b91825260208184018101929081019089841115610b96575f5ffd5b6020850194505b83851015610bc45784359250610bb283610ac4565b82825260209485019490910190610b9d565b604086015250505050606091820135918101919091529392505050565b5f60208284031215610bf1575f5ffd5b5035919050565b5f60208284031215610c08575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610c4257634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015610cac5783516001600160a01b0316835260209384019390920191600101610c85565b50506001600160a01b039590951660608401525050608001529392505050565b5f60208284031215610cdc575f5ffd5b8151610ce781610ac4565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215610d12575f5ffd5b81518015158114610ce7575f5ffdfea26469706673582212202c736f22206152ae8b79601fe5f1508080d4668f4226a2789f5aee7ce832f89964736f6c634300081e0033";
188
+ const isSuperArgs = (xs) => xs.length > 1;
189
+ export class UniswapV2Adapter__factory extends ContractFactory {
190
+ constructor(...args) {
191
+ if (isSuperArgs(args)) {
192
+ super(...args);
193
+ }
194
+ else {
195
+ super(_abi, _bytecode, args[0]);
196
+ }
197
+ }
198
+ getDeployTransaction(protocol, weth, router, overrides) {
199
+ return super.getDeployTransaction(protocol, weth, router, overrides || {});
200
+ }
201
+ deploy(protocol, weth, router, overrides) {
202
+ return super.deploy(protocol, weth, router, overrides || {});
203
+ }
204
+ connect(runner) {
205
+ return super.connect(runner);
206
+ }
207
+ static bytecode = _bytecode;
208
+ static abi = _abi;
209
+ static createInterface() {
210
+ return new Interface(_abi);
211
+ }
212
+ static connect(address, runner) {
213
+ return new Contract(address, _abi, runner);
214
+ }
215
+ }