@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.
Files changed (526) hide show
  1. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  3. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
  5. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
  7. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  25. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.json +2 -2
  28. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  30. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
  32. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
  34. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.json +2 -2
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +2 -2
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol/PendleGTokenSY.json +1026 -0
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.dbg.json +4 -0
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol/PendleGUSDCSY.json +1023 -0
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Gains/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/{PendleGdaiSY.sol → Gains/PendleGdaiSY.sol}/PendleGDaiSY.json +3 -3
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +2 -2
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +2 -2
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.dbg.json +4 -0
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol/PendleMETHSY.json +1049 -0
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleAmphorWstETHVaultSY.sol/PendleAmphorWstETHVaultSY.json +2 -2
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.json +2 -2
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +2 -2
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.json +2 -2
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.dbg.json +1 -1
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.json +2 -2
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.dbg.json +1 -1
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.json +2 -2
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.dbg.json +1 -1
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.json +2 -2
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.json +2 -2
  176. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  178. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  180. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  182. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  184. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  185. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  186. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  187. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  188. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  189. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  190. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  191. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  192. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.dbg.json +1 -1
  193. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.json +2 -2
  194. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.dbg.json +1 -1
  195. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.json +2 -2
  196. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.dbg.json +1 -1
  197. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.json +2 -2
  198. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.dbg.json +1 -1
  199. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.json +2 -2
  200. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
  201. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
  202. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.dbg.json +4 -0
  203. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol/PendleSophonFarmingSY.json +1128 -0
  204. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol/PendleSophonPointManager.dbg.json +4 -0
  205. package/build/artifacts/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol/PendleSophonPointManager.json +420 -0
  206. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  207. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  208. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.dbg.json +1 -1
  209. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.json +2 -2
  210. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  212. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.dbg.json +1 -1
  213. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.json +2 -2
  214. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.dbg.json +1 -1
  215. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.json +2 -2
  216. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.dbg.json +1 -1
  217. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.json +2 -2
  218. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  219. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  220. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  221. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  222. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  223. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  224. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
  225. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.dbg.json +1 -1
  226. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.json +2 -2
  227. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.dbg.json +1 -1
  228. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.json +2 -2
  229. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.dbg.json +1 -1
  230. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.json +2 -2
  231. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.dbg.json +1 -1
  232. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.json +2 -2
  233. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.dbg.json +1 -1
  234. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.json +2 -2
  235. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  236. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  237. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  238. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  239. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  240. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  241. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  242. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +258 -0
  246. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +258 -0
  259. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/Sophon/IPSophonPointManager.sol/IPSophonPointManager.dbg.json +4 -0
  262. package/build/artifacts/contracts/interfaces/Sophon/IPSophonPointManager.sol/IPSophonPointManager.json +18 -0
  263. package/build/artifacts/contracts/interfaces/Sophon/ISophonFarming.sol/ISophonFarming.dbg.json +4 -0
  264. package/build/artifacts/contracts/interfaces/Sophon/ISophonFarming.sol/ISophonFarming.json +168 -0
  265. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  266. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  267. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  268. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  269. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  270. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  272. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  278. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  279. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  280. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  281. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  282. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  283. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  284. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  285. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +316 -2
  286. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  290. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  291. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  292. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  295. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  296. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  297. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  298. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  299. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  300. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  301. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  302. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  303. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  304. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  305. package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  306. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  307. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  308. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  309. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  310. package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  311. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  313. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  315. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  317. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  318. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  319. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  320. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  321. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  322. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  323. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  324. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  326. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  328. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +11 -2
  329. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +3 -2
  330. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +2 -1
  331. package/contracts/core/RewardManager/RewardManager.sol +6 -17
  332. package/contracts/core/StandardizedYield/implementations/Gains/PendleGTokenSY.sol +26 -0
  333. package/contracts/core/StandardizedYield/implementations/Gains/PendleGUSDCSY.sol +10 -0
  334. package/contracts/core/StandardizedYield/implementations/{PendleGdaiSY.sol → Gains/PendleGdaiSY.sol} +2 -2
  335. package/contracts/core/StandardizedYield/implementations/Mantle/PendleMETHSY.sol +82 -0
  336. package/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol +6 -1
  337. package/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonFarmingSY.sol +116 -0
  338. package/contracts/core/StandardizedYield/implementations/Sophon/PendleSophonPointManager.sol +57 -0
  339. package/contracts/core/libraries/math/PMath.sol +8 -0
  340. package/contracts/interfaces/IPActionMarketAuxStatic.sol +47 -0
  341. package/contracts/interfaces/Sophon/IPSophonPointManager.sol +6 -0
  342. package/contracts/interfaces/Sophon/ISophonFarming.sol +19 -0
  343. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +148 -0
  344. package/deployments/1-markets/ENA-MAINNET-OCT2024.json +14 -0
  345. package/deployments/1-markets/USD0++-MAINNET-OCT2024.json +14 -0
  346. package/deployments/42161-markets/GUSDC-ARBITRUM-SEP2024.json +15 -0
  347. package/deployments/5000-markets/METH-MANTLE-DEC2024.json +15 -0
  348. package/deployments/merkle-distribution/2024-07-25.json +20365 -0
  349. package/package.json +3 -2
  350. package/typechain-types/ActionMarketAuxStatic.ts +400 -0
  351. package/typechain-types/IPActionMarketAuxStatic.ts +356 -0
  352. package/typechain-types/IPRouterStatic.ts +334 -0
  353. package/typechain-types/IPSophonPointManager.ts +97 -0
  354. package/typechain-types/ISophonFarming.ts +303 -0
  355. package/typechain-types/PendleGTokenSY.ts +1281 -0
  356. package/typechain-types/PendleGUSDCSY.ts +1294 -0
  357. package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
  358. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
  359. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
  360. package/typechain-types/PendleMETHSY.ts +1349 -0
  361. package/typechain-types/PendleSophonFarmingSY.ts +1412 -0
  362. package/typechain-types/PendleSophonPointManager.ts +610 -0
  363. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  364. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  365. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  366. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +315 -1
  367. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  368. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  369. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  370. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  371. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  372. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  373. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  374. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  375. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  376. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
  377. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  378. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  379. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  380. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  381. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  382. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +258 -0
  383. package/typechain-types/factories/IPRouterStatic__factory.ts +258 -0
  384. package/typechain-types/factories/IPSophonPointManager__factory.ts +37 -0
  385. package/typechain-types/factories/ISophonFarming__factory.ts +183 -0
  386. package/typechain-types/factories/KyberMathHelper__factory.ts +1 -1
  387. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  388. package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
  389. package/typechain-types/factories/PendleAaveV3WithRewardsSY__factory.ts +1 -1
  390. package/typechain-types/factories/PendleAmphorWstETHVaultSY__factory.ts +1 -1
  391. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  392. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  393. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  394. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  395. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  396. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  397. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  398. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  399. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  400. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  401. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  402. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  403. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  404. package/typechain-types/factories/PendleDolomiteSY__factory.ts +1 -1
  405. package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
  406. package/typechain-types/factories/PendleERC20SY__factory.ts +1 -1
  407. package/typechain-types/factories/PendleERC20WithSupplyCapSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  409. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  410. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  411. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  413. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  414. package/typechain-types/factories/PendleEzETHL2SY__factory.ts +1 -1
  415. package/typechain-types/factories/PendleEzETHSY__factory.ts +1 -1
  416. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  417. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  418. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  419. package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
  420. package/typechain-types/factories/PendleGTokenSY__factory.ts +1095 -0
  421. package/typechain-types/factories/PendleGUSDCSY__factory.ts +1073 -0
  422. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  423. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
  424. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
  425. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  426. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  427. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  428. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  429. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  430. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  431. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  432. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
  433. package/typechain-types/factories/PendleL2LRTSY__factory.ts +1 -1
  434. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  435. package/typechain-types/factories/PendleLinearDistributor__factory.ts +1 -1
  436. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  437. package/typechain-types/factories/PendleMETHSY__factory.ts +1099 -0
  438. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  439. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  440. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
  441. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  442. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  443. package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
  444. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  445. package/typechain-types/factories/PendleMellowVaultERC20SYUpg__factory.ts +1 -1
  446. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1 -1
  447. package/typechain-types/factories/PendleMellowVaultSYBaseUpg__factory.ts +1 -1
  448. package/typechain-types/factories/PendleMellowVaultWstETHSYUpg__factory.ts +1 -1
  449. package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
  450. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  451. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  452. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  453. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  454. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  455. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  456. package/typechain-types/factories/PendleREZtakeSY__factory.ts +1 -1
  457. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  458. package/typechain-types/factories/PendleRenzoPreviewHelper__factory.ts +1 -1
  459. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  460. package/typechain-types/factories/PendleRsETHSY__factory.ts +1 -1
  461. package/typechain-types/factories/PendleRswETHSY__factory.ts +1 -1
  462. package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
  463. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  464. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  465. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
  466. package/typechain-types/factories/PendleSophonFarmingSY__factory.ts +1216 -0
  467. package/typechain-types/factories/PendleSophonPointManager__factory.ts +500 -0
  468. package/typechain-types/factories/PendleStTAOSY__factory.ts +1 -1
  469. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  470. package/typechain-types/factories/PendleSwellRswETHStakingSY__factory.ts +1 -1
  471. package/typechain-types/factories/PendleSwellStakingERC20SY__factory.ts +1 -1
  472. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  473. package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
  474. package/typechain-types/factories/PendleUSDESY__factory.ts +1 -1
  475. package/typechain-types/factories/PendleUniETHSY__factory.ts +1 -1
  476. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  477. package/typechain-types/factories/PendleWEEthSY__factory.ts +1 -1
  478. package/typechain-types/factories/PendleWEEthkSY__factory.ts +1 -1
  479. package/typechain-types/factories/PendleWEEthsSY__factory.ts +1 -1
  480. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  481. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  482. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  483. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  484. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  485. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  486. package/typechain-types/factories/PendleZtakeERC20SY__factory.ts +1 -1
  487. package/typechain-types/factories/PendleZtakeEzETHSY__factory.ts +1 -1
  488. package/typechain-types/factories/PendleZtakeRsETHSY__factory.ts +1 -1
  489. package/typechain-types/factories/PendleZtakeUSDESY__factory.ts +1 -1
  490. package/typechain-types/factories/PendleZtakeWeETHSY__factory.ts +1 -1
  491. package/typechain-types/factories/Reflector__factory.ts +1 -1
  492. package/typechain-types/factories/SAPE__factory.ts +1 -1
  493. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  494. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  495. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  496. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  497. package/typechain-types/hardhat.d.ts +72 -90
  498. package/typechain-types/index.ts +16 -20
  499. package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +0 -4
  500. package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +0 -373
  501. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +0 -4
  502. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.json +0 -128
  503. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +0 -4
  504. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +0 -682
  505. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +0 -4
  506. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +0 -1144
  507. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +0 -4
  508. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +0 -570
  509. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +0 -4
  510. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +0 -4
  511. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +0 -66
  512. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +0 -4
  513. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +0 -401
  514. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +0 -4
  515. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +0 -590
  516. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +0 -4
  517. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +0 -942
  518. package/contracts/core/Market/v2/PendleExternalRewardDistributor.sol +0 -129
  519. package/contracts/core/Market/v2/PendleGaugeV2.sol +0 -126
  520. package/contracts/core/Market/v2/PendleMarketFactoryV2.sol +0 -158
  521. package/contracts/core/Market/v2/PendleMarketV2.sol +0 -356
  522. package/contracts/core/RewardManager/PendleLinearDistributor.sol +0 -143
  523. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +0 -105
  524. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +0 -63
  525. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +0 -199
  526. 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
- ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3) {
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: (index + consumedIndex).Uint128(),
47
- lastBalance: (lastBalance + consumedReward).Uint128()
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
+ }
@@ -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 "../SYBase.sol";
5
- import "../../../interfaces/IERC4626.sol";
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() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
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,6 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ interface IPSophonPointManager {
5
+ function claimPointReceiptToken() external;
6
+ }
@@ -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,