@gearbox-protocol/sdk 3.0.0-next.23 → 3.0.0-next.231

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