@gearbox-protocol/sdk 3.0.0-next.20 → 3.0.0-next.201

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