@gearbox-protocol/sdk 1.22.3 → 1.23.0

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 (283) hide show
  1. package/lib/apy/convexAPY.d.ts +10 -10
  2. package/lib/apy/convexAPY.js +100 -121
  3. package/lib/apy/curveAPY.d.ts +3 -4
  4. package/lib/apy/curveAPY.js +57 -111
  5. package/lib/apy/index.js +4 -6
  6. package/lib/apy/lidoAPY.d.ts +1 -2
  7. package/lib/apy/lidoAPY.js +14 -62
  8. package/lib/apy/yearnAPY.d.ts +2 -3
  9. package/lib/apy/yearnAPY.js +26 -82
  10. package/lib/contracts/contracts.js +9 -22
  11. package/lib/contracts/contractsRegister.js +39 -51
  12. package/lib/contracts/protocols.js +10 -11
  13. package/lib/core/adapter.js +9 -4
  14. package/lib/core/assets.d.ts +6 -7
  15. package/lib/core/assets.js +60 -70
  16. package/lib/core/chains.js +30 -80
  17. package/lib/core/constants.d.ts +9 -10
  18. package/lib/core/constants.js +9 -12
  19. package/lib/core/creditAccount.d.ts +20 -20
  20. package/lib/core/creditAccount.js +123 -134
  21. package/lib/core/creditAccount.spec.js +50 -52
  22. package/lib/core/creditManager.d.ts +26 -26
  23. package/lib/core/creditManager.js +172 -136
  24. package/lib/core/creditManager.spec.js +59 -61
  25. package/lib/core/creditSession.d.ts +12 -13
  26. package/lib/core/creditSession.js +120 -77
  27. package/lib/core/errors.d.ts +2 -3
  28. package/lib/core/errors.js +11 -27
  29. package/lib/core/eventOrTx.js +35 -73
  30. package/lib/core/events.d.ts +31 -24
  31. package/lib/core/events.js +702 -702
  32. package/lib/core/operations.js +11 -5
  33. package/lib/core/pool/data.d.ts +29 -29
  34. package/lib/core/pool/data.js +153 -112
  35. package/lib/core/pool/operation.d.ts +1 -2
  36. package/lib/core/pool/operation.js +23 -35
  37. package/lib/core/priceOracle.d.ts +6 -6
  38. package/lib/core/priceOracle.js +23 -29
  39. package/lib/core/rewardClaimer.d.ts +2 -2
  40. package/lib/core/rewardClaimer.js +5 -48
  41. package/lib/core/rewardConvex.js +54 -114
  42. package/lib/core/rewardConvex.spec.js +41 -43
  43. package/lib/core/strategy.d.ts +5 -6
  44. package/lib/core/strategy.js +67 -69
  45. package/lib/core/strategy.spec.js +32 -34
  46. package/lib/core/tokenDistributor.d.ts +1 -2
  47. package/lib/core/trade.d.ts +6 -6
  48. package/lib/core/trade.js +70 -115
  49. package/lib/core/transactions.d.ts +21 -22
  50. package/lib/core/transactions.js +285 -308
  51. package/lib/index.d.ts +0 -2
  52. package/lib/index.js +0 -2
  53. package/lib/oracles/oracles.d.ts +1 -2
  54. package/lib/oracles/priceFeeds.js +2 -3
  55. package/lib/parsers/ERC20Parser.js +20 -38
  56. package/lib/parsers/abstractParser.js +33 -31
  57. package/lib/parsers/addressProviderParser.js +12 -30
  58. package/lib/parsers/airdropDistributorParser.js +12 -30
  59. package/lib/parsers/convexBaseRewardPoolAdapterParser.js +24 -42
  60. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.js +11 -11
  61. package/lib/parsers/convexBoosterAdapterParser.js +26 -44
  62. package/lib/parsers/convexBoosterAdapterParser.spec.js +10 -10
  63. package/lib/parsers/convextRewardPoolParser.js +12 -30
  64. package/lib/parsers/creditFacadeParser.js +26 -45
  65. package/lib/parsers/creditFacadeParser.spec.js +13 -13
  66. package/lib/parsers/creditManagerParser.js +12 -30
  67. package/lib/parsers/curveAdapterParser.js +60 -78
  68. package/lib/parsers/curveAdapterParser.spec.js +20 -27
  69. package/lib/parsers/dataCompressorParser.js +12 -30
  70. package/lib/parsers/lidoAdapterParser.js +15 -33
  71. package/lib/parsers/lidoAdapterParser.spec.js +9 -9
  72. package/lib/parsers/lidoOracleParser.js +12 -30
  73. package/lib/parsers/lidoSTETHParser.js +19 -37
  74. package/lib/parsers/multicallParser.js +16 -34
  75. package/lib/parsers/offchainOracleParser.js +13 -31
  76. package/lib/parsers/poolParser.js +11 -29
  77. package/lib/parsers/priceOracleParser.js +13 -31
  78. package/lib/parsers/txParser.js +86 -96
  79. package/lib/parsers/uniV2AdapterParser.js +35 -55
  80. package/lib/parsers/uniV2AdapterParser.spec.js +15 -16
  81. package/lib/parsers/uniV3AdapterParser.js +56 -74
  82. package/lib/parsers/uniV3AdapterParser.spec.js +23 -24
  83. package/lib/parsers/wstETHAdapterParser.js +25 -43
  84. package/lib/parsers/wstETHAdapterParser.spec.js +11 -11
  85. package/lib/parsers/yearnAdapterParser.spec.js +17 -17
  86. package/lib/parsers/yearnV2AdapterParser.js +25 -43
  87. package/lib/pathfinder/core.d.ts +3 -4
  88. package/lib/pathfinder/pathOptions.js +52 -101
  89. package/lib/pathfinder/pathOptions.spec.js +55 -57
  90. package/lib/pathfinder/pathfinder.d.ts +3 -3
  91. package/lib/pathfinder/pathfinder.js +109 -202
  92. package/lib/pathfinder/pathfinder.spec.js +13 -13
  93. package/lib/strategies/convex.js +111 -123
  94. package/lib/strategies/creditFacade.js +34 -37
  95. package/lib/strategies/curve.js +74 -80
  96. package/lib/strategies/lido.js +26 -32
  97. package/lib/strategies/uniswapV2.js +21 -24
  98. package/lib/strategies/uniswapV3.js +33 -36
  99. package/lib/strategies/yearn.js +47 -59
  100. package/lib/tokens/balancer.js +3 -5
  101. package/lib/tokens/convex.js +14 -29
  102. package/lib/tokens/curveLP.js +22 -28
  103. package/lib/tokens/gear.js +1 -1
  104. package/lib/tokens/normal.js +3 -5
  105. package/lib/tokens/token.js +29 -35
  106. package/lib/tokens/tokenData.d.ts +0 -9
  107. package/lib/tokens/tokenData.js +17 -15
  108. package/lib/tokens/yearn.js +3 -5
  109. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorInterface__factory.js +9 -12
  110. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface__factory.js +9 -12
  111. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface__factory.js +9 -12
  112. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IACL.sol/IACLEvents__factory.js +9 -12
  113. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IACL.sol/IACLExceptions__factory.js +9 -12
  114. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IACL.sol/IACL__factory.js +9 -12
  115. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAccountFactory.sol/IAccountFactoryEvents__factory.js +9 -12
  116. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAccountFactory.sol/IAccountFactoryGetters__factory.js +9 -12
  117. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAccountFactory.sol/IAccountFactory__factory.js +9 -12
  118. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAddressProvider.sol/IAddressProviderEvents__factory.js +9 -12
  119. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAddressProvider.sol/IAddressProvider__factory.js +9 -12
  120. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +9 -12
  121. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IAirdropDistributor.sol/IAirdropDistributor__factory.js +9 -12
  122. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IContractsRegister.sol/IContractsRegisterEvents__factory.js +9 -12
  123. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IContractsRegister.sol/IContractsRegister__factory.js +9 -12
  124. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditAccount.sol/ICrediAccountExceptions__factory.js +9 -12
  125. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditAccount.sol/ICreditAccount__factory.js +9 -12
  126. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorEvents__factory.js +9 -12
  127. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorExceptions__factory.js +9 -12
  128. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfigurator__factory.js +9 -12
  129. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeEvents__factory.js +9 -12
  130. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExceptions__factory.js +9 -12
  131. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExtended__factory.js +9 -12
  132. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacade__factory.js +9 -12
  133. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Events__factory.js +9 -12
  134. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2Exceptions__factory.js +9 -12
  135. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditManagerV2.sol/ICreditManagerV2__factory.js +9 -12
  136. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDataCompressor.sol/IDataCompressorExceptions__factory.js +9 -12
  137. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDataCompressor.sol/IDataCompressor__factory.js +9 -12
  138. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +9 -12
  139. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDegenDistributor.sol/IDegenDistributor__factory.js +9 -12
  140. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDegenNFT.sol/IDegenNFTEvents__factory.js +9 -12
  141. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDegenNFT.sol/IDegenNFTExceptions__factory.js +9 -12
  142. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDegenNFT.sol/IDegenNFT__factory.js +9 -12
  143. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDieselToken.sol/IDieselTokenExceptions__factory.js +9 -12
  144. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IDieselToken.sol/IDieselToken__factory.js +9 -12
  145. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IInterestRateModel__factory.js +9 -12
  146. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedEvents__factory.js +9 -12
  147. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeedExceptions__factory.js +9 -12
  148. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ILPPriceFeed.sol/ILPPriceFeed__factory.js +9 -12
  149. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPhantomERC20__factory.js +9 -12
  150. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPoolService.sol/IPoolServiceEvents__factory.js +9 -12
  151. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPoolService.sol/IPoolService__factory.js +9 -12
  152. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPriceFeedType__factory.js +9 -12
  153. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Events__factory.js +9 -12
  154. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Exceptions__factory.js +9 -12
  155. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2Ext__factory.js +9 -12
  156. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IPriceOracle.sol/IPriceOracleV2__factory.js +9 -12
  157. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IVersion__factory.js +9 -12
  158. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/IWETHGateway__factory.js +9 -12
  159. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/V1/ICreditFilter__factory.js +9 -12
  160. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/V1/ICreditManager__factory.js +9 -12
  161. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IAdapter.sol/IAdapterExceptions__factory.js +9 -12
  162. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IAdapter.sol/IAdapter__factory.js +9 -12
  163. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapterExceptions__factory.js +9 -12
  164. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapter__factory.js +9 -12
  165. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/external/IWETH__factory.js +9 -12
  166. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/pool/PoolService__factory.js +27 -50
  167. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/test/interfaces/ITokenTestSuite__factory.js +9 -12
  168. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IBaseRewardPool__factory.js +9 -12
  169. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IBooster__factory.js +9 -12
  170. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IClaimZap__factory.js +9 -12
  171. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IConvexToken__factory.js +9 -12
  172. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IRewards.sol/IBasicRewards__factory.js +9 -12
  173. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/IRewards.sol/IRewards__factory.js +9 -12
  174. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/ICrvDeposit__factory.js +9 -12
  175. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/ICurveGauge__factory.js +9 -12
  176. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/ICurveVoteEscrow__factory.js +9 -12
  177. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IDeposit__factory.js +9 -12
  178. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IFeeDistro__factory.js +9 -12
  179. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IMinter__factory.js +9 -12
  180. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IPools__factory.js +9 -12
  181. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IRegistry__factory.js +9 -12
  182. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IRewardFactory__factory.js +9 -12
  183. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IRewards__factory.js +9 -12
  184. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IStaker__factory.js +9 -12
  185. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IStashFactory__factory.js +9 -12
  186. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IStash__factory.js +9 -12
  187. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/ITokenFactory__factory.js +9 -12
  188. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/ITokenMinter__factory.js +9 -12
  189. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IVestedEscrow__factory.js +9 -12
  190. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IVoting__factory.js +9 -12
  191. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/convex/Interfaces.sol/IWalletChecker__factory.js +9 -12
  192. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurvePoolStETH__factory.js +9 -12
  193. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurvePool_2.sol/ICurvePool2Assets__factory.js +9 -12
  194. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurvePool_3.sol/ICurvePool3Assets__factory.js +9 -12
  195. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurvePool_4.sol/ICurvePool4Assets__factory.js +9 -12
  196. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurvePool__factory.js +9 -12
  197. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/curve/ICurveRegistry__factory.js +9 -12
  198. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/ILidoOracle__factory.js +9 -12
  199. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/IstETH.sol/IstETHGetters__factory.js +9 -12
  200. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/IstETH.sol/IstETH__factory.js +9 -12
  201. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/IwstETH.sol/IwstETHGetters__factory.js +9 -12
  202. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/IwstETH.sol/IwstETH__factory.js +9 -12
  203. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/lido/IwstETHGateway.sol/IwstETHGateWay__factory.js +9 -12
  204. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/uniswap/IQuoter__factory.js +9 -12
  205. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/uniswap/IUniswapV2Router01__factory.js +9 -12
  206. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/uniswap/IUniswapV2Router02__factory.js +9 -12
  207. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/uniswap/IUniswapV3.sol/ISwapRouter__factory.js +9 -12
  208. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/integrations/yearn/IYVault__factory.js +9 -12
  209. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapterErrors__factory.js +9 -12
  210. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapter__factory.js +9 -12
  211. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BoosterAdapter__factory.js +9 -12
  212. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1Adapter.sol/ICurveV1AdapterExceptions__factory.js +9 -12
  213. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1Adapter.sol/ICurveV1Adapter__factory.js +9 -12
  214. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_2AssetsAdapter__factory.js +9 -12
  215. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_3AssetsAdapter__factory.js +9 -12
  216. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_4AssetsAdapter__factory.js +9 -12
  217. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.js +9 -12
  218. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.js +9 -12
  219. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/ILidoV1Adapter.sol/ILidoV1Adapter__factory.js +9 -12
  220. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/IwstETHV1Adapter__factory.js +9 -12
  221. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapPathChecker__factory.js +9 -12
  222. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +9 -12
  223. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js +9 -12
  224. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +9 -12
  225. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +9 -12
  226. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/yearn/IYearnV2Adapter__factory.js +9 -12
  227. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/test/config/SupportedContracts.sol/ISupportedContracts__factory.js +9 -12
  228. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/test/mocks/integrations/LidoMock.sol/ILidoMockEvents__factory.js +9 -12
  229. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver__factory.js +9 -12
  230. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IDepositor.sol/IDepositorOptions__factory.js +9 -12
  231. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IDepositor.sol/IDepositor__factory.js +9 -12
  232. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IGasPricer__factory.js +9 -12
  233. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/ILPWorker.sol/ILPWorkerOptions__factory.js +9 -12
  234. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/ILPWorker.sol/ILPWorker__factory.js +9 -12
  235. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IPathResolver__factory.js +9 -12
  236. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IRouterComponent__factory.js +9 -12
  237. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IRouter__factory.js +9 -12
  238. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/ISwapAggregator__factory.js +9 -12
  239. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/ISwapper__factory.js +9 -12
  240. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IWithdrawer.sol/IWithdrawerOptions__factory.js +9 -12
  241. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IWithdrawer.sol/IWithdrawer__factory.js +9 -12
  242. package/lib/types/factories/@gearbox-protocol/router/contracts/interfaces/IWrapper__factory.js +9 -12
  243. package/lib/types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.js +9 -12
  244. package/lib/types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.js +9 -12
  245. package/lib/types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.js +9 -12
  246. package/lib/types/factories/@openzeppelin/contracts/token/ERC721/IERC721__factory.js +9 -12
  247. package/lib/types/factories/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata__factory.js +9 -12
  248. package/lib/types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js +9 -12
  249. package/lib/types/factories/contracts/IGas__factory.js +9 -12
  250. package/lib/types/factories/contracts/IGnosisSafeSignatureValidator__factory.js +9 -12
  251. package/lib/types/factories/contracts/ITokenDistributor.sol/ITokenDistributorEvents__factory.js +9 -12
  252. package/lib/types/factories/contracts/ITokenDistributor.sol/ITokenDistributorExceptions__factory.js +9 -12
  253. package/lib/types/factories/contracts/ITokenDistributor.sol/ITokenDistributor__factory.js +9 -12
  254. package/lib/types/factories/contracts/support/IOffchainOracle__factory.js +9 -12
  255. package/lib/types/factories/contracts/support/MultiCall.sol/Multicall2__factory.js +27 -50
  256. package/lib/utils/errors.js +1 -1
  257. package/lib/utils/extracter.js +4 -4
  258. package/lib/utils/formatter.d.ts +8 -8
  259. package/lib/utils/formatter.js +73 -87
  260. package/lib/utils/loading.js +3 -3
  261. package/lib/utils/mappers.js +7 -34
  262. package/lib/utils/math.d.ts +10 -7
  263. package/lib/utils/math.js +22 -25
  264. package/lib/utils/multicall.js +32 -98
  265. package/lib/utils/price.d.ts +3 -4
  266. package/lib/utils/price.js +8 -20
  267. package/lib/utils/repeater.js +12 -53
  268. package/lib/utils/validate.js +2 -2
  269. package/lib/watchers/creditAccountWatcher.js +136 -237
  270. package/lib/watchers/creditAccountWatcher.spec.js +51 -68
  271. package/lib/watchers/creditManagerWatcher.js +21 -71
  272. package/lib/watchers/creditManagerWatcher.spec.js +20 -23
  273. package/package.json +2 -2
  274. package/lib/core/history.d.ts +0 -42
  275. package/lib/core/history.js +0 -2
  276. package/lib/core/wcOperation/abstractOperations.d.ts +0 -23
  277. package/lib/core/wcOperation/abstractOperations.js +0 -39
  278. package/lib/core/wcOperation/index.d.ts +0 -11
  279. package/lib/core/wcOperation/index.js +0 -30
  280. package/lib/core/wcOperation/operations.d.ts +0 -88
  281. package/lib/core/wcOperation/operations.js +0 -146
  282. package/lib/core/wcOperation/types.d.ts +0 -15
  283. package/lib/core/wcOperation/types.js +0 -2
