@gearbox-protocol/sdk 3.0.0-next.102 → 3.0.0-next.104

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 (343) hide show
  1. package/lib/core/creditManager.d.ts +1 -0
  2. package/lib/core/creditManager.js +5 -0
  3. package/lib/core/strategy.d.ts +5 -7
  4. package/lib/core/strategy.js +4 -6
  5. package/lib/index.d.ts +1 -3
  6. package/lib/index.js +1 -3
  7. package/lib/parsers/ERC20Parser.js +1 -1
  8. package/lib/parsers/aaveV2LendingPoolAdapterParser.d.ts +7 -0
  9. package/lib/parsers/aaveV2LendingPoolAdapterParser.js +21 -0
  10. package/lib/parsers/aaveV2WrappedATokenAdapterParser.d.ts +7 -0
  11. package/lib/parsers/aaveV2WrappedATokenAdapterParser.js +21 -0
  12. package/lib/parsers/abstractParser.d.ts +7 -5
  13. package/lib/parsers/abstractParser.js +3 -0
  14. package/lib/parsers/addressProviderParser.js +1 -1
  15. package/lib/parsers/balancerV2VaultParser.d.ts +7 -0
  16. package/lib/parsers/balancerV2VaultParser.js +34 -0
  17. package/lib/parsers/compoundV2CTokenAdapterParser.d.ts +7 -0
  18. package/lib/parsers/compoundV2CTokenAdapterParser.js +21 -0
  19. package/lib/parsers/convexBaseRewardPoolAdapterParser.js +1 -1
  20. package/lib/parsers/convexBoosterAdapterParser.js +1 -1
  21. package/lib/parsers/convextRewardPoolParser.js +1 -1
  22. package/lib/parsers/creditFacadeParser.js +1 -1
  23. package/lib/parsers/creditManagerParser.js +1 -1
  24. package/lib/parsers/curveAdapterParser.js +1 -1
  25. package/lib/parsers/erc626AdapterParser.d.ts +7 -0
  26. package/lib/parsers/erc626AdapterParser.js +21 -0
  27. package/lib/parsers/lidoAdapterParser.js +1 -1
  28. package/lib/parsers/lidoSTETHParser.js +1 -1
  29. package/lib/parsers/poolParser.js +1 -1
  30. package/lib/parsers/priceOracleParser.js +1 -1
  31. package/lib/parsers/txParser.d.ts +17 -11
  32. package/lib/parsers/txParser.js +36 -5
  33. package/lib/parsers/uniV2AdapterParser.js +1 -1
  34. package/lib/parsers/uniV3AdapterParser.js +1 -1
  35. package/lib/parsers/wstETHAdapterParser.js +1 -1
  36. package/lib/parsers/yearnV2AdapterParser.js +1 -1
  37. package/lib/pathfinder/index.d.ts +4 -0
  38. package/lib/pathfinder/index.js +20 -0
  39. package/lib/pathfinder/utils.d.ts +35 -0
  40. package/lib/pathfinder/utils.js +182 -0
  41. package/lib/types/contracts/index.d.ts +2 -0
  42. package/lib/types/contracts/interfaces/IGasPricer.d.ts +44 -0
  43. package/lib/types/contracts/interfaces/IGasPricer.js +2 -0
  44. package/lib/types/contracts/interfaces/index.d.ts +1 -0
  45. package/lib/types/contracts/interfaces/index.js +2 -0
  46. package/lib/types/factories/AddressProvider__factory.d.ts +111 -111
  47. package/lib/types/factories/AddressProvider__factory.js +119 -119
  48. package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +3 -3
  49. package/lib/types/factories/Balances.sol/BalanceOps__factory.js +3 -3
  50. package/lib/types/factories/CalldataExtractor__factory.d.ts +34 -34
  51. package/lib/types/factories/CalldataExtractor__factory.js +37 -37
  52. package/lib/types/factories/Claimable__factory.d.ts +28 -28
  53. package/lib/types/factories/Claimable__factory.js +32 -32
  54. package/lib/types/factories/ERC20__factory.d.ts +89 -89
  55. package/lib/types/factories/ERC20__factory.js +99 -99
  56. package/lib/types/factories/Errors__factory.d.ts +99 -99
  57. package/lib/types/factories/Errors__factory.js +99 -99
  58. package/lib/types/factories/FarmAccounting__factory.d.ts +6 -6
  59. package/lib/types/factories/FarmAccounting__factory.js +6 -6
  60. package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.d.ts +42 -42
  61. package/lib/types/factories/IAaveV2_LendingPoolAdapter__factory.js +42 -42
  62. package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.d.ts +70 -70
  63. package/lib/types/factories/IAaveV2_WrappedATokenAdapter__factory.js +70 -70
  64. package/lib/types/factories/IAdapter__factory.d.ts +15 -15
  65. package/lib/types/factories/IAdapter__factory.js +15 -15
  66. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.d.ts +7 -7
  67. package/lib/types/factories/IAddressProvider.sol/IAddressProviderEvents__factory.js +7 -7
  68. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.d.ts +48 -48
  69. package/lib/types/factories/IAddressProvider.sol/IAddressProvider__factory.js +52 -52
  70. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.d.ts +9 -9
  71. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory.js +9 -9
  72. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.d.ts +37 -37
  73. package/lib/types/factories/IAddressProviderV3.sol/IAddressProviderV3__factory.js +42 -42
  74. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +25 -25
  75. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +25 -25
  76. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +71 -71
  77. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js +85 -85
  78. package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.d.ts +19 -19
  79. package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2VaultGetters__factory.js +19 -19
  80. package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.d.ts +106 -106
  81. package/lib/types/factories/IBalancerV2Vault.sol/IBalancerV2Vault__factory.js +106 -106
  82. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.d.ts +7 -7
  83. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterEvents__factory.js +7 -7
  84. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.d.ts +2 -2
  85. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapterExceptions__factory.js +2 -2
  86. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.d.ts +161 -161
  87. package/lib/types/factories/IBalancerV2VaultAdapter.sol/IBalancerV2VaultAdapter__factory.js +166 -166
  88. package/lib/types/factories/IBaseRewardPool__factory.d.ts +114 -114
  89. package/lib/types/factories/IBaseRewardPool__factory.js +114 -114
  90. package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.d.ts +38 -38
  91. package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.js +43 -43
  92. package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.d.ts +152 -152
  93. package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.js +170 -170
  94. package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.d.ts +60 -60
  95. package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_CTokenAdapter__factory.js +63 -63
  96. package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.d.ts +3 -3
  97. package/lib/types/factories/ICompoundV2_CTokenAdapter.sol/ICompoundV2_Exceptions__factory.js +3 -3
  98. package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.d.ts +10 -10
  99. package/lib/types/factories/IContractsRegister.sol/IContractsRegisterEvents__factory.js +10 -10
  100. package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.d.ts +51 -51
  101. package/lib/types/factories/IContractsRegister.sol/IContractsRegister__factory.js +57 -57
  102. package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3Events__factory.d.ts +30 -30
  103. package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3Events__factory.js +30 -30
  104. package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3__factory.d.ts +165 -165
  105. package/lib/types/factories/IControllerTimelockV3.sol/IControllerTimelockV3__factory.js +182 -182
  106. package/lib/types/factories/IConvexToken__factory.d.ts +86 -86
  107. package/lib/types/factories/IConvexToken__factory.js +96 -96
  108. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +80 -80
  109. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +80 -80
  110. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +7 -7
  111. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +7 -7
  112. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts +62 -62
  113. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js +66 -66
  114. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.d.ts +121 -121
  115. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory.js +127 -127
  116. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.d.ts +18 -18
  117. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory.js +18 -18
  118. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.d.ts +376 -376
  119. package/lib/types/factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory.js +417 -417
  120. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +118 -118
  121. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +127 -127
  122. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +395 -395
  123. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js +420 -420
  124. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.d.ts +107 -107
  125. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory.js +118 -118
  126. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.d.ts +65 -65
  127. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Exceptions__factory.js +65 -65
  128. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +23 -23
  129. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +23 -23
  130. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.d.ts +5 -5
  131. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2V2__factory.js +5 -5
  132. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.d.ts +601 -601
  133. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory.js +749 -749
  134. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +72 -72
  135. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +80 -80
  136. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +288 -288
  137. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js +397 -397
  138. package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +59 -59
  139. package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +59 -59
  140. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.d.ts +11 -11
  141. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Events__factory.js +12 -12
  142. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.d.ts +26 -26
  143. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.js +26 -26
  144. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.d.ts +252 -252
  145. package/lib/types/factories/ICreditManagerV2.sol/ICreditManagerV2__factory.js +272 -272
  146. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.d.ts +5 -5
  147. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory.js +5 -5
  148. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +294 -294
  149. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +297 -297
  150. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.d.ts +191 -191
  151. package/lib/types/factories/ICurvePool_2.sol/ICurvePool2Assets__factory.js +191 -191
  152. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.d.ts +191 -191
  153. package/lib/types/factories/ICurvePool_3.sol/ICurvePool3Assets__factory.js +191 -191
  154. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.d.ts +191 -191
  155. package/lib/types/factories/ICurvePool_4.sol/ICurvePool4Assets__factory.js +191 -191
  156. package/lib/types/factories/ICurvePool__factory.d.ts +159 -159
  157. package/lib/types/factories/ICurvePool__factory.js +159 -159
  158. package/lib/types/factories/ICurveV1Adapter__factory.d.ts +169 -169
  159. package/lib/types/factories/ICurveV1Adapter__factory.js +169 -169
  160. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.d.ts +187 -187
  161. package/lib/types/factories/ICurveV1_2AssetsAdapter__factory.js +187 -187
  162. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.d.ts +187 -187
  163. package/lib/types/factories/ICurveV1_3AssetsAdapter__factory.js +187 -187
  164. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.d.ts +187 -187
  165. package/lib/types/factories/ICurveV1_4AssetsAdapter__factory.js +187 -187
  166. package/lib/types/factories/IDaiLikePermit__factory.d.ts +10 -10
  167. package/lib/types/factories/IDaiLikePermit__factory.js +10 -10
  168. package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +334 -334
  169. package/lib/types/factories/IDataCompressorV2_10__factory.js +334 -334
  170. package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +454 -454
  171. package/lib/types/factories/IDataCompressorV3_00__factory.js +454 -454
  172. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +14 -14
  173. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +14 -14
  174. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +43 -43
  175. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +51 -51
  176. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.d.ts +15 -15
  177. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Events__factory.js +15 -15
  178. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.d.ts +8 -8
  179. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2Exceptions__factory.js +8 -8
  180. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2__factory.d.ts +180 -180
  181. package/lib/types/factories/IDegenNFTV2.sol/IDegenNFTV2__factory.js +208 -208
  182. package/lib/types/factories/IERC165__factory.d.ts +4 -4
  183. package/lib/types/factories/IERC165__factory.js +4 -4
  184. package/lib/types/factories/IERC20Metadata__factory.d.ts +76 -76
  185. package/lib/types/factories/IERC20Metadata__factory.js +86 -86
  186. package/lib/types/factories/IERC20Permit__factory.d.ts +16 -16
  187. package/lib/types/factories/IERC20Permit__factory.js +16 -16
  188. package/lib/types/factories/IERC20ZapperDeposits__factory.d.ts +30 -30
  189. package/lib/types/factories/IERC20ZapperDeposits__factory.js +30 -30
  190. package/lib/types/factories/IERC20__factory.d.ts +67 -67
  191. package/lib/types/factories/IERC20__factory.js +77 -77
  192. package/lib/types/factories/IERC4626Adapter__factory.d.ts +60 -60
  193. package/lib/types/factories/IERC4626Adapter__factory.js +60 -60
  194. package/lib/types/factories/IERC4626__factory.d.ts +198 -198
  195. package/lib/types/factories/IERC4626__factory.js +221 -221
  196. package/lib/types/factories/IERC721Metadata__factory.d.ts +114 -114
  197. package/lib/types/factories/IERC721Metadata__factory.js +129 -129
  198. package/lib/types/factories/IERC721__factory.d.ts +104 -104
  199. package/lib/types/factories/IERC721__factory.js +119 -119
  200. package/lib/types/factories/IETHZapperDeposits__factory.d.ts +9 -9
  201. package/lib/types/factories/IETHZapperDeposits__factory.js +9 -9
  202. package/lib/types/factories/IFarmingPool__factory.d.ts +134 -134
  203. package/lib/types/factories/IFarmingPool__factory.js +152 -152
  204. package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.d.ts +46 -46
  205. package/lib/types/factories/IGaugeV3.sol/IGaugeV3Events__factory.js +50 -50
  206. package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.d.ts +172 -172
  207. package/lib/types/factories/IGaugeV3.sol/IGaugeV3__factory.js +200 -200
  208. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.d.ts +48 -48
  209. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.js +49 -49
  210. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.d.ts +225 -225
  211. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.js +253 -253
  212. package/lib/types/factories/IInterestRateModel__factory.d.ts +8 -8
  213. package/lib/types/factories/IInterestRateModel__factory.js +8 -8
  214. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.d.ts +11 -11
  215. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.js +12 -12
  216. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.d.ts +10 -10
  217. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.js +10 -10
  218. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeed__factory.d.ts +107 -107
  219. package/lib/types/factories/ILPPriceFeed.sol/ILPPriceFeed__factory.js +119 -119
  220. package/lib/types/factories/ILidoV1Adapter__factory.d.ts +40 -40
  221. package/lib/types/factories/ILidoV1Adapter__factory.js +40 -40
  222. package/lib/types/factories/ILinearInterestRateModelV3__factory.d.ts +25 -25
  223. package/lib/types/factories/ILinearInterestRateModelV3__factory.js +25 -25
  224. package/lib/types/factories/IOffchainOracle__factory.d.ts +11 -11
  225. package/lib/types/factories/IOffchainOracle__factory.js +11 -11
  226. package/lib/types/factories/IPermit2__factory.d.ts +33 -33
  227. package/lib/types/factories/IPermit2__factory.js +33 -33
  228. package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.d.ts +44 -44
  229. package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3Events__factory.js +45 -45
  230. package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.d.ts +190 -190
  231. package/lib/types/factories/IPoolQuotaKeeperV3.sol/IPoolQuotaKeeperV3__factory.js +216 -216
  232. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.d.ts +66 -66
  233. package/lib/types/factories/IPoolService.sol/IPoolServiceEvents__factory.js +72 -72
  234. package/lib/types/factories/IPoolService.sol/IPoolService__factory.d.ts +235 -235
  235. package/lib/types/factories/IPoolService.sol/IPoolService__factory.js +286 -286
  236. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.d.ts +65 -65
  237. package/lib/types/factories/IPoolV3.sol/IPoolV3Events__factory.js +68 -68
  238. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +574 -574
  239. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +696 -696
  240. package/lib/types/factories/IPriceFeed.sol/IPriceFeed__factory.d.ts +22 -22
  241. package/lib/types/factories/IPriceFeed.sol/IPriceFeed__factory.js +22 -22
  242. package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.d.ts +28 -28
  243. package/lib/types/factories/IPriceFeed.sol/IUpdatablePriceFeed__factory.js +28 -28
  244. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.d.ts +6 -6
  245. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Events__factory.js +7 -7
  246. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.d.ts +6 -6
  247. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.js +6 -6
  248. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Ext__factory.d.ts +71 -71
  249. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2Ext__factory.js +78 -78
  250. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2__factory.d.ts +68 -68
  251. package/lib/types/factories/IPriceOracle.sol/IPriceOracleV2__factory.js +75 -75
  252. package/lib/types/factories/IPriceOracleBase__factory.d.ts +27 -27
  253. package/lib/types/factories/IPriceOracleBase__factory.js +27 -27
  254. package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.d.ts +28 -28
  255. package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3Events__factory.js +31 -31
  256. package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.d.ts +139 -139
  257. package/lib/types/factories/IPriceOracleV3.sol/IPriceOracleV3__factory.js +156 -156
  258. package/lib/types/factories/IRouterV3__factory.d.ts +178 -178
  259. package/lib/types/factories/IRouterV3__factory.js +191 -191
  260. package/lib/types/factories/IRouter__factory.d.ts +159 -159
  261. package/lib/types/factories/IRouter__factory.js +172 -172
  262. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.d.ts +8 -8
  263. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory.js +9 -9
  264. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.d.ts +2 -2
  265. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +2 -2
  266. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts +78 -78
  267. package/lib/types/factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +84 -84
  268. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.d.ts +50 -50
  269. package/lib/types/factories/IUniswapV3.sol/ISwapRouter__factory.js +50 -50
  270. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.d.ts +10 -10
  271. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterEvents__factory.js +11 -11
  272. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.d.ts +2 -2
  273. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +2 -2
  274. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.d.ts +138 -138
  275. package/lib/types/factories/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +145 -145
  276. package/lib/types/factories/IVersion__factory.d.ts +3 -3
  277. package/lib/types/factories/IVersion__factory.js +3 -3
  278. package/lib/types/factories/IVotingContractV3__factory.d.ts +10 -10
  279. package/lib/types/factories/IVotingContractV3__factory.js +10 -10
  280. package/lib/types/factories/IWETHGateway__factory.d.ts +14 -14
  281. package/lib/types/factories/IWETHGateway__factory.js +14 -14
  282. package/lib/types/factories/IWETH__factory.d.ts +102 -102
  283. package/lib/types/factories/IWETH__factory.js +120 -120
  284. package/lib/types/factories/IYVault__factory.d.ts +112 -112
  285. package/lib/types/factories/IYVault__factory.js +122 -122
  286. package/lib/types/factories/IYearnV2Adapter__factory.d.ts +63 -63
  287. package/lib/types/factories/IYearnV2Adapter__factory.js +63 -63
  288. package/lib/types/factories/IZapperRegister__factory.d.ts +20 -20
  289. package/lib/types/factories/IZapperRegister__factory.js +22 -22
  290. package/lib/types/factories/IZapper__factory.d.ts +34 -34
  291. package/lib/types/factories/IZapper__factory.js +34 -34
  292. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.d.ts +97 -97
  293. package/lib/types/factories/IstETH.sol/IstETHGetters__factory.js +107 -107
  294. package/lib/types/factories/IstETH.sol/IstETH__factory.d.ts +101 -101
  295. package/lib/types/factories/IstETH.sol/IstETH__factory.js +111 -111
  296. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.d.ts +93 -93
  297. package/lib/types/factories/IwstETH.sol/IwstETHGetters__factory.js +103 -103
  298. package/lib/types/factories/IwstETH.sol/IwstETH__factory.d.ts +101 -101
  299. package/lib/types/factories/IwstETH.sol/IwstETH__factory.js +111 -111
  300. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.d.ts +14 -14
  301. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.js +15 -15
  302. package/lib/types/factories/IwstETHV1Adapter__factory.d.ts +44 -44
  303. package/lib/types/factories/IwstETHV1Adapter__factory.js +44 -44
  304. package/lib/types/factories/NumericArrayLib__factory.d.ts +2 -2
  305. package/lib/types/factories/NumericArrayLib__factory.js +2 -2
  306. package/lib/types/factories/Ownable__factory.d.ts +23 -23
  307. package/lib/types/factories/Ownable__factory.js +27 -27
  308. package/lib/types/factories/RedstoneConstants__factory.d.ts +19 -19
  309. package/lib/types/factories/RedstoneConstants__factory.js +19 -19
  310. package/lib/types/factories/RedstoneConsumerBase__factory.d.ts +101 -101
  311. package/lib/types/factories/RedstoneConsumerBase__factory.js +123 -123
  312. package/lib/types/factories/RedstoneConsumerNumericBase__factory.d.ts +101 -101
  313. package/lib/types/factories/RedstoneConsumerNumericBase__factory.js +123 -123
  314. package/lib/types/factories/RedstoneDefaultsLib__factory.d.ts +8 -8
  315. package/lib/types/factories/RedstoneDefaultsLib__factory.js +8 -8
  316. package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedEvents__factory.d.ts +5 -5
  317. package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedEvents__factory.js +5 -5
  318. package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedExceptions__factory.d.ts +10 -10
  319. package/lib/types/factories/RedstonePriceFeed.sol/IRedstonePriceFeedExceptions__factory.js +10 -10
  320. package/lib/types/factories/RedstonePriceFeed.sol/RedstonePriceFeed__factory.d.ts +193 -193
  321. package/lib/types/factories/RedstonePriceFeed.sol/RedstonePriceFeed__factory.js +220 -220
  322. package/lib/types/factories/SafeERC20__factory.d.ts +14 -14
  323. package/lib/types/factories/SafeERC20__factory.js +14 -14
  324. package/lib/types/factories/contracts/index.d.ts +1 -0
  325. package/lib/types/factories/contracts/index.js +30 -0
  326. package/lib/types/factories/contracts/interfaces/IGasPricer__factory.d.ts +22 -0
  327. package/lib/types/factories/contracts/interfaces/index.d.ts +1 -0
  328. package/lib/types/factories/contracts/interfaces/index.js +8 -0
  329. package/lib/types/factories/index.d.ts +2 -1
  330. package/lib/types/factories/index.js +4 -4
  331. package/lib/types/factories/{IGasPricer__factory.d.ts → interfaces/IGasPricer__factory.d.ts} +5 -5
  332. package/lib/types/factories/interfaces/IGasPricer__factory.js +38 -0
  333. package/lib/types/factories/interfaces/index.d.ts +1 -0
  334. package/lib/types/factories/interfaces/index.js +8 -0
  335. package/lib/types/index.d.ts +18 -14
  336. package/lib/types/index.js +25 -25
  337. package/lib/types/{IGasPricer.d.ts → interfaces/IGasPricer.d.ts} +1 -1
  338. package/lib/types/interfaces/IGasPricer.js +2 -0
  339. package/lib/types/interfaces/index.d.ts +1 -0
  340. package/lib/types/interfaces/index.js +2 -0
  341. package/package.json +4 -4
  342. package/lib/types/{IGasPricer.js → contracts/index.js} +0 -0
  343. package/lib/types/factories/{IGasPricer__factory.js → contracts/interfaces/IGasPricer__factory.js} +4 -4
