@gearbox-protocol/sdk 3.0.0-next.26 → 3.0.0-next.261

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 (718) hide show
  1. package/contracts/SignUpRepository.sol +85 -0
  2. package/contracts/index.sol +47 -5
  3. package/lib/apy/curveAPY.d.ts +55 -5
  4. package/lib/apy/curveAPY.js +128 -72
  5. package/lib/apy/defiLamaAPY.d.ts +3 -0
  6. package/lib/apy/defiLamaAPY.js +84 -0
  7. package/lib/apy/index.d.ts +12 -5
  8. package/lib/apy/index.js +88 -6
  9. package/lib/apy/lidoAPY.d.ts +4 -1
  10. package/lib/apy/lidoAPY.js +7 -10
  11. package/lib/apy/pendleAPY.d.ts +5 -0
  12. package/lib/apy/pendleAPY.js +26 -0
  13. package/lib/apy/skyAPY.d.ts +5 -0
  14. package/lib/apy/skyAPY.js +28 -0
  15. package/lib/apy/yearnAPY.d.ts +3 -3
  16. package/lib/apy/yearnAPY.js +18 -12
  17. package/lib/contracts/contractsRegister.d.ts +17 -9
  18. package/lib/contracts/contractsRegister.js +53 -3
  19. package/lib/core/assets.d.ts +16 -10
  20. package/lib/core/assets.js +16 -3
  21. package/lib/core/bot.d.ts +12 -0
  22. package/lib/core/bot.js +23 -0
  23. package/lib/core/creditAccount.d.ts +112 -54
  24. package/lib/core/creditAccount.js +250 -113
  25. package/lib/core/creditAccount.spec.js +1004 -131
  26. package/lib/core/creditManager.d.ts +43 -33
  27. package/lib/core/creditManager.js +192 -90
  28. package/lib/core/creditSession.d.ts +35 -13
  29. package/lib/core/creditSession.js +32 -7
  30. package/lib/core/endpoint.d.ts +20 -0
  31. package/lib/core/endpoint.js +76 -0
  32. package/lib/core/eventOrTx.d.ts +5 -5
  33. package/lib/core/events.d.ts +163 -162
  34. package/lib/core/events.js +7 -7
  35. package/lib/core/gauge.d.ts +34 -5
  36. package/lib/core/gauge.js +43 -18
  37. package/lib/core/gaugeMath.d.ts +41 -0
  38. package/lib/core/gaugeMath.js +105 -0
  39. package/lib/core/gaugeMath.spec.js +388 -0
  40. package/lib/core/pool.d.ts +62 -31
  41. package/lib/core/pool.js +115 -81
  42. package/lib/core/priceOracle.d.ts +1 -1
  43. package/lib/core/protocols.d.ts +9 -0
  44. package/lib/core/protocols.js +153 -0
  45. package/lib/core/rewardClaimer/aura.d.ts +1 -0
  46. package/lib/core/rewardClaimer/aura.js +23 -0
  47. package/lib/core/rewardClaimer/auraAbi.d.ts +15 -0
  48. package/lib/core/rewardClaimer/auraAbi.js +24 -0
  49. package/lib/core/rewardClaimer/convex.d.ts +1 -0
  50. package/lib/core/rewardClaimer/convex.js +18 -0
  51. package/lib/core/rewardClaimer/index.d.ts +25 -0
  52. package/lib/core/rewardClaimer/index.js +34 -0
  53. package/lib/core/rewardClaimer/rewardConvex.d.ts +42 -0
  54. package/lib/core/rewardClaimer/rewardConvex.js +250 -0
  55. package/lib/core/{rewardConvex.spec.js → rewardClaimer/rewardConvex.spec.js} +38 -70
  56. package/lib/core/rewardClaimer/stakingRewards.d.ts +34 -0
  57. package/lib/core/rewardClaimer/stakingRewards.js +133 -0
  58. package/lib/core/strategy.d.ts +13 -29
  59. package/lib/core/strategy.js +20 -44
  60. package/lib/core/trade.d.ts +13 -13
  61. package/lib/core/trade.js +36 -28
  62. package/lib/core/transactions.d.ts +214 -73
  63. package/lib/core/transactions.js +298 -119
  64. package/lib/gearboxRewards/api.d.ts +98 -0
  65. package/lib/gearboxRewards/api.js +338 -0
  66. package/lib/gearboxRewards/apy.d.ts +52 -0
  67. package/lib/gearboxRewards/apy.js +110 -0
  68. package/lib/gearboxRewards/extraAPY.d.ts +33 -0
  69. package/lib/gearboxRewards/extraAPY.js +120 -0
  70. package/lib/gearboxRewards/index.d.ts +3 -0
  71. package/lib/gearboxRewards/index.js +19 -0
  72. package/lib/gearboxRewards/merklAPI.d.ts +43 -0
  73. package/lib/gearboxRewards/merklAPI.js +11 -0
  74. package/lib/index.d.ts +9 -6
  75. package/lib/index.js +9 -8
  76. package/lib/parsers/ERC20Parser.d.ts +2 -1
  77. package/lib/parsers/ERC20Parser.js +11 -11
  78. package/lib/parsers/aaveV2LendingPoolAdapterParser.d.ts +8 -0
  79. package/lib/parsers/aaveV2LendingPoolAdapterParser.js +21 -0
  80. package/lib/parsers/aaveV2WrappedATokenAdapterParser.d.ts +8 -0
  81. package/lib/parsers/aaveV2WrappedATokenAdapterParser.js +21 -0
  82. package/lib/parsers/abstractParser.d.ts +22 -16
  83. package/lib/parsers/abstractParser.js +31 -14
  84. package/lib/parsers/balancerV2VaultParser.d.ts +8 -0
  85. package/lib/parsers/balancerV2VaultParser.js +32 -0
  86. package/lib/parsers/compoundV2CTokenAdapterParser.d.ts +8 -0
  87. package/lib/parsers/compoundV2CTokenAdapterParser.js +21 -0
  88. package/lib/parsers/convexBaseRewardPoolAdapterParser.d.ts +3 -2
  89. package/lib/parsers/convexBaseRewardPoolAdapterParser.js +21 -17
  90. package/lib/parsers/convexBoosterAdapterParser.d.ts +3 -3
  91. package/lib/parsers/convexBoosterAdapterParser.js +14 -14
  92. package/lib/parsers/convextRewardPoolParser.d.ts +2 -1
  93. package/lib/parsers/convextRewardPoolParser.js +5 -5
  94. package/lib/parsers/creditFacadeParser.d.ts +3 -2
  95. package/lib/parsers/creditFacadeParser.js +44 -18
  96. package/lib/parsers/creditManagerParser.d.ts +2 -1
  97. package/lib/parsers/creditManagerParser.js +5 -8
  98. package/lib/parsers/curveAdapterParser.d.ts +3 -2
  99. package/lib/parsers/curveAdapterParser.js +39 -39
  100. package/lib/parsers/erc626AdapterParser.d.ts +8 -0
  101. package/lib/parsers/erc626AdapterParser.js +21 -0
  102. package/lib/parsers/iParser.d.ts +4 -7
  103. package/lib/parsers/lidoAdapterParser.d.ts +2 -1
  104. package/lib/parsers/lidoAdapterParser.js +9 -8
  105. package/lib/parsers/lidoSTETHParser.d.ts +2 -1
  106. package/lib/parsers/lidoSTETHParser.js +11 -11
  107. package/lib/parsers/priceOracleParser.d.ts +2 -1
  108. package/lib/parsers/priceOracleParser.js +6 -6
  109. package/lib/parsers/stakingRewardsAdapterParser.d.ts +10 -0
  110. package/lib/parsers/stakingRewardsAdapterParser.js +35 -0
  111. package/lib/parsers/txParser.d.ts +21 -24
  112. package/lib/parsers/txParser.js +47 -14
  113. package/lib/parsers/uniV2AdapterParser.d.ts +2 -2
  114. package/lib/parsers/uniV2AdapterParser.js +12 -14
  115. package/lib/parsers/uniV2AdapterParser.spec.js +43 -30
  116. package/lib/parsers/uniV3AdapterParser.d.ts +4 -3
  117. package/lib/parsers/uniV3AdapterParser.js +26 -18
  118. package/lib/parsers/uniV3AdapterParser.spec.js +53 -76
  119. package/lib/parsers/wstETHAdapterParser.d.ts +2 -1
  120. package/lib/parsers/wstETHAdapterParser.js +20 -20
  121. package/lib/parsers/wstETHAdapterParser.spec.js +23 -7
  122. package/lib/parsers/yearnAdapterParser.spec.js +39 -21
  123. package/lib/parsers/yearnV2AdapterParser.d.ts +2 -1
  124. package/lib/parsers/yearnV2AdapterParser.js +23 -13
  125. package/lib/pathfinder/balancerVault.d.ts +33 -0
  126. package/lib/pathfinder/balancerVault.js +59 -0
  127. package/lib/pathfinder/core.d.ts +20 -10
  128. package/lib/pathfinder/index.d.ts +4 -0
  129. package/lib/pathfinder/index.js +20 -0
  130. package/lib/pathfinder/pathOptions.d.ts +6 -5
  131. package/lib/pathfinder/pathOptions.js +34 -18
  132. package/lib/pathfinder/pathOptions.spec.js +26 -24
  133. package/lib/pathfinder/pathfinder.d.ts +49 -22
  134. package/lib/pathfinder/pathfinder.js +101 -80
  135. package/lib/pathfinder/pathfinder.spec.js +24 -11
  136. package/lib/pathfinder/utils.d.ts +34 -0
  137. package/lib/pathfinder/utils.js +186 -0
  138. package/lib/payload/bot.d.ts +13 -0
  139. package/lib/payload/creditAccount.d.ts +41 -6
  140. package/lib/payload/creditManager.d.ts +58 -16
  141. package/lib/payload/creditSession.d.ts +31 -16
  142. package/lib/payload/gauge.d.ts +40 -5
  143. package/lib/payload/graphPayload.d.ts +3 -2
  144. package/lib/payload/pool.d.ts +110 -34
  145. package/lib/payload/token.d.ts +5 -2
  146. package/lib/redstone/api.d.ts +41 -0
  147. package/lib/redstone/api.js +375 -0
  148. package/lib/redstone/index.d.ts +1 -0
  149. package/lib/redstone/index.js +17 -0
  150. package/lib/tokens/tokenData.d.ts +7 -5
  151. package/lib/tokens/tokenData.js +23 -6
  152. package/lib/types/CompositePriceFeed.d.ts +182 -0
  153. package/lib/types/CompositePriceFeed.js +123 -0
  154. package/lib/types/IAaveV2_LendingPoolAdapter.d.ts +151 -0
  155. package/lib/types/IAaveV2_LendingPoolAdapter.js +98 -0
  156. package/lib/types/IAaveV2_WrappedATokenAdapter.d.ts +245 -0
  157. package/lib/types/IAaveV2_WrappedATokenAdapter.js +166 -0
  158. package/lib/types/IAddressProviderV3.d.ts +85 -0
  159. package/lib/types/IAddressProviderV3.js +66 -0
  160. package/lib/types/IAirdropDistributor.d.ts +112 -0
  161. package/lib/types/{factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js → IAirdropDistributor.js} +56 -112
  162. package/lib/types/IBalancerV2VaultAdapter.d.ts +507 -0
  163. package/lib/types/IBalancerV2VaultAdapter.js +322 -0
  164. package/lib/types/IBaseRewardPool.d.ts +391 -378
  165. package/lib/types/IBaseRewardPool.js +249 -0
  166. package/lib/types/ICompoundV2_CTokenAdapter.d.ts +189 -0
  167. package/lib/types/ICompoundV2_CTokenAdapter.js +130 -0
  168. package/lib/types/IConvexToken.d.ts +201 -182
  169. package/lib/types/IConvexToken.js +143 -0
  170. package/lib/types/IConvexV1BaseRewardPoolAdapter.d.ts +299 -284
  171. package/lib/types/IConvexV1BaseRewardPoolAdapter.js +202 -0
  172. package/lib/types/IConvexV1BoosterAdapter.d.ts +182 -0
  173. package/lib/types/IConvexV1BoosterAdapter.js +125 -0
  174. package/lib/types/ICreditConfiguratorV3.d.ts +598 -0
  175. package/lib/types/{factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js → ICreditConfiguratorV3.js} +348 -532
  176. package/lib/types/ICreditFacadeV2Extended.d.ts +74 -0
  177. package/lib/types/ICreditFacadeV2Extended.js +63 -0
  178. package/lib/types/ICreditFacadeV3.d.ts +543 -0
  179. package/lib/types/{factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js → ICreditFacadeV3.js} +281 -590
  180. package/lib/types/ICreditFacadeV3Multicall.d.ts +197 -269
  181. package/lib/types/ICreditFacadeV3Multicall.js +142 -0
  182. package/lib/types/ICreditManagerV2.d.ts +700 -0
  183. package/lib/types/ICreditManagerV2.js +443 -0
  184. package/lib/types/ICreditManagerV3.d.ts +1016 -0
  185. package/lib/types/ICreditManagerV3.js +672 -0
  186. package/lib/types/ICurvePool.d.ts +559 -438
  187. package/lib/types/ICurvePool.js +332 -0
  188. package/lib/types/ICurveV1_2AssetsAdapter.d.ts +665 -698
  189. package/lib/types/ICurveV1_2AssetsAdapter.js +404 -0
  190. package/lib/types/ICurveV1_3AssetsAdapter.d.ts +665 -761
  191. package/lib/types/ICurveV1_3AssetsAdapter.js +404 -0
  192. package/lib/types/ICurveV1_4AssetsAdapter.d.ts +665 -779
  193. package/lib/types/ICurveV1_4AssetsAdapter.js +404 -0
  194. package/lib/types/IDataCompressorV2_1.d.ts +1165 -0
  195. package/lib/types/IDataCompressorV2_1.js +720 -0
  196. package/lib/types/IDataCompressorV3.d.ts +1573 -0
  197. package/lib/types/IDataCompressorV3.js +959 -0
  198. package/lib/types/IDegenDistributor.d.ts +77 -0
  199. package/lib/types/IDegenDistributor.js +72 -0
  200. package/lib/types/IERC20.d.ts +141 -142
  201. package/lib/types/IERC20.js +101 -0
  202. package/lib/types/IERC20Permit.d.ts +59 -74
  203. package/lib/types/IERC20Permit.js +35 -0
  204. package/lib/types/IERC20ZapperDeposits.d.ts +193 -0
  205. package/lib/types/IERC20ZapperDeposits.js +101 -0
  206. package/lib/types/IERC4626Adapter.d.ts +213 -0
  207. package/lib/types/IERC4626Adapter.js +142 -0
  208. package/lib/types/IETHZapperDeposits.d.ts +33 -0
  209. package/lib/types/IETHZapperDeposits.js +29 -0
  210. package/lib/types/IFarmingPool.d.ts +292 -0
  211. package/lib/types/IFarmingPool.js +231 -0
  212. package/lib/types/IGearStakingV3.d.ts +497 -0
  213. package/lib/types/IGearStakingV3.js +368 -0
  214. package/lib/types/IInterestRateModel.d.ts +29 -50
  215. package/lib/types/IInterestRateModel.js +23 -0
  216. package/lib/types/ILidoV1Adapter.d.ts +137 -158
  217. package/lib/types/ILidoV1Adapter.js +98 -0
  218. package/lib/types/IMulticall3.d.ts +332 -0
  219. package/lib/types/IMulticall3.js +244 -0
  220. package/lib/types/IOffchainOracle.d.ts +41 -58
  221. package/lib/types/IOffchainOracle.js +31 -0
  222. package/lib/types/IPartialLiquidationBotV3.d.ts +210 -0
  223. package/lib/types/IPartialLiquidationBotV3.js +143 -0
  224. package/lib/types/IPendleMarket.d.ts +43 -0
  225. package/lib/types/IPendleMarket.js +35 -0
  226. package/lib/types/IPendleSY.d.ts +11 -0
  227. package/lib/types/IPendleSY.js +15 -0
  228. package/lib/types/IPendleYT.d.ts +31 -0
  229. package/lib/types/IPendleYT.js +29 -0
  230. package/lib/types/IPoolV3.d.ts +1061 -0
  231. package/lib/types/IPoolV3.js +806 -0
  232. package/lib/types/IPriceFeed.d.ts +77 -0
  233. package/lib/types/IPriceFeed.js +56 -0
  234. package/lib/types/IPriceOracleBase.d.ts +97 -88
  235. package/lib/types/IPriceOracleBase.js +58 -0
  236. package/lib/types/IPriceOracleV3.d.ts +319 -0
  237. package/lib/types/IPriceOracleV3.js +210 -0
  238. package/lib/types/IRouterV3.d.ts +505 -0
  239. package/lib/types/IRouterV3.js +328 -0
  240. package/lib/types/IStakingRewardsAdapter.d.ts +197 -0
  241. package/lib/types/IStakingRewardsAdapter.js +139 -0
  242. package/lib/types/IUniswapV2Adapter.d.ts +214 -0
  243. package/lib/types/IUniswapV2Adapter.js +139 -0
  244. package/lib/types/IUniswapV3Adapter.d.ts +391 -0
  245. package/lib/types/IUniswapV3Adapter.js +260 -0
  246. package/lib/types/IUpdatablePriceFeed.d.ts +97 -0
  247. package/lib/types/IUpdatablePriceFeed.js +70 -0
  248. package/lib/types/IYearnV2Adapter.d.ts +223 -256
  249. package/lib/types/IYearnV2Adapter.js +146 -0
  250. package/lib/types/IZapper.d.ts +159 -130
  251. package/lib/types/IZapper.js +101 -0
  252. package/lib/types/IstETH.d.ts +257 -0
  253. package/lib/types/IstETH.js +175 -0
  254. package/lib/types/IwstETH.d.ts +257 -0
  255. package/lib/types/IwstETH.js +181 -0
  256. package/lib/types/IwstETHV1Adapter.d.ts +153 -186
  257. package/lib/types/IwstETHV1Adapter.js +106 -0
  258. package/lib/types/PendleTWAPPTPriceFeed.d.ts +201 -0
  259. package/lib/types/PendleTWAPPTPriceFeed.js +131 -0
  260. package/lib/types/RedstonePriceFeed.d.ts +423 -0
  261. package/lib/types/RedstonePriceFeed.js +287 -0
  262. package/lib/types/SignUpRepository.d.ts +161 -0
  263. package/lib/types/SignUpRepository.js +137 -0
  264. package/lib/types/index.d.ts +56 -221
  265. package/lib/types/index.js +58 -186
  266. package/lib/utils/calls.d.ts +31 -0
  267. package/lib/utils/calls.js +73 -0
  268. package/lib/utils/formatter.d.ts +2 -2
  269. package/lib/utils/formatter.js +2 -2
  270. package/lib/utils/math.d.ts +1 -1
  271. package/lib/utils/math.js +1 -2
  272. package/lib/utils/types.d.ts +0 -4
  273. package/package.json +18 -15
  274. package/contracts/IRouter.sol +0 -100
  275. package/lib/apy/convexAPY.d.ts +0 -48
  276. package/lib/apy/convexAPY.js +0 -187
  277. package/lib/config.d.ts +0 -1
  278. package/lib/config.js +0 -4
  279. package/lib/core/errors.d.ts +0 -5
  280. package/lib/core/rewardClaimer.d.ts +0 -18
  281. package/lib/core/rewardClaimer.js +0 -10
  282. package/lib/core/rewardConvex.d.ts +0 -24
  283. package/lib/core/rewardConvex.js +0 -100
  284. package/lib/core/strategy.spec.js +0 -62
  285. package/lib/parsers/addressProviderParser.d.ts +0 -6
  286. package/lib/parsers/addressProviderParser.js +0 -27
  287. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.d.ts +0 -1
  288. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.js +0 -24
  289. package/lib/parsers/convexBoosterAdapterParser.spec.d.ts +0 -1
  290. package/lib/parsers/convexBoosterAdapterParser.spec.js +0 -20
  291. package/lib/parsers/creditFacadeParser.spec.d.ts +0 -1
  292. package/lib/parsers/creditFacadeParser.spec.js +0 -25
  293. package/lib/parsers/curveAdapterParser.spec.d.ts +0 -1
  294. package/lib/parsers/curveAdapterParser.spec.js +0 -42
  295. package/lib/parsers/lidoAdapterParser.spec.d.ts +0 -1
  296. package/lib/parsers/lidoAdapterParser.spec.js +0 -17
  297. package/lib/parsers/poolParser.d.ts +0 -6
  298. package/lib/parsers/poolParser.js +0 -19
  299. package/lib/types/AddressProvider.d.ts +0 -382
  300. package/lib/types/AddressProvider.js +0 -2
  301. package/lib/types/Balances.sol/BalanceOps.d.ts +0 -27
  302. package/lib/types/Balances.sol/BalanceOps.js +0 -2
  303. package/lib/types/Balances.sol/index.d.ts +0 -1
  304. package/lib/types/Balances.sol/index.js +0 -2
  305. package/lib/types/Claimable.d.ts +0 -113
  306. package/lib/types/Claimable.js +0 -2
  307. package/lib/types/Errors.d.ts +0 -298
  308. package/lib/types/Errors.js +0 -2
  309. package/lib/types/IAdapter.d.ts +0 -74
  310. package/lib/types/IAdapter.js +0 -2
  311. package/lib/types/IAddressProvider.sol/IAddressProvider.d.ts +0 -137
  312. package/lib/types/IAddressProvider.sol/IAddressProvider.js +0 -2
  313. package/lib/types/IAddressProvider.sol/IAddressProviderEvents.d.ts +0 -43
  314. package/lib/types/IAddressProvider.sol/IAddressProviderEvents.js +0 -2
  315. package/lib/types/IAddressProvider.sol/index.d.ts +0 -2
  316. package/lib/types/IAddressProvider.sol/index.js +0 -2
  317. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3.d.ts +0 -97
  318. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3.js +0 -2
  319. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3Events.d.ts +0 -45
  320. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3Events.js +0 -2
  321. package/lib/types/IAddressProviderV3.sol/index.d.ts +0 -2
  322. package/lib/types/IAddressProviderV3.sol/index.js +0 -2
  323. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +0 -124
  324. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.js +0 -2
  325. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +0 -73
  326. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.js +0 -2
  327. package/lib/types/IAirdropDistributor.sol/index.d.ts +0 -2
  328. package/lib/types/IAirdropDistributor.sol/index.js +0 -2
  329. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.d.ts +0 -205
  330. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.js +0 -2
  331. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.d.ts +0 -43
  332. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.js +0 -2
  333. package/lib/types/IConvexV1BoosterAdapter.sol/index.d.ts +0 -2
  334. package/lib/types/IConvexV1BoosterAdapter.sol/index.js +0 -2
  335. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2.d.ts +0 -641
  336. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2.js +0 -2
  337. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events.d.ts +0 -293
  338. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events.js +0 -2
  339. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions.d.ts +0 -27
  340. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions.js +0 -2
  341. package/lib/types/ICreditConfiguratorV2.sol/index.d.ts +0 -3
  342. package/lib/types/ICreditConfiguratorV2.sol/index.js +0 -2
  343. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.d.ts +0 -716
  344. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.js +0 -2
  345. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.d.ts +0 -275
  346. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.js +0 -2
  347. package/lib/types/ICreditConfiguratorV3.sol/index.d.ts +0 -2
  348. package/lib/types/ICreditConfiguratorV3.sol/index.js +0 -2
  349. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2.d.ts +0 -710
  350. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2.js +0 -2
  351. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Events.d.ts +0 -244
  352. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Events.js +0 -2
  353. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions.d.ts +0 -27
  354. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions.js +0 -2
  355. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.d.ts +0 -138
  356. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.js +0 -2
  357. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2V2.d.ts +0 -66
  358. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2V2.js +0 -2
  359. package/lib/types/ICreditFacadeV2.sol/index.d.ts +0 -5
  360. package/lib/types/ICreditFacadeV2.sol/index.js +0 -2
  361. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +0 -572
  362. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.js +0 -2
  363. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +0 -168
  364. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.js +0 -2
  365. package/lib/types/ICreditFacadeV3.sol/index.d.ts +0 -2
  366. package/lib/types/ICreditFacadeV3.sol/index.js +0 -2
  367. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2.d.ts +0 -639
  368. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2.js +0 -2
  369. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Events.d.ts +0 -54
  370. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Events.js +0 -2
  371. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Exceptions.d.ts +0 -27
  372. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Exceptions.js +0 -2
  373. package/lib/types/ICreditManagerV2.sol/index.d.ts +0 -3
  374. package/lib/types/ICreditManagerV2.sol/index.js +0 -2
  375. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +0 -947
  376. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.js +0 -2
  377. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3Events.d.ts +0 -41
  378. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3Events.js +0 -2
  379. package/lib/types/ICreditManagerV3.sol/index.d.ts +0 -2
  380. package/lib/types/ICreditManagerV3.sol/index.js +0 -2
  381. package/lib/types/ICurvePool_2.sol/ICurvePool2Assets.d.ts +0 -590
  382. package/lib/types/ICurvePool_2.sol/ICurvePool2Assets.js +0 -2
  383. package/lib/types/ICurvePool_2.sol/index.d.ts +0 -1
  384. package/lib/types/ICurvePool_2.sol/index.js +0 -2
  385. package/lib/types/ICurvePool_3.sol/ICurvePool3Assets.d.ts +0 -686
  386. package/lib/types/ICurvePool_3.sol/ICurvePool3Assets.js +0 -2
  387. package/lib/types/ICurvePool_3.sol/index.d.ts +0 -1
  388. package/lib/types/ICurvePool_3.sol/index.js +0 -2
  389. package/lib/types/ICurvePool_4.sol/ICurvePool4Assets.d.ts +0 -722
  390. package/lib/types/ICurvePool_4.sol/ICurvePool4Assets.js +0 -2
  391. package/lib/types/ICurvePool_4.sol/index.d.ts +0 -1
  392. package/lib/types/ICurvePool_4.sol/index.js +0 -2
  393. package/lib/types/ICurveV1Adapter.d.ts +0 -614
  394. package/lib/types/ICurveV1Adapter.js +0 -2
  395. package/lib/types/IDaiLikePermit.d.ts +0 -59
  396. package/lib/types/IDaiLikePermit.js +0 -2
  397. package/lib/types/IDataCompressorV2_10.d.ts +0 -511
  398. package/lib/types/IDataCompressorV2_10.js +0 -2
  399. package/lib/types/IDataCompressorV3_00.d.ts +0 -610
  400. package/lib/types/IDataCompressorV3_00.js +0 -2
  401. package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +0 -96
  402. package/lib/types/IDegenDistributor.sol/IDegenDistributor.js +0 -2
  403. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +0 -53
  404. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.js +0 -2
  405. package/lib/types/IDegenDistributor.sol/index.d.ts +0 -2
  406. package/lib/types/IDegenDistributor.sol/index.js +0 -2
  407. package/lib/types/IERC20Metadata.d.ts +0 -166
  408. package/lib/types/IERC20Metadata.js +0 -2
  409. package/lib/types/IERC4626.d.ts +0 -394
  410. package/lib/types/IERC4626.js +0 -2
  411. package/lib/types/IPermit2.d.ts +0 -130
  412. package/lib/types/IPermit2.js +0 -2
  413. package/lib/types/IPoolService.sol/IPoolService.d.ts +0 -392
  414. package/lib/types/IPoolService.sol/IPoolService.js +0 -2
  415. package/lib/types/IPoolService.sol/IPoolServiceEvents.d.ts +0 -162
  416. package/lib/types/IPoolService.sol/IPoolServiceEvents.js +0 -2
  417. package/lib/types/IPoolService.sol/index.d.ts +0 -2
  418. package/lib/types/IPoolService.sol/index.js +0 -2
  419. package/lib/types/IPoolV3.sol/IPoolV3.d.ts +0 -936
  420. package/lib/types/IPoolV3.sol/IPoolV3.js +0 -2
  421. package/lib/types/IPoolV3.sol/IPoolV3Events.d.ts +0 -158
  422. package/lib/types/IPoolV3.sol/IPoolV3Events.js +0 -2
  423. package/lib/types/IPoolV3.sol/index.d.ts +0 -2
  424. package/lib/types/IPoolV3.sol/index.js +0 -2
  425. package/lib/types/IRouter.d.ts +0 -268
  426. package/lib/types/IRouter.js +0 -2
  427. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.d.ts +0 -207
  428. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.js +0 -2
  429. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents.d.ts +0 -45
  430. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents.js +0 -2
  431. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.d.ts +0 -27
  432. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.js +0 -2
  433. package/lib/types/IUniswapV2Adapter.sol/index.d.ts +0 -3
  434. package/lib/types/IUniswapV2Adapter.sol/index.js +0 -2
  435. package/lib/types/IUniswapV3.sol/ISwapRouter.d.ts +0 -198
  436. package/lib/types/IUniswapV3.sol/ISwapRouter.js +0 -2
  437. package/lib/types/IUniswapV3.sol/index.d.ts +0 -1
  438. package/lib/types/IUniswapV3.sol/index.js +0 -2
  439. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.d.ts +0 -409
  440. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.js +0 -2
  441. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents.d.ts +0 -47
  442. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents.js +0 -2
  443. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.d.ts +0 -27
  444. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.js +0 -2
  445. package/lib/types/IUniswapV3Adapter.sol/index.d.ts +0 -3
  446. package/lib/types/IUniswapV3Adapter.sol/index.js +0 -2
  447. package/lib/types/IVersion.d.ts +0 -42
  448. package/lib/types/IVersion.js +0 -2
  449. package/lib/types/IWERC20Zapper.d.ts +0 -166
  450. package/lib/types/IWERC20Zapper.js +0 -2
  451. package/lib/types/IWETH.d.ts +0 -197
  452. package/lib/types/IWETH.js +0 -2
  453. package/lib/types/IWETHGateway.d.ts +0 -90
  454. package/lib/types/IWETHGateway.js +0 -2
  455. package/lib/types/IWETHZapper.d.ts +0 -162
  456. package/lib/types/IWETHZapper.js +0 -2
  457. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3.d.ts +0 -370
  458. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3.js +0 -2
  459. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.d.ts +0 -133
  460. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.js +0 -2
  461. package/lib/types/IWithdrawalManagerV3.sol/index.d.ts +0 -2
  462. package/lib/types/IWithdrawalManagerV3.sol/index.js +0 -2
  463. package/lib/types/IYVault.d.ts +0 -298
  464. package/lib/types/IYVault.js +0 -2
  465. package/lib/types/IstETH.sol/IstETH.d.ts +0 -230
  466. package/lib/types/IstETH.sol/IstETH.js +0 -2
  467. package/lib/types/IstETH.sol/IstETHGetters.d.ts +0 -214
  468. package/lib/types/IstETH.sol/IstETHGetters.js +0 -2
  469. package/lib/types/IstETH.sol/index.d.ts +0 -2
  470. package/lib/types/IstETH.sol/index.js +0 -2
  471. package/lib/types/IwstETH.sol/IwstETH.d.ts +0 -238
  472. package/lib/types/IwstETH.sol/IwstETH.js +0 -2
  473. package/lib/types/IwstETH.sol/IwstETHGetters.d.ts +0 -206
  474. package/lib/types/IwstETH.sol/IwstETHGetters.js +0 -2
  475. package/lib/types/IwstETH.sol/index.d.ts +0 -2
  476. package/lib/types/IwstETH.sol/index.js +0 -2
  477. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +0 -70
  478. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.js +0 -2
  479. package/lib/types/IwstETHGateway.sol/index.d.ts +0 -1
  480. package/lib/types/IwstETHGateway.sol/index.js +0 -2
  481. package/lib/types/Ownable.d.ts +0 -89
  482. package/lib/types/Ownable.js +0 -2
  483. package/lib/types/SafeERC20.d.ts +0 -27
  484. package/lib/types/SafeERC20.js +0 -2
  485. package/lib/types/common.d.ts +0 -22
  486. package/lib/types/common.js +0 -2
  487. package/lib/types/factories/AddressProvider__factory.d.ts +0 -321
  488. package/lib/types/factories/AddressProvider__factory.js +0 -430
  489. package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +0 -29
  490. package/lib/types/factories/Balances.sol/BalanceOps__factory.js +0 -53
  491. package/lib/types/factories/Balances.sol/index.d.ts +0 -1
  492. package/lib/types/factories/Balances.sol/index.js +0 -8
  493. package/lib/types/factories/Claimable__factory.d.ts +0 -78
  494. package/lib/types/factories/Claimable__factory.js +0 -114
  495. package/lib/types/factories/Errors__factory.d.ts +0 -351
  496. package/lib/types/factories/Errors__factory.js +0 -471
  497. package/lib/types/factories/IAdapter__factory.d.ts +0 -58
  498. package/lib/types/factories/IAdapter__factory.js +0 -84
  499. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.d.ts +0 -23
  500. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.js +0 -38
  501. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.d.ts +0 -133
  502. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.js +0 -181
  503. package/lib/types/factories/IAddressProvider.sol/index.d.ts +0 -2
  504. package/lib/types/factories/IAddressProvider.sol/index.js +0 -10
  505. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.d.ts +0 -28
  506. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.js +0 -44
  507. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.d.ts +0 -92
  508. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.js +0 -128
  509. package/lib/types/factories/IAddressProviderV3.sol/index.d.ts +0 -2
  510. package/lib/types/factories/IAddressProviderV3.sol/index.js +0 -10
  511. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +0 -63
  512. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +0 -88
  513. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +0 -119
  514. package/lib/types/factories/IAirdropDistributor.sol/index.d.ts +0 -2
  515. package/lib/types/factories/IAirdropDistributor.sol/index.js +0 -10
  516. package/lib/types/factories/IBaseRewardPool__factory.d.ts +0 -398
  517. package/lib/types/factories/IBaseRewardPool__factory.js +0 -534
  518. package/lib/types/factories/IConvexToken__factory.d.ts +0 -198
  519. package/lib/types/factories/IConvexToken__factory.js +0 -267
  520. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +0 -254
  521. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +0 -341
  522. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +0 -23
  523. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +0 -38
  524. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts +0 -181
  525. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js +0 -245
  526. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.d.ts +0 -2
  527. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.js +0 -10
  528. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.d.ts +0 -268
  529. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.js +0 -353
  530. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.d.ts +0 -44
  531. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.js +0 -64
  532. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.d.ts +0 -576
  533. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.js +0 -749
  534. package/lib/types/factories/ICreditConfiguratorV2.sol/index.d.ts +0 -3
  535. package/lib/types/factories/ICreditConfiguratorV2.sol/index.js +0 -12
  536. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +0 -273
  537. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +0 -357
  538. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +0 -605
  539. package/lib/types/factories/ICreditConfiguratorV3.sol/index.d.ts +0 -2
  540. package/lib/types/factories/ICreditConfiguratorV3.sol/index.js +0 -10
  541. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.d.ts +0 -263
  542. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.js +0 -340
  543. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.d.ts +0 -140
  544. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.js +0 -185
  545. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +0 -81
  546. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +0 -114
  547. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.d.ts +0 -26
  548. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.js +0 -42
  549. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.d.ts +0 -901
  550. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.js +0 -1163
  551. package/lib/types/factories/ICreditFacadeV2.sol/index.d.ts +0 -5
  552. package/lib/types/factories/ICreditFacadeV2.sol/index.js +0 -16
  553. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +0 -188
  554. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +0 -244
  555. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +0 -617
  556. package/lib/types/factories/ICreditFacadeV3.sol/index.d.ts +0 -2
  557. package/lib/types/factories/ICreditFacadeV3.sol/index.js +0 -10
  558. package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +0 -200
  559. package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +0 -267
  560. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.d.ts +0 -33
  561. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.js +0 -51
  562. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.d.ts +0 -60
  563. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.js +0 -84
  564. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.d.ts +0 -707
  565. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.js +0 -932
  566. package/lib/types/factories/ICreditManagerV2.sol/index.d.ts +0 -3
  567. package/lib/types/factories/ICreditManagerV2.sol/index.js +0 -12
  568. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.d.ts +0 -18
  569. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.js +0 -32
  570. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +0 -1015
  571. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +0 -1331
  572. package/lib/types/factories/ICreditManagerV3.sol/index.d.ts +0 -2
  573. package/lib/types/factories/ICreditManagerV3.sol/index.js +0 -10
  574. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.d.ts +0 -678
  575. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.js +0 -897
  576. package/lib/types/factories/ICurvePool_2.sol/index.d.ts +0 -1
  577. package/lib/types/factories/ICurvePool_2.sol/index.js +0 -8
  578. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.d.ts +0 -678
  579. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.js +0 -897
  580. package/lib/types/factories/ICurvePool_3.sol/index.d.ts +0 -1
  581. package/lib/types/factories/ICurvePool_3.sol/index.js +0 -8
  582. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.d.ts +0 -678
  583. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.js +0 -897
  584. package/lib/types/factories/ICurvePool_4.sol/index.d.ts +0 -1
  585. package/lib/types/factories/ICurvePool_4.sol/index.js +0 -8
  586. package/lib/types/factories/ICurvePool__factory.d.ts +0 -566
  587. package/lib/types/factories/ICurvePool__factory.js +0 -751
  588. package/lib/types/factories/ICurveV1Adapter__factory.d.ts +0 -664
  589. package/lib/types/factories/ICurveV1Adapter__factory.js +0 -875
  590. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.d.ts +0 -730
  591. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.js +0 -962
  592. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.d.ts +0 -730
  593. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.js +0 -962
  594. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.d.ts +0 -730
  595. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.js +0 -962
  596. package/lib/types/factories/IDaiLikePermit__factory.d.ts +0 -46
  597. package/lib/types/factories/IDaiLikePermit__factory.js +0 -67
  598. package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +0 -1222
  599. package/lib/types/factories/IDataCompressorV2_10__factory.js +0 -1565
  600. package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +0 -1490
  601. package/lib/types/factories/IDataCompressorV3_00__factory.js +0 -1906
  602. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +0 -38
  603. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +0 -57
  604. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +0 -84
  605. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +0 -117
  606. package/lib/types/factories/IDegenDistributor.sol/index.d.ts +0 -2
  607. package/lib/types/factories/IDegenDistributor.sol/index.js +0 -10
  608. package/lib/types/factories/IERC20Metadata__factory.d.ts +0 -178
  609. package/lib/types/factories/IERC20Metadata__factory.js +0 -241
  610. package/lib/types/factories/IERC20Permit__factory.d.ts +0 -66
  611. package/lib/types/factories/IERC20Permit__factory.js +0 -94
  612. package/lib/types/factories/IERC20__factory.d.ts +0 -148
  613. package/lib/types/factories/IERC20__factory.js +0 -202
  614. package/lib/types/factories/IERC4626__factory.d.ts +0 -473
  615. package/lib/types/factories/IERC4626__factory.js +0 -631
  616. package/lib/types/factories/IInterestRateModel__factory.d.ts +0 -36
  617. package/lib/types/factories/IInterestRateModel__factory.js +0 -56
  618. package/lib/types/factories/ILidoV1Adapter__factory.d.ts +0 -140
  619. package/lib/types/factories/ILidoV1Adapter__factory.js +0 -191
  620. package/lib/types/factories/IOffchainOracle__factory.d.ts +0 -48
  621. package/lib/types/factories/IOffchainOracle__factory.js +0 -72
  622. package/lib/types/factories/IPermit2__factory.d.ts +0 -113
  623. package/lib/types/factories/IPermit2__factory.js +0 -155
  624. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.d.ts +0 -163
  625. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.js +0 -215
  626. package/lib/types/factories/IPoolService.sol/IPoolService__factory.d.ts +0 -437
  627. package/lib/types/factories/IPoolService.sol/IPoolService__factory.js +0 -574
  628. package/lib/types/factories/IPoolService.sol/index.d.ts +0 -2
  629. package/lib/types/factories/IPoolService.sol/index.js +0 -10
  630. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.d.ts +0 -153
  631. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.js +0 -203
  632. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +0 -1068
  633. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +0 -1402
  634. package/lib/types/factories/IPoolV3.sol/index.d.ts +0 -2
  635. package/lib/types/factories/IPoolV3.sol/index.js +0 -10
  636. package/lib/types/factories/IPriceOracleBase__factory.d.ts +0 -104
  637. package/lib/types/factories/IPriceOracleBase__factory.js +0 -147
  638. package/lib/types/factories/IRouter__factory.d.ts +0 -382
  639. package/lib/types/factories/IRouter__factory.js +0 -507
  640. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.d.ts +0 -28
  641. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.js +0 -44
  642. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.d.ts +0 -12
  643. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +0 -24
  644. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts +0 -217
  645. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +0 -290
  646. package/lib/types/factories/IUniswapV2Adapter.sol/index.d.ts +0 -3
  647. package/lib/types/factories/IUniswapV2Adapter.sol/index.js +0 -12
  648. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.d.ts +0 -172
  649. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.js +0 -233
  650. package/lib/types/factories/IUniswapV3.sol/index.d.ts +0 -1
  651. package/lib/types/factories/IUniswapV3.sol/index.js +0 -8
  652. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.d.ts +0 -33
  653. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.js +0 -50
  654. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.d.ts +0 -12
  655. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +0 -24
  656. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.d.ts +0 -390
  657. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +0 -515
  658. package/lib/types/factories/IUniswapV3Adapter.sol/index.d.ts +0 -3
  659. package/lib/types/factories/IUniswapV3Adapter.sol/index.js +0 -12
  660. package/lib/types/factories/IVersion__factory.d.ts +0 -18
  661. package/lib/types/factories/IVersion__factory.js +0 -32
  662. package/lib/types/factories/IWERC20Zapper__factory.d.ts +0 -176
  663. package/lib/types/factories/IWERC20Zapper__factory.js +0 -240
  664. package/lib/types/factories/IWETHGateway__factory.d.ts +0 -58
  665. package/lib/types/factories/IWETHGateway__factory.js +0 -83
  666. package/lib/types/factories/IWETHZapper__factory.d.ts +0 -168
  667. package/lib/types/factories/IWETHZapper__factory.js +0 -230
  668. package/lib/types/factories/IWETH__factory.d.ts +0 -194
  669. package/lib/types/factories/IWETH__factory.js +0 -260
  670. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.d.ts +0 -143
  671. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.js +0 -188
  672. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.d.ts +0 -366
  673. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.js +0 -479
  674. package/lib/types/factories/IWithdrawalManagerV3.sol/index.d.ts +0 -2
  675. package/lib/types/factories/IWithdrawalManagerV3.sol/index.js +0 -10
  676. package/lib/types/factories/IYVault__factory.d.ts +0 -304
  677. package/lib/types/factories/IYVault__factory.js +0 -408
  678. package/lib/types/factories/IYearnV2Adapter__factory.d.ts +0 -222
  679. package/lib/types/factories/IYearnV2Adapter__factory.js +0 -299
  680. package/lib/types/factories/IZapper__factory.d.ts +0 -136
  681. package/lib/types/factories/IZapper__factory.js +0 -187
  682. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.d.ts +0 -250
  683. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.js +0 -337
  684. package/lib/types/factories/IstETH.sol/IstETH__factory.d.ts +0 -264
  685. package/lib/types/factories/IstETH.sol/IstETH__factory.js +0 -356
  686. package/lib/types/factories/IstETH.sol/index.d.ts +0 -2
  687. package/lib/types/factories/IstETH.sol/index.js +0 -10
  688. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.d.ts +0 -236
  689. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.js +0 -318
  690. package/lib/types/factories/IwstETH.sol/IwstETH__factory.d.ts +0 -264
  691. package/lib/types/factories/IwstETH.sol/IwstETH__factory.js +0 -356
  692. package/lib/types/factories/IwstETH.sol/index.d.ts +0 -2
  693. package/lib/types/factories/IwstETH.sol/index.js +0 -10
  694. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.d.ts +0 -48
  695. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.js +0 -71
  696. package/lib/types/factories/IwstETHGateway.sol/index.d.ts +0 -1
  697. package/lib/types/factories/IwstETHGateway.sol/index.js +0 -8
  698. package/lib/types/factories/IwstETHV1Adapter__factory.d.ts +0 -152
  699. package/lib/types/factories/IwstETHV1Adapter__factory.js +0 -207
  700. package/lib/types/factories/Ownable__factory.d.ts +0 -49
  701. package/lib/types/factories/Ownable__factory.js +0 -71
  702. package/lib/types/factories/SafeERC20__factory.d.ts +0 -49
  703. package/lib/types/factories/SafeERC20__factory.js +0 -77
  704. package/lib/types/factories/index.d.ts +0 -61
  705. package/lib/types/factories/index.js +0 -128
  706. package/lib/utils/repeater.d.ts +0 -1
  707. package/lib/utils/repeater.js +0 -19
  708. package/lib/watchers/creditAccountWatcher.d.ts +0 -36
  709. package/lib/watchers/creditAccountWatcher.js +0 -238
  710. package/lib/watchers/creditAccountWatcher.spec.d.ts +0 -1
  711. package/lib/watchers/creditAccountWatcher.spec.js +0 -208
  712. package/lib/watchers/creditManagerWatcher.d.ts +0 -8
  713. package/lib/watchers/creditManagerWatcher.js +0 -37
  714. package/lib/watchers/creditManagerWatcher.spec.d.ts +0 -1
  715. package/lib/watchers/creditManagerWatcher.spec.js +0 -107
  716. /package/lib/core/{rewardConvex.spec.d.ts → gaugeMath.spec.d.ts} +0 -0
  717. /package/lib/core/{strategy.spec.d.ts → rewardClaimer/rewardConvex.spec.d.ts} +0 -0
  718. /package/lib/{core/errors.js → payload/bot.js} +0 -0
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PathOptionFactory = void 0;
4
4
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
+ const aura_1 = require("@gearbox-protocol/sdk-gov/lib/tokens/aura");
5
6
  class PathOptionFactory {
6
- static generatePathOptions(balances, loopsInTx) {
7
+ static generatePathOptions(balances, loopsInTx, network) {
7
8
  const curvePools = PathOptionFactory.getCurvePools(balances);
8
- const network = PathOptionFactory.detectNetwork(Object.keys(balances)[0]);
9
- const initPO = curvePools.map(symbol => {
9
+ const balancerPools = PathOptionFactory.getBalancerPools(balances);
10
+ const curveInitPO = curvePools.map(symbol => {
10
11
  return {
11
12
  target: sdk_gov_1.tokenDataByNetwork[network][symbol],
12
13
  option: 0,
@@ -14,6 +15,14 @@ class PathOptionFactory {
14
15
  .tokens.length,
15
16
  };
16
17
  });
18
+ const balancerInitPO = balancerPools.map(symbol => {
19
+ return {
20
+ target: sdk_gov_1.tokenDataByNetwork[network][symbol],
21
+ option: 0,
22
+ totalOptions: sdk_gov_1.balancerLpTokens[symbol].underlying.length,
23
+ };
24
+ });
25
+ const initPO = [...curveInitPO, ...balancerInitPO];
17
26
  const totalLoops = initPO.reduce((acc, item) => acc * item.totalOptions, 1);
18
27
  const result = [];
19
28
  let currentPo = [...initPO];
@@ -28,24 +37,21 @@ class PathOptionFactory {
28
37
  return result;
29
38
  }
30
39
  static getCurvePools(balances) {
31
- const curveSymbols = Object.keys(sdk_gov_1.curveTokens);
32
- const curvePools = Object.entries(balances)
33
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
40
+ const nonZeroBalances = Object.entries(balances).filter(([, balance]) => balance.balance > 1);
41
+ const curvePools = nonZeroBalances
34
42
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
35
- .filter(symbol => curveSymbols.includes(symbol));
43
+ .filter(symbol => (0, sdk_gov_1.isCurveLPToken)(symbol));
36
44
  const yearnCurveTokens = Object.entries(sdk_gov_1.yearnTokens)
37
- .filter(([, data]) => curveSymbols.includes(data.underlying))
45
+ .filter(([, data]) => (0, sdk_gov_1.isCurveLPToken)(data.underlying))
38
46
  .map(([token]) => token);
39
- const curvePoolsFromYearn = Object.entries(balances)
40
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
47
+ const curvePoolsFromYearn = nonZeroBalances
41
48
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
42
49
  .filter(symbol => yearnCurveTokens.includes(symbol))
43
50
  .map(symbol => sdk_gov_1.yearnTokens[symbol].underlying);
44
51
  const convexCurveTokens = Object.entries(sdk_gov_1.convexTokens)
45
- .filter(([, data]) => curveSymbols.includes(data.underlying))
52
+ .filter(([, data]) => (0, sdk_gov_1.isCurveLPToken)(data.underlying))
46
53
  .map(([token]) => token);
47
- const curvePoolsFromConvex = Object.entries(balances)
48
- .filter(([, balance]) => (0, sdk_gov_1.toBigInt)(balance.balance) > 1)
54
+ const curvePoolsFromConvex = nonZeroBalances
49
55
  .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
50
56
  .filter(symbol => convexCurveTokens.includes(symbol))
51
57
  .map(symbol => sdk_gov_1.convexTokens[symbol].underlying);
@@ -56,6 +62,21 @@ class PathOptionFactory {
56
62
  ]);
57
63
  return Array.from(curveSet.values());
58
64
  }
65
+ static getBalancerPools(balances) {
66
+ const nonZeroBalances = Object.entries(balances).filter(([, balance]) => balance.balance > 1);
67
+ const balancerPools = nonZeroBalances
68
+ .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
69
+ .filter(symbol => (0, sdk_gov_1.isBalancerLPToken)(symbol));
70
+ const balancerAuraTokens = Object.entries(aura_1.auraTokens)
71
+ .filter(([, data]) => (0, sdk_gov_1.isBalancerLPToken)(data.underlying))
72
+ .map(([token]) => token);
73
+ const balancerTokensFromAura = nonZeroBalances
74
+ .map(([token]) => sdk_gov_1.tokenSymbolByAddress[token.toLowerCase()])
75
+ .filter(symbol => balancerAuraTokens.includes(symbol))
76
+ .map(symbol => aura_1.auraTokens[symbol].underlying);
77
+ const balancerSet = new Set([...balancerPools, ...balancerTokensFromAura]);
78
+ return Array.from(balancerSet.values());
79
+ }
59
80
  static next(path) {
60
81
  let newPath = [...path];
61
82
  for (let i = path.length - 1; i >= 0; i--) {
@@ -68,10 +89,5 @@ class PathOptionFactory {
68
89
  }
69
90
  throw new Error("Path options overflow");
70
91
  }
71
- static detectNetwork(underlying) {
72
- return sdk_gov_1.tokenDataByNetwork.Mainnet[sdk_gov_1.tokenSymbolByAddress[underlying.toLowerCase()]].toLowerCase() === underlying.toLowerCase()
73
- ? "Mainnet"
74
- : "Arbitrum";
75
- }
76
92
  }
77
93
  exports.PathOptionFactory = PathOptionFactory;
@@ -61,30 +61,35 @@ describe("PathOptionFactory test", () => {
61
61
  [sdk_gov_1.tokenDataByNetwork.Mainnet["3Crv"]]: { balance: 200n },
62
62
  [sdk_gov_1.tokenDataByNetwork.Mainnet.USDC]: { balance: 200n },
63
63
  [sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX3CRV]: { balance: 200n },
64
- [sdk_gov_1.tokenDataByNetwork.Mainnet.LUSD3CRV]: { balance: 200n },
65
64
  };
66
- const result = pathOptions_1.PathOptionFactory.generatePathOptions(balances, 4);
65
+ const result = pathOptions_1.PathOptionFactory.generatePathOptions(balances, 4, "Mainnet");
67
66
  const expected = [
68
- {
69
- target: sdk_gov_1.tokenDataByNetwork.Mainnet["3Crv"],
70
- option: 0,
71
- totalOptions: 3,
72
- },
73
- {
74
- target: sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
75
- option: 0,
76
- totalOptions: 2,
77
- },
78
- {
79
- target: sdk_gov_1.tokenDataByNetwork.Mainnet.LUSD3CRV,
80
- option: 0,
81
- totalOptions: 2,
82
- },
67
+ [
68
+ {
69
+ target: sdk_gov_1.tokenDataByNetwork.Mainnet["3Crv"],
70
+ option: 0,
71
+ totalOptions: 3,
72
+ },
73
+ {
74
+ target: sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
75
+ option: 0,
76
+ totalOptions: 2,
77
+ },
78
+ ],
79
+ [
80
+ {
81
+ target: sdk_gov_1.tokenDataByNetwork.Mainnet["3Crv"],
82
+ option: 2,
83
+ totalOptions: 3,
84
+ },
85
+ {
86
+ target: sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
87
+ option: 0,
88
+ totalOptions: 2,
89
+ },
90
+ ],
83
91
  ];
84
- for (let i = 0; i < 3; i++) {
85
- expected[0].option = i;
86
- (0, chai_1.expect)(expected).to.be.eql(result[i]);
87
- }
92
+ (0, chai_1.expect)(expected).to.be.eql(result);
88
93
  });
89
94
  it(" getCurvePools works correctly", () => {
90
95
  let balances = {
@@ -135,7 +140,4 @@ describe("PathOptionFactory test", () => {
135
140
  expectedCurvePools = ["3Crv", "steCRV"];
136
141
  (0, chai_1.expect)(pathOptions_1.PathOptionFactory.getCurvePools(balances)).to.be.eql(expectedCurvePools);
137
142
  });
138
- it("detectNetwork works correctly", () => {
139
- (0, chai_1.expect)(pathOptions_1.PathOptionFactory.detectNetwork(sdk_gov_1.tokenDataByNetwork.Mainnet["1INCH"])).to.be.eq("Mainnet");
140
- });
141
143
  });
@@ -1,45 +1,72 @@
1
- import { NetworkType, SupportedToken } from "@gearbox-protocol/sdk-gov";
2
- import { BigNumberish, providers, Signer } from "ethers";
1
+ import { NetworkType } from "@gearbox-protocol/sdk-gov";
2
+ import { Address, GetContractReturnType, PublicClient } from "viem";
3
+ import { Asset } from "../core/assets";
3
4
  import { CreditAccountData } from "../core/creditAccount";
4
5
  import { CreditManagerData } from "../core/creditManager";
5
- import { IRouter } from "../types";
6
- import { MultiCall, PathFinderCloseResult, PathFinderOpenStrategyResult, PathFinderResult, SwapOperation } from "./core";
7
- export interface CloseResult {
6
+ import { iRouterV3Abi } from "../types";
7
+ import { PathFinderCloseResult, PathFinderOpenStrategyResult, PathFinderResult, SwapOperation } from "./core";
8
+ interface FindAllSwapsProps {
9
+ creditAccount: CreditAccountData;
10
+ swapOperation: SwapOperation;
11
+ tokenIn: Address;
12
+ tokenOut: Address;
8
13
  amount: bigint;
9
- calls: Array<MultiCall>;
10
- gasUsage: bigint;
14
+ leftoverAmount: bigint;
15
+ slippage: number;
16
+ }
17
+ interface FindOneTokenPathProps {
18
+ creditAccount: CreditAccountData;
19
+ tokenIn: Address;
20
+ tokenOut: Address;
21
+ amount: bigint;
22
+ slippage: number;
23
+ }
24
+ interface FindBestClosePathProps {
25
+ creditAccount: CreditAccountData;
26
+ creditManager: CreditManagerData;
27
+ expectedBalances: Record<Address, Asset>;
28
+ leftoverBalances: Record<Address, Asset>;
29
+ slippage: number;
30
+ network: NetworkType;
31
+ }
32
+ interface FindOpenStrategyPathProps {
33
+ creditManager: CreditManagerData;
34
+ expectedBalances: Record<Address, Asset>;
35
+ leftoverBalances: Record<Address, Asset>;
36
+ target: Address;
37
+ slippage: number;
11
38
  }
12
39
  export declare class PathFinder {
13
- pathFinder: IRouter;
40
+ pathFinder: GetContractReturnType<typeof iRouterV3Abi, PublicClient>;
14
41
  network: NetworkType;
15
- static connectors: Array<SupportedToken>;
16
- protected readonly _connectors: Array<string>;
17
- constructor(address: string, provider: Signer | providers.Provider, network?: NetworkType, connectors?: SupportedToken[]);
18
- findAllSwaps(creditAccount: CreditAccountData, swapOperation: SwapOperation, tokenIn: SupportedToken | string, tokenOut: SupportedToken | string, amount: BigNumberish, slippage: number): Promise<Array<PathFinderResult>>;
19
- findOneTokenPath(creditAccount: CreditAccountData, tokenIn: SupportedToken | string, tokenOut: SupportedToken | string, amount: BigNumberish, slippage: number): Promise<PathFinderResult>;
42
+ protected readonly _connectors: Array<Address>;
43
+ constructor(address: Address, provider: PublicClient, network?: NetworkType);
44
+ findAllSwaps({ creditAccount, swapOperation, tokenIn, tokenOut, amount, leftoverAmount, slippage, }: FindAllSwapsProps): Promise<Array<PathFinderResult>>;
45
+ findOneTokenPath({ creditAccount, tokenIn, tokenOut, amount, slippage, }: FindOneTokenPathProps): Promise<PathFinderResult>;
20
46
  /**
21
- * @dev Finds the best path for opening credit account and converting all NORMAL tokens and LP token in the way to TARGET
22
- * @param cm CreditManagerData which represents credit manager you want to use to open credit account
47
+ * @dev Finds the best path for opening Credit Account and converting all NORMAL tokens and LP token in the way to TARGET
48
+ * @param cm CreditManagerData which represents credit manager you want to use to open Credit Account
23
49
  * @param expectedBalances Expected balances which would be on account accounting also debt. For example,
24
- * if you open an USDC credit account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
50
+ * if you open an USDC Credit Account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
25
51
  * from your own funds, expectedBalances should be: { "USDC": 60_000 * (10**6), "<address of WETH>": WAD.mul(10) }
26
52
  *
27
53
  * @param target Address of symbol of desired token
28
54
  * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
29
55
  * @returns PathFinderOpenStrategyResult which
30
56
  */
31
- findOpenStrategyPath(cm: CreditManagerData, expectedBalances: Record<SupportedToken | string, BigNumberish>, target: SupportedToken | string, slippage: number): Promise<PathFinderOpenStrategyResult>;
57
+ findOpenStrategyPath({ creditManager: cm, expectedBalances, leftoverBalances, target: targetUntyped, slippage, }: FindOpenStrategyPathProps): Promise<PathFinderOpenStrategyResult>;
32
58
  /**
33
59
  * @dev Finds the path to swap / withdraw all assets from CreditAccount into underlying asset
34
- * Can bu used for closing credit account and for liquidations as well.
60
+ * Can bu used for closing Credit Account and for liquidations as well.
35
61
  * @param creditAccount CreditAccountData object used for close path computation
36
62
  * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
37
63
  * @return The best option in PathFinderCloseResult format, which
38
64
  * - underlyingBalance - total balance of underlying token
39
65
  * - calls - list of calls which should be done to swap & unwrap everything to underlying token
40
66
  */
41
- findBestClosePath(creditAccount: CreditAccountData, slippage: number, noConcurency?: boolean): Promise<PathFinderCloseResult>;
42
- static compare(r1: CloseResult, r2: CloseResult, gasPriceRAY: bigint): CloseResult;
43
- getAvailableConnectors(availableList: Record<string, bigint> | Record<string, true>): string[];
44
- static getAvailableConnectors(availableList: Record<string, bigint> | Record<string, true>, connectors: string[]): string[];
67
+ findBestClosePath({ creditAccount, creditManager: cm, expectedBalances, leftoverBalances, slippage, network, }: FindBestClosePathProps): Promise<PathFinderCloseResult>;
68
+ static compare(r1: PathFinderResult, r2: PathFinderResult): PathFinderResult;
69
+ getAvailableConnectors(availableList: Record<Address, bigint> | Record<Address, true>): `0x${string}`[];
70
+ static getAvailableConnectors(availableList: Record<Address, bigint> | Record<Address, true>, connectors: Address[]): `0x${string}`[];
45
71
  }
72
+ export {};
@@ -2,151 +2,172 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PathFinder = void 0;
4
4
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
- const ethers_1 = require("ethers");
5
+ const viem_1 = require("viem");
6
6
  const types_1 = require("../types");
7
7
  const pathOptions_1 = require("./pathOptions");
8
- const MAX_GAS_PER_ROUTE = 200e6;
9
- const GAS_PER_BLOCK = 400e6;
8
+ const MAX_GAS_PER_ROUTE = 200000000n;
9
+ const GAS_PER_BLOCK = 400000000n;
10
10
  class PathFinder {
11
11
  pathFinder;
12
12
  network;
13
- static connectors = [
14
- "USDC",
15
- "WETH",
16
- "DAI",
17
- "FRAX",
18
- ];
19
13
  _connectors;
20
- constructor(address, provider, network = "Mainnet", connectors = PathFinder.connectors) {
21
- this.pathFinder = types_1.IRouter__factory.connect(address, provider);
14
+ constructor(address, provider, network = "Mainnet") {
15
+ this.pathFinder = (0, viem_1.getContract)({
16
+ address,
17
+ abi: types_1.iRouterV3Abi,
18
+ client: provider,
19
+ });
22
20
  this.network = network;
23
- this._connectors = connectors
24
- .map(c => sdk_gov_1.tokenDataByNetwork[this.network][c]?.toLowerCase())
25
- .filter(t => !!t);
21
+ this._connectors = (0, sdk_gov_1.getConnectors)(network);
26
22
  }
27
- async findAllSwaps(creditAccount, swapOperation, tokenIn, tokenOut, amount, slippage) {
23
+ async findAllSwaps({ creditAccount, swapOperation, tokenIn, tokenOut, amount, leftoverAmount, slippage, }) {
28
24
  const connectors = this.getAvailableConnectors(creditAccount.balances);
29
25
  const swapTask = {
30
26
  swapOperation: swapOperation,
31
27
  creditAccount: creditAccount.addr,
32
- tokenIn: sdk_gov_1.tokenDataByNetwork[this.network][tokenIn] || tokenIn,
33
- tokenOut: sdk_gov_1.tokenDataByNetwork[this.network][tokenOut] ||
34
- tokenOut,
28
+ tokenIn,
29
+ tokenOut,
35
30
  connectors,
36
- amount: ethers_1.BigNumber.from(amount),
37
- slippage: ethers_1.BigNumber.from(slippage),
38
- externalSlippage: false,
31
+ amount,
32
+ leftoverAmount,
39
33
  };
40
- const results = await this.pathFinder.callStatic.findAllSwaps(swapTask, {
41
- gasLimit: GAS_PER_BLOCK,
34
+ const { result: results } = await this.pathFinder.simulate.findAllSwaps([swapTask, BigInt(slippage)], {
35
+ gas: GAS_PER_BLOCK,
42
36
  });
43
37
  const unique = {};
44
38
  results.forEach(r => {
45
- const key = `${r.amount.toHexString()}${r.calls
39
+ const key = `${r.minAmount.toString()}${r.calls
46
40
  .map(c => `${c.target.toLowerCase()}${c.callData}`)
47
41
  .join("-")}`;
48
42
  unique[key] = {
49
- amount: (0, sdk_gov_1.toBigInt)(r.amount),
43
+ amount: r.amount,
44
+ minAmount: r.minAmount,
50
45
  calls: r.calls,
51
46
  };
52
47
  });
53
48
  return Object.values(unique);
54
49
  }
55
- async findOneTokenPath(creditAccount, tokenIn, tokenOut, amount, slippage) {
56
- const tokenInAddr = sdk_gov_1.tokenDataByNetwork[this.network][tokenIn] || tokenIn;
50
+ async findOneTokenPath({ creditAccount, tokenIn, tokenOut, amount, slippage, }) {
57
51
  const connectors = this.getAvailableConnectors(creditAccount.balances);
58
- const result = await this.pathFinder.callStatic.findOneTokenPath(tokenInAddr, amount, sdk_gov_1.tokenDataByNetwork[this.network][tokenOut] || tokenOut, creditAccount.addr, connectors, slippage, {
59
- gasLimit: GAS_PER_BLOCK,
52
+ const { result } = await this.pathFinder.simulate.findOneTokenPath([
53
+ tokenIn,
54
+ amount,
55
+ tokenOut,
56
+ creditAccount.addr,
57
+ connectors,
58
+ BigInt(slippage),
59
+ ], {
60
+ gas: GAS_PER_BLOCK,
60
61
  });
61
62
  return {
62
- amount: (0, sdk_gov_1.toBigInt)(result.amount),
63
+ amount: result.amount,
64
+ minAmount: result.minAmount,
63
65
  calls: result.calls,
64
66
  };
65
67
  }
66
68
  /**
67
- * @dev Finds the best path for opening credit account and converting all NORMAL tokens and LP token in the way to TARGET
68
- * @param cm CreditManagerData which represents credit manager you want to use to open credit account
69
+ * @dev Finds the best path for opening Credit Account and converting all NORMAL tokens and LP token in the way to TARGET
70
+ * @param cm CreditManagerData which represents credit manager you want to use to open Credit Account
69
71
  * @param expectedBalances Expected balances which would be on account accounting also debt. For example,
70
- * if you open an USDC credit account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
72
+ * if you open an USDC Credit Account, borrow 50_000 USDC and provide 10 WETH and 10_USDC as collateral
71
73
  * from your own funds, expectedBalances should be: { "USDC": 60_000 * (10**6), "<address of WETH>": WAD.mul(10) }
72
74
  *
73
75
  * @param target Address of symbol of desired token
74
76
  * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
75
77
  * @returns PathFinderOpenStrategyResult which
76
78
  */
77
- async findOpenStrategyPath(cm, expectedBalances, target, slippage) {
78
- const targetAddr = sdk_gov_1.tokenDataByNetwork[this.network][target] || target;
79
- const expectedBalancesAddr = Object.entries(expectedBalances).reduce((acc, [token, balance]) => {
80
- const tokenAddr = sdk_gov_1.tokenDataByNetwork[this.network][token] || token;
81
- acc[tokenAddr.toLowerCase()] = balance;
82
- return acc;
83
- }, {});
84
- const balances = cm.collateralTokens.map(token => ({
79
+ async findOpenStrategyPath({ creditManager: cm, expectedBalances, leftoverBalances, target: targetUntyped, slippage, }) {
80
+ const target = targetUntyped;
81
+ const input = cm.collateralTokens.map(token => ({
82
+ token,
83
+ balance: expectedBalances[token]?.balance || 0n,
84
+ }));
85
+ const leftover = cm.collateralTokens.map(token => ({
85
86
  token,
86
- balance: expectedBalancesAddr[token] || 0,
87
+ balance: leftoverBalances[token]?.balance || 1n,
87
88
  }));
88
89
  const connectors = this.getAvailableConnectors(cm.supportedTokens);
89
- const result = await this.pathFinder.callStatic.findOpenStrategyPath(cm.address, balances, targetAddr, connectors, slippage, {
90
- gasLimit: GAS_PER_BLOCK,
90
+ const { result: [outBalances, result], } = await this.pathFinder.simulate.findOpenStrategyPath([cm.address, input, leftover, target, connectors, BigInt(slippage)], {
91
+ gas: GAS_PER_BLOCK,
91
92
  });
92
- const balancesAfter = result[0].reduce((acc, b) => {
93
- acc[b.token.toLowerCase()] = (0, sdk_gov_1.toBigInt)(b.balance);
93
+ const balancesAfter = outBalances.reduce((acc, b) => {
94
+ acc[b.token.toLowerCase()] = b.balance;
94
95
  return acc;
95
96
  }, {});
96
97
  return {
97
- balances: balancesAfter,
98
- calls: result[1].calls,
98
+ balances: {
99
+ ...balancesAfter,
100
+ [target]: (expectedBalances[target]?.balance || 0n) + result.amount,
101
+ },
102
+ minBalances: {
103
+ ...balancesAfter,
104
+ [target]: (expectedBalances[target]?.balance || 0n) + result.minAmount,
105
+ },
106
+ calls: result.calls,
107
+ minAmount: result.minAmount,
108
+ amount: result.amount,
99
109
  };
100
110
  }
101
111
  /**
102
112
  * @dev Finds the path to swap / withdraw all assets from CreditAccount into underlying asset
103
- * Can bu used for closing credit account and for liquidations as well.
113
+ * Can bu used for closing Credit Account and for liquidations as well.
104
114
  * @param creditAccount CreditAccountData object used for close path computation
105
115
  * @param slippage Slippage in PERCENTAGE_FORMAT (100% = 10_000) per operation
106
116
  * @return The best option in PathFinderCloseResult format, which
107
117
  * - underlyingBalance - total balance of underlying token
108
118
  * - calls - list of calls which should be done to swap & unwrap everything to underlying token
109
119
  */
110
- async findBestClosePath(creditAccount, slippage, noConcurency = false) {
111
- const loopsPerTx = Math.floor(GAS_PER_BLOCK / MAX_GAS_PER_ROUTE);
112
- const pathOptions = pathOptions_1.PathOptionFactory.generatePathOptions(creditAccount.allBalances, loopsPerTx);
120
+ async findBestClosePath({ creditAccount, creditManager: cm, expectedBalances, leftoverBalances, slippage, network, }) {
121
+ const loopsPerTx = GAS_PER_BLOCK / MAX_GAS_PER_ROUTE;
122
+ const pathOptions = pathOptions_1.PathOptionFactory.generatePathOptions(creditAccount.allBalances, Number(loopsPerTx), network);
123
+ const expected = cm.collateralTokens.map(token => {
124
+ // When we pass expected balances explicitly, we need to mimic router behaviour by filtering out leftover tokens
125
+ // for example, we can have stETH balance of 2, because 1 transforms to 2 because of rebasing
126
+ // https://github.com/Gearbox-protocol/router-v3/blob/c230a3aa568bb432e50463cfddc877fec8940cf5/contracts/RouterV3.sol#L222
127
+ const actual = expectedBalances[token]?.balance || 0n;
128
+ return {
129
+ token,
130
+ balance: actual > 10n ? actual : 0n,
131
+ };
132
+ });
133
+ const leftover = cm.collateralTokens.map(token => ({
134
+ token,
135
+ balance: leftoverBalances[token]?.balance || 1n,
136
+ }));
113
137
  const connectors = this.getAvailableConnectors(creditAccount.balances);
114
- let results = [];
115
- if (noConcurency) {
116
- for (const po of pathOptions) {
117
- results.push(await this.pathFinder.callStatic.findBestClosePath(creditAccount.addr, connectors, slippage, po, loopsPerTx, false, {
118
- gasLimit: GAS_PER_BLOCK,
119
- }));
120
- }
121
- }
122
- else {
123
- const requests = pathOptions.map(po => this.pathFinder.callStatic.findBestClosePath(creditAccount.addr, connectors, slippage, po, loopsPerTx, false, {
124
- gasLimit: GAS_PER_BLOCK,
125
- }));
126
- results = await Promise.all(requests);
127
- }
128
- const bestResult = results.reduce((best, [pathFinderResult, gasPriceRAY]) => PathFinder.compare(best, {
129
- calls: pathFinderResult.calls,
130
- amount: (0, sdk_gov_1.toBigInt)(pathFinderResult.amount),
131
- gasUsage: (0, sdk_gov_1.toBigInt)(pathFinderResult.gasUsage),
132
- }, (0, sdk_gov_1.toBigInt)(gasPriceRAY)), {
138
+ const results = await Promise.all(pathOptions.map(po => this.pathFinder.simulate.findBestClosePath([
139
+ creditAccount.addr,
140
+ expected,
141
+ leftover,
142
+ connectors,
143
+ BigInt(slippage),
144
+ po,
145
+ loopsPerTx,
146
+ false,
147
+ ], {
148
+ gas: GAS_PER_BLOCK,
149
+ })));
150
+ const bestResult = results.reduce((best, pathFinderResult) => PathFinder.compare(best, {
151
+ calls: pathFinderResult.result.calls,
152
+ amount: pathFinderResult.result.amount,
153
+ minAmount: pathFinderResult.result.minAmount,
154
+ }), {
133
155
  amount: 0n,
134
- gasUsage: 0n,
156
+ minAmount: 0n,
135
157
  calls: [],
136
158
  });
137
159
  return {
138
- underlyingBalance: bestResult.amount +
139
- creditAccount.allBalances[creditAccount.underlyingToken.toLowerCase()]
140
- .balance,
141
- calls: bestResult.calls,
160
+ ...bestResult,
161
+ underlyingBalance: bestResult.minAmount +
162
+ creditAccount.allBalances[creditAccount.underlyingToken.toLowerCase()].balance,
142
163
  };
143
164
  }
144
- static compare(r1, r2, gasPriceRAY) {
145
- const comparator = ({ amount, gasUsage }, gasPrice) => amount - (gasUsage * gasPrice) / sdk_gov_1.RAY;
146
- return comparator(r1, gasPriceRAY) > comparator(r2, gasPriceRAY) ? r1 : r2;
165
+ static compare(r1, r2) {
166
+ return r1.amount > r2.amount ? r1 : r2;
147
167
  }
148
168
  getAvailableConnectors(availableList) {
149
- return PathFinder.getAvailableConnectors(availableList, this._connectors);
169
+ const connectors = PathFinder.getAvailableConnectors(availableList, this._connectors);
170
+ return connectors;
150
171
  }
151
172
  static getAvailableConnectors(availableList, connectors) {
152
173
  return connectors.filter(t => availableList[t] !== undefined);
@@ -2,38 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
4
4
  const chai_1 = require("chai");
5
- const ethers_1 = require("ethers");
5
+ const viem_1 = require("viem");
6
6
  const pathfinder_1 = require("./pathfinder");
7
7
  describe("PathFinder test", () => {
8
8
  it("compare works correctly", () => {
9
9
  const r1 = {
10
- amount: 2000n,
11
- gasUsage: 1000n,
10
+ minAmount: 2000n,
11
+ amount: 20000n,
12
12
  calls: [],
13
13
  };
14
14
  const r2 = {
15
- amount: 3000n,
16
- gasUsage: 2000n,
15
+ minAmount: 3000n,
16
+ amount: 30000n,
17
17
  calls: [],
18
18
  };
19
- let result = pathfinder_1.PathFinder.compare(r1, r2, sdk_gov_1.RAY);
19
+ let result = pathfinder_1.PathFinder.compare(r1, r2);
20
20
  (0, chai_1.expect)(result).to.be.eql(r2);
21
- result = pathfinder_1.PathFinder.compare(r1, r2, sdk_gov_1.RAY * 2n);
22
- (0, chai_1.expect)(result).to.be.eql(r1);
23
21
  });
24
22
  it("has all expected connectors", () => {
25
- const pf = new pathfinder_1.PathFinder("", new ethers_1.providers.JsonRpcProvider(), "Mainnet");
23
+ const pf = new pathfinder_1.PathFinder("", (0, viem_1.createPublicClient)({ transport: (0, viem_1.http)("https://mainnet.infura.io/v3/") }), "Mainnet");
26
24
  const allowedTokens = {
27
- [sdk_gov_1.tokenDataByNetwork.Mainnet.USDC.toLowerCase()]: true,
28
25
  [sdk_gov_1.tokenDataByNetwork.Mainnet.WETH.toLowerCase()]: true,
29
26
  [sdk_gov_1.tokenDataByNetwork.Mainnet.DAI.toLowerCase()]: true,
27
+ [sdk_gov_1.tokenDataByNetwork.Mainnet.USDC.toLowerCase()]: true,
30
28
  [sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX.toLowerCase()]: true,
29
+ [sdk_gov_1.tokenDataByNetwork.Mainnet.rETH.toLowerCase()]: true,
31
30
  };
32
31
  (0, chai_1.expect)(pf.getAvailableConnectors(allowedTokens)).to.be.deep.equal([
33
- sdk_gov_1.tokenDataByNetwork.Mainnet.USDC.toLowerCase(),
34
32
  sdk_gov_1.tokenDataByNetwork.Mainnet.WETH.toLowerCase(),
35
33
  sdk_gov_1.tokenDataByNetwork.Mainnet.DAI.toLowerCase(),
34
+ sdk_gov_1.tokenDataByNetwork.Mainnet.USDC.toLowerCase(),
36
35
  sdk_gov_1.tokenDataByNetwork.Mainnet.FRAX.toLowerCase(),
36
+ sdk_gov_1.tokenDataByNetwork.Mainnet.rETH.toLowerCase(),
37
+ ]);
38
+ });
39
+ it("has all expected connectors, when gew are disabled", () => {
40
+ const pf = new pathfinder_1.PathFinder("", (0, viem_1.createPublicClient)({ transport: (0, viem_1.http)("https://mainnet.infura.io/v3/") }), "Mainnet");
41
+ const allowedTokens = {
42
+ [sdk_gov_1.tokenDataByNetwork.Mainnet.WETH.toLowerCase()]: true,
43
+ [sdk_gov_1.tokenDataByNetwork.Mainnet.DAI.toLowerCase()]: true,
44
+ [sdk_gov_1.tokenDataByNetwork.Mainnet.rETH.toLowerCase()]: true,
45
+ };
46
+ (0, chai_1.expect)(pf.getAvailableConnectors(allowedTokens)).to.be.deep.equal([
47
+ sdk_gov_1.tokenDataByNetwork.Mainnet.WETH.toLowerCase(),
48
+ sdk_gov_1.tokenDataByNetwork.Mainnet.DAI.toLowerCase(),
49
+ sdk_gov_1.tokenDataByNetwork.Mainnet.rETH.toLowerCase(),
37
50
  ]);
38
51
  });
39
52
  });
@@ -0,0 +1,34 @@
1
+ import { Address, PublicClient } from "viem";
2
+ import { MultiCall } from "./core";
3
+ export interface FeeInfo {
4
+ type: KnownFeeTypes;
5
+ value: bigint;
6
+ }
7
+ type KnownFeeTypes = "curve" | "lido" | "uniswap_v2" | "uniswap_v3" | "balancer";
8
+ export declare const BALANCER_VAULT_ABI: readonly [{
9
+ readonly inputs: readonly [];
10
+ readonly name: "getSwapFeePercentage";
11
+ readonly outputs: readonly [{
12
+ readonly internalType: "uint256";
13
+ readonly name: "";
14
+ readonly type: "uint256";
15
+ }];
16
+ readonly stateMutability: "view";
17
+ readonly type: "function";
18
+ }];
19
+ export interface FindPathFeesProps {
20
+ calls: Array<MultiCall>;
21
+ provider: PublicClient;
22
+ contractsByAdapter: Record<Address, Address>;
23
+ }
24
+ export declare class PathFinderUtils {
25
+ static findPathFees({ calls, provider, contractsByAdapter, }: FindPathFeesProps): Promise<FeeInfo[]>;
26
+ private static getUniswapV2Fee;
27
+ private static getUniswapV3Fee;
28
+ private static getCurveFeeCall;
29
+ private static getCurveFee;
30
+ private static getBalancerFeeCall;
31
+ private static getBalancerFee;
32
+ private static getLidoFee;
33
+ }
34
+ export {};