@gearbox-protocol/sdk 3.0.0-next.29 → 3.0.0-next.290

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