@gearbox-protocol/sdk 3.0.0-next.25 → 3.0.0-next.251

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 (716) 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 +83 -0
  7. package/lib/apy/index.d.ts +11 -5
  8. package/lib/apy/index.js +85 -6
  9. package/lib/apy/lidoAPY.d.ts +4 -1
  10. package/lib/apy/lidoAPY.js +7 -10
  11. package/lib/apy/skyAPY.d.ts +5 -0
  12. package/lib/apy/skyAPY.js +28 -0
  13. package/lib/apy/yearnAPY.d.ts +3 -3
  14. package/lib/apy/yearnAPY.js +18 -12
  15. package/lib/contracts/contractsRegister.d.ts +17 -9
  16. package/lib/contracts/contractsRegister.js +53 -3
  17. package/lib/core/assets.d.ts +10 -9
  18. package/lib/core/assets.js +2 -2
  19. package/lib/core/bot.d.ts +12 -0
  20. package/lib/core/bot.js +23 -0
  21. package/lib/core/creditAccount.d.ts +112 -54
  22. package/lib/core/creditAccount.js +252 -117
  23. package/lib/core/creditAccount.spec.js +1008 -135
  24. package/lib/core/creditManager.d.ts +43 -29
  25. package/lib/core/creditManager.js +196 -83
  26. package/lib/core/creditSession.d.ts +35 -13
  27. package/lib/core/creditSession.js +32 -7
  28. package/lib/core/endpoint.d.ts +20 -0
  29. package/lib/core/endpoint.js +76 -0
  30. package/lib/core/eventOrTx.d.ts +5 -5
  31. package/lib/core/events.d.ts +163 -162
  32. package/lib/core/events.js +7 -7
  33. package/lib/core/gauge.d.ts +34 -5
  34. package/lib/core/gauge.js +43 -18
  35. package/lib/core/gaugeMath.d.ts +41 -0
  36. package/lib/core/gaugeMath.js +105 -0
  37. package/lib/core/gaugeMath.spec.js +388 -0
  38. package/lib/core/pool.d.ts +62 -31
  39. package/lib/core/pool.js +115 -81
  40. package/lib/core/priceOracle.d.ts +1 -1
  41. package/lib/core/protocols.d.ts +9 -0
  42. package/lib/core/protocols.js +149 -0
  43. package/lib/core/rewardClaimer/aura.d.ts +1 -0
  44. package/lib/core/rewardClaimer/aura.js +23 -0
  45. package/lib/core/rewardClaimer/auraAbi.d.ts +15 -0
  46. package/lib/core/rewardClaimer/auraAbi.js +24 -0
  47. package/lib/core/rewardClaimer/convex.d.ts +1 -0
  48. package/lib/core/rewardClaimer/convex.js +18 -0
  49. package/lib/core/rewardClaimer/index.d.ts +25 -0
  50. package/lib/core/rewardClaimer/index.js +34 -0
  51. package/lib/core/rewardClaimer/rewardConvex.d.ts +42 -0
  52. package/lib/core/rewardClaimer/rewardConvex.js +250 -0
  53. package/lib/core/{rewardConvex.spec.js → rewardClaimer/rewardConvex.spec.js} +38 -70
  54. package/lib/core/rewardClaimer/stakingRewards.d.ts +34 -0
  55. package/lib/core/rewardClaimer/stakingRewards.js +133 -0
  56. package/lib/core/strategy.d.ts +13 -29
  57. package/lib/core/strategy.js +20 -44
  58. package/lib/core/trade.d.ts +13 -13
  59. package/lib/core/trade.js +36 -28
  60. package/lib/core/transactions.d.ts +214 -73
  61. package/lib/core/transactions.js +298 -119
  62. package/lib/gearboxRewards/api.d.ts +91 -0
  63. package/lib/gearboxRewards/api.js +320 -0
  64. package/lib/gearboxRewards/apy.d.ts +38 -0
  65. package/lib/gearboxRewards/apy.js +65 -0
  66. package/lib/gearboxRewards/extraAPY.d.ts +33 -0
  67. package/lib/gearboxRewards/extraAPY.js +111 -0
  68. package/lib/gearboxRewards/index.d.ts +3 -0
  69. package/lib/gearboxRewards/index.js +19 -0
  70. package/lib/gearboxRewards/merklAPI.d.ts +43 -0
  71. package/lib/gearboxRewards/merklAPI.js +11 -0
  72. package/lib/index.d.ts +9 -6
  73. package/lib/index.js +9 -8
  74. package/lib/parsers/ERC20Parser.d.ts +2 -1
  75. package/lib/parsers/ERC20Parser.js +11 -11
  76. package/lib/parsers/aaveV2LendingPoolAdapterParser.d.ts +8 -0
  77. package/lib/parsers/aaveV2LendingPoolAdapterParser.js +21 -0
  78. package/lib/parsers/aaveV2WrappedATokenAdapterParser.d.ts +8 -0
  79. package/lib/parsers/aaveV2WrappedATokenAdapterParser.js +21 -0
  80. package/lib/parsers/abstractParser.d.ts +22 -16
  81. package/lib/parsers/abstractParser.js +31 -14
  82. package/lib/parsers/balancerV2VaultParser.d.ts +8 -0
  83. package/lib/parsers/balancerV2VaultParser.js +32 -0
  84. package/lib/parsers/compoundV2CTokenAdapterParser.d.ts +8 -0
  85. package/lib/parsers/compoundV2CTokenAdapterParser.js +21 -0
  86. package/lib/parsers/convexBaseRewardPoolAdapterParser.d.ts +3 -2
  87. package/lib/parsers/convexBaseRewardPoolAdapterParser.js +21 -17
  88. package/lib/parsers/convexBoosterAdapterParser.d.ts +3 -3
  89. package/lib/parsers/convexBoosterAdapterParser.js +14 -14
  90. package/lib/parsers/convextRewardPoolParser.d.ts +2 -1
  91. package/lib/parsers/convextRewardPoolParser.js +5 -5
  92. package/lib/parsers/creditFacadeParser.d.ts +3 -2
  93. package/lib/parsers/creditFacadeParser.js +44 -18
  94. package/lib/parsers/creditManagerParser.d.ts +2 -1
  95. package/lib/parsers/creditManagerParser.js +5 -8
  96. package/lib/parsers/curveAdapterParser.d.ts +3 -2
  97. package/lib/parsers/curveAdapterParser.js +39 -39
  98. package/lib/parsers/erc626AdapterParser.d.ts +8 -0
  99. package/lib/parsers/erc626AdapterParser.js +21 -0
  100. package/lib/parsers/iParser.d.ts +4 -7
  101. package/lib/parsers/lidoAdapterParser.d.ts +2 -1
  102. package/lib/parsers/lidoAdapterParser.js +9 -8
  103. package/lib/parsers/lidoSTETHParser.d.ts +2 -1
  104. package/lib/parsers/lidoSTETHParser.js +11 -11
  105. package/lib/parsers/priceOracleParser.d.ts +2 -1
  106. package/lib/parsers/priceOracleParser.js +6 -6
  107. package/lib/parsers/stakingRewardsAdapterParser.d.ts +10 -0
  108. package/lib/parsers/stakingRewardsAdapterParser.js +35 -0
  109. package/lib/parsers/txParser.d.ts +21 -24
  110. package/lib/parsers/txParser.js +47 -14
  111. package/lib/parsers/uniV2AdapterParser.d.ts +2 -2
  112. package/lib/parsers/uniV2AdapterParser.js +12 -14
  113. package/lib/parsers/uniV2AdapterParser.spec.js +43 -30
  114. package/lib/parsers/uniV3AdapterParser.d.ts +4 -3
  115. package/lib/parsers/uniV3AdapterParser.js +26 -18
  116. package/lib/parsers/uniV3AdapterParser.spec.js +53 -76
  117. package/lib/parsers/wstETHAdapterParser.d.ts +2 -1
  118. package/lib/parsers/wstETHAdapterParser.js +20 -20
  119. package/lib/parsers/wstETHAdapterParser.spec.js +23 -7
  120. package/lib/parsers/yearnAdapterParser.spec.js +39 -21
  121. package/lib/parsers/yearnV2AdapterParser.d.ts +2 -1
  122. package/lib/parsers/yearnV2AdapterParser.js +23 -13
  123. package/lib/pathfinder/balancerVault.d.ts +33 -0
  124. package/lib/pathfinder/balancerVault.js +59 -0
  125. package/lib/pathfinder/core.d.ts +20 -10
  126. package/lib/pathfinder/index.d.ts +4 -0
  127. package/lib/pathfinder/index.js +20 -0
  128. package/lib/pathfinder/pathOptions.d.ts +6 -5
  129. package/lib/pathfinder/pathOptions.js +34 -18
  130. package/lib/pathfinder/pathOptions.spec.js +26 -24
  131. package/lib/pathfinder/pathfinder.d.ts +49 -22
  132. package/lib/pathfinder/pathfinder.js +101 -80
  133. package/lib/pathfinder/pathfinder.spec.js +24 -11
  134. package/lib/pathfinder/utils.d.ts +34 -0
  135. package/lib/pathfinder/utils.js +186 -0
  136. package/lib/payload/bot.d.ts +13 -0
  137. package/lib/payload/creditAccount.d.ts +41 -6
  138. package/lib/payload/creditManager.d.ts +58 -16
  139. package/lib/payload/creditSession.d.ts +31 -16
  140. package/lib/payload/gauge.d.ts +40 -5
  141. package/lib/payload/graphPayload.d.ts +3 -2
  142. package/lib/payload/pool.d.ts +110 -34
  143. package/lib/payload/token.d.ts +5 -2
  144. package/lib/redstone/api.d.ts +41 -0
  145. package/lib/redstone/api.js +375 -0
  146. package/lib/redstone/index.d.ts +1 -0
  147. package/lib/redstone/index.js +17 -0
  148. package/lib/tokens/tokenData.d.ts +7 -5
  149. package/lib/tokens/tokenData.js +22 -6
  150. package/lib/types/CompositePriceFeed.d.ts +182 -0
  151. package/lib/types/CompositePriceFeed.js +123 -0
  152. package/lib/types/IAaveV2_LendingPoolAdapter.d.ts +151 -0
  153. package/lib/types/IAaveV2_LendingPoolAdapter.js +98 -0
  154. package/lib/types/IAaveV2_WrappedATokenAdapter.d.ts +245 -0
  155. package/lib/types/IAaveV2_WrappedATokenAdapter.js +166 -0
  156. package/lib/types/IAddressProviderV3.d.ts +85 -0
  157. package/lib/types/IAddressProviderV3.js +66 -0
  158. package/lib/types/IAirdropDistributor.d.ts +112 -0
  159. package/lib/types/{factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js → IAirdropDistributor.js} +56 -112
  160. package/lib/types/IBalancerV2VaultAdapter.d.ts +507 -0
  161. package/lib/types/IBalancerV2VaultAdapter.js +322 -0
  162. package/lib/types/IBaseRewardPool.d.ts +391 -378
  163. package/lib/types/IBaseRewardPool.js +249 -0
  164. package/lib/types/ICompoundV2_CTokenAdapter.d.ts +189 -0
  165. package/lib/types/ICompoundV2_CTokenAdapter.js +130 -0
  166. package/lib/types/IConvexToken.d.ts +201 -182
  167. package/lib/types/IConvexToken.js +143 -0
  168. package/lib/types/IConvexV1BaseRewardPoolAdapter.d.ts +299 -284
  169. package/lib/types/IConvexV1BaseRewardPoolAdapter.js +202 -0
  170. package/lib/types/IConvexV1BoosterAdapter.d.ts +182 -0
  171. package/lib/types/IConvexV1BoosterAdapter.js +125 -0
  172. package/lib/types/ICreditConfiguratorV3.d.ts +598 -0
  173. package/lib/types/{factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js → ICreditConfiguratorV3.js} +348 -532
  174. package/lib/types/ICreditFacadeV2Extended.d.ts +74 -0
  175. package/lib/types/ICreditFacadeV2Extended.js +63 -0
  176. package/lib/types/ICreditFacadeV3.d.ts +543 -0
  177. package/lib/types/{factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js → ICreditFacadeV3.js} +281 -590
  178. package/lib/types/ICreditFacadeV3Multicall.d.ts +197 -269
  179. package/lib/types/ICreditFacadeV3Multicall.js +142 -0
  180. package/lib/types/ICreditManagerV2.d.ts +700 -0
  181. package/lib/types/ICreditManagerV2.js +443 -0
  182. package/lib/types/ICreditManagerV3.d.ts +1016 -0
  183. package/lib/types/ICreditManagerV3.js +672 -0
  184. package/lib/types/ICurvePool.d.ts +559 -438
  185. package/lib/types/ICurvePool.js +332 -0
  186. package/lib/types/ICurveV1_2AssetsAdapter.d.ts +665 -698
  187. package/lib/types/ICurveV1_2AssetsAdapter.js +404 -0
  188. package/lib/types/ICurveV1_3AssetsAdapter.d.ts +665 -761
  189. package/lib/types/ICurveV1_3AssetsAdapter.js +404 -0
  190. package/lib/types/ICurveV1_4AssetsAdapter.d.ts +665 -779
  191. package/lib/types/ICurveV1_4AssetsAdapter.js +404 -0
  192. package/lib/types/IDataCompressorV2_1.d.ts +1165 -0
  193. package/lib/types/IDataCompressorV2_1.js +720 -0
  194. package/lib/types/IDataCompressorV3.d.ts +1573 -0
  195. package/lib/types/IDataCompressorV3.js +959 -0
  196. package/lib/types/IDegenDistributor.d.ts +77 -0
  197. package/lib/types/IDegenDistributor.js +72 -0
  198. package/lib/types/IERC20.d.ts +141 -142
  199. package/lib/types/IERC20.js +101 -0
  200. package/lib/types/IERC20Permit.d.ts +59 -74
  201. package/lib/types/IERC20Permit.js +35 -0
  202. package/lib/types/IERC20ZapperDeposits.d.ts +193 -0
  203. package/lib/types/IERC20ZapperDeposits.js +101 -0
  204. package/lib/types/IERC4626Adapter.d.ts +213 -0
  205. package/lib/types/IERC4626Adapter.js +142 -0
  206. package/lib/types/IETHZapperDeposits.d.ts +33 -0
  207. package/lib/types/IETHZapperDeposits.js +29 -0
  208. package/lib/types/IFarmingPool.d.ts +292 -0
  209. package/lib/types/IFarmingPool.js +231 -0
  210. package/lib/types/IGearStakingV3.d.ts +497 -0
  211. package/lib/types/IGearStakingV3.js +368 -0
  212. package/lib/types/IInterestRateModel.d.ts +29 -50
  213. package/lib/types/IInterestRateModel.js +23 -0
  214. package/lib/types/ILidoV1Adapter.d.ts +137 -158
  215. package/lib/types/ILidoV1Adapter.js +98 -0
  216. package/lib/types/IMulticall3.d.ts +332 -0
  217. package/lib/types/IMulticall3.js +244 -0
  218. package/lib/types/IOffchainOracle.d.ts +41 -58
  219. package/lib/types/IOffchainOracle.js +31 -0
  220. package/lib/types/IPartialLiquidationBotV3.d.ts +210 -0
  221. package/lib/types/IPartialLiquidationBotV3.js +143 -0
  222. package/lib/types/IPendleMarket.d.ts +43 -0
  223. package/lib/types/IPendleMarket.js +35 -0
  224. package/lib/types/IPendleSY.d.ts +11 -0
  225. package/lib/types/IPendleSY.js +15 -0
  226. package/lib/types/IPendleYT.d.ts +31 -0
  227. package/lib/types/IPendleYT.js +29 -0
  228. package/lib/types/IPoolV3.d.ts +1061 -0
  229. package/lib/types/IPoolV3.js +806 -0
  230. package/lib/types/IPriceFeed.d.ts +77 -0
  231. package/lib/types/IPriceFeed.js +56 -0
  232. package/lib/types/IPriceOracleBase.d.ts +97 -88
  233. package/lib/types/IPriceOracleBase.js +58 -0
  234. package/lib/types/IPriceOracleV3.d.ts +319 -0
  235. package/lib/types/IPriceOracleV3.js +210 -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/IUniswapV2Adapter.d.ts +214 -0
  241. package/lib/types/IUniswapV2Adapter.js +139 -0
  242. package/lib/types/IUniswapV3Adapter.d.ts +391 -0
  243. package/lib/types/IUniswapV3Adapter.js +260 -0
  244. package/lib/types/IUpdatablePriceFeed.d.ts +97 -0
  245. package/lib/types/IUpdatablePriceFeed.js +70 -0
  246. package/lib/types/IYearnV2Adapter.d.ts +223 -256
  247. package/lib/types/IYearnV2Adapter.js +146 -0
  248. package/lib/types/IZapper.d.ts +159 -130
  249. package/lib/types/IZapper.js +101 -0
  250. package/lib/types/IstETH.d.ts +257 -0
  251. package/lib/types/IstETH.js +175 -0
  252. package/lib/types/IwstETH.d.ts +257 -0
  253. package/lib/types/IwstETH.js +181 -0
  254. package/lib/types/IwstETHV1Adapter.d.ts +153 -186
  255. package/lib/types/IwstETHV1Adapter.js +106 -0
  256. package/lib/types/PendleTWAPPTPriceFeed.d.ts +201 -0
  257. package/lib/types/PendleTWAPPTPriceFeed.js +131 -0
  258. package/lib/types/RedstonePriceFeed.d.ts +423 -0
  259. package/lib/types/RedstonePriceFeed.js +287 -0
  260. package/lib/types/SignUpRepository.d.ts +161 -0
  261. package/lib/types/SignUpRepository.js +137 -0
  262. package/lib/types/index.d.ts +56 -221
  263. package/lib/types/index.js +58 -186
  264. package/lib/utils/calls.d.ts +31 -0
  265. package/lib/utils/calls.js +73 -0
  266. package/lib/utils/formatter.d.ts +2 -2
  267. package/lib/utils/formatter.js +2 -2
  268. package/lib/utils/math.d.ts +1 -1
  269. package/lib/utils/math.js +1 -2
  270. package/lib/utils/types.d.ts +0 -4
  271. package/package.json +18 -15
  272. package/contracts/IRouter.sol +0 -100
  273. package/lib/apy/convexAPY.d.ts +0 -48
  274. package/lib/apy/convexAPY.js +0 -187
  275. package/lib/config.d.ts +0 -1
  276. package/lib/config.js +0 -4
  277. package/lib/core/errors.d.ts +0 -5
  278. package/lib/core/rewardClaimer.d.ts +0 -18
  279. package/lib/core/rewardClaimer.js +0 -10
  280. package/lib/core/rewardConvex.d.ts +0 -24
  281. package/lib/core/rewardConvex.js +0 -100
  282. package/lib/core/strategy.spec.js +0 -62
  283. package/lib/parsers/addressProviderParser.d.ts +0 -6
  284. package/lib/parsers/addressProviderParser.js +0 -27
  285. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.d.ts +0 -1
  286. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.js +0 -24
  287. package/lib/parsers/convexBoosterAdapterParser.spec.d.ts +0 -1
  288. package/lib/parsers/convexBoosterAdapterParser.spec.js +0 -20
  289. package/lib/parsers/creditFacadeParser.spec.d.ts +0 -1
  290. package/lib/parsers/creditFacadeParser.spec.js +0 -25
  291. package/lib/parsers/curveAdapterParser.spec.d.ts +0 -1
  292. package/lib/parsers/curveAdapterParser.spec.js +0 -42
  293. package/lib/parsers/lidoAdapterParser.spec.d.ts +0 -1
  294. package/lib/parsers/lidoAdapterParser.spec.js +0 -17
  295. package/lib/parsers/poolParser.d.ts +0 -6
  296. package/lib/parsers/poolParser.js +0 -19
  297. package/lib/types/AddressProvider.d.ts +0 -382
  298. package/lib/types/AddressProvider.js +0 -2
  299. package/lib/types/Balances.sol/BalanceOps.d.ts +0 -27
  300. package/lib/types/Balances.sol/BalanceOps.js +0 -2
  301. package/lib/types/Balances.sol/index.d.ts +0 -1
  302. package/lib/types/Balances.sol/index.js +0 -2
  303. package/lib/types/Claimable.d.ts +0 -113
  304. package/lib/types/Claimable.js +0 -2
  305. package/lib/types/Errors.d.ts +0 -298
  306. package/lib/types/Errors.js +0 -2
  307. package/lib/types/IAdapter.d.ts +0 -74
  308. package/lib/types/IAdapter.js +0 -2
  309. package/lib/types/IAddressProvider.sol/IAddressProvider.d.ts +0 -137
  310. package/lib/types/IAddressProvider.sol/IAddressProvider.js +0 -2
  311. package/lib/types/IAddressProvider.sol/IAddressProviderEvents.d.ts +0 -43
  312. package/lib/types/IAddressProvider.sol/IAddressProviderEvents.js +0 -2
  313. package/lib/types/IAddressProvider.sol/index.d.ts +0 -2
  314. package/lib/types/IAddressProvider.sol/index.js +0 -2
  315. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3.d.ts +0 -97
  316. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3.js +0 -2
  317. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3Events.d.ts +0 -45
  318. package/lib/types/IAddressProviderV3.sol/IAddressProviderV3Events.js +0 -2
  319. package/lib/types/IAddressProviderV3.sol/index.d.ts +0 -2
  320. package/lib/types/IAddressProviderV3.sol/index.js +0 -2
  321. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +0 -124
  322. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.js +0 -2
  323. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +0 -73
  324. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.js +0 -2
  325. package/lib/types/IAirdropDistributor.sol/index.d.ts +0 -2
  326. package/lib/types/IAirdropDistributor.sol/index.js +0 -2
  327. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.d.ts +0 -205
  328. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.js +0 -2
  329. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.d.ts +0 -43
  330. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.js +0 -2
  331. package/lib/types/IConvexV1BoosterAdapter.sol/index.d.ts +0 -2
  332. package/lib/types/IConvexV1BoosterAdapter.sol/index.js +0 -2
  333. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2.d.ts +0 -641
  334. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2.js +0 -2
  335. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events.d.ts +0 -293
  336. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events.js +0 -2
  337. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions.d.ts +0 -27
  338. package/lib/types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions.js +0 -2
  339. package/lib/types/ICreditConfiguratorV2.sol/index.d.ts +0 -3
  340. package/lib/types/ICreditConfiguratorV2.sol/index.js +0 -2
  341. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.d.ts +0 -716
  342. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.js +0 -2
  343. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.d.ts +0 -275
  344. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.js +0 -2
  345. package/lib/types/ICreditConfiguratorV3.sol/index.d.ts +0 -2
  346. package/lib/types/ICreditConfiguratorV3.sol/index.js +0 -2
  347. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2.d.ts +0 -710
  348. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2.js +0 -2
  349. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Events.d.ts +0 -244
  350. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Events.js +0 -2
  351. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions.d.ts +0 -27
  352. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions.js +0 -2
  353. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.d.ts +0 -138
  354. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.js +0 -2
  355. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2V2.d.ts +0 -66
  356. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2V2.js +0 -2
  357. package/lib/types/ICreditFacadeV2.sol/index.d.ts +0 -5
  358. package/lib/types/ICreditFacadeV2.sol/index.js +0 -2
  359. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +0 -572
  360. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.js +0 -2
  361. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +0 -168
  362. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.js +0 -2
  363. package/lib/types/ICreditFacadeV3.sol/index.d.ts +0 -2
  364. package/lib/types/ICreditFacadeV3.sol/index.js +0 -2
  365. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2.d.ts +0 -639
  366. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2.js +0 -2
  367. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Events.d.ts +0 -54
  368. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Events.js +0 -2
  369. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Exceptions.d.ts +0 -27
  370. package/lib/types/ICreditManagerV2.sol/ICreditManagerV2Exceptions.js +0 -2
  371. package/lib/types/ICreditManagerV2.sol/index.d.ts +0 -3
  372. package/lib/types/ICreditManagerV2.sol/index.js +0 -2
  373. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +0 -947
  374. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.js +0 -2
  375. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3Events.d.ts +0 -41
  376. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3Events.js +0 -2
  377. package/lib/types/ICreditManagerV3.sol/index.d.ts +0 -2
  378. package/lib/types/ICreditManagerV3.sol/index.js +0 -2
  379. package/lib/types/ICurvePool_2.sol/ICurvePool2Assets.d.ts +0 -590
  380. package/lib/types/ICurvePool_2.sol/ICurvePool2Assets.js +0 -2
  381. package/lib/types/ICurvePool_2.sol/index.d.ts +0 -1
  382. package/lib/types/ICurvePool_2.sol/index.js +0 -2
  383. package/lib/types/ICurvePool_3.sol/ICurvePool3Assets.d.ts +0 -686
  384. package/lib/types/ICurvePool_3.sol/ICurvePool3Assets.js +0 -2
  385. package/lib/types/ICurvePool_3.sol/index.d.ts +0 -1
  386. package/lib/types/ICurvePool_3.sol/index.js +0 -2
  387. package/lib/types/ICurvePool_4.sol/ICurvePool4Assets.d.ts +0 -722
  388. package/lib/types/ICurvePool_4.sol/ICurvePool4Assets.js +0 -2
  389. package/lib/types/ICurvePool_4.sol/index.d.ts +0 -1
  390. package/lib/types/ICurvePool_4.sol/index.js +0 -2
  391. package/lib/types/ICurveV1Adapter.d.ts +0 -614
  392. package/lib/types/ICurveV1Adapter.js +0 -2
  393. package/lib/types/IDaiLikePermit.d.ts +0 -59
  394. package/lib/types/IDaiLikePermit.js +0 -2
  395. package/lib/types/IDataCompressorV2_10.d.ts +0 -511
  396. package/lib/types/IDataCompressorV2_10.js +0 -2
  397. package/lib/types/IDataCompressorV3_00.d.ts +0 -610
  398. package/lib/types/IDataCompressorV3_00.js +0 -2
  399. package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +0 -96
  400. package/lib/types/IDegenDistributor.sol/IDegenDistributor.js +0 -2
  401. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +0 -53
  402. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.js +0 -2
  403. package/lib/types/IDegenDistributor.sol/index.d.ts +0 -2
  404. package/lib/types/IDegenDistributor.sol/index.js +0 -2
  405. package/lib/types/IERC20Metadata.d.ts +0 -166
  406. package/lib/types/IERC20Metadata.js +0 -2
  407. package/lib/types/IERC4626.d.ts +0 -394
  408. package/lib/types/IERC4626.js +0 -2
  409. package/lib/types/IPermit2.d.ts +0 -130
  410. package/lib/types/IPermit2.js +0 -2
  411. package/lib/types/IPoolService.sol/IPoolService.d.ts +0 -392
  412. package/lib/types/IPoolService.sol/IPoolService.js +0 -2
  413. package/lib/types/IPoolService.sol/IPoolServiceEvents.d.ts +0 -162
  414. package/lib/types/IPoolService.sol/IPoolServiceEvents.js +0 -2
  415. package/lib/types/IPoolService.sol/index.d.ts +0 -2
  416. package/lib/types/IPoolService.sol/index.js +0 -2
  417. package/lib/types/IPoolV3.sol/IPoolV3.d.ts +0 -936
  418. package/lib/types/IPoolV3.sol/IPoolV3.js +0 -2
  419. package/lib/types/IPoolV3.sol/IPoolV3Events.d.ts +0 -158
  420. package/lib/types/IPoolV3.sol/IPoolV3Events.js +0 -2
  421. package/lib/types/IPoolV3.sol/index.d.ts +0 -2
  422. package/lib/types/IPoolV3.sol/index.js +0 -2
  423. package/lib/types/IRouter.d.ts +0 -268
  424. package/lib/types/IRouter.js +0 -2
  425. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.d.ts +0 -207
  426. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2Adapter.js +0 -2
  427. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents.d.ts +0 -45
  428. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents.js +0 -2
  429. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.d.ts +0 -27
  430. package/lib/types/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.js +0 -2
  431. package/lib/types/IUniswapV2Adapter.sol/index.d.ts +0 -3
  432. package/lib/types/IUniswapV2Adapter.sol/index.js +0 -2
  433. package/lib/types/IUniswapV3.sol/ISwapRouter.d.ts +0 -198
  434. package/lib/types/IUniswapV3.sol/ISwapRouter.js +0 -2
  435. package/lib/types/IUniswapV3.sol/index.d.ts +0 -1
  436. package/lib/types/IUniswapV3.sol/index.js +0 -2
  437. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.d.ts +0 -409
  438. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3Adapter.js +0 -2
  439. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents.d.ts +0 -47
  440. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents.js +0 -2
  441. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.d.ts +0 -27
  442. package/lib/types/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions.js +0 -2
  443. package/lib/types/IUniswapV3Adapter.sol/index.d.ts +0 -3
  444. package/lib/types/IUniswapV3Adapter.sol/index.js +0 -2
  445. package/lib/types/IVersion.d.ts +0 -42
  446. package/lib/types/IVersion.js +0 -2
  447. package/lib/types/IWERC20Zapper.d.ts +0 -166
  448. package/lib/types/IWERC20Zapper.js +0 -2
  449. package/lib/types/IWETH.d.ts +0 -197
  450. package/lib/types/IWETH.js +0 -2
  451. package/lib/types/IWETHGateway.d.ts +0 -90
  452. package/lib/types/IWETHGateway.js +0 -2
  453. package/lib/types/IWETHZapper.d.ts +0 -162
  454. package/lib/types/IWETHZapper.js +0 -2
  455. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3.d.ts +0 -370
  456. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3.js +0 -2
  457. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.d.ts +0 -133
  458. package/lib/types/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events.js +0 -2
  459. package/lib/types/IWithdrawalManagerV3.sol/index.d.ts +0 -2
  460. package/lib/types/IWithdrawalManagerV3.sol/index.js +0 -2
  461. package/lib/types/IYVault.d.ts +0 -298
  462. package/lib/types/IYVault.js +0 -2
  463. package/lib/types/IstETH.sol/IstETH.d.ts +0 -230
  464. package/lib/types/IstETH.sol/IstETH.js +0 -2
  465. package/lib/types/IstETH.sol/IstETHGetters.d.ts +0 -214
  466. package/lib/types/IstETH.sol/IstETHGetters.js +0 -2
  467. package/lib/types/IstETH.sol/index.d.ts +0 -2
  468. package/lib/types/IstETH.sol/index.js +0 -2
  469. package/lib/types/IwstETH.sol/IwstETH.d.ts +0 -238
  470. package/lib/types/IwstETH.sol/IwstETH.js +0 -2
  471. package/lib/types/IwstETH.sol/IwstETHGetters.d.ts +0 -206
  472. package/lib/types/IwstETH.sol/IwstETHGetters.js +0 -2
  473. package/lib/types/IwstETH.sol/index.d.ts +0 -2
  474. package/lib/types/IwstETH.sol/index.js +0 -2
  475. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +0 -70
  476. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.js +0 -2
  477. package/lib/types/IwstETHGateway.sol/index.d.ts +0 -1
  478. package/lib/types/IwstETHGateway.sol/index.js +0 -2
  479. package/lib/types/Ownable.d.ts +0 -89
  480. package/lib/types/Ownable.js +0 -2
  481. package/lib/types/SafeERC20.d.ts +0 -27
  482. package/lib/types/SafeERC20.js +0 -2
  483. package/lib/types/common.d.ts +0 -22
  484. package/lib/types/common.js +0 -2
  485. package/lib/types/factories/AddressProvider__factory.d.ts +0 -321
  486. package/lib/types/factories/AddressProvider__factory.js +0 -430
  487. package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +0 -29
  488. package/lib/types/factories/Balances.sol/BalanceOps__factory.js +0 -53
  489. package/lib/types/factories/Balances.sol/index.d.ts +0 -1
  490. package/lib/types/factories/Balances.sol/index.js +0 -8
  491. package/lib/types/factories/Claimable__factory.d.ts +0 -78
  492. package/lib/types/factories/Claimable__factory.js +0 -114
  493. package/lib/types/factories/Errors__factory.d.ts +0 -351
  494. package/lib/types/factories/Errors__factory.js +0 -471
  495. package/lib/types/factories/IAdapter__factory.d.ts +0 -58
  496. package/lib/types/factories/IAdapter__factory.js +0 -84
  497. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.d.ts +0 -23
  498. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.js +0 -38
  499. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.d.ts +0 -133
  500. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.js +0 -181
  501. package/lib/types/factories/IAddressProvider.sol/index.d.ts +0 -2
  502. package/lib/types/factories/IAddressProvider.sol/index.js +0 -10
  503. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.d.ts +0 -28
  504. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.js +0 -44
  505. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.d.ts +0 -92
  506. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.js +0 -128
  507. package/lib/types/factories/IAddressProviderV3.sol/index.d.ts +0 -2
  508. package/lib/types/factories/IAddressProviderV3.sol/index.js +0 -10
  509. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +0 -63
  510. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +0 -88
  511. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +0 -119
  512. package/lib/types/factories/IAirdropDistributor.sol/index.d.ts +0 -2
  513. package/lib/types/factories/IAirdropDistributor.sol/index.js +0 -10
  514. package/lib/types/factories/IBaseRewardPool__factory.d.ts +0 -398
  515. package/lib/types/factories/IBaseRewardPool__factory.js +0 -534
  516. package/lib/types/factories/IConvexToken__factory.d.ts +0 -198
  517. package/lib/types/factories/IConvexToken__factory.js +0 -267
  518. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +0 -254
  519. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +0 -341
  520. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +0 -23
  521. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +0 -38
  522. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts +0 -181
  523. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js +0 -245
  524. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.d.ts +0 -2
  525. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.js +0 -10
  526. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.d.ts +0 -268
  527. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.js +0 -353
  528. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.d.ts +0 -44
  529. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.js +0 -64
  530. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.d.ts +0 -576
  531. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.js +0 -749
  532. package/lib/types/factories/ICreditConfiguratorV2.sol/index.d.ts +0 -3
  533. package/lib/types/factories/ICreditConfiguratorV2.sol/index.js +0 -12
  534. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +0 -273
  535. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +0 -357
  536. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +0 -605
  537. package/lib/types/factories/ICreditConfiguratorV3.sol/index.d.ts +0 -2
  538. package/lib/types/factories/ICreditConfiguratorV3.sol/index.js +0 -10
  539. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.d.ts +0 -263
  540. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.js +0 -340
  541. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.d.ts +0 -140
  542. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.js +0 -185
  543. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +0 -81
  544. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +0 -114
  545. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.d.ts +0 -26
  546. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.js +0 -42
  547. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.d.ts +0 -901
  548. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.js +0 -1163
  549. package/lib/types/factories/ICreditFacadeV2.sol/index.d.ts +0 -5
  550. package/lib/types/factories/ICreditFacadeV2.sol/index.js +0 -16
  551. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +0 -188
  552. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +0 -244
  553. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +0 -617
  554. package/lib/types/factories/ICreditFacadeV3.sol/index.d.ts +0 -2
  555. package/lib/types/factories/ICreditFacadeV3.sol/index.js +0 -10
  556. package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +0 -200
  557. package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +0 -267
  558. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.d.ts +0 -33
  559. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.js +0 -51
  560. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.d.ts +0 -60
  561. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.js +0 -84
  562. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.d.ts +0 -707
  563. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.js +0 -932
  564. package/lib/types/factories/ICreditManagerV2.sol/index.d.ts +0 -3
  565. package/lib/types/factories/ICreditManagerV2.sol/index.js +0 -12
  566. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.d.ts +0 -18
  567. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.js +0 -32
  568. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +0 -1015
  569. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +0 -1331
  570. package/lib/types/factories/ICreditManagerV3.sol/index.d.ts +0 -2
  571. package/lib/types/factories/ICreditManagerV3.sol/index.js +0 -10
  572. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.d.ts +0 -678
  573. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.js +0 -897
  574. package/lib/types/factories/ICurvePool_2.sol/index.d.ts +0 -1
  575. package/lib/types/factories/ICurvePool_2.sol/index.js +0 -8
  576. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.d.ts +0 -678
  577. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.js +0 -897
  578. package/lib/types/factories/ICurvePool_3.sol/index.d.ts +0 -1
  579. package/lib/types/factories/ICurvePool_3.sol/index.js +0 -8
  580. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.d.ts +0 -678
  581. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.js +0 -897
  582. package/lib/types/factories/ICurvePool_4.sol/index.d.ts +0 -1
  583. package/lib/types/factories/ICurvePool_4.sol/index.js +0 -8
  584. package/lib/types/factories/ICurvePool__factory.d.ts +0 -566
  585. package/lib/types/factories/ICurvePool__factory.js +0 -751
  586. package/lib/types/factories/ICurveV1Adapter__factory.d.ts +0 -664
  587. package/lib/types/factories/ICurveV1Adapter__factory.js +0 -875
  588. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.d.ts +0 -730
  589. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.js +0 -962
  590. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.d.ts +0 -730
  591. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.js +0 -962
  592. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.d.ts +0 -730
  593. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.js +0 -962
  594. package/lib/types/factories/IDaiLikePermit__factory.d.ts +0 -46
  595. package/lib/types/factories/IDaiLikePermit__factory.js +0 -67
  596. package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +0 -1222
  597. package/lib/types/factories/IDataCompressorV2_10__factory.js +0 -1565
  598. package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +0 -1490
  599. package/lib/types/factories/IDataCompressorV3_00__factory.js +0 -1906
  600. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +0 -38
  601. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +0 -57
  602. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +0 -84
  603. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +0 -117
  604. package/lib/types/factories/IDegenDistributor.sol/index.d.ts +0 -2
  605. package/lib/types/factories/IDegenDistributor.sol/index.js +0 -10
  606. package/lib/types/factories/IERC20Metadata__factory.d.ts +0 -178
  607. package/lib/types/factories/IERC20Metadata__factory.js +0 -241
  608. package/lib/types/factories/IERC20Permit__factory.d.ts +0 -66
  609. package/lib/types/factories/IERC20Permit__factory.js +0 -94
  610. package/lib/types/factories/IERC20__factory.d.ts +0 -148
  611. package/lib/types/factories/IERC20__factory.js +0 -202
  612. package/lib/types/factories/IERC4626__factory.d.ts +0 -473
  613. package/lib/types/factories/IERC4626__factory.js +0 -631
  614. package/lib/types/factories/IInterestRateModel__factory.d.ts +0 -36
  615. package/lib/types/factories/IInterestRateModel__factory.js +0 -56
  616. package/lib/types/factories/ILidoV1Adapter__factory.d.ts +0 -140
  617. package/lib/types/factories/ILidoV1Adapter__factory.js +0 -191
  618. package/lib/types/factories/IOffchainOracle__factory.d.ts +0 -48
  619. package/lib/types/factories/IOffchainOracle__factory.js +0 -72
  620. package/lib/types/factories/IPermit2__factory.d.ts +0 -113
  621. package/lib/types/factories/IPermit2__factory.js +0 -155
  622. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.d.ts +0 -163
  623. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.js +0 -215
  624. package/lib/types/factories/IPoolService.sol/IPoolService__factory.d.ts +0 -437
  625. package/lib/types/factories/IPoolService.sol/IPoolService__factory.js +0 -574
  626. package/lib/types/factories/IPoolService.sol/index.d.ts +0 -2
  627. package/lib/types/factories/IPoolService.sol/index.js +0 -10
  628. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.d.ts +0 -153
  629. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.js +0 -203
  630. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +0 -1068
  631. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +0 -1402
  632. package/lib/types/factories/IPoolV3.sol/index.d.ts +0 -2
  633. package/lib/types/factories/IPoolV3.sol/index.js +0 -10
  634. package/lib/types/factories/IPriceOracleBase__factory.d.ts +0 -104
  635. package/lib/types/factories/IPriceOracleBase__factory.js +0 -147
  636. package/lib/types/factories/IRouter__factory.d.ts +0 -382
  637. package/lib/types/factories/IRouter__factory.js +0 -507
  638. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.d.ts +0 -28
  639. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.js +0 -44
  640. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.d.ts +0 -12
  641. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +0 -24
  642. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts +0 -217
  643. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +0 -290
  644. package/lib/types/factories/IUniswapV2Adapter.sol/index.d.ts +0 -3
  645. package/lib/types/factories/IUniswapV2Adapter.sol/index.js +0 -12
  646. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.d.ts +0 -172
  647. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.js +0 -233
  648. package/lib/types/factories/IUniswapV3.sol/index.d.ts +0 -1
  649. package/lib/types/factories/IUniswapV3.sol/index.js +0 -8
  650. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.d.ts +0 -33
  651. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.js +0 -50
  652. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.d.ts +0 -12
  653. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +0 -24
  654. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.d.ts +0 -390
  655. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +0 -515
  656. package/lib/types/factories/IUniswapV3Adapter.sol/index.d.ts +0 -3
  657. package/lib/types/factories/IUniswapV3Adapter.sol/index.js +0 -12
  658. package/lib/types/factories/IVersion__factory.d.ts +0 -18
  659. package/lib/types/factories/IVersion__factory.js +0 -32
  660. package/lib/types/factories/IWERC20Zapper__factory.d.ts +0 -176
  661. package/lib/types/factories/IWERC20Zapper__factory.js +0 -240
  662. package/lib/types/factories/IWETHGateway__factory.d.ts +0 -58
  663. package/lib/types/factories/IWETHGateway__factory.js +0 -83
  664. package/lib/types/factories/IWETHZapper__factory.d.ts +0 -168
  665. package/lib/types/factories/IWETHZapper__factory.js +0 -230
  666. package/lib/types/factories/IWETH__factory.d.ts +0 -194
  667. package/lib/types/factories/IWETH__factory.js +0 -260
  668. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.d.ts +0 -143
  669. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory.js +0 -188
  670. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.d.ts +0 -366
  671. package/lib/types/factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory.js +0 -479
  672. package/lib/types/factories/IWithdrawalManagerV3.sol/index.d.ts +0 -2
  673. package/lib/types/factories/IWithdrawalManagerV3.sol/index.js +0 -10
  674. package/lib/types/factories/IYVault__factory.d.ts +0 -304
  675. package/lib/types/factories/IYVault__factory.js +0 -408
  676. package/lib/types/factories/IYearnV2Adapter__factory.d.ts +0 -222
  677. package/lib/types/factories/IYearnV2Adapter__factory.js +0 -299
  678. package/lib/types/factories/IZapper__factory.d.ts +0 -136
  679. package/lib/types/factories/IZapper__factory.js +0 -187
  680. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.d.ts +0 -250
  681. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.js +0 -337
  682. package/lib/types/factories/IstETH.sol/IstETH__factory.d.ts +0 -264
  683. package/lib/types/factories/IstETH.sol/IstETH__factory.js +0 -356
  684. package/lib/types/factories/IstETH.sol/index.d.ts +0 -2
  685. package/lib/types/factories/IstETH.sol/index.js +0 -10
  686. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.d.ts +0 -236
  687. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.js +0 -318
  688. package/lib/types/factories/IwstETH.sol/IwstETH__factory.d.ts +0 -264
  689. package/lib/types/factories/IwstETH.sol/IwstETH__factory.js +0 -356
  690. package/lib/types/factories/IwstETH.sol/index.d.ts +0 -2
  691. package/lib/types/factories/IwstETH.sol/index.js +0 -10
  692. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.d.ts +0 -48
  693. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.js +0 -71
  694. package/lib/types/factories/IwstETHGateway.sol/index.d.ts +0 -1
  695. package/lib/types/factories/IwstETHGateway.sol/index.js +0 -8
  696. package/lib/types/factories/IwstETHV1Adapter__factory.d.ts +0 -152
  697. package/lib/types/factories/IwstETHV1Adapter__factory.js +0 -207
  698. package/lib/types/factories/Ownable__factory.d.ts +0 -49
  699. package/lib/types/factories/Ownable__factory.js +0 -71
  700. package/lib/types/factories/SafeERC20__factory.d.ts +0 -49
  701. package/lib/types/factories/SafeERC20__factory.js +0 -77
  702. package/lib/types/factories/index.d.ts +0 -61
  703. package/lib/types/factories/index.js +0 -128
  704. package/lib/utils/repeater.d.ts +0 -1
  705. package/lib/utils/repeater.js +0 -19
  706. package/lib/watchers/creditAccountWatcher.d.ts +0 -36
  707. package/lib/watchers/creditAccountWatcher.js +0 -238
  708. package/lib/watchers/creditAccountWatcher.spec.d.ts +0 -1
  709. package/lib/watchers/creditAccountWatcher.spec.js +0 -208
  710. package/lib/watchers/creditManagerWatcher.d.ts +0 -8
  711. package/lib/watchers/creditManagerWatcher.js +0 -37
  712. package/lib/watchers/creditManagerWatcher.spec.d.ts +0 -1
  713. package/lib/watchers/creditManagerWatcher.spec.js +0 -107
  714. /package/lib/core/{rewardConvex.spec.d.ts → gaugeMath.spec.d.ts} +0 -0
  715. /package/lib/core/{strategy.spec.d.ts → rewardClaimer/rewardConvex.spec.d.ts} +0 -0
  716. /package/lib/{core/errors.js → payload/bot.js} +0 -0
