@pendle/core-v2 5.0.1 → 5.0.4
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.
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +1026 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +1023 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/{PendleGdaiSY.sol → Gains/PendleGdaiSY.sol}/PendleGDaiSY.json +3 -3
- package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.json +1049 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.json +1128 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol/PendleSophonPointManager.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol/PendleSophonPointManager.json +420 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +258 -0
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +258 -0
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Sophon/IPSophonPointManager.sol/IPSophonPointManager.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Sophon/IPSophonPointManager.sol/IPSophonPointManager.json +18 -0
- package/build/artifacts/contracts/interfaces/Sophon/ISophonFarming.sol/ISophonFarming.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Sophon/ISophonFarming.sol/ISophonFarming.json +168 -0
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +316 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +11 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +3 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +2 -1
- package/contracts/core/RewardManager/RewardManager.sol +6 -17
- package/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol +26 -0
- package/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol +10 -0
- package/contracts/core/StandardizedYield/implementations/{PendleGdaiSY.sol → Gains/PendleGdaiSY.sol} +2 -2
- package/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol +82 -0
- package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +6 -1
- package/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol +116 -0
- package/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol +57 -0
- package/contracts/core/libraries/math/PMath.sol +8 -0
- package/contracts/interfaces/IPActionMarketAuxStatic.sol +47 -0
- package/contracts/interfaces/Sophon/IPSophonPointManager.sol +6 -0
- package/contracts/interfaces/Sophon/ISophonFarming.sol +19 -0
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +148 -0
- package/deployments/1-markets/ENA-MAINNET-OCT2024.json +14 -0
- package/deployments/1-markets/USD0++-MAINNET-OCT2024.json +14 -0
- package/deployments/42161-markets/GUSDC-ARBITRUM-SEP2024.json +15 -0
- package/deployments/5000-markets/METH-MANTLE-DEC2024.json +15 -0
- package/deployments/merkle-distribution/2024-07-25.json +20365 -0
- package/package.json +3 -2
- package/typechain-types/ActionMarketAuxStatic.ts +400 -0
- package/typechain-types/IPActionMarketAuxStatic.ts +356 -0
- package/typechain-types/IPRouterStatic.ts +334 -0
- package/typechain-types/IPSophonPointManager.ts +97 -0
- package/typechain-types/ISophonFarming.ts +303 -0
- package/typechain-types/PendleGTokenSY.ts +1281 -0
- package/typechain-types/PendleGUSDCSY.ts +1294 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
- package/typechain-types/PendleMETHSY.ts +1349 -0
- package/typechain-types/PendleSophonFarmingSY.ts +1412 -0
- package/typechain-types/PendleSophonPointManager.ts +610 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +315 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
- package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
- package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
- package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +258 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +258 -0
- package/typechain-types/factories/IPSophonPointManager__factory.ts +37 -0
- package/typechain-types/factories/ISophonFarming__factory.ts +183 -0
- package/typechain-types/factories/KyberMathHelper__factory.ts +1 -1
- package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
- package/typechain-types/factories/PendleAaveV3WithRewardsSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
- package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
- package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleDolomiteSY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20WithSupplyCapSY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
- package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
- package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleEzETHL2SY__factory.ts +1 -1
- package/typechain-types/factories/PendleEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGTokenSY__factory.ts +1095 -0
- package/typechain-types/factories/PendleGUSDCSY__factory.ts +1073 -0
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleL2LRTSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleLinearDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMETHSY__factory.ts +1099 -0
- package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultERC20SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultSYBaseUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultWstETHSYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
- package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
- package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleREZtakeSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
- package/typechain-types/factories/PendleRenzoPreviewHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRsETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRswETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSophonFarmingSY__factory.ts +1216 -0
- package/typechain-types/factories/PendleSophonPointManager__factory.ts +500 -0
- package/typechain-types/factories/PendleStTAOSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwellRswETHStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwellStakingERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
- package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
- package/typechain-types/factories/PendleUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleUniETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWEEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWEEthkSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWEEthsSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeRsETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeWeETHSY__factory.ts +1 -1
- package/typechain-types/factories/Reflector__factory.ts +1 -1
- package/typechain-types/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/SwETHSY__factory.ts +1 -1
- package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +72 -90
- package/typechain-types/index.ts +16 -20
- package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +0 -373
- package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.json +0 -128
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +0 -682
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +0 -1144
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +0 -4
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +0 -570
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +0 -66
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +0 -401
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +0 -590
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +0 -4
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +0 -942
- package/contracts/core/Market/v2/PendleExternalRewardDistributor.sol +0 -129
- package/contracts/core/Market/v2/PendleGaugeV2.sol +0 -126
- package/contracts/core/Market/v2/PendleMarketFactoryV2.sol +0 -158
- package/contracts/core/Market/v2/PendleMarketV2.sol +0 -356
- package/contracts/core/RewardManager/PendleLinearDistributor.sol +0 -143
- package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +0 -105
- package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +0 -63
- package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +0 -199
- package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +0 -436
|
@@ -17,8 +17,9 @@ contract PendleGaugeControllerMainchainUpg is PendleGaugeControllerBaseUpg, IPGa
|
|
|
17
17
|
address _pendle,
|
|
18
18
|
address _marketFactory,
|
|
19
19
|
address _marketFactory2,
|
|
20
|
-
address _marketFactory3
|
|
21
|
-
|
|
20
|
+
address _marketFactory3,
|
|
21
|
+
address _marketFactory4
|
|
22
|
+
) PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3, _marketFactory4) {
|
|
22
23
|
votingController = _votingController;
|
|
23
24
|
_disableInitializers();
|
|
24
25
|
}
|
|
@@ -12,9 +12,10 @@ contract PendleGaugeControllerSidechainUpg is PendleGaugeControllerBaseUpg, Pend
|
|
|
12
12
|
address _marketFactory,
|
|
13
13
|
address _marketFactory2,
|
|
14
14
|
address _marketFactory3,
|
|
15
|
+
address _marketFactory4,
|
|
15
16
|
address _PendleMsgReceiveEndpointUpg
|
|
16
17
|
)
|
|
17
|
-
PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3)
|
|
18
|
+
PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3, _marketFactory4)
|
|
18
19
|
PendleMsgReceiverAppUpg(_PendleMsgReceiveEndpointUpg)
|
|
19
20
|
{
|
|
20
21
|
_disableInitializers();
|
|
@@ -39,12 +39,15 @@ abstract contract RewardManager is RewardManagerAbstract {
|
|
|
39
39
|
|
|
40
40
|
RewardState memory _state = rewardState[token];
|
|
41
41
|
(uint256 lastBalance, uint256 index) = (_state.lastBalance, _state.index);
|
|
42
|
+
|
|
43
|
+
uint256 accrued = _selfBalance(tokens[i]) - lastBalance;
|
|
44
|
+
|
|
42
45
|
if (index == 0) index = INITIAL_REWARD_INDEX;
|
|
46
|
+
if (totalShares != 0) index += accrued.divDown(totalShares);
|
|
43
47
|
|
|
44
|
-
(uint256 consumedIndex, uint256 consumedReward) = _getConsumedReward(token, lastBalance, totalShares);
|
|
45
48
|
rewardState[token] = RewardState({
|
|
46
|
-
index:
|
|
47
|
-
lastBalance: (lastBalance +
|
|
49
|
+
index: index.Uint128(),
|
|
50
|
+
lastBalance: (lastBalance + accrued).Uint128()
|
|
48
51
|
});
|
|
49
52
|
indexes[i] = index;
|
|
50
53
|
}
|
|
@@ -55,20 +58,6 @@ abstract contract RewardManager is RewardManagerAbstract {
|
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
function _getConsumedReward(
|
|
59
|
-
address token,
|
|
60
|
-
uint256 lastBalance,
|
|
61
|
-
uint256 totalShares
|
|
62
|
-
) private view returns (uint256 consumedIndex, uint256 consumedReward) {
|
|
63
|
-
if (totalShares == 0) {
|
|
64
|
-
return (0, 0);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
uint256 accrued = _selfBalance(token) - lastBalance;
|
|
68
|
-
consumedIndex = accrued.divDown(totalShares);
|
|
69
|
-
consumedReward = (consumedIndex * totalShares + PMath.ONE - 1) / PMath.ONE;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
61
|
/// @dev this function doesn't need redeemExternal since redeemExternal is bundled in updateRewardIndex
|
|
73
62
|
/// @dev this function also has to update rewardState.lastBalance
|
|
74
63
|
function _doTransferOutRewards(
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../PendleERC4626SY.sol";
|
|
5
|
+
import "../../../../interfaces/IERC4626.sol";
|
|
6
|
+
|
|
7
|
+
contract PendleGTokenSY is PendleERC4626SY {
|
|
8
|
+
constructor(
|
|
9
|
+
string memory _name,
|
|
10
|
+
string memory _symbol,
|
|
11
|
+
address _erc4626
|
|
12
|
+
) PendleERC4626SY(_name, _symbol, _erc4626) {}
|
|
13
|
+
|
|
14
|
+
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
15
|
+
res = new address[](1);
|
|
16
|
+
res[0] = yieldToken;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
20
|
+
return token == yieldToken;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function exchangeRate() public view virtual override returns (uint256) {
|
|
24
|
+
return IERC4626(yieldToken).convertToAssets(1e18);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "./PendleGTokenSY.sol";
|
|
5
|
+
|
|
6
|
+
contract PendleGUSDCSY is PendleGTokenSY {
|
|
7
|
+
address public constant gUSDC = 0xd3443ee1e91aF28e5FB858Fbd0D72A63bA8046E0;
|
|
8
|
+
|
|
9
|
+
constructor() PendleGTokenSY("SY gUSDC", "SY-gUSDC", gUSDC) {}
|
|
10
|
+
}
|
package/contracts/core/StandardizedYield/implementations/{PendleGdaiSY.sol → Gains/PendleGdaiSY.sol}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
4
|
+
import "../../SYBase.sol";
|
|
5
|
+
import "../../../../interfaces/IERC4626.sol";
|
|
6
6
|
|
|
7
7
|
contract PendleGDaiSY is SYBase {
|
|
8
8
|
address public immutable DAI;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../../SYBase.sol";
|
|
5
|
+
import "../../../../interfaces/IPExchangeRateOracle.sol";
|
|
6
|
+
|
|
7
|
+
contract PendleMETHSY is SYBase {
|
|
8
|
+
using PMath for int256;
|
|
9
|
+
|
|
10
|
+
address public exchangeRateOracle = 0x1E2Ad9764cfAc60876486A7c714bc71f5b55f5C2;
|
|
11
|
+
address public constant METH = 0xcDA86A272531e8640cD7F1a92c01839911B90bb0;
|
|
12
|
+
address public constant WETH = 0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111;
|
|
13
|
+
|
|
14
|
+
constructor() SYBase("SY mETH", "SY-mETH", METH) {}
|
|
15
|
+
|
|
16
|
+
function setExchangeRateOracle(address newOracle) external onlyOwner {
|
|
17
|
+
exchangeRateOracle = newOracle;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/*///////////////////////////////////////////////////////////////
|
|
21
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
22
|
+
//////////////////////////////////////////////////////////////*/
|
|
23
|
+
|
|
24
|
+
function _deposit(address, uint256 amountDeposited) internal pure override returns (uint256 /*amountSharesOut*/) {
|
|
25
|
+
return amountDeposited;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _redeem(
|
|
29
|
+
address receiver,
|
|
30
|
+
address tokenOut,
|
|
31
|
+
uint256 amountSharesToRedeem
|
|
32
|
+
) internal override returns (uint256 /*amountTokenOut*/) {
|
|
33
|
+
_transferOut(tokenOut, receiver, amountSharesToRedeem);
|
|
34
|
+
return amountSharesToRedeem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/*///////////////////////////////////////////////////////////////
|
|
38
|
+
EXCHANGE-RATE
|
|
39
|
+
//////////////////////////////////////////////////////////////*/
|
|
40
|
+
|
|
41
|
+
function exchangeRate() public view override returns (uint256) {
|
|
42
|
+
return IPExchangeRateOracle(exchangeRateOracle).getExchangeRate();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/*///////////////////////////////////////////////////////////////
|
|
46
|
+
MISC FUNCTIONS FOR METADATA
|
|
47
|
+
//////////////////////////////////////////////////////////////*/
|
|
48
|
+
|
|
49
|
+
function _previewDeposit(
|
|
50
|
+
address,
|
|
51
|
+
uint256 amountTokenToDeposit
|
|
52
|
+
) internal pure override returns (uint256 /*amountSharesOut*/) {
|
|
53
|
+
return amountTokenToDeposit;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _previewRedeem(
|
|
57
|
+
address,
|
|
58
|
+
uint256 amountSharesToRedeem
|
|
59
|
+
) internal pure override returns (uint256 /*amountTokenOut*/) {
|
|
60
|
+
return amountSharesToRedeem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function getTokensIn() public view override returns (address[] memory res) {
|
|
64
|
+
return ArrayLib.create(yieldToken);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function getTokensOut() public view override returns (address[] memory res) {
|
|
68
|
+
return ArrayLib.create(yieldToken);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function isValidTokenIn(address token) public view override returns (bool) {
|
|
72
|
+
return token == yieldToken;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function isValidTokenOut(address token) public view override returns (bool) {
|
|
76
|
+
return token == yieldToken;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
|
|
80
|
+
return (AssetType.TOKEN, WETH, 18);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -79,7 +79,12 @@ contract PendleERC4626SY is SYBase {
|
|
|
79
79
|
return token == yieldToken || token == asset;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
function assetInfo()
|
|
82
|
+
function assetInfo()
|
|
83
|
+
external
|
|
84
|
+
view
|
|
85
|
+
virtual
|
|
86
|
+
returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
|
|
87
|
+
{
|
|
83
88
|
return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
|
|
84
89
|
}
|
|
85
90
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../../SYBaseWithRewards.sol";
|
|
5
|
+
import "../../../../interfaces/Sophon/ISophonFarming.sol";
|
|
6
|
+
import "../../../../interfaces/Sophon/IPSophonPointManager.sol";
|
|
7
|
+
|
|
8
|
+
contract PendleSophonFarmingSY is SYBaseWithRewards {
|
|
9
|
+
using Address for address;
|
|
10
|
+
|
|
11
|
+
address public immutable sophonFarming;
|
|
12
|
+
uint256 public immutable pid;
|
|
13
|
+
address public immutable pointManager;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
string memory _name,
|
|
17
|
+
string memory _symbol,
|
|
18
|
+
address _sophonFarming,
|
|
19
|
+
uint256 _pid,
|
|
20
|
+
address _pointManager
|
|
21
|
+
) SYBaseWithRewards(_name, _symbol, __getPoolDepositToken(_sophonFarming, _pid)) {
|
|
22
|
+
sophonFarming = _sophonFarming;
|
|
23
|
+
pid = _pid;
|
|
24
|
+
pointManager = _pointManager;
|
|
25
|
+
_safeApproveInf(yieldToken, _sophonFarming);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function __getPoolDepositToken(address _sophonFarming, uint256 _pid) internal view returns (address) {
|
|
29
|
+
(address lp, , , , , , , , , ) = ISophonFarming(_sophonFarming).poolInfo(_pid);
|
|
30
|
+
return lp;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/*///////////////////////////////////////////////////////////////
|
|
34
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
35
|
+
//////////////////////////////////////////////////////////////*/
|
|
36
|
+
|
|
37
|
+
function _deposit(address /*tokenIn*/, uint256 amountDeposited) internal virtual override returns (uint256) {
|
|
38
|
+
ISophonFarming(sophonFarming).deposit(pid, amountDeposited, 0);
|
|
39
|
+
return amountDeposited;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _redeem(
|
|
43
|
+
address receiver,
|
|
44
|
+
address,
|
|
45
|
+
uint256 amountSharesToRedeem
|
|
46
|
+
) internal virtual override returns (uint256) {
|
|
47
|
+
ISophonFarming(sophonFarming).withdraw(pid, amountSharesToRedeem);
|
|
48
|
+
_transferOut(yieldToken, receiver, amountSharesToRedeem);
|
|
49
|
+
return amountSharesToRedeem;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/*///////////////////////////////////////////////////////////////
|
|
53
|
+
EXCHANGE-RATE
|
|
54
|
+
//////////////////////////////////////////////////////////////*/
|
|
55
|
+
|
|
56
|
+
function exchangeRate() public view virtual override returns (uint256) {
|
|
57
|
+
return PMath.ONE;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/*///////////////////////////////////////////////////////////////
|
|
61
|
+
REWARDS-RELATED
|
|
62
|
+
//////////////////////////////////////////////////////////////*/
|
|
63
|
+
|
|
64
|
+
function _getRewardTokens() internal view override returns (address[] memory) {
|
|
65
|
+
return ArrayLib.create(pointManager);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function _redeemExternalReward() internal override {
|
|
69
|
+
uint256 owningPoints = _getOwningPoints();
|
|
70
|
+
if (owningPoints == 0) return;
|
|
71
|
+
ISophonFarming(sophonFarming).transferPoints(pid, address(this), pointManager, owningPoints);
|
|
72
|
+
IPSophonPointManager(pointManager).claimPointReceiptToken();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function _getOwningPoints() internal view returns (uint256) {
|
|
76
|
+
return ISophonFarming(sophonFarming).pendingPoints(pid, address(this));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*///////////////////////////////////////////////////////////////
|
|
80
|
+
MISC FUNCTIONS FOR METADATA
|
|
81
|
+
//////////////////////////////////////////////////////////////*/
|
|
82
|
+
|
|
83
|
+
function _previewDeposit(
|
|
84
|
+
address /*tokenIn*/,
|
|
85
|
+
uint256 amountTokenToDeposit
|
|
86
|
+
) internal view override returns (uint256) {
|
|
87
|
+
return amountTokenToDeposit;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function _previewRedeem(
|
|
91
|
+
address /*tokenOut*/,
|
|
92
|
+
uint256 amountSharesToRedeem
|
|
93
|
+
) internal view override returns (uint256) {
|
|
94
|
+
return amountSharesToRedeem;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
98
|
+
return ArrayLib.create(yieldToken);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
102
|
+
return ArrayLib.create(yieldToken);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
106
|
+
return token == yieldToken;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
110
|
+
return token == yieldToken;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
|
|
114
|
+
return (AssetType.TOKEN, yieldToken, IERC20Metadata(yieldToken).decimals());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import "../../../erc20/PendleERC20.sol";
|
|
5
|
+
import "../../../libraries/BoringOwnableUpgradeable.sol";
|
|
6
|
+
import "../../../../interfaces/Sophon/ISophonFarming.sol";
|
|
7
|
+
import "../../../../interfaces/Sophon/IPSophonPointManager.sol";
|
|
8
|
+
import "@openzeppelin/contracts/utils/Strings.sol";
|
|
9
|
+
|
|
10
|
+
contract PendleSophonPointManager is PendleERC20, BoringOwnableUpgradeable, IPSophonPointManager {
|
|
11
|
+
// solhint-disable immutable-vars-naming
|
|
12
|
+
address public immutable sophonFarming;
|
|
13
|
+
uint256 public immutable pid;
|
|
14
|
+
address public immutable sy;
|
|
15
|
+
|
|
16
|
+
mapping(address => bool) public isAddressWhitelisted;
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
address _sophonFarming,
|
|
20
|
+
uint256 _pid,
|
|
21
|
+
address _sy
|
|
22
|
+
) PendleERC20("Pendle Sophon Point Receipt Token", __getSpointSymbol(_pid), 18) initializer {
|
|
23
|
+
sophonFarming = _sophonFarming;
|
|
24
|
+
pid = _pid;
|
|
25
|
+
sy = _sy;
|
|
26
|
+
__BoringOwnable_init();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function __getSpointSymbol(uint256 _pid) internal pure returns (string memory) {
|
|
30
|
+
string memory id = Strings.toString(_pid);
|
|
31
|
+
return string(abi.encodePacked("SPOINT-", id));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function claimPointReceiptToken() external {
|
|
35
|
+
uint256 floatingPoints = _getOwningPoints() - totalSupply();
|
|
36
|
+
_mint(sy, floatingPoints);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function addWhitelistedAddress(address addr) external onlyOwner {
|
|
40
|
+
isAddressWhitelisted[addr] = true;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function _getOwningPoints() internal view returns (uint256) {
|
|
44
|
+
return ISophonFarming(sophonFarming).pendingPoints(pid, address(this));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function _afterTokenTransfer(address, address to, uint256 amount) internal virtual override {
|
|
48
|
+
if (amount != 0 && to != address(0) && _shouldBurnReceiptToken(to)) {
|
|
49
|
+
_burn(to, amount);
|
|
50
|
+
ISophonFarming(sophonFarming).transferPoints(pid, address(this), to, amount);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function _shouldBurnReceiptToken(address addr) internal view returns (bool) {
|
|
55
|
+
return addr != sy && !isAddressWhitelisted[addr];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -67,6 +67,14 @@ library PMath {
|
|
|
67
67
|
return (a + b - 1) / b;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
function slipUp(uint256 a, uint256 factor) internal pure returns (uint256) {
|
|
71
|
+
return mulDown(a, ONE + factor);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function slipDown(uint256 a, uint256 factor) internal pure returns (uint256) {
|
|
75
|
+
return mulDown(a, ONE - factor);
|
|
76
|
+
}
|
|
77
|
+
|
|
70
78
|
// @author Uniswap
|
|
71
79
|
function sqrt(uint256 y) internal pure returns (uint256 z) {
|
|
72
80
|
if (y > 3) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
pragma solidity ^0.8.0;
|
|
2
2
|
|
|
3
3
|
import "./IPMarket.sol";
|
|
4
|
+
import {ApproxParams} from "../router/base/MarketApproxLib.sol";
|
|
4
5
|
|
|
5
6
|
interface IPActionMarketAuxStatic {
|
|
6
7
|
function calcPriceImpactPY(address market, int256 netPtOut) external view returns (uint256);
|
|
@@ -27,11 +28,57 @@ interface IPActionMarketAuxStatic {
|
|
|
27
28
|
|
|
28
29
|
function getTradeExchangeRateIncludeFee(address market, int256 netPtOut) external view returns (uint256);
|
|
29
30
|
|
|
31
|
+
function getYieldTokenAndPtRate(
|
|
32
|
+
address market
|
|
33
|
+
) external view returns (address yieldToken, uint256 netPtOut, uint256 netYieldTokenOut);
|
|
34
|
+
|
|
35
|
+
function getYieldTokenAndYtRate(
|
|
36
|
+
address market
|
|
37
|
+
) external view returns (address yieldToken, uint256 netYtOut, uint256 netYieldTokenOut);
|
|
38
|
+
|
|
30
39
|
function getLpToSyRate(address market) external view returns (uint256);
|
|
31
40
|
|
|
32
41
|
function getPtToSyRate(address market) external view returns (uint256);
|
|
33
42
|
|
|
43
|
+
function getYtToSyRate(address market) external view returns (uint256);
|
|
44
|
+
|
|
34
45
|
function getLpToAssetRate(address market) external view returns (uint256);
|
|
35
46
|
|
|
36
47
|
function getPtToAssetRate(address market) external view returns (uint256);
|
|
48
|
+
|
|
49
|
+
function getYtToAssetRate(address market) external view returns (uint256);
|
|
50
|
+
|
|
51
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
52
|
+
function swapExactSyForPtStaticAndGenerateApproxParams(
|
|
53
|
+
address market,
|
|
54
|
+
uint256 exactSyIn,
|
|
55
|
+
uint256 slippage
|
|
56
|
+
)
|
|
57
|
+
external
|
|
58
|
+
view
|
|
59
|
+
returns (
|
|
60
|
+
uint256 netPtOut,
|
|
61
|
+
uint256 netSyFee,
|
|
62
|
+
uint256 priceImpact,
|
|
63
|
+
uint256 exchangeRateAfter,
|
|
64
|
+
ApproxParams memory approxParams
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
68
|
+
function swapExactTokenForPtStaticAndGenerateApproxParams(
|
|
69
|
+
address market,
|
|
70
|
+
address tokenIn,
|
|
71
|
+
uint256 amountTokenIn,
|
|
72
|
+
uint256 slippage
|
|
73
|
+
)
|
|
74
|
+
external
|
|
75
|
+
view
|
|
76
|
+
returns (
|
|
77
|
+
uint256 netPtOut,
|
|
78
|
+
uint256 netSyMinted,
|
|
79
|
+
uint256 netSyFee,
|
|
80
|
+
uint256 priceImpact,
|
|
81
|
+
uint256 exchangeRateAfter,
|
|
82
|
+
ApproxParams memory approxParams
|
|
83
|
+
);
|
|
37
84
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
interface ISophonFarming {
|
|
5
|
+
function pendingPoints(uint256 _pid, address _user) external view returns (uint256);
|
|
6
|
+
|
|
7
|
+
function transferPoints(uint256 _pid, address _sender, address _receiver, uint256 _transferAmount) external;
|
|
8
|
+
|
|
9
|
+
function poolInfo(
|
|
10
|
+
uint256 _pid
|
|
11
|
+
)
|
|
12
|
+
external
|
|
13
|
+
view
|
|
14
|
+
returns (address, address, uint256, uint256, uint256, uint256, uint256, uint256, uint256, string memory);
|
|
15
|
+
|
|
16
|
+
function deposit(uint256 _pid, uint256 _amount, uint256 _boostAmount) external;
|
|
17
|
+
|
|
18
|
+
function withdraw(uint256 _pid, uint256 _withdrawAmount) external;
|
|
19
|
+
}
|
|
@@ -4,6 +4,7 @@ pragma solidity ^0.8.17;
|
|
|
4
4
|
import "../../../interfaces/IPMarket.sol";
|
|
5
5
|
import "../../../interfaces/IPRouterStatic.sol";
|
|
6
6
|
import "./StorageLayout.sol";
|
|
7
|
+
import "hardhat/console.sol";
|
|
7
8
|
|
|
8
9
|
contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
|
|
9
10
|
using MarketMathCore for MarketState;
|
|
@@ -101,6 +102,60 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
|
|
|
101
102
|
priceImpact = _calculateImpact(pyPreTradeRate, pyTradeRate);
|
|
102
103
|
}
|
|
103
104
|
|
|
105
|
+
/**
|
|
106
|
+
* @notice get the rate of yieldToken & PT
|
|
107
|
+
* @return yieldToken the address of yieldToken
|
|
108
|
+
* @return netPtOut the amount of PT that can be swapped from 1 yieldToken (10**yieldToken.decimals())
|
|
109
|
+
* @return netYieldTokenOut the amount of yieldToken that can be swapped from 1 PT (10**PT.decimals())
|
|
110
|
+
*/
|
|
111
|
+
function getYieldTokenAndPtRate(
|
|
112
|
+
address market
|
|
113
|
+
) public view returns (address yieldToken, uint256 netPtOut, uint256 netYieldTokenOut) {
|
|
114
|
+
(IStandardizedYield SY, IPPrincipalToken PT, ) = _readTokens(market);
|
|
115
|
+
yieldToken = SY.yieldToken();
|
|
116
|
+
uint256 yieldDecimals = IERC20Metadata(yieldToken).decimals();
|
|
117
|
+
uint256 ptDecimals = PT.decimals();
|
|
118
|
+
|
|
119
|
+
(netPtOut, , , , ) = IPRouterStatic(address(this)).swapExactTokenForPtStatic(
|
|
120
|
+
market,
|
|
121
|
+
yieldToken,
|
|
122
|
+
10 ** yieldDecimals
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
(netYieldTokenOut, , , , ) = IPRouterStatic(address(this)).swapExactPtForTokenStatic(
|
|
126
|
+
market,
|
|
127
|
+
10 ** ptDecimals,
|
|
128
|
+
yieldToken
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @notice get the rate of yieldToken & YT
|
|
134
|
+
* @return yieldToken the address of yieldToken
|
|
135
|
+
* @return netYtOut the amount of YT that can be swapped from 1 yieldToken (10**yieldToken.decimals())
|
|
136
|
+
* @return netYieldTokenOut the amount of yieldToken that can be swapped from 1 YT (10**YT.decimals())
|
|
137
|
+
*/
|
|
138
|
+
function getYieldTokenAndYtRate(
|
|
139
|
+
address market
|
|
140
|
+
) public view returns (address yieldToken, uint256 netYtOut, uint256 netYieldTokenOut) {
|
|
141
|
+
(IStandardizedYield SY, IPPrincipalToken PT, ) = _readTokens(market);
|
|
142
|
+
yieldToken = SY.yieldToken();
|
|
143
|
+
uint256 yieldDecimals = IERC20Metadata(yieldToken).decimals();
|
|
144
|
+
uint256 ptDecimals = PT.decimals();
|
|
145
|
+
|
|
146
|
+
(netYtOut, , , , ) = IPRouterStatic(address(this)).swapExactTokenForYtStatic(
|
|
147
|
+
market,
|
|
148
|
+
yieldToken,
|
|
149
|
+
10 ** yieldDecimals
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
(netYieldTokenOut, , , , , , , ) = IPRouterStatic(address(this)).swapExactYtForTokenStatic(
|
|
153
|
+
market,
|
|
154
|
+
10 ** ptDecimals,
|
|
155
|
+
yieldToken
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
|
|
104
159
|
function getLpToSyRate(address market) public view returns (uint256) {
|
|
105
160
|
(IStandardizedYield SY, , ) = _readTokens(market);
|
|
106
161
|
return getLpToAssetRate(market).divDown(SY.exchangeRate());
|
|
@@ -111,6 +166,11 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
|
|
|
111
166
|
return getPtToAssetRate(market).divDown(SY.exchangeRate());
|
|
112
167
|
}
|
|
113
168
|
|
|
169
|
+
function getYtToSyRate(address market) external view returns (uint256) {
|
|
170
|
+
(IStandardizedYield SY, , ) = _readTokens(market);
|
|
171
|
+
return getYtToAssetRate(market).divDown(SY.exchangeRate());
|
|
172
|
+
}
|
|
173
|
+
|
|
114
174
|
function getLpToAssetRate(address market) public view returns (uint256) {
|
|
115
175
|
MarketState memory state = _readState(market);
|
|
116
176
|
PYIndex pyIndexCurrent = _pyIndex(market);
|
|
@@ -135,6 +195,94 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
|
|
|
135
195
|
return _getPtToAssetRate(market, state, _pyIndex(market));
|
|
136
196
|
}
|
|
137
197
|
|
|
198
|
+
function getYtToAssetRate(address market) public view returns (uint256) {
|
|
199
|
+
return PMath.ONE - getPtToAssetRate(market);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
203
|
+
function swapExactSyForPtStaticAndGenerateApproxParams(
|
|
204
|
+
address market,
|
|
205
|
+
uint256 exactSyIn,
|
|
206
|
+
uint256 slippage
|
|
207
|
+
)
|
|
208
|
+
external
|
|
209
|
+
view
|
|
210
|
+
returns (
|
|
211
|
+
uint256 netPtOut,
|
|
212
|
+
uint256 netSyFee,
|
|
213
|
+
uint256 priceImpact,
|
|
214
|
+
uint256 exchangeRateAfter,
|
|
215
|
+
ApproxParams memory approxParams
|
|
216
|
+
)
|
|
217
|
+
{
|
|
218
|
+
(netPtOut, netSyFee, priceImpact, exchangeRateAfter) = IPActionMarketCoreStatic(address(this))
|
|
219
|
+
.swapExactSyForPtStatic(market, exactSyIn);
|
|
220
|
+
approxParams = genApproxParamsToSwapExactSyForPt(market, netPtOut, slippage);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
224
|
+
function swapExactTokenForPtStaticAndGenerateApproxParams(
|
|
225
|
+
address market,
|
|
226
|
+
address tokenIn,
|
|
227
|
+
uint256 amountTokenIn,
|
|
228
|
+
uint256 slippage
|
|
229
|
+
)
|
|
230
|
+
external
|
|
231
|
+
view
|
|
232
|
+
returns (
|
|
233
|
+
uint256 netPtOut,
|
|
234
|
+
uint256 netSyMinted,
|
|
235
|
+
uint256 netSyFee,
|
|
236
|
+
uint256 priceImpact,
|
|
237
|
+
uint256 exchangeRateAfter,
|
|
238
|
+
ApproxParams memory approxParams
|
|
239
|
+
)
|
|
240
|
+
{
|
|
241
|
+
(netPtOut, netSyMinted, netSyFee, priceImpact, exchangeRateAfter) = IPActionMarketCoreStatic(address(this))
|
|
242
|
+
.swapExactTokenForPtStatic(market, tokenIn, amountTokenIn);
|
|
243
|
+
approxParams = genApproxParamsToSwapExactSyForPt(market, netPtOut, slippage);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
247
|
+
function genApproxParamsToSwapExactSyForPt(
|
|
248
|
+
address market,
|
|
249
|
+
uint256 netPtOut,
|
|
250
|
+
uint256 slippage
|
|
251
|
+
) public view returns (ApproxParams memory) {
|
|
252
|
+
MarketState memory state = _readState(market);
|
|
253
|
+
MarketPreCompute memory comp = state.getMarketPreCompute(_pyIndex(market), block.timestamp);
|
|
254
|
+
|
|
255
|
+
uint256 guessLowerBound = 0;
|
|
256
|
+
uint256 guessUpperBound = MarketApproxPtOutLib.calcMaxPtOut(comp, state.totalPt);
|
|
257
|
+
return genApproxParamsPtOut(netPtOut, guessLowerBound, guessUpperBound, slippage);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/// @param slippage A fixed-point number with 18 decimal places
|
|
261
|
+
function genApproxParamsPtOut(
|
|
262
|
+
uint256 netPtOut,
|
|
263
|
+
uint256 guessLowerBound,
|
|
264
|
+
uint256 guessUpperBound,
|
|
265
|
+
uint256 slippage
|
|
266
|
+
) internal pure returns (ApproxParams memory) {
|
|
267
|
+
uint256 guessOffchain = netPtOut;
|
|
268
|
+
uint256 MAX_ITERATION = 30;
|
|
269
|
+
|
|
270
|
+
uint256 MIN_EPS_CAP = PMath.ONE / 10 ** 5;
|
|
271
|
+
uint256 eps = PMath.min(slippage / 2, MIN_EPS_CAP);
|
|
272
|
+
|
|
273
|
+
uint256 guessMin = PMath.max(guessLowerBound, netPtOut.slipDown(slippage));
|
|
274
|
+
uint256 guessMax = PMath.min(guessUpperBound, netPtOut.slipUp(5 * slippage));
|
|
275
|
+
|
|
276
|
+
return
|
|
277
|
+
ApproxParams({
|
|
278
|
+
guessOffchain: guessOffchain,
|
|
279
|
+
maxIteration: MAX_ITERATION,
|
|
280
|
+
eps: eps,
|
|
281
|
+
guessMin: guessMin,
|
|
282
|
+
guessMax: guessMax
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
138
286
|
function _getPtToAssetRate(
|
|
139
287
|
address market,
|
|
140
288
|
MarketState memory state,
|