@pendle/core-v2 0.20.2-testnet → 1.0.0-mainnet

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 (454) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  11. package/build/artifacts/contracts/{interfaces/IApeStaking.sol/IApeStaking.json → LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json} +52 -70
  12. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  13. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +310 -0
  14. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  15. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +389 -0
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  34. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  45. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  50. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  70. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  73. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  75. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  77. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  81. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +5 -171
  85. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +0 -18
  89. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +32 -80
  96. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +40 -100
  98. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +16 -40
  100. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +16 -40
  103. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +104 -260
  105. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +32 -43
  109. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +4 -0
  110. package/build/artifacts/contracts/interfaces/{Balancer/IGauge.sol/IGauge.json → IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json} +33 -18
  111. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  124. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  125. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  126. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -42
  128. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +98 -171
  130. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  131. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +53 -96
  132. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  133. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  134. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  135. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +61 -116
  136. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  137. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  138. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  139. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +25 -44
  140. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  141. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  142. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  143. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +25 -44
  144. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  145. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  146. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  148. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  150. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  151. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  152. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
  153. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +224 -0
  154. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
  155. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
  156. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
  157. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +136 -0
  158. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
  159. package/build/artifacts/contracts/{interfaces/Balancer/IRateProvider.sol/IRateProvider.json → router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json} +5 -5
  160. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +9 -7
  161. package/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol +159 -0
  162. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +99 -0
  163. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +70 -0
  164. package/contracts/core/BulkSeller/BulkSeller.sol +1 -1
  165. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +3 -1
  166. package/contracts/core/libraries/ArrayLib.sol +0 -12
  167. package/contracts/core/libraries/Errors.sol +2 -19
  168. package/contracts/interfaces/ConvexCurve/IRewards.sol +0 -5
  169. package/contracts/interfaces/IPActionAddRemoveLiq.sol +1 -1
  170. package/contracts/interfaces/IPActionMintRedeem.sol +3 -2
  171. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  172. package/contracts/interfaces/IPActionSwapPTYT.sol +1 -1
  173. package/contracts/interfaces/IPActionSwapYT.sol +1 -1
  174. package/contracts/interfaces/IPFeeDistributor.sol +10 -12
  175. package/contracts/interfaces/IPFeeDistributorFactory.sol +14 -0
  176. package/contracts/offchain-helpers/MarketMathStatic.sol +88 -181
  177. package/contracts/offchain-helpers/RouterStatic.sol +72 -72
  178. package/contracts/router/ActionAddRemoveLiq.sol +2 -2
  179. package/contracts/router/ActionMintRedeem.sol +9 -7
  180. package/contracts/router/ActionSwapPT.sol +2 -2
  181. package/contracts/router/ActionSwapYT.sol +2 -2
  182. package/contracts/router/base/ActionBaseMintRedeem.sol +14 -51
  183. package/contracts/router/kyberswap/AggregationRouterHelper.sol +317 -0
  184. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
  185. package/contracts/router/kyberswap/IMultihopRouter.sol +139 -0
  186. package/contracts/router/kyberswap/KyberSwapHelper.sol +79 -0
  187. package/deployments/1-core.json +29 -0
  188. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +11 -0
  189. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +10 -0
  190. package/deployments/1-markets/STETH-JUNE29.json +10 -0
  191. package/deployments/1-markets/STETH-MARCH30.json +10 -0
  192. package/package.json +6 -6
  193. package/typechain-types/ActionAddRemoveLiq.ts +35 -41
  194. package/typechain-types/ActionBaseMintRedeem.ts +8 -8
  195. package/typechain-types/ActionMintRedeem.ts +42 -45
  196. package/typechain-types/ActionSwapPT.ts +22 -28
  197. package/typechain-types/ActionSwapYT.ts +22 -28
  198. package/typechain-types/IPActionAddRemoveLiq.ts +16 -22
  199. package/typechain-types/IPActionMintRedeem.ts +23 -26
  200. package/typechain-types/IPActionSwapPT.ts +14 -20
  201. package/typechain-types/IPActionSwapYT.ts +14 -20
  202. package/typechain-types/IPAllAction.ts +31 -34
  203. package/typechain-types/IPFeeDistributor.ts +78 -61
  204. package/typechain-types/IPFeeDistributorFactory.ts +139 -53
  205. package/typechain-types/IRewards.ts +5 -35
  206. package/typechain-types/MarketMathStatic.ts +0 -49
  207. package/typechain-types/PendleFeeDistributor.ts +117 -409
  208. package/typechain-types/RouterStatic.ts +69 -40
  209. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +56 -99
  210. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
  211. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  212. package/typechain-types/factories/ActionMintRedeem__factory.ts +64 -119
  213. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  214. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  215. package/typechain-types/factories/ActionSwapPT__factory.ts +28 -47
  216. package/typechain-types/factories/ActionSwapYT__factory.ts +28 -47
  217. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  218. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  219. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  220. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  221. package/typechain-types/factories/Errors__factory.ts +4 -170
  222. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +32 -80
  223. package/typechain-types/factories/IPActionMintRedeem__factory.ts +40 -100
  224. package/typechain-types/factories/IPActionSwapPT__factory.ts +16 -40
  225. package/typechain-types/factories/IPActionSwapYT__factory.ts +16 -40
  226. package/typechain-types/factories/IPAllAction__factory.ts +104 -260
  227. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +34 -25
  228. package/typechain-types/factories/IPFeeDistributor__factory.ts +31 -42
  229. package/typechain-types/factories/IRewards__factory.ts +0 -18
  230. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -41
  231. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  232. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  233. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  234. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  235. package/typechain-types/factories/PendleFeeDistributor__factory.ts +66 -341
  236. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  237. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  238. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  239. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  240. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  241. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  242. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  243. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  244. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  245. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  246. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  247. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  248. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  249. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  250. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  251. package/typechain-types/factories/RouterStatic__factory.ts +41 -118
  252. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  253. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  254. package/typechain-types/hardhat.d.ts +56 -263
  255. package/typechain-types/index.ts +16 -62
  256. package/README.md +0 -28
  257. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  258. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -592
  259. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +0 -4
  260. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +0 -50
  261. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +0 -4
  262. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +0 -1075
  263. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  264. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1296
  265. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  266. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1283
  267. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +0 -4
  268. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +0 -1218
  269. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +0 -4
  270. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +0 -1231
  271. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  272. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  273. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  274. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  275. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +0 -4
  276. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +0 -10
  277. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +0 -4
  278. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +0 -40
  279. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +0 -4
  280. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +0 -322
  281. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
  282. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +0 -1171
  283. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +0 -4
  284. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +0 -10
  285. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +0 -4
  286. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +0 -133
  287. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +0 -4
  288. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +0 -10
  289. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +0 -4
  290. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +0 -24
  291. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +0 -4
  292. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +0 -133
  293. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +0 -4
  294. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +0 -328
  295. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +0 -4
  296. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +0 -467
  297. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +0 -4
  298. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +0 -4
  299. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +0 -30
  300. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +0 -4
  301. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +0 -398
  302. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +0 -4
  303. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +0 -4
  304. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +0 -278
  305. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +0 -4
  306. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +0 -4
  307. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +0 -322
  308. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
  309. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
  310. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
  311. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
  312. package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.dbg.json +0 -4
  313. package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.json +0 -51
  314. package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.dbg.json +0 -4
  315. package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.json +0 -256
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
  317. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +0 -10
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  321. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +0 -359
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.json +0 -101
  326. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  327. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +0 -183
  328. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  329. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  330. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +0 -224
  331. package/contracts/core/StandardizedYield/StEthHelper.sol +0 -71
  332. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +0 -197
  333. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  334. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  335. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +0 -134
  336. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +0 -154
  337. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  338. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  339. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +0 -68
  340. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +0 -322
  341. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +0 -390
  342. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +0 -329
  343. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +0 -30
  344. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +0 -189
  345. package/contracts/interfaces/Balancer/IAsset.sol +0 -4
  346. package/contracts/interfaces/Balancer/IBalancerFees.sol +0 -6
  347. package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +0 -22
  348. package/contracts/interfaces/Balancer/IBasePool.sol +0 -30
  349. package/contracts/interfaces/Balancer/IComposableStable.sol +0 -39
  350. package/contracts/interfaces/Balancer/IGauge.sol +0 -10
  351. package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +0 -6
  352. package/contracts/interfaces/Balancer/IMetaStablePool.sol +0 -31
  353. package/contracts/interfaces/Balancer/IRateProvider.sol +0 -6
  354. package/contracts/interfaces/Balancer/IVault.sol +0 -78
  355. package/contracts/interfaces/IApeStaking.sol +0 -30
  356. package/contracts/offchain-helpers/Multicall2.sol +0 -103
  357. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +0 -45
  358. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +0 -71
  359. package/contracts/router/swap-aggregator/ISwapAggregator.sol +0 -21
  360. package/contracts/router/swap-aggregator/SwapAggregator.sol +0 -62
  361. package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +0 -302
  362. package/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol +0 -134
  363. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  364. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol +0 -185
  365. package/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol +0 -30
  366. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
  367. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -42
  368. package/deployments/43113-core.json +0 -29
  369. package/deployments/43113-helper.json +0 -3
  370. package/deployments/43113-markets/APE-30-MARCH.json +0 -10
  371. package/deployments/43113-markets/USDC-FEB-2ND.json +0 -10
  372. package/deployments/43113-markets/USDC-FEB-4TH.json +0 -10
  373. package/deployments/43113-markets/WETH-FEB-2ND.json +0 -11
  374. package/deployments/43113-markets/WETH-FEB-4TH.json +0 -11
  375. package/deployments/43113-testenv.json +0 -22
  376. package/deployments/80001-core.json +0 -28
  377. package/deployments/80001-helper.json +0 -3
  378. package/deployments/80001-markets/USDC-FEB-4TH.json +0 -10
  379. package/deployments/80001-markets/WETH-FEB-4TH.json +0 -11
  380. package/deployments/80001-testenv.json +0 -22
  381. package/typechain-types/BribeDistributor.ts +0 -363
  382. package/typechain-types/ComposableStablePreview.ts +0 -217
  383. package/typechain-types/DistributorBase.ts +0 -363
  384. package/typechain-types/FeeDistributor.ts +0 -416
  385. package/typechain-types/I1inchAggregationRouterV5.ts +0 -257
  386. package/typechain-types/IAggregationExecutor.ts +0 -182
  387. package/typechain-types/IApeStaking.ts +0 -305
  388. package/typechain-types/IBalancerFees.ts +0 -89
  389. package/typechain-types/IBalancerStablePreview.ts +0 -217
  390. package/typechain-types/IBasePool.ts +0 -482
  391. package/typechain-types/IComposableStable.ts +0 -730
  392. package/typechain-types/IExecutorHelperEthereum1.ts +0 -599
  393. package/typechain-types/IGauge.ts +0 -160
  394. package/typechain-types/IHashflow.ts +0 -159
  395. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
  396. package/typechain-types/ILiquidityGaugeFactory.ts +0 -99
  397. package/typechain-types/IMetaAggregationRouter.ts +0 -213
  398. package/typechain-types/IMetaAggregationRouterV2.ts +0 -221
  399. package/typechain-types/IMetaStablePool.ts +0 -619
  400. package/typechain-types/IMultihopRouterEthereum.ts +0 -209
  401. package/typechain-types/IRateProvider.ts +0 -81
  402. package/typechain-types/ISwapAggregator.ts +0 -124
  403. package/typechain-types/IVault.ts +0 -410
  404. package/typechain-types/MetaStableMath.ts +0 -113
  405. package/typechain-types/MetaStablePreview.ts +0 -501
  406. package/typechain-types/Multicall2.ts +0 -437
  407. package/typechain-types/PendleApeStakingSY.ts +0 -1135
  408. package/typechain-types/PendleAura3EthSY.ts +0 -1639
  409. package/typechain-types/PendleAuraBalancerStableLPSY.ts +0 -1523
  410. package/typechain-types/PendleAuraCbethWstethSY.ts +0 -1626
  411. package/typechain-types/PendleAuraWethRethSY.ts +0 -1549
  412. package/typechain-types/PendleAuraWethWstethSY.ts +0 -1562
  413. package/typechain-types/SAPE.ts +0 -1395
  414. package/typechain-types/SYBaseAutoCompound.ts +0 -1203
  415. package/typechain-types/StEthHelper.ts +0 -107
  416. package/typechain-types/StablePreviewBase.ts +0 -217
  417. package/typechain-types/SwapAggregator.ts +0 -406
  418. package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
  419. package/typechain-types/factories/ComposableStablePreview__factory.ts +0 -190
  420. package/typechain-types/factories/DistributorBase__factory.ts +0 -249
  421. package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
  422. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +0 -179
  423. package/typechain-types/factories/IAggregationExecutor__factory.ts +0 -84
  424. package/typechain-types/factories/IApeStaking__factory.ts +0 -161
  425. package/typechain-types/factories/IBalancerFees__factory.ts +0 -36
  426. package/typechain-types/factories/IBalancerStablePreview__factory.ts +0 -152
  427. package/typechain-types/factories/IBasePool__factory.ts +0 -340
  428. package/typechain-types/factories/IComposableStable__factory.ts +0 -482
  429. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -378
  430. package/typechain-types/factories/IGauge__factory.ts +0 -70
  431. package/typechain-types/factories/IHashflow__factory.ts +0 -113
  432. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
  433. package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +0 -49
  434. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +0 -234
  435. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
  436. package/typechain-types/factories/IMetaStablePool__factory.ts +0 -413
  437. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
  438. package/typechain-types/factories/IRateProvider__factory.ts +0 -36
  439. package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
  440. package/typechain-types/factories/IVault__factory.ts +0 -287
  441. package/typechain-types/factories/MetaStableMath__factory.ts +0 -93
  442. package/typechain-types/factories/MetaStablePreview__factory.ts +0 -375
  443. package/typechain-types/factories/Multicall2__factory.ts +0 -372
  444. package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
  445. package/typechain-types/factories/PendleAura3EthSY__factory.ts +0 -1365
  446. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +0 -1190
  447. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +0 -1356
  448. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
  449. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1304
  450. package/typechain-types/factories/SAPE__factory.ts +0 -1142
  451. package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
  452. package/typechain-types/factories/StEthHelper__factory.ts +0 -62
  453. package/typechain-types/factories/StablePreviewBase__factory.ts +0 -148
  454. package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