@@ -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 {};
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PathFinderUtils = exports.BALANCER_VAULT_ABI = void 0;
4
+ const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
+ const balancerV2VaultParser_1 = require("../parsers/balancerV2VaultParser");
6
+ const curveAdapterParser_1 = require("../parsers/curveAdapterParser");
7
+ const lidoAdapterParser_1 = require("../parsers/lidoAdapterParser");
8
+ const txParser_1 = require("../parsers/txParser");
9
+ const uniV2AdapterParser_1 = require("../parsers/uniV2AdapterParser");
10
+ const uniV3AdapterParser_1 = require("../parsers/uniV3AdapterParser");
11
+ const types_1 = require("../types");
12
+ const balancerVault_1 = require("./balancerVault");
13
+ const CURVE_FEE_DECIMALS = 100000000n;
14
+ const BALANCER_FEE_DECIMALS = 10000000000000000n;
15
+ exports.BALANCER_VAULT_ABI = [
16
+ {
17
+ inputs: [],
18
+ name: "getSwapFeePercentage",
19
+ outputs: [
20
+ {
21
+ internalType: "uint256",
22
+ name: "",
23
+ type: "uint256",
24
+ },
25
+ ],
26
+ stateMutability: "view",
27
+ type: "function",
28
+ },
29
+ ];
30
+ class PathFinderUtils {
31
+ static async findPathFees({ calls, provider, contractsByAdapter, }) {
32
+ const pathObjects = txParser_1.TxParser.parseToObjectMultiCall(calls);
33
+ const { simpleFees, curve, balancer } = pathObjects.reduce((acc, pathSegment) => {
34
+ if (!pathSegment)
35
+ return acc;
36
+ const { callObject, parser } = pathSegment;
37
+ switch (true) {
38
+ case parser instanceof uniV2AdapterParser_1.UniswapV2AdapterParser: {
39
+ const f = this.getUniswapV2Fee(callObject);
40
+ if (f)
41
+ acc.simpleFees.push(f);
42
+ break;
43
+ }
44
+ case parser instanceof uniV3AdapterParser_1.UniswapV3AdapterParser: {
45
+ const f = this.getUniswapV3Fee(callObject);
46
+ if (f)
47
+ acc.simpleFees.push(f);
48
+ break;
49
+ }
50
+ case parser instanceof lidoAdapterParser_1.LidoAdapterParser: {
51
+ const f = this.getLidoFee();
52
+ if (f)
53
+ acc.simpleFees.push(f);
54
+ break;
55
+ }
56
+ case parser instanceof curveAdapterParser_1.CurveAdapterParser: {
57
+ const call = this.getCurveFeeCall(callObject, contractsByAdapter);
58
+ if (call)
59
+ acc.curve.push(call);
60
+ break;
61
+ }
62
+ case parser instanceof balancerV2VaultParser_1.BalancerV2VaultParser: {
63
+ const call = this.getBalancerFeeCall(callObject);
64
+ if (call)
65
+ acc.balancer.push(call);
66
+ break;
67
+ }
68
+ }
69
+ return acc;
70
+ }, {
71
+ simpleFees: [],
72
+ curve: [],
73
+ balancer: [],
74
+ });
75
+ const response = (await provider.multicall({
76
+ allowFailure: true,
77
+ multicallAddress: sdk_gov_1.MULTICALL_ADDRESS,
78
+ contracts: [...curve, ...balancer],
79
+ }));
80
+ const curveEnds = curve.length;
81
+ const curveResponse = response.slice(0, curveEnds);
82
+ const balancerEnds = balancer.length;
83
+ const balancerResponse = response.slice(curveEnds, balancerEnds);
84
+ const curveFees = curveResponse.map(r => this.getCurveFee(r));
85
+ const balancerFees = balancerResponse.map(r => this.getBalancerFee(r));
86
+ const fees = [...simpleFees, ...curveFees, ...balancerFees];
87
+ return fees;
88
+ }
89
+ static getUniswapV2Fee(callObject) {
90
+ const { functionName } = callObject;
91
+ switch (functionName) {
92
+ case "swapExactTokensForTokens":
93
+ case "swapTokensForExactTokens":
94
+ case "swapDiffTokensForTokens": {
95
+ // 0.3%
96
+ return {
97
+ type: "uniswap_v2",
98
+ value: 3000n,
99
+ };
100
+ }
101
+ default:
102
+ return null;
103
+ }
104
+ }
105
+ static getUniswapV3Fee(callObject) {
106
+ const { functionName, args } = callObject;
107
+ switch (functionName) {
108
+ case "exactInputSingle":
109
+ case "exactDiffInputSingle":
110
+ case "exactOutputSingle": {
111
+ const [first] = args;
112
+ const { fee = 0 } = first || {};
113
+ return {
114
+ type: "uniswap_v3",
115
+ value: (0, sdk_gov_1.toBigInt)(fee),
116
+ };
117
+ }
118
+ default:
119
+ return null;
120
+ }
121
+ }
122
+ static getCurveFeeCall(callObject, contractsByAdapter) {
123
+ const { functionName } = callObject;
124
+ switch (functionName) {
125
+ case "exchange":
126
+ case "exchange_underlying":
127
+ case "exchange_diff":
128
+ case "exchange_diff_underlying": {
129
+ const adapter = (callObject.address || "").toLowerCase();
130
+ const contract = contractsByAdapter[adapter];
131
+ return contract
132
+ ? {
133
+ address: contract,
134
+ abi: types_1.iCurvePoolAbi,
135
+ functionName: "fee",
136
+ args: [],
137
+ }
138
+ : null;
139
+ }
140
+ default:
141
+ return null;
142
+ }
143
+ }
144
+ static getCurveFee({ result }) {
145
+ const feeOriginal = result || 0n;
146
+ return {
147
+ type: "curve",
148
+ value: (feeOriginal * sdk_gov_1.PERCENTAGE_FACTOR) / CURVE_FEE_DECIMALS,
149
+ };
150
+ }
151
+ static getBalancerFeeCall(callObject) {
152
+ const { functionName } = callObject;
153
+ switch (functionName) {
154
+ case "swapDiff":
155
+ case "swap": {
156
+ const [first] = callObject.args;
157
+ const { poolId = "" } = first || {};
158
+ const { address } = (0, balancerVault_1.splitPoolId)(poolId);
159
+ return address
160
+ ? {
161
+ address: address,
162
+ abi: exports.BALANCER_VAULT_ABI,
163
+ functionName: "getSwapFeePercentage",
164
+ args: [],
165
+ }
166
+ : null;
167
+ }
168
+ default:
169
+ return null;
170
+ }
171
+ }
172
+ static getBalancerFee({ result }) {
173
+ const feeOriginal = result || 0n;
174
+ return {
175
+ type: "balancer",
176
+ value: (feeOriginal * sdk_gov_1.PERCENTAGE_FACTOR) / BALANCER_FEE_DECIMALS,
177
+ };
178
+ }
179
+ static getLidoFee() {
180
+ return {
181
+ type: "lido",
182
+ value: 0n,
183
+ };
184
+ }
185
+ }
186
+ exports.PathFinderUtils = PathFinderUtils;
@@ -0,0 +1,13 @@
1
+ import { Address } from "viem";
2
+ export type BotBaseType = "liquidationProtection";
3
+ export type LiquidationBotType = "deleverageBotPegged" | "deleverageBotLV" | "deleverageBotHV";
4
+ export type BotDetailedType = LiquidationBotType;
5
+ export interface BotDataPayload {
6
+ baseType: BotBaseType;
7
+ detailedType: BotDetailedType;
8
+ address: Address;
9
+ minHealthFactor: number;
10
+ maxHealthFactor: number;
11
+ premiumScaleFactor: number;
12
+ feeScaleFactor: number;
13
+ }
@@ -1,6 +1,41 @@
1
- import { ExcludeArrayProps } from "@gearbox-protocol/sdk-gov";
2
- import { CreditAccountDataStructOutput, ScheduledWithdrawalStructOutput, TokenBalanceStructOutput } from "../types/IDataCompressorV3_00";
3
- import { BigintifyProps, PartialKeys } from "../utils/types";
4
- export type CaTokenBalance = BigintifyProps<ExcludeArrayProps<TokenBalanceStructOutput>>;
5
- export type ScheduledWithdrawal = BigintifyProps<ExcludeArrayProps<ScheduledWithdrawalStructOutput>>;
6
- export type CreditAccountDataPayload = PartialKeys<ExcludeArrayProps<CreditAccountDataStructOutput>, "accruedInterest" | "accruedFees" | "healthFactor" | "totalValue">;
1
+ import { Address } from "viem";
2
+ export interface CaTokenBalance {
3
+ token: Address;
4
+ balance: bigint;
5
+ isForbidden: boolean;
6
+ isEnabled: boolean;
7
+ isQuoted: boolean;
8
+ quota: bigint;
9
+ quotaRate: bigint;
10
+ }
11
+ export interface CreditAccountDataPayload {
12
+ isSuccessful: boolean;
13
+ priceFeedsNeeded: readonly Address[];
14
+ addr: Address;
15
+ borrower: Address;
16
+ creditManager: Address;
17
+ creditFacade: Address;
18
+ underlying: Address;
19
+ debt: bigint;
20
+ accruedInterest: bigint;
21
+ accruedFees: bigint;
22
+ totalDebtUSD: bigint;
23
+ totalValue: bigint;
24
+ totalValueUSD: bigint;
25
+ twvUSD: bigint;
26
+ enabledTokensMask: bigint;
27
+ healthFactor: bigint;
28
+ baseBorrowRate: bigint;
29
+ balances: readonly {
30
+ token: Address;
31
+ balance: bigint;
32
+ isForbidden: boolean;
33
+ isEnabled: boolean;
34
+ isQuoted: boolean;
35
+ quota: bigint;
36
+ quotaRate: number;
37
+ }[];
38
+ cfVersion: bigint;
39
+ expirationDate: number;
40
+ activeBots: readonly Address[];
41
+ }