@@ -1,96 +1,88 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TxParser = void 0;
4
- var adapters_1 = require("../contracts/adapters");
5
- var contracts_1 = require("../contracts/contracts");
6
- var token_1 = require("../tokens/token");
7
- var mappers_1 = require("../utils/mappers");
8
- var addressProviderParser_1 = require("./addressProviderParser");
9
- var airdropDistributorParser_1 = require("./airdropDistributorParser");
10
- var convexBaseRewardPoolAdapterParser_1 = require("./convexBaseRewardPoolAdapterParser");
11
- var convexBoosterAdapterParser_1 = require("./convexBoosterAdapterParser");
12
- var convextRewardPoolParser_1 = require("./convextRewardPoolParser");
13
- var creditFacadeParser_1 = require("./creditFacadeParser");
14
- var creditManagerParser_1 = require("./creditManagerParser");
15
- var curveAdapterParser_1 = require("./curveAdapterParser");
16
- var dataCompressorParser_1 = require("./dataCompressorParser");
17
- var ERC20Parser_1 = require("./ERC20Parser");
18
- var lidoAdapterParser_1 = require("./lidoAdapterParser");
19
- var lidoOracleParser_1 = require("./lidoOracleParser");
20
- var lidoSTETHParser_1 = require("./lidoSTETHParser");
21
- var multicallParser_1 = require("./multicallParser");
22
- var offchainOracleParser_1 = require("./offchainOracleParser");
23
- var poolParser_1 = require("./poolParser");
24
- var priceOracleParser_1 = require("./priceOracleParser");
25
- var uniV2AdapterParser_1 = require("./uniV2AdapterParser");
26
- var uniV3AdapterParser_1 = require("./uniV3AdapterParser");
27
- var wstETHAdapterParser_1 = require("./wstETHAdapterParser");
28
- var yearnV2AdapterParser_1 = require("./yearnV2AdapterParser");
29
- var TxParser = /** @class */ (function () {
30
- function TxParser() {
31
- }
32
- TxParser.parse = function (address, calldata) {
33
- var parser = TxParser.getParser(address);
4
+ const adapters_1 = require("../contracts/adapters");
5
+ const contracts_1 = require("../contracts/contracts");
6
+ const token_1 = require("../tokens/token");
7
+ const mappers_1 = require("../utils/mappers");
8
+ const addressProviderParser_1 = require("./addressProviderParser");
9
+ const airdropDistributorParser_1 = require("./airdropDistributorParser");
10
+ const convexBaseRewardPoolAdapterParser_1 = require("./convexBaseRewardPoolAdapterParser");
11
+ const convexBoosterAdapterParser_1 = require("./convexBoosterAdapterParser");
12
+ const convextRewardPoolParser_1 = require("./convextRewardPoolParser");
13
+ const creditFacadeParser_1 = require("./creditFacadeParser");
14
+ const creditManagerParser_1 = require("./creditManagerParser");
15
+ const curveAdapterParser_1 = require("./curveAdapterParser");
16
+ const dataCompressorParser_1 = require("./dataCompressorParser");
17
+ const ERC20Parser_1 = require("./ERC20Parser");
18
+ const lidoAdapterParser_1 = require("./lidoAdapterParser");
19
+ const lidoOracleParser_1 = require("./lidoOracleParser");
20
+ const lidoSTETHParser_1 = require("./lidoSTETHParser");
21
+ const multicallParser_1 = require("./multicallParser");
22
+ const offchainOracleParser_1 = require("./offchainOracleParser");
23
+ const poolParser_1 = require("./poolParser");
24
+ const priceOracleParser_1 = require("./priceOracleParser");
25
+ const uniV2AdapterParser_1 = require("./uniV2AdapterParser");
26
+ const uniV3AdapterParser_1 = require("./uniV3AdapterParser");
27
+ const wstETHAdapterParser_1 = require("./wstETHAdapterParser");
28
+ const yearnV2AdapterParser_1 = require("./yearnV2AdapterParser");
29
+ class TxParser {
30
+ static parsers = {};
31
+ static parse(address, calldata) {
32
+ const parser = TxParser.getParser(address);
34
33
  return parser.parse(calldata);
35
- };
36
- TxParser.parseToObject = function (address, calldata) {
37
- var parser = TxParser.getParser(address);
34
+ }
35
+ static parseToObject(address, calldata) {
36
+ const parser = TxParser.getParser(address);
38
37
  return parser.parseToObject(address, calldata);
39
- };
40
- TxParser.getParseData = function (address) {
41
- var parser = TxParser.getParser(address);
38
+ }
39
+ static getParseData(address) {
40
+ const parser = TxParser.getParser(address);
42
41
  return { contract: parser.contract, adapterName: parser.adapterName };
43
- };
44
- TxParser.parseMultiCall = function (calls) {
45
- return calls.map(function (call) {
46
- return TxParser.parse(call.target, call.callData.toString());
47
- });
48
- };
49
- TxParser.parseToObjectMultiCall = function (calls) {
50
- return calls.map(function (call) {
51
- return TxParser.parseToObject(call.target, call.callData.toString());
52
- });
53
- };
54
- TxParser.addAdapters = function (adapters) {
55
- for (var _i = 0, adapters_2 = adapters; _i < adapters_2.length; _i++) {
56
- var a = adapters_2[_i];
57
- var contract = contracts_1.contractsByAddress[a.contract.toLowerCase()];
42
+ }
43
+ static parseMultiCall(calls) {
44
+ return calls.map(call => TxParser.parse(call.target, call.callData.toString()));
45
+ }
46
+ static parseToObjectMultiCall(calls) {
47
+ return calls.map(call => TxParser.parseToObject(call.target, call.callData.toString()));
48
+ }
49
+ static addAdapters(adapters) {
50
+ for (let a of adapters) {
51
+ const contract = contracts_1.contractsByAddress[a.contract.toLowerCase()];
58
52
  if (contract && contracts_1.contractParams[contract]) {
59
53
  TxParser.chooseContractParser(a.adapter, contract, contracts_1.contractParams[contract].type, false);
60
54
  }
61
55
  else {
62
- console.error("Unknown address: ".concat(contract, " at ").concat(a.contract));
56
+ console.error(`Unknown address: ${contract} at ${a.contract}`);
63
57
  }
64
58
  }
65
- };
66
- TxParser.addContracts = function (network) {
67
- (0, mappers_1.objectEntries)(contracts_1.contractParams).forEach(function (_a) {
68
- var contract = _a[0], contractData = _a[1];
69
- var address = contracts_1.contractsByNetwork[network][contract];
59
+ }
60
+ static addContracts(network) {
61
+ (0, mappers_1.objectEntries)(contracts_1.contractParams).forEach(([contract, contractData]) => {
62
+ const address = contracts_1.contractsByNetwork[network][contract];
70
63
  TxParser.chooseContractParser(address, contract, contractData.type, true);
71
64
  if (contractData.type === adapters_1.AdapterInterface.CONVEX_V1_BASE_REWARD_POOL) {
72
- contractData.extraRewards.forEach(function (r) {
73
- var extraAddress = r.poolAddress[network];
65
+ contractData.extraRewards.forEach(r => {
66
+ const extraAddress = r.poolAddress[network];
74
67
  TxParser._addParser(extraAddress, new convextRewardPoolParser_1.ConvexRewardPoolParser(r.rewardToken));
75
68
  });
76
69
  }
77
70
  if (contractData.type === adapters_1.AdapterInterface.LIDO_V1) {
78
- var extraAddress = contractData.oracle[network];
71
+ const extraAddress = contractData.oracle[network];
79
72
  TxParser._addParser(extraAddress, new lidoOracleParser_1.LidoOracleParser());
80
73
  }
81
74
  });
82
- };
83
- TxParser.addCreditFacade = function (creditFacade, underlying) {
75
+ }
76
+ static addCreditFacade(creditFacade, underlying) {
84
77
  TxParser._addParser(creditFacade, new creditFacadeParser_1.CreditFacadeParser(underlying));
85
- };
86
- TxParser.addTokens = function (network) {
87
- (0, mappers_1.objectEntries)(token_1.tokenDataByNetwork[network]).forEach(function (_a) {
88
- var s = _a[0], t = _a[1];
78
+ }
79
+ static addTokens(network) {
80
+ (0, mappers_1.objectEntries)(token_1.tokenDataByNetwork[network]).forEach(([s, t]) => {
89
81
  if (s === "STETH") {
90
82
  TxParser._addParser(t, new lidoSTETHParser_1.LidoSTETHParser(s));
91
83
  }
92
84
  else {
93
- var contract = contracts_1.contractsByAddress[t.toLowerCase()];
85
+ const contract = contracts_1.contractsByAddress[t.toLowerCase()];
94
86
  if (contract) {
95
87
  TxParser.chooseContractParser(t, contract, contracts_1.contractParams[contract].type, true);
96
88
  }
@@ -99,39 +91,39 @@ var TxParser = /** @class */ (function () {
99
91
  }
100
92
  }
101
93
  });
102
- };
103
- TxParser.addOffchainOracleParser = function (address) {
94
+ }
95
+ static addOffchainOracleParser(address) {
104
96
  TxParser._addParser(address, new offchainOracleParser_1.OffchainOracleParserParser());
105
- };
106
- TxParser.addPriceOracle = function (address) {
97
+ }
98
+ static addPriceOracle(address) {
107
99
  TxParser._addParser(address, new priceOracleParser_1.PriceOracleParser());
108
- };
109
- TxParser.addDataCompressor = function (address) {
100
+ }
101
+ static addDataCompressor(address) {
110
102
  TxParser._addParser(address, new dataCompressorParser_1.DataCompressorParser());
111
- };
112
- TxParser.addAddressProvider = function (address) {
103
+ }
104
+ static addAddressProvider(address) {
113
105
  TxParser._addParser(address, new addressProviderParser_1.AddressProviderParser());
114
- };
115
- TxParser.addMulticall = function (address) {
106
+ }
107
+ static addMulticall(address) {
116
108
  TxParser._addParser(address, new multicallParser_1.MulticallParser());
117
- };
118
- TxParser.addAirdropDistributor = function (address) {
109
+ }
110
+ static addAirdropDistributor(address) {
119
111
  TxParser._addParser(address, new airdropDistributorParser_1.AirdropDistributorParser());
120
- };
121
- TxParser.addCreditManager = function (address, version) {
112
+ }
113
+ static addCreditManager(address, version) {
122
114
  TxParser._addParser(address, new creditManagerParser_1.CreditManagerParser(version));
123
- };
124
- TxParser.addPool = function (address, version) {
115
+ }
116
+ static addPool(address, version) {
125
117
  TxParser._addParser(address, new poolParser_1.PoolParser(version));
126
- };
127
- TxParser.getParser = function (address) {
128
- var parser = TxParser.parsers[address.toLowerCase()];
118
+ }
119
+ static getParser(address) {
120
+ const parser = TxParser.parsers[address.toLowerCase()];
129
121
  if (!parser)
130
- throw new Error("Can find parser for ".concat(address));
122
+ throw new Error(`Can find parser for ${address}`);
131
123
  return parser;
132
- };
133
- TxParser.chooseContractParser = function (address, contract, adapterType, isContract) {
134
- var addressLC = address.toLowerCase();
124
+ }
125
+ static chooseContractParser(address, contract, adapterType, isContract) {
126
+ const addressLC = address.toLowerCase();
135
127
  switch (adapters_1.AdapterInterface[adapterType]) {
136
128
  case "UNISWAP_V2_ROUTER":
137
129
  TxParser._addParser(addressLC, new uniV2AdapterParser_1.UniswapV2AdapterParser(contract, isContract));
@@ -165,11 +157,9 @@ var TxParser = /** @class */ (function () {
165
157
  TxParser._addParser(addressLC, new wstETHAdapterParser_1.WstETHAdapterParser(contract, isContract));
166
158
  break;
167
159
  }
168
- };
169
- TxParser._addParser = function (address, parser) {
160
+ }
161
+ static _addParser(address, parser) {
170
162
  TxParser.parsers[address.toLowerCase()] = parser;
171
- };
172
- TxParser.parsers = {};
173
- return TxParser;
174
- }());
163
+ }
164
+ }
175
165
  exports.TxParser = TxParser;
@@ -1,73 +1,53 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.UniswapV2AdapterParser = void 0;
19
- var types_1 = require("../types");
20
- var formatter_1 = require("../utils/formatter");
21
- var abstractParser_1 = require("./abstractParser");
22
- var UniswapV2AdapterParser = /** @class */ (function (_super) {
23
- __extends(UniswapV2AdapterParser, _super);
24
- function UniswapV2AdapterParser(contract, isContract) {
25
- var _this = _super.call(this, contract) || this;
26
- _this.ifc = types_1.IUniswapV2Adapter__factory.createInterface();
4
+ const types_1 = require("../types");
5
+ const formatter_1 = require("../utils/formatter");
6
+ const abstractParser_1 = require("./abstractParser");
7
+ class UniswapV2AdapterParser extends abstractParser_1.AbstractParser {
8
+ constructor(contract, isContract) {
9
+ super(contract);
10
+ this.ifc = types_1.IUniswapV2Adapter__factory.createInterface();
27
11
  if (!isContract)
28
- _this.adapterName = "UniswapV2Adapter";
29
- return _this;
12
+ this.adapterName = "UniswapV2Adapter";
30
13
  }
31
- UniswapV2AdapterParser.prototype.parse = function (calldata) {
14
+ parse(calldata) {
32
15
  return this._parse(calldata);
33
- };
34
- // parseTxInfo(calldata: string): TxInfo {}
35
- UniswapV2AdapterParser.prototype._parse = function (calldata) {
36
- var _this = this;
37
- var _a = this.parseSelector(calldata), functionFragment = _a.functionFragment, functionName = _a.functionName;
16
+ }
17
+ _parse(calldata) {
18
+ const { functionFragment, functionName } = this.parseSelector(calldata);
38
19
  switch (functionFragment.name) {
39
20
  case "swapExactTokensForTokens": {
40
- var _b = this.decodeFunctionData(functionFragment, calldata), amountIn = _b[0], amountOutMin = _b[1], path = _b[2];
41
- var pathStr = path
42
- .map(function (r) { return _this.tokenSymbol(r); })
21
+ const [amountIn, amountOutMin, path] = this.decodeFunctionData(functionFragment, calldata);
22
+ const pathStr = path
23
+ .map(r => this.tokenSymbol(r))
43
24
  .join(" => ");
44
- var tokenIn = this.tokenSymbol(path[0]);
45
- var tokenOut = this.tokenSymbol(path[path.length - 1]);
46
- var amountInStr = this.formatBN(amountIn, tokenIn);
47
- var amountOutStr = this.formatBN(amountOutMin, tokenOut);
48
- return "".concat(functionName, "(amountIn: ").concat(amountInStr, ", amountOutMin: ").concat(amountOutStr, ", path: [").concat(pathStr, "])");
25
+ const tokenIn = this.tokenSymbol(path[0]);
26
+ const tokenOut = this.tokenSymbol(path[path.length - 1]);
27
+ const amountInStr = this.formatBN(amountIn, tokenIn);
28
+ const amountOutStr = this.formatBN(amountOutMin, tokenOut);
29
+ return `${functionName}(amountIn: ${amountInStr}, amountOutMin: ${amountOutStr}, path: [${pathStr}])`;
49
30
  }
50
31
  case "swapTokensForExactTokens": {
51
- var _c = this.decodeFunctionData(functionFragment, calldata), amountOut = _c[0], amountInMax = _c[1], path = _c[2];
52
- var pathStr = path
53
- .map(function (r) { return _this.tokenSymbol(r); })
32
+ const [amountOut, amountInMax, path] = this.decodeFunctionData(functionFragment, calldata);
33
+ const pathStr = path
34
+ .map(r => this.tokenSymbol(r))
54
35
  .join(" => ");
55
- var tokenIn = this.tokenSymbol(path[0]);
56
- var tokenOut = this.tokenSymbol(path[path.length - 1]);
57
- var amountOutStr = this.formatBN(amountOut, tokenIn);
58
- var amountInMaxStr = this.formatBN(amountInMax, tokenOut);
59
- return "".concat(functionName, "(amountOut: ").concat(amountOutStr, ", amountInMax: ").concat(amountInMaxStr, ", path: [").concat(pathStr, "])");
36
+ const tokenIn = this.tokenSymbol(path[0]);
37
+ const tokenOut = this.tokenSymbol(path[path.length - 1]);
38
+ const amountOutStr = this.formatBN(amountOut, tokenIn);
39
+ const amountInMaxStr = this.formatBN(amountInMax, tokenOut);
40
+ return `${functionName}(amountOut: ${amountOutStr}, amountInMax: ${amountInMaxStr}, path: [${pathStr}])`;
60
41
  }
61
42
  case "swapAllTokensForTokens": {
62
- var _d = this.decodeFunctionData(functionFragment, calldata), rateMinRAY = _d[0], path = _d[1];
63
- return "".concat(functionName, "(rate: ").concat((0, formatter_1.formatBN)(rateMinRAY, 27), ", path: [").concat(path
64
- .map(function (r) { return _this.tokenSymbol(r); })
65
- .join(" => "), "])");
43
+ const [rateMinRAY, path] = this.decodeFunctionData(functionFragment, calldata);
44
+ return `${functionName}(rate: ${(0, formatter_1.formatBN)(rateMinRAY, 27)}, path: [${path
45
+ .map(r => this.tokenSymbol(r))
46
+ .join(" => ")}])`;
66
47
  }
67
48
  default:
68
- return "".concat(functionName, ": Unknown operation ").concat(functionFragment.name, " with calldata ").concat(calldata);
49
+ return `${functionName}: Unknown operation ${functionFragment.name} with calldata ${calldata}`;
69
50
  }
70
- };
71
- return UniswapV2AdapterParser;
72
- }(abstractParser_1.AbstractParser));
51
+ }
52
+ }
73
53
  exports.UniswapV2AdapterParser = UniswapV2AdapterParser;
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var chai_1 = require("chai");
4
- var ethers_1 = require("ethers");
5
- var constants_1 = require("../core/constants");
6
- var token_1 = require("../tokens/token");
7
- var types_1 = require("../types");
8
- var uniV2AdapterParser_1 = require("./uniV2AdapterParser");
9
- describe("UniswapV2AdapterParser test", function () {
10
- it("swap functions works well", function () {
11
- var parser = new uniV2AdapterParser_1.UniswapV2AdapterParser("UNISWAP_V2_ROUTER", false);
12
- var ifc = types_1.IUniswapV2Adapter__factory.createInterface();
13
- var parsed = parser.parse(ifc.encodeFunctionData("swapExactTokensForTokens", [
14
- constants_1.WAD.mul(180000),
15
- ethers_1.BigNumber.from(1e6).mul(45),
3
+ const chai_1 = require("chai");
4
+ const constants_1 = require("../core/constants");
5
+ const token_1 = require("../tokens/token");
6
+ const types_1 = require("../types");
7
+ const uniV2AdapterParser_1 = require("./uniV2AdapterParser");
8
+ describe("UniswapV2AdapterParser test", () => {
9
+ it("swap functions works well", () => {
10
+ let parser = new uniV2AdapterParser_1.UniswapV2AdapterParser("UNISWAP_V2_ROUTER", false);
11
+ const ifc = types_1.IUniswapV2Adapter__factory.createInterface();
12
+ let parsed = parser.parse(ifc.encodeFunctionData("swapExactTokensForTokens", [
13
+ constants_1.WAD * 180000n,
14
+ BigInt(1e6) * 45n,
16
15
  [
17
16
  token_1.tokenDataByNetwork.Mainnet.DAI,
18
17
  token_1.tokenDataByNetwork.Mainnet.WETH,
@@ -23,8 +22,8 @@ describe("UniswapV2AdapterParser test", function () {
23
22
  ]));
24
23
  (0, chai_1.expect)(parsed).to.be.eq("UniswapV2Adapter[UNISWAP_V2_ROUTER].swapExactTokensForTokens(amountIn: 180.00K [180000000000000000000000], amountOutMin: 45.00 [45000000], path: [DAI => WETH => USDC])", "Incorrect parse swapExactTokensForTokens");
25
24
  parsed = parser.parse(ifc.encodeFunctionData("swapTokensForExactTokens", [
26
- ethers_1.BigNumber.from(1e6).mul(234500),
27
- constants_1.WAD.mul(17700),
25
+ BigInt(1e6) * 234500n,
26
+ constants_1.WAD * 17700n,
28
27
  [
29
28
  token_1.tokenDataByNetwork.Mainnet.USDC,
30
29
  token_1.tokenDataByNetwork.Mainnet.DAI,
@@ -35,7 +34,7 @@ describe("UniswapV2AdapterParser test", function () {
35
34
  ]));
36
35
  (0, chai_1.expect)(parsed).to.be.eq("UniswapV2Adapter[UNISWAP_V2_ROUTER].swapTokensForExactTokens(amountOut: 234.50K [234500000000], amountInMax: 17.70K [17700000000000000000000], path: [USDC => DAI => FRAX])", "Incorrect parse swapTokensForExactTokens");
37
36
  parsed = parser.parse(ifc.encodeFunctionData("swapAllTokensForTokens", [
38
- constants_1.RAY.mul(3240),
37
+ constants_1.RAY * 3240n,
39
38
  [
40
39
  token_1.tokenDataByNetwork.Mainnet.USDC,
41
40
  token_1.tokenDataByNetwork.Mainnet.DAI,
@@ -1,111 +1,93 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.UniswapV3AdapterParser = void 0;
19
- var types_1 = require("../types");
20
- var formatter_1 = require("../utils/formatter");
21
- var abstractParser_1 = require("./abstractParser");
22
- var UniswapV3AdapterParser = /** @class */ (function (_super) {
23
- __extends(UniswapV3AdapterParser, _super);
24
- function UniswapV3AdapterParser(contract, isContract) {
25
- var _this = _super.call(this, contract) || this;
26
- _this.ifc = types_1.IUniswapV3Adapter__factory.createInterface();
4
+ const types_1 = require("../types");
5
+ const formatter_1 = require("../utils/formatter");
6
+ const abstractParser_1 = require("./abstractParser");
7
+ class UniswapV3AdapterParser extends abstractParser_1.AbstractParser {
8
+ constructor(contract, isContract) {
9
+ super(contract);
10
+ this.ifc = types_1.IUniswapV3Adapter__factory.createInterface();
27
11
  if (!isContract)
28
- _this.adapterName = "UniswapV3Adapter";
29
- return _this;
12
+ this.adapterName = "UniswapV3Adapter";
30
13
  }
31
- UniswapV3AdapterParser.prototype.parse = function (calldata) {
32
- var _a = this.parseSelector(calldata), functionFragment = _a.functionFragment, functionName = _a.functionName;
14
+ parse(calldata) {
15
+ const { functionFragment, functionName } = this.parseSelector(calldata);
33
16
  switch (functionFragment.name) {
34
17
  case "exactInputSingle": {
35
- var _b = this.decodeFunctionData(functionFragment, calldata)[0], tokenIn = _b[0], tokenOut = _b[1], fee = _b[2], amountIn = _b[5], amountOutMinimum = _b[6];
36
- var tokenInSym = this.tokenSymbol(tokenIn);
37
- var tokenOutSym = this.tokenSymbol(tokenOut);
38
- var amountInStr = this.formatBN(amountIn, tokenIn);
39
- var amountOutMinimumStr = this.formatBN(amountOutMinimum, tokenOut);
40
- return "".concat(functionName, "(amountIn: ").concat(amountInStr, ", amountOutMinimum: ").concat(amountOutMinimumStr, ", path: ").concat(tokenInSym, " ==(fee: ").concat(fee, ")==> ").concat(tokenOutSym, ")");
18
+ const [[tokenIn, tokenOut, fee, , , amountIn, amountOutMinimum]] = this.decodeFunctionData(functionFragment, calldata);
19
+ const tokenInSym = this.tokenSymbol(tokenIn);
20
+ const tokenOutSym = this.tokenSymbol(tokenOut);
21
+ const amountInStr = this.formatBN(amountIn, tokenIn);
22
+ const amountOutMinimumStr = this.formatBN(amountOutMinimum, tokenOut);
23
+ return `${functionName}(amountIn: ${amountInStr}, amountOutMinimum: ${amountOutMinimumStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`;
41
24
  }
42
25
  case "exactAllInputSingle": {
43
- var _c = this.decodeFunctionData(functionFragment, calldata).params, tokenIn = _c.tokenIn, tokenOut = _c.tokenOut, fee = _c.fee, rateMinRAY = _c.rateMinRAY;
44
- var tokenInSym = this.tokenSymbol(tokenIn);
45
- var tokenOutSym = this.tokenSymbol(tokenOut);
46
- return "".concat(functionName, "(rate: ").concat((0, formatter_1.formatBN)(rateMinRAY, 27), ", path: ").concat(tokenInSym, " ==(fee: ").concat(fee, ")==> ").concat(tokenOutSym, ")");
26
+ const { params: { tokenIn, tokenOut, fee, rateMinRAY }, } = this.decodeFunctionData(functionFragment, calldata);
27
+ const tokenInSym = this.tokenSymbol(tokenIn);
28
+ const tokenOutSym = this.tokenSymbol(tokenOut);
29
+ return `${functionName}(rate: ${(0, formatter_1.formatBN)(rateMinRAY, 27)}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`;
47
30
  }
48
31
  case "exactInput": {
49
- var _d = this.decodeFunctionData(functionFragment, calldata).params, amountIn = _d.amountIn, amountOutMinimum = _d.amountOutMinimum, path = _d.path;
50
- var pathStr = this.trackInputPath(path);
51
- var amountInStr = this.formatBN(amountIn, this.tokenSymbol("0x".concat(path.replace("0x", "").slice(0, 40))));
52
- var amountOutMinimumStr = this.formatBN(amountOutMinimum, this.tokenSymbol("0x".concat(path.slice(-40, path.length))));
53
- return "".concat(functionName, "(amountIn: ").concat(amountInStr, ", amountOutMinimum: ").concat(amountOutMinimumStr, ", path: ").concat(pathStr);
32
+ const { params: { amountIn, amountOutMinimum, path }, } = this.decodeFunctionData(functionFragment, calldata);
33
+ const pathStr = this.trackInputPath(path);
34
+ const amountInStr = this.formatBN(amountIn, this.tokenSymbol(`0x${path.replace("0x", "").slice(0, 40)}`));
35
+ const amountOutMinimumStr = this.formatBN(amountOutMinimum, this.tokenSymbol(`0x${path.slice(-40, path.length)}`));
36
+ return `${functionName}(amountIn: ${amountInStr}, amountOutMinimum: ${amountOutMinimumStr}, path: ${pathStr}`;
54
37
  }
55
38
  case "exactAllInput": {
56
- var _e = this.decodeFunctionData(functionFragment, calldata).params, rateMinRAY = _e.rateMinRAY, path = _e.path;
57
- var pathStr = this.trackInputPath(path);
58
- return "".concat(functionName, "(rate: ").concat((0, formatter_1.formatBN)(rateMinRAY, 27), ", path: ").concat(pathStr);
39
+ const { params: { rateMinRAY, path }, } = this.decodeFunctionData(functionFragment, calldata);
40
+ const pathStr = this.trackInputPath(path);
41
+ return `${functionName}(rate: ${(0, formatter_1.formatBN)(rateMinRAY, 27)}, path: ${pathStr}`;
59
42
  }
60
43
  case "exactOutput": {
61
- var _f = this.decodeFunctionData(functionFragment, calldata).params, amountInMaximum = _f.amountInMaximum, amountOut = _f.amountOut, path = _f.path;
62
- var pathStr = this.trackOutputPath(path);
63
- var amountInMaximumStr = this.formatBN(amountInMaximum, this.tokenSymbol("0x".concat(path.slice(-40, path.length))));
64
- var amountOutStr = this.formatBN(amountOut, this.tokenSymbol("0x".concat(path.replace("0x", "").slice(0, 40))));
65
- return "".concat(functionName, "(amountInMaximum: ").concat(amountInMaximumStr, ", amountOut: ").concat(amountOutStr, ", path: ").concat(pathStr);
44
+ const { params: { amountInMaximum, amountOut, path }, } = this.decodeFunctionData(functionFragment, calldata);
45
+ const pathStr = this.trackOutputPath(path);
46
+ const amountInMaximumStr = this.formatBN(amountInMaximum, this.tokenSymbol(`0x${path.slice(-40, path.length)}`));
47
+ const amountOutStr = this.formatBN(amountOut, this.tokenSymbol(`0x${path.replace("0x", "").slice(0, 40)}`));
48
+ return `${functionName}(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${pathStr}`;
66
49
  }
67
50
  case "exactOutputSingle": {
68
- var _g = this.decodeFunctionData(functionFragment, calldata)[0], tokenIn = _g[0], tokenOut = _g[1], fee = _g[2], amountOut = _g[5], amountInMaximum = _g[6];
69
- var tokenInSym = this.tokenSymbol(tokenIn);
70
- var tokenOutSym = this.tokenSymbol(tokenOut);
71
- var amountInMaximumStr = this.formatBN(amountInMaximum, tokenInSym);
72
- var amountOutStr = this.formatBN(amountOut, tokenOutSym);
73
- return "".concat(functionName, "(amountInMaximum: ").concat(amountInMaximumStr, ", amountOut: ").concat(amountOutStr, ", path: ").concat(tokenInSym, " ==(fee: ").concat(fee, ")==> ").concat(tokenOutSym, ")");
51
+ const [[tokenIn, tokenOut, fee, , , amountOut, amountInMaximum]] = this.decodeFunctionData(functionFragment, calldata);
52
+ const tokenInSym = this.tokenSymbol(tokenIn);
53
+ const tokenOutSym = this.tokenSymbol(tokenOut);
54
+ const amountInMaximumStr = this.formatBN(amountInMaximum, tokenInSym);
55
+ const amountOutStr = this.formatBN(amountOut, tokenOutSym);
56
+ return `${functionName}(amountInMaximum: ${amountInMaximumStr}, amountOut: ${amountOutStr}, path: ${tokenInSym} ==(fee: ${fee})==> ${tokenOutSym})`;
74
57
  }
75
58
  default:
76
- return "".concat(functionName, ": Unknown operation ").concat(functionFragment.name, " with calldata ").concat(calldata);
59
+ return `${functionName}: Unknown operation ${functionFragment.name} with calldata ${calldata}`;
77
60
  }
78
- };
79
- UniswapV3AdapterParser.prototype.trackInputPath = function (path) {
80
- var result = "";
81
- var pointer = path.startsWith("0x") ? 2 : 0;
61
+ }
62
+ trackInputPath(path) {
63
+ let result = "";
64
+ let pointer = path.startsWith("0x") ? 2 : 0;
82
65
  while (pointer <= path.length - 40) {
83
- var from = "0x".concat(path.slice(pointer, pointer + 40)).toLowerCase();
66
+ const from = `0x${path.slice(pointer, pointer + 40)}`.toLowerCase();
84
67
  result += this.tokenSymbol(from) || from;
85
68
  pointer += 40;
86
69
  if (pointer > path.length - 6)
87
70
  return result;
88
- var fee = parseInt(path.slice(pointer, pointer + 6), 16);
71
+ const fee = parseInt(path.slice(pointer, pointer + 6), 16);
89
72
  pointer += 6;
90
- result += " ==(fee: ".concat(fee, ")==> ");
73
+ result += ` ==(fee: ${fee})==> `;
91
74
  }
92
75
  return result;
93
- };
94
- UniswapV3AdapterParser.prototype.trackOutputPath = function (path) {
95
- var result = "";
96
- var pointer = path.length;
76
+ }
77
+ trackOutputPath(path) {
78
+ let result = "";
79
+ let pointer = path.length;
97
80
  while (pointer >= 40) {
98
81
  pointer -= 40;
99
- var from = "0x".concat(path.slice(pointer, pointer + 40));
82
+ const from = `0x${path.slice(pointer, pointer + 40)}`;
100
83
  result += this.tokenSymbol(from) || from;
101
84
  if (pointer < 6)
102
85
  return result;
103
86
  pointer -= 6;
104
- var fee = parseInt(path.slice(pointer, pointer + 6), 16);
105
- result += " ==(fee: ".concat(fee, ")==> ");
87
+ const fee = parseInt(path.slice(pointer, pointer + 6), 16);
88
+ result += ` ==(fee: ${fee})==> `;
106
89
  }
107
90
  return result;
108
- };
109
- return UniswapV3AdapterParser;
110
- }(abstractParser_1.AbstractParser));
91
+ }
92
+ }
111
93
  exports.UniswapV3AdapterParser = UniswapV3AdapterParser;