@@ -1,197 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../../SYBase.sol";
5
- import "../../../../interfaces/IApeStaking.sol";
6
-
7
- contract sAPE is SYBase {
8
- using Math for uint256;
9
-
10
- uint256 public constant APE_COIN_POOL_ID = 0;
11
- uint256 public constant MIN_APE_DEPOSIT = 10**18;
12
- uint256 public constant EPOCH_LENGTH = 1 hours;
13
- uint256 private constant MINIMUM_LIQUIDITY = 1e9;
14
-
15
- address public immutable apeStaking;
16
- address public immutable apeCoin;
17
-
18
- uint256 private lastRewardClaimedEpoch;
19
-
20
- constructor(
21
- string memory _name,
22
- string memory _symbol,
23
- address _apeCoin,
24
- address _apeStaking
25
- ) SYBase(_name, _symbol, _apeCoin) {
26
- apeStaking = _apeStaking;
27
- apeCoin = _apeCoin;
28
- lastRewardClaimedEpoch = _getCurrentEpochId();
29
- _safeApproveInf(apeCoin, apeStaking);
30
- }
31
-
32
- function wrap(uint256 amountTokenIn) external {
33
- _transferIn(apeCoin, msg.sender, amountTokenIn);
34
- uint256 amountSharesOut = _deposit(apeCoin, amountTokenIn);
35
- _mint(msg.sender, amountSharesOut);
36
- emit Deposit(msg.sender, msg.sender, apeCoin, amountTokenIn, amountSharesOut);
37
- }
38
-
39
- function unwrap(uint256 amountShares) external {
40
- _burn(msg.sender, amountShares);
41
- uint256 amountTokenOut = _redeem(msg.sender, apeCoin, amountShares);
42
- emit Redeem(msg.sender, msg.sender, apeCoin, amountShares, amountTokenOut);
43
- }
44
-
45
- function _deposit(address, uint256 amountDeposited)
46
- internal
47
- virtual
48
- override
49
- returns (uint256 amountSharesOut)
50
- {
51
- // Respecting APE's deposit invariant
52
- if (amountDeposited < MIN_APE_DEPOSIT) {
53
- revert Errors.SYApeDepositAmountTooSmall(amountDeposited);
54
- }
55
-
56
- _harvestAndCompound();
57
-
58
- // As SY Base is pulling the tokenIn first, the totalAsset should exclude user's deposit
59
- if (totalSupply() == 0) {
60
- amountSharesOut = amountDeposited - MINIMUM_LIQUIDITY;
61
- _mint(address(1), MINIMUM_LIQUIDITY);
62
- } else {
63
- uint256 priorTotalAssetOwned = getTotalAssetOwned() - amountDeposited;
64
- amountSharesOut = (amountDeposited * totalSupply()) / priorTotalAssetOwned;
65
- }
66
- }
67
-
68
- function _redeem(
69
- address receiver,
70
- address,
71
- uint256 amountSharesToRedeem
72
- ) internal virtual override returns (uint256 amountTokenOut) {
73
- _harvest();
74
-
75
- // As SY is burned before calling _redeem(), we should account for priorSupply
76
- uint256 priorTotalSupply = totalSupply() + amountSharesToRedeem;
77
-
78
- if (amountSharesToRedeem == priorTotalSupply) {
79
- amountTokenOut = getTotalAssetOwned();
80
- } else {
81
- amountTokenOut = (amountSharesToRedeem * getTotalAssetOwned()) / priorTotalSupply;
82
- }
83
-
84
- // There might be case when the contract is holding < 1 APE reward and user is withdrawing everything out of it
85
- if (amountTokenOut > _selfBalance(apeCoin)) {
86
- IApeStaking(apeStaking).withdrawApeCoin(
87
- amountTokenOut - _selfBalance(apeCoin),
88
- address(this)
89
- );
90
- }
91
- _transferOut(apeCoin, receiver, amountTokenOut);
92
- _compound();
93
- }
94
-
95
- function exchangeRate() public view virtual override returns (uint256) {
96
- // This function is intentionally left reverted when totalSupply() = 0
97
- return getTotalAssetOwned().divDown(totalSupply());
98
- }
99
-
100
- /*///////////////////////////////////////////////////////////////
101
- AUTOCOMPOUND FEATURE
102
- //////////////////////////////////////////////////////////////*/
103
-
104
- function getTotalAssetOwned() public view returns (uint256 totalAssetOwned) {
105
- (uint256 stakedAmount, ) = IApeStaking(apeStaking).addressPosition(address(this));
106
- uint256 unclaimedAmount = IApeStaking(apeStaking).pendingRewards(
107
- APE_COIN_POOL_ID,
108
- address(this),
109
- 0
110
- );
111
- uint256 floatingAmount = _selfBalance(apeCoin);
112
- totalAssetOwned = stakedAmount + unclaimedAmount + floatingAmount;
113
- }
114
-
115
- function harvestAndCompound() external {
116
- _harvestAndCompound();
117
- }
118
-
119
- function _harvestAndCompound() internal {
120
- _harvest();
121
- _compound();
122
- }
123
-
124
- function _compound() internal {
125
- uint256 amountAssetToCompound = _selfBalance(apeCoin);
126
- if (amountAssetToCompound >= MIN_APE_DEPOSIT) {
127
- IApeStaking(apeStaking).depositSelfApeCoin(amountAssetToCompound);
128
- }
129
- }
130
-
131
- function _harvest() internal {
132
- uint256 currentEpochId = _getCurrentEpochId();
133
- if (currentEpochId == lastRewardClaimedEpoch) {
134
- return;
135
- }
136
- IApeStaking(apeStaking).claimSelfApeCoin();
137
- lastRewardClaimedEpoch = currentEpochId;
138
- }
139
-
140
- /*///////////////////////////////////////////////////////////////
141
- MISC FUNCTIONS FOR METADATA
142
- //////////////////////////////////////////////////////////////*/
143
-
144
- function _previewDeposit(address, uint256 amountTokenToDeposit)
145
- internal
146
- view
147
- override
148
- returns (uint256 amountSharesOut)
149
- {
150
- // This function is intentionally left reverted when totalSupply() = 0
151
- amountSharesOut = (amountTokenToDeposit * totalSupply()) / getTotalAssetOwned();
152
- }
153
-
154
- function _previewRedeem(address, uint256 amountSharesToRedeem)
155
- internal
156
- view
157
- override
158
- returns (uint256 amountTokenOut)
159
- {
160
- // This function is intentionally left reverted when totalSupply() = 0
161
- amountTokenOut = (amountSharesToRedeem * getTotalAssetOwned()) / totalSupply();
162
- }
163
-
164
- function _getCurrentEpochId() private view returns (uint256) {
165
- return block.timestamp / EPOCH_LENGTH;
166
- }
167
-
168
- function getTokensIn() public view virtual override returns (address[] memory res) {
169
- res = new address[](1);
170
- res[0] = apeCoin;
171
- }
172
-
173
- function getTokensOut() public view virtual override returns (address[] memory res) {
174
- res = new address[](1);
175
- res[0] = apeCoin;
176
- }
177
-
178
- function isValidTokenIn(address token) public view virtual override returns (bool) {
179
- return token == apeCoin;
180
- }
181
-
182
- function isValidTokenOut(address token) public view virtual override returns (bool) {
183
- return token == apeCoin;
184
- }
185
-
186
- function assetInfo()
187
- external
188
- view
189
- returns (
190
- AssetType assetType,
191
- address assetAddress,
192
- uint8 assetDecimals
193
- )
194
- {
195
- return (AssetType.TOKEN, apeCoin, IERC20Metadata(apeCoin).decimals());
196
- }
197
- }
@@ -1,170 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "./base/PendleAuraBalancerStableLPSY.sol";
5
- import "../../StEthHelper.sol";
6
- import "./base/ComposableStable/ComposableStablePreview.sol";
7
-
8
- contract PendleAura3EthSY is PendleAuraBalancerStableLPSY, StEthHelper {
9
- address public constant SFRXETH = 0xac3E018457B222d93114458476f3E3416Abbe38F;
10
- address public constant RETH = 0xae78736Cd615f374D3085123A210448E74Fc6393;
11
-
12
- uint256 internal constant AURA_PID = 13;
13
- address internal constant LP = 0x8e85e97ed19C0fa13B2549309965291fbbc0048b;
14
-
15
- uint256 public constant BPT_INDEX = 1;
16
- bool public constant NO_TOKENS_EXEMPT = true;
17
- bool public constant ALL_TOKENS_EXEMPT = false;
18
-
19
- constructor(
20
- string memory _name,
21
- string memory _symbol,
22
- ComposableStablePreview _previewHelper
23
- ) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
24
-
25
- function _deposit(address tokenIn, uint256 amount)
26
- internal
27
- virtual
28
- override
29
- returns (uint256 amountSharesOut)
30
- {
31
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
32
- uint256 amountWstETH = _depositWstETH(tokenIn, amount);
33
- amountSharesOut = super._deposit(WSTETH, amountWstETH);
34
- } else {
35
- amountSharesOut = super._deposit(tokenIn, amount);
36
- }
37
- }
38
-
39
- function _redeem(
40
- address receiver,
41
- address tokenOut,
42
- uint256 amountSharesToRedeem
43
- ) internal virtual override returns (uint256 amountTokenOut) {
44
- if (tokenOut == STETH) {
45
- uint256 amountWstETH = super._redeem(address(this), WSTETH, amountSharesToRedeem);
46
- amountTokenOut = _redeemWstETH(receiver, amountWstETH);
47
- } else {
48
- amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
49
- }
50
- }
51
-
52
- function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
53
- internal
54
- view
55
- virtual
56
- override
57
- returns (uint256 amountSharesOut)
58
- {
59
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
60
- uint256 amountWstETH = _previewDepositWstETH(tokenIn, amountTokenToDeposit);
61
- amountSharesOut = super._previewDeposit(WSTETH, amountWstETH);
62
- } else {
63
- amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
64
- }
65
- }
66
-
67
- function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
68
- internal
69
- view
70
- virtual
71
- override
72
- returns (uint256 amountTokenOut)
73
- {
74
- if (tokenOut == STETH) {
75
- uint256 amountWstETH = super._previewRedeem(WSTETH, amountSharesToRedeem);
76
- amountTokenOut = _previewRedeemWstETH(amountWstETH);
77
- } else {
78
- amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
79
- }
80
- }
81
-
82
- function _getImmutablePoolData() internal view virtual override returns (bytes memory ret) {
83
- ComposableStablePreview.ImmutableData memory res;
84
- res.poolTokens = _getPoolTokenAddresses();
85
- res.rateProviders = _getRateProviders();
86
- res.rawScalingFactors = _getRawScalingFactors();
87
- res.isExemptFromYieldProtocolFee = _getExemption();
88
- res.LP = LP;
89
- res.noTokensExempt = NO_TOKENS_EXEMPT;
90
- res.allTokensExempt = ALL_TOKENS_EXEMPT;
91
- res.bptIndex = BPT_INDEX;
92
- res.totalTokens = res.poolTokens.length;
93
-
94
- return abi.encode(res);
95
- }
96
-
97
- function _getPoolTokenAddresses()
98
- internal
99
- view
100
- virtual
101
- override
102
- returns (address[] memory res)
103
- {
104
- res = new address[](4);
105
- res[0] = WSTETH;
106
- res[1] = LP;
107
- res[2] = SFRXETH;
108
- res[3] = RETH;
109
- }
110
-
111
- function _getBPTIndex() internal view virtual override returns (uint256) {
112
- return BPT_INDEX;
113
- }
114
-
115
- function _getRateProviders() internal view virtual returns (address[] memory res) {
116
- res = new address[](4);
117
- res[0] = 0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768;
118
- res[1] = 0x0000000000000000000000000000000000000000;
119
- res[2] = 0x302013E7936a39c358d07A3Df55dc94EC417E3a1;
120
- res[3] = 0x1a8F81c256aee9C640e14bB0453ce247ea0DFE6F;
121
- }
122
-
123
- function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
124
- res = new uint256[](4);
125
- res[0] = res[1] = res[2] = res[3] = 1e18;
126
- }
127
-
128
- function _getExemption() internal view virtual returns (bool[] memory res) {
129
- res = new bool[](4);
130
- res[0] = res[1] = res[2] = res[3] = false;
131
- }
132
-
133
- function getTokensIn() public view virtual override returns (address[] memory res) {
134
- res = new address[](7);
135
- res[0] = WSTETH;
136
- res[1] = LP;
137
- res[2] = SFRXETH;
138
- res[3] = RETH;
139
- res[4] = NATIVE;
140
- res[5] = WETH;
141
- res[6] = STETH;
142
- }
143
-
144
- function getTokensOut() public view virtual override returns (address[] memory res) {
145
- res = new address[](5);
146
- res[0] = WSTETH;
147
- res[1] = LP;
148
- res[2] = SFRXETH;
149
- res[3] = RETH;
150
- res[4] = STETH;
151
- }
152
-
153
- function isValidTokenIn(address token) public view virtual override returns (bool) {
154
- return (token == WSTETH ||
155
- token == LP ||
156
- token == SFRXETH ||
157
- token == RETH ||
158
- token == NATIVE ||
159
- token == WETH ||
160
- token == STETH);
161
- }
162
-
163
- function isValidTokenOut(address token) public view virtual override returns (bool) {
164
- return (token == WSTETH ||
165
- token == LP ||
166
- token == SFRXETH ||
167
- token == RETH ||
168
- token == STETH);
169
- }
170
- }
@@ -1,162 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "./base/PendleAuraBalancerStableLPSY.sol";
5
- import "../../StEthHelper.sol";
6
- import "./base/ComposableStable/ComposableStablePreview.sol";
7
-
8
- contract PendleAuraCbethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
9
- address public constant CBETH = 0xBe9895146f7AF43049ca1c1AE358B0541Ea49704;
10
-
11
- uint256 internal constant AURA_PID = 37;
12
- address internal constant LP = 0x4EdcB2B46377530Bc18BB4D2c7Fe46a992c73e10;
13
-
14
- uint256 public constant BPT_INDEX = 0;
15
- bool public constant NO_TOKENS_EXEMPT = true;
16
- bool public constant ALL_TOKENS_EXEMPT = false;
17
-
18
- constructor(
19
- string memory _name,
20
- string memory _symbol,
21
- ComposableStablePreview _previewHelper
22
- ) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
23
-
24
- function _deposit(address tokenIn, uint256 amount)
25
- internal
26
- virtual
27
- override
28
- returns (uint256 amountSharesOut)
29
- {
30
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
31
- uint256 amountWstETH = _depositWstETH(tokenIn, amount);
32
- amountSharesOut = super._deposit(WSTETH, amountWstETH);
33
- } else {
34
- amountSharesOut = super._deposit(tokenIn, amount);
35
- }
36
- }
37
-
38
- function _redeem(
39
- address receiver,
40
- address tokenOut,
41
- uint256 amountSharesToRedeem
42
- ) internal virtual override returns (uint256 amountTokenOut) {
43
- if (tokenOut == STETH) {
44
- uint256 amountWstETH = super._redeem(address(this), WSTETH, amountSharesToRedeem);
45
- amountTokenOut = _redeemWstETH(receiver, amountWstETH);
46
- } else {
47
- amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
48
- }
49
- }
50
-
51
- function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
52
- internal
53
- view
54
- virtual
55
- override
56
- returns (uint256 amountSharesOut)
57
- {
58
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
59
- uint256 amountWstETH = _previewDepositWstETH(tokenIn, amountTokenToDeposit);
60
- amountSharesOut = super._previewDeposit(WSTETH, amountWstETH);
61
- } else {
62
- amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
63
- }
64
- }
65
-
66
- function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
67
- internal
68
- view
69
- virtual
70
- override
71
- returns (uint256 amountTokenOut)
72
- {
73
- if (tokenOut == STETH) {
74
- uint256 amountWstETH = super._previewRedeem(WSTETH, amountSharesToRedeem);
75
- amountTokenOut = _previewRedeemWstETH(amountWstETH);
76
- } else {
77
- amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
78
- }
79
- }
80
-
81
- function _getImmutablePoolData() internal view virtual override returns (bytes memory ret) {
82
- ComposableStablePreview.ImmutableData memory res;
83
- res.poolTokens = _getPoolTokenAddresses();
84
- res.rateProviders = _getRateProviders();
85
- res.rawScalingFactors = _getRawScalingFactors();
86
- res.isExemptFromYieldProtocolFee = _getExemption();
87
- res.LP = LP;
88
- res.noTokensExempt = NO_TOKENS_EXEMPT;
89
- res.allTokensExempt = ALL_TOKENS_EXEMPT;
90
- res.bptIndex = BPT_INDEX;
91
- res.totalTokens = res.poolTokens.length;
92
-
93
- return abi.encode(res);
94
- }
95
-
96
- function _getPoolTokenAddresses()
97
- internal
98
- view
99
- virtual
100
- override
101
- returns (address[] memory res)
102
- {
103
- res = new address[](3);
104
- res[0] = LP;
105
- res[1] = WSTETH;
106
- res[2] = CBETH;
107
- }
108
-
109
- function _getBPTIndex() internal view virtual override returns (uint256) {
110
- return BPT_INDEX;
111
- }
112
-
113
- function _getRateProviders() internal view virtual returns (address[] memory res) {
114
- res = new address[](3);
115
- res[0] = 0x0000000000000000000000000000000000000000;
116
- res[1] = 0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768;
117
- res[2] = 0x7311E4BB8a72e7B300c5B8BDE4de6CdaA822a5b1;
118
- }
119
-
120
- function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
121
- res = new uint256[](3);
122
- res[0] = res[1] = res[2] = 1e18;
123
- }
124
-
125
- function _getExemption() internal view virtual returns (bool[] memory res) {
126
- res = new bool[](3);
127
- res[0] = res[1] = res[2] = false;
128
- }
129
-
130
- function getTokensIn() public view virtual override returns (address[] memory res) {
131
- res = new address[](6);
132
- res[0] = WSTETH;
133
- res[1] = STETH;
134
- res[2] = NATIVE;
135
- res[3] = WETH;
136
- // All 4 converted to WSTETH
137
- res[4] = CBETH;
138
- res[5] = LP;
139
- }
140
-
141
- function getTokensOut() public view virtual override returns (address[] memory res) {
142
- res = new address[](4);
143
- res[0] = WSTETH;
144
- res[1] = STETH;
145
- //
146
- res[2] = CBETH;
147
- res[3] = LP;
148
- }
149
-
150
- function isValidTokenIn(address token) public view virtual override returns (bool) {
151
- return (token == WSTETH ||
152
- token == STETH ||
153
- token == NATIVE ||
154
- token == WETH ||
155
- token == CBETH ||
156
- token == LP);
157
- }
158
-
159
- function isValidTokenOut(address token) public view virtual override returns (bool) {
160
- return (token == WSTETH || token == STETH || token == CBETH || token == LP);
161
- }
162
- }
@@ -1,134 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "./base/PendleAuraBalancerStableLPSY.sol";
5
- import "../../../../interfaces/IWETH.sol";
6
- import "./base/MetaStable/MetaStablePreview.sol";
7
-
8
- contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
9
- address public constant RETH = 0xae78736Cd615f374D3085123A210448E74Fc6393;
10
- address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
11
-
12
- uint256 internal constant AURA_PID = 15;
13
- address internal constant LP = 0x1E19CF2D73a72Ef1332C882F20534B6519Be0276;
14
-
15
- constructor(
16
- string memory _name,
17
- string memory _symbol,
18
- MetaStablePreview _previewHelper
19
- ) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
20
-
21
- function _deposit(address tokenIn, uint256 amount)
22
- internal
23
- virtual
24
- override
25
- returns (uint256 amountSharesOut)
26
- {
27
- if (tokenIn == NATIVE) {
28
- IWETH(WETH).deposit{ value: amount }();
29
- amountSharesOut = super._deposit(WETH, amount);
30
- } else {
31
- amountSharesOut = super._deposit(tokenIn, amount);
32
- }
33
- }
34
-
35
- function _redeem(
36
- address receiver,
37
- address tokenOut,
38
- uint256 amountSharesToRedeem
39
- ) internal virtual override returns (uint256 amountTokenOut) {
40
- if (tokenOut == NATIVE) {
41
- amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
42
- IWETH(WETH).withdraw(amountTokenOut);
43
- _transferOut(NATIVE, receiver, amountTokenOut);
44
- } else {
45
- amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
46
- }
47
- }
48
-
49
- function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
50
- internal
51
- view
52
- virtual
53
- override
54
- returns (uint256 amountSharesOut)
55
- {
56
- if (tokenIn == NATIVE) {
57
- amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
58
- } else {
59
- amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
60
- }
61
- }
62
-
63
- function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
64
- internal
65
- view
66
- virtual
67
- override
68
- returns (uint256 amountTokenOut)
69
- {
70
- if (tokenOut == NATIVE) {
71
- amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
72
- } else {
73
- amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
74
- }
75
- }
76
-
77
- function _getPoolTokenAddresses()
78
- internal
79
- view
80
- virtual
81
- override
82
- returns (address[] memory res)
83
- {
84
- res = new address[](2);
85
- res[0] = RETH;
86
- res[1] = WETH;
87
- }
88
-
89
- function _getRateProviders() internal view virtual returns (address[] memory res) {
90
- res = new address[](2);
91
- res[0] = 0x1a8F81c256aee9C640e14bB0453ce247ea0DFE6F;
92
- res[1] = 0x0000000000000000000000000000000000000000;
93
- }
94
-
95
- function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
96
- res = new uint256[](2);
97
- res[0] = 1e18;
98
- res[1] = 1e18;
99
- }
100
-
101
- function _getImmutablePoolData() internal view virtual override returns (bytes memory) {
102
- MetaStablePreview.ImmutableData memory res;
103
- res.LP = LP;
104
- res.poolTokens = _getPoolTokenAddresses();
105
- res.rateProviders = _getRateProviders();
106
- res.rawScalingFactors = _getRawScalingFactors();
107
-
108
- return abi.encode(res);
109
- }
110
-
111
- function getTokensIn() public view virtual override returns (address[] memory res) {
112
- res = new address[](4);
113
- res[0] = LP;
114
- res[1] = RETH;
115
- res[2] = WETH;
116
- res[3] = NATIVE;
117
- }
118
-
119
- function getTokensOut() public view virtual override returns (address[] memory res) {
120
- res = new address[](4);
121
- res[0] = LP;
122
- res[1] = RETH;
123
- res[2] = WETH;
124
- res[3] = NATIVE;
125
- }
126
-
127
- function isValidTokenIn(address token) public view virtual override returns (bool) {
128
- return (token == LP || token == RETH || token == WETH || token == NATIVE);
129
- }
130
-
131
- function isValidTokenOut(address token) public view virtual override returns (bool) {
132
- return (token == LP || token == RETH || token == WETH || token == NATIVE);
133
- }
134
- }