@pendle/core-v2 0.21.0-testnet → 1.0.1-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 (401) 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/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  10. package/build/artifacts/contracts/{interfaces/IApeStaking.sol/IApeStaking.json → LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json} +52 -70
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  12. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +310 -0
  13. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  14. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +389 -0
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  66. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  68. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  70. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  72. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  74. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +5 -134
  76. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +0 -18
  78. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +32 -43
  87. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/{Balancer/IGauge.sol/IGauge.json → IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json} +33 -18
  89. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  92. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  93. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  94. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  95. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -42
  96. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  97. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +100 -73
  98. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  99. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  100. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  101. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  102. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  103. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  104. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  105. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  106. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  107. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  108. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  109. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  110. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  112. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  113. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  114. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  116. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  117. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  118. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  119. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  120. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +2 -2
  121. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +1 -1
  122. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +4 -0
  123. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +136 -0
  124. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  125. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +9 -7
  126. package/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol +159 -0
  127. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +99 -0
  128. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +70 -0
  129. package/contracts/core/BulkSeller/BulkSeller.sol +1 -1
  130. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +3 -1
  131. package/contracts/core/libraries/ArrayLib.sol +0 -12
  132. package/contracts/core/libraries/Errors.sol +2 -15
  133. package/contracts/interfaces/ConvexCurve/IRewards.sol +0 -5
  134. package/contracts/interfaces/IPFeeDistributor.sol +10 -12
  135. package/contracts/interfaces/IPFeeDistributorFactory.sol +14 -0
  136. package/contracts/offchain-helpers/MarketMathStatic.sol +1 -1
  137. package/contracts/router/kyberswap/AggregationRouterHelper.sol +192 -194
  138. package/contracts/router/kyberswap/IMultihopRouter.sol +139 -0
  139. package/deployments/1-core.json +29 -0
  140. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +11 -0
  141. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +10 -0
  142. package/deployments/1-markets/STETH-JUNE29.json +10 -0
  143. package/deployments/1-markets/STETH-MARCH30.json +10 -0
  144. package/package.json +6 -6
  145. package/typechain-types/IApeStaking.ts +0 -31
  146. package/typechain-types/IPFeeDistributor.ts +78 -61
  147. package/typechain-types/IPFeeDistributorFactory.ts +139 -53
  148. package/typechain-types/IRewards.ts +5 -35
  149. package/typechain-types/MarketMathStatic.ts +0 -49
  150. package/typechain-types/PendleApeStakingSY.ts +204 -88
  151. package/typechain-types/PendleFeeDistributor.ts +117 -409
  152. package/typechain-types/RouterStatic.ts +49 -0
  153. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  154. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  155. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  156. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  157. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  158. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  159. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  160. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  161. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  162. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  163. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  164. package/typechain-types/factories/Errors__factory.ts +4 -133
  165. package/typechain-types/factories/IApeStaking__factory.ts +0 -34
  166. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +34 -25
  167. package/typechain-types/factories/IPFeeDistributor__factory.ts +31 -42
  168. package/typechain-types/factories/IRewards__factory.ts +0 -18
  169. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -41
  170. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  171. package/typechain-types/factories/PendleApeStakingSY__factory.ts +141 -57
  172. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  173. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  174. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  175. package/typechain-types/factories/PendleFeeDistributor__factory.ts +66 -341
  176. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  177. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  178. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  179. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  180. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  181. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  182. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  183. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  184. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  185. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  186. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  187. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  188. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  189. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  190. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  191. package/typechain-types/factories/RouterStatic__factory.ts +41 -18
  192. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  193. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  194. package/typechain-types/hardhat.d.ts +40 -301
  195. package/typechain-types/index.ts +10 -68
  196. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  197. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -592
  198. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +0 -4
  199. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +0 -10
  200. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +0 -4
  201. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +0 -1075
  202. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  203. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1257
  204. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  205. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1244
  206. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +0 -4
  207. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +0 -1218
  208. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +0 -4
  209. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +0 -1192
  210. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  211. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  212. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  213. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  214. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +0 -4
  215. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +0 -10
  216. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +0 -4
  217. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +0 -40
  218. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +0 -4
  219. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +0 -322
  220. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
  221. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +0 -1171
  222. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +0 -4
  223. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +0 -10
  224. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +0 -4
  225. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +0 -133
  226. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +0 -4
  227. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +0 -10
  228. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +0 -4
  229. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +0 -24
  230. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +0 -4
  231. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +0 -133
  232. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +0 -4
  233. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +0 -328
  234. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +0 -4
  235. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +0 -467
  236. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +0 -4
  237. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +0 -4
  238. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +0 -30
  239. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +0 -4
  240. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +0 -398
  241. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +0 -4
  242. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.json +0 -24
  243. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +0 -4
  244. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +0 -278
  245. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +0 -4
  246. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +0 -4
  247. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +0 -322
  248. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +0 -4
  249. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +0 -47
  250. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  251. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  252. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  253. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  254. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  255. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +0 -388
  256. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  257. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.json +0 -101
  258. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  259. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +0 -183
  260. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  261. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  262. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +0 -224
  263. package/contracts/core/StandardizedYield/StEthHelper.sol +0 -71
  264. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +0 -197
  265. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  266. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  267. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +0 -134
  268. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +0 -154
  269. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  270. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  271. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +0 -68
  272. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +0 -322
  273. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +0 -390
  274. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +0 -329
  275. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +0 -30
  276. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +0 -189
  277. package/contracts/interfaces/Balancer/IAsset.sol +0 -4
  278. package/contracts/interfaces/Balancer/IBalancerFees.sol +0 -6
  279. package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +0 -22
  280. package/contracts/interfaces/Balancer/IBasePool.sol +0 -30
  281. package/contracts/interfaces/Balancer/IComposableStable.sol +0 -39
  282. package/contracts/interfaces/Balancer/IGauge.sol +0 -10
  283. package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +0 -6
  284. package/contracts/interfaces/Balancer/IMetaStablePool.sol +0 -31
  285. package/contracts/interfaces/Balancer/IRateProvider.sol +0 -6
  286. package/contracts/interfaces/Balancer/IVault.sol +0 -78
  287. package/contracts/interfaces/IApeStaking.sol +0 -30
  288. package/contracts/offchain-helpers/Multicall2.sol +0 -103
  289. package/contracts/offchain-helpers/PendleMulticall.sol +0 -26
  290. package/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol +0 -147
  291. package/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  292. package/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol +0 -191
  293. package/contracts/router/kyberswap/interfaces/IHashflow.sol +0 -30
  294. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
  295. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -42
  296. package/deployments/43113-core.json +0 -29
  297. package/deployments/43113-helper.json +0 -4
  298. package/deployments/43113-markets/APE-30-MARCH.json +0 -10
  299. package/deployments/43113-markets/USDC-FEB-2ND.json +0 -10
  300. package/deployments/43113-markets/USDC-FEB-4TH.json +0 -10
  301. package/deployments/43113-markets/WETH-FEB-2ND.json +0 -11
  302. package/deployments/43113-markets/WETH-FEB-4TH.json +0 -11
  303. package/deployments/43113-testenv.json +0 -22
  304. package/deployments/80001-core.json +0 -28
  305. package/deployments/80001-helper.json +0 -4
  306. package/deployments/80001-markets/USDC-DEC-8TH.json +0 -10
  307. package/deployments/80001-markets/USDC-FEB-4TH.json +0 -10
  308. package/deployments/80001-markets/WETH-FEB-4TH.json +0 -11
  309. package/deployments/80001-testenv.json +0 -22
  310. package/typechain-types/BribeDistributor.ts +0 -363
  311. package/typechain-types/ComposableStablePreview.ts +0 -217
  312. package/typechain-types/DistributorBase.ts +0 -363
  313. package/typechain-types/FeeDistributor.ts +0 -416
  314. package/typechain-types/GMXPreviewHelper.ts +0 -134
  315. package/typechain-types/I1inchAggregationRouterV5.ts +0 -257
  316. package/typechain-types/IAggregationExecutor.ts +0 -182
  317. package/typechain-types/IBalancerFees.ts +0 -89
  318. package/typechain-types/IBalancerStablePreview.ts +0 -217
  319. package/typechain-types/IBasePool.ts +0 -482
  320. package/typechain-types/IComposableStable.ts +0 -730
  321. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  322. package/typechain-types/IGMXVault.ts +0 -494
  323. package/typechain-types/IGauge.ts +0 -160
  324. package/typechain-types/IGlpManager.ts +0 -115
  325. package/typechain-types/IHashflow.ts +0 -159
  326. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
  327. package/typechain-types/ILiquidityGaugeFactory.ts +0 -99
  328. package/typechain-types/IMetaAggregationRouter.ts +0 -213
  329. package/typechain-types/IMetaAggregationRouterV2.ts +0 -221
  330. package/typechain-types/IMetaStablePool.ts +0 -619
  331. package/typechain-types/IMultihopRouterEthereum.ts +0 -209
  332. package/typechain-types/IPYieldTokenV2.ts +0 -915
  333. package/typechain-types/IRateProvider.ts +0 -81
  334. package/typechain-types/IRewardRouterV2.ts +0 -303
  335. package/typechain-types/ISwapAggregator.ts +0 -124
  336. package/typechain-types/IVault.ts +0 -410
  337. package/typechain-types/IVaultPriceFeed.ts +0 -114
  338. package/typechain-types/InterestManagerYTV2.ts +0 -124
  339. package/typechain-types/MetaStableMath.ts +0 -113
  340. package/typechain-types/MetaStablePreview.ts +0 -501
  341. package/typechain-types/Multicall2.ts +0 -437
  342. package/typechain-types/PendleAura3EthSY.ts +0 -1600
  343. package/typechain-types/PendleAuraBalancerStableLPSY.ts +0 -1523
  344. package/typechain-types/PendleAuraCbethWstethSY.ts +0 -1587
  345. package/typechain-types/PendleAuraWethRethSY.ts +0 -1549
  346. package/typechain-types/PendleAuraWethWstethSY.ts +0 -1523
  347. package/typechain-types/PendleGlpSY.ts +0 -1449
  348. package/typechain-types/PendleMulticall.ts +0 -110
  349. package/typechain-types/PendlePrincipalTokenV2.ts +0 -614
  350. package/typechain-types/PendleYieldContractFactoryV2.ts +0 -801
  351. package/typechain-types/PendleYieldTokenV2.ts +0 -1304
  352. package/typechain-types/SAPE.ts +0 -1395
  353. package/typechain-types/StEthHelper.ts +0 -107
  354. package/typechain-types/StablePreviewBase.ts +0 -217
  355. package/typechain-types/SwapAggregator.ts +0 -406
  356. package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
  357. package/typechain-types/factories/ComposableStablePreview__factory.ts +0 -190
  358. package/typechain-types/factories/DistributorBase__factory.ts +0 -249
  359. package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
  360. package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -78
  361. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +0 -179
  362. package/typechain-types/factories/IAggregationExecutor__factory.ts +0 -84
  363. package/typechain-types/factories/IBalancerFees__factory.ts +0 -36
  364. package/typechain-types/factories/IBalancerStablePreview__factory.ts +0 -152
  365. package/typechain-types/factories/IBasePool__factory.ts +0 -340
  366. package/typechain-types/factories/IComposableStable__factory.ts +0 -482
  367. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  368. package/typechain-types/factories/IGMXVault__factory.ts +0 -320
  369. package/typechain-types/factories/IGauge__factory.ts +0 -70
  370. package/typechain-types/factories/IGlpManager__factory.ts +0 -55
  371. package/typechain-types/factories/IHashflow__factory.ts +0 -113
  372. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
  373. package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +0 -49
  374. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +0 -234
  375. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
  376. package/typechain-types/factories/IMetaStablePool__factory.ts +0 -413
  377. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
  378. package/typechain-types/factories/IPYieldTokenV2__factory.ts +0 -702
  379. package/typechain-types/factories/IRateProvider__factory.ts +0 -36
  380. package/typechain-types/factories/IRewardRouterV2__factory.ts +0 -180
  381. package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
  382. package/typechain-types/factories/IVaultPriceFeed__factory.ts +0 -60
  383. package/typechain-types/factories/IVault__factory.ts +0 -287
  384. package/typechain-types/factories/InterestManagerYTV2__factory.ts +0 -63
  385. package/typechain-types/factories/MetaStableMath__factory.ts +0 -93
  386. package/typechain-types/factories/MetaStablePreview__factory.ts +0 -375
  387. package/typechain-types/factories/Multicall2__factory.ts +0 -372
  388. package/typechain-types/factories/PendleAura3EthSY__factory.ts +0 -1326
  389. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +0 -1190
  390. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +0 -1317
  391. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
  392. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1265
  393. package/typechain-types/factories/PendleGlpSY__factory.ts +0 -1255
  394. package/typechain-types/factories/PendleMulticall__factory.ts +0 -100
  395. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +0 -564
  396. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +0 -674
  397. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +0 -1122
  398. package/typechain-types/factories/SAPE__factory.ts +0 -1142
  399. package/typechain-types/factories/StEthHelper__factory.ts +0 -62
  400. package/typechain-types/factories/StablePreviewBase__factory.ts +0 -148
  401. 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
- }