@@ -0,0 +1,35 @@
1
+ import { providers, utils } 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: utils.Interface;
20
+ interface FindPathFeesProps {
21
+ calls: Array<MultiCall>;
22
+ provider: providers.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 {};
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PathFinderUtils = exports.BALANCER_VAULT_INTERFACE = exports.BALANCER_VAULT_ABI = void 0;
4
+ const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
+ const ethers_1 = require("ethers");
6
+ const utils_1 = require("ethers/lib/utils");
7
+ const balancerV2VaultParser_1 = require("../parsers/balancerV2VaultParser");
8
+ const curveAdapterParser_1 = require("../parsers/curveAdapterParser");
9
+ const lidoAdapterParser_1 = require("../parsers/lidoAdapterParser");
10
+ const txParser_1 = require("../parsers/txParser");
11
+ const uniV2AdapterParser_1 = require("../parsers/uniV2AdapterParser");
12
+ const uniV3AdapterParser_1 = require("../parsers/uniV3AdapterParser");
13
+ const types_1 = require("../types");
14
+ const CURVE_FEE_DECIMALS = 100000000n;
15
+ const BALANCER_FEE_DECIMALS = 10000000000000000n;
16
+ exports.BALANCER_VAULT_ABI = [
17
+ {
18
+ inputs: [],
19
+ name: "getSwapFeePercentage",
20
+ outputs: [
21
+ {
22
+ internalType: "uint256",
23
+ name: "",
24
+ type: "uint256",
25
+ },
26
+ ],
27
+ stateMutability: "view",
28
+ type: "function",
29
+ },
30
+ ];
31
+ exports.BALANCER_VAULT_INTERFACE = new utils_1.Interface(exports.BALANCER_VAULT_ABI);
32
+ class PathFinderUtils {
33
+ static async findPathFees({ calls, provider, contractsByAdapter, }) {
34
+ const pathObjects = txParser_1.TxParser.parseToObjectMultiCall(calls);
35
+ const { simpleFees, curve, balancer } = pathObjects.reduce((acc, pathSegment) => {
36
+ if (!pathSegment)
37
+ return acc;
38
+ const { callObject, parser } = pathSegment;
39
+ switch (true) {
40
+ case parser instanceof uniV2AdapterParser_1.UniswapV2AdapterParser: {
41
+ const f = this.getUniswapV2Fee(callObject);
42
+ if (f)
43
+ acc.simpleFees.push(f);
44
+ break;
45
+ }
46
+ case parser instanceof uniV3AdapterParser_1.UniswapV3AdapterParser: {
47
+ const f = this.getUniswapV3Fee(callObject);
48
+ if (f)
49
+ acc.simpleFees.push(f);
50
+ break;
51
+ }
52
+ case parser instanceof lidoAdapterParser_1.LidoAdapterParser: {
53
+ const f = this.getLidoFee();
54
+ if (f)
55
+ acc.simpleFees.push(f);
56
+ break;
57
+ }
58
+ case parser instanceof curveAdapterParser_1.CurveAdapterParser: {
59
+ const call = this.getCurveFeeCall(callObject, contractsByAdapter);
60
+ if (call)
61
+ acc.curve.push(call);
62
+ break;
63
+ }
64
+ case parser instanceof balancerV2VaultParser_1.BalancerV2VaultParser: {
65
+ const call = this.getBalancerFeeCall(callObject);
66
+ if (call)
67
+ acc.balancer.push(call);
68
+ break;
69
+ }
70
+ }
71
+ return acc;
72
+ }, {
73
+ simpleFees: [],
74
+ curve: [],
75
+ balancer: [],
76
+ });
77
+ const response = await (0, sdk_gov_1.safeMulticall)([...curve, ...balancer], provider);
78
+ const curveEnds = curve.length;
79
+ const curveResponse = response.slice(0, curveEnds);
80
+ const balancerEnds = balancer.length;
81
+ const balancerResponse = response.slice(curveEnds, balancerEnds);
82
+ const curveFees = curveResponse.map(r => this.getCurveFee(r));
83
+ const balancerFees = balancerResponse.map(r => this.getBalancerFee(r));
84
+ const fees = [...simpleFees, ...curveFees, ...balancerFees];
85
+ return fees;
86
+ }
87
+ static getUniswapV2Fee(callObject) {
88
+ const { name } = callObject.functionFragment;
89
+ switch (name) {
90
+ case "swapExactTokensForTokens":
91
+ case "swapTokensForExactTokens":
92
+ case "swapDiffTokensForTokens": {
93
+ // 0.3%
94
+ return {
95
+ type: "uniswap_v2",
96
+ value: 3000n,
97
+ };
98
+ }
99
+ default:
100
+ return null;
101
+ }
102
+ }
103
+ static getUniswapV3Fee(callObject) {
104
+ const { name } = callObject.functionFragment;
105
+ switch (name) {
106
+ case "exactInputSingle":
107
+ case "exactDiffInputSingle":
108
+ case "exactOutputSingle": {
109
+ const { params } = callObject.args || {};
110
+ const { fee = 0 } = params || {};
111
+ return {
112
+ type: "uniswap_v3",
113
+ value: (0, sdk_gov_1.toBigInt)(fee),
114
+ };
115
+ }
116
+ default:
117
+ return null;
118
+ }
119
+ }
120
+ static getCurveFeeCall(callObject, contractsByAdapter) {
121
+ const { name } = callObject.functionFragment;
122
+ switch (name) {
123
+ case "exchange":
124
+ case "exchange_underlying":
125
+ case "exchange_diff":
126
+ case "exchange_diff_underlying": {
127
+ const adapter = (callObject.address || "").toLowerCase();
128
+ const contract = contractsByAdapter[adapter];
129
+ return contract
130
+ ? {
131
+ address: contract,
132
+ interface: types_1.ICurvePool__factory.createInterface(),
133
+ method: "fee()",
134
+ }
135
+ : null;
136
+ }
137
+ default:
138
+ return null;
139
+ }
140
+ }
141
+ static getCurveFee({ value }) {
142
+ const feeOriginal = (0, sdk_gov_1.toBigInt)(value || 0n);
143
+ return {
144
+ type: "curve",
145
+ value: (feeOriginal * sdk_gov_1.PERCENTAGE_FACTOR) / CURVE_FEE_DECIMALS,
146
+ };
147
+ }
148
+ static getBalancerFeeCall(callObject) {
149
+ const { name } = callObject.functionFragment;
150
+ switch (name) {
151
+ case "swapDiff":
152
+ case "swap": {
153
+ const { poolId = "" } = callObject.args?.[0] || {};
154
+ // !&
155
+ const [contract] = ethers_1.utils.defaultAbiCoder.decode(["address", "unit16"], poolId);
156
+ return contract
157
+ ? {
158
+ address: contract,
159
+ interface: exports.BALANCER_VAULT_INTERFACE,
160
+ method: "getSwapFeePercentage()",
161
+ }
162
+ : null;
163
+ }
164
+ default:
165
+ return null;
166
+ }
167
+ }
168
+ static getBalancerFee({ value }) {
169
+ const feeOriginal = (0, sdk_gov_1.toBigInt)(value || 0n);
170
+ return {
171
+ type: "balancer",
172
+ value: (feeOriginal * sdk_gov_1.PERCENTAGE_FACTOR) / BALANCER_FEE_DECIMALS,
173
+ };
174
+ }
175
+ static getLidoFee() {
176
+ return {
177
+ type: "lido",
178
+ value: 0n,
179
+ };
180
+ }
181
+ }
182
+ exports.PathFinderUtils = PathFinderUtils;
@@ -0,0 +1,2 @@
1
+ import type * as interfaces from "./interfaces";
2
+ export type { interfaces };
@@ -0,0 +1,44 @@
1
+ import type { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
5
+ export interface IGasPricerInterface extends utils.Interface {
6
+ functions: {
7
+ "getGasPriceTokenOutRAY(address)": FunctionFragment;
8
+ };
9
+ getFunction(nameOrSignatureOrTopic: "getGasPriceTokenOutRAY"): FunctionFragment;
10
+ encodeFunctionData(functionFragment: "getGasPriceTokenOutRAY", values: [PromiseOrValue<string>]): string;
11
+ decodeFunctionResult(functionFragment: "getGasPriceTokenOutRAY", data: BytesLike): Result;
12
+ events: {};
13
+ }
14
+ export interface IGasPricer extends BaseContract {
15
+ connect(signerOrProvider: Signer | Provider | string): this;
16
+ attach(addressOrName: string): this;
17
+ deployed(): Promise<this>;
18
+ interface: IGasPricerInterface;
19
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
20
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
21
+ listeners(eventName?: string): Array<Listener>;
22
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
23
+ removeAllListeners(eventName?: string): this;
24
+ off: OnEvent<this>;
25
+ on: OnEvent<this>;
26
+ once: OnEvent<this>;
27
+ removeListener: OnEvent<this>;
28
+ functions: {
29
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
30
+ gasPrice: BigNumber;
31
+ }>;
32
+ };
33
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
34
+ callStatic: {
35
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
36
+ };
37
+ filters: {};
38
+ estimateGas: {
39
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
40
+ };
41
+ populateTransaction: {
42
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
43
+ };
44
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type { IGasPricer } from "./IGasPricer";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });