@pendle/core-v2 2.18.0 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  25. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  27. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  33. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  35. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +12 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  98. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  102. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  104. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  108. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  110. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +82 -6
  171. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  173. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +42 -4
  176. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +146 -32
  203. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  220. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  222. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
  223. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.json +10 -0
  224. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  228. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  231. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  233. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +4 -0
  234. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +97 -0
  235. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  237. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  238. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +84 -8
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +44 -6
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  247. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  248. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  249. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  250. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  252. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  253. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  254. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  255. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  256. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +4 -0
  257. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +166 -0
  258. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  259. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  260. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  263. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  264. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  265. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  266. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  268. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  270. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  271. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  272. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  273. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  274. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  275. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  282. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  287. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +8 -2
  288. package/contracts/interfaces/IPActionInfoStatic.sol +8 -7
  289. package/contracts/interfaces/IPActionMarketAuxStatic.sol +21 -14
  290. package/contracts/interfaces/IPActionMarketCoreStatic.sol +70 -67
  291. package/contracts/interfaces/IPActionMintRedeemStatic.sol +23 -11
  292. package/contracts/interfaces/IPRouterStatic.sol +5 -1
  293. package/contracts/interfaces/IStandardizedYield.sol +15 -10
  294. package/contracts/offchain-helpers/BoringLpSeller.sol +47 -0
  295. package/contracts/offchain-helpers/BulkSellerOffchain.sol +11 -8
  296. package/contracts/offchain-helpers/PtAndLpToAsset.sol +62 -0
  297. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +14 -11
  298. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +96 -37
  299. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +88 -80
  300. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +43 -14
  301. package/contracts/oracles/samples/PendleLpGlpOracle.sol +49 -0
  302. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2024.json +4 -4
  303. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.json +4 -4
  304. package/package.json +1 -1
  305. package/typechain-types/ActionMarketAuxStatic.ts +191 -38
  306. package/typechain-types/ActionMarketCoreStatic.ts +600 -134
  307. package/typechain-types/ActionMintRedeemStatic.ts +92 -26
  308. package/typechain-types/CamelotV1PreviewHelper.ts +471 -0
  309. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  310. package/typechain-types/IExecutorHelper1.ts +643 -0
  311. package/typechain-types/IExecutorHelper2.ts +115 -0
  312. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  313. package/typechain-types/IPActionMarketAuxStatic.ts +191 -38
  314. package/typechain-types/IPActionMarketCoreStatic.ts +600 -134
  315. package/typechain-types/IPActionMintRedeemStatic.ts +92 -26
  316. package/typechain-types/IPRouterStatic.ts +888 -197
  317. package/typechain-types/IPVotingEscrowSidechain.ts +155 -0
  318. package/typechain-types/PendleCamelotRewardHelper.ts +347 -0
  319. package/typechain-types/PendleCamelotV1RouterHelper.ts +133 -0
  320. package/typechain-types/PendleCamelotV1SY.ts +1716 -0
  321. package/typechain-types/PendleLpGlpOracle.ts +145 -0
  322. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  323. package/typechain-types/PendleSwapEthereum.ts +126 -0
  324. package/typechain-types/PtAndLpToAsset.ts +136 -0
  325. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  326. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  327. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +83 -7
  328. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  329. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +43 -5
  330. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  331. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  332. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  333. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  334. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  335. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  336. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  337. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  338. package/typechain-types/factories/CamelotV1PreviewHelper__factory.ts +400 -0
  339. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  340. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  341. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  342. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  343. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +82 -6
  344. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  345. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +42 -4
  346. package/typechain-types/factories/IPRouterStatic__factory.ts +146 -32
  347. package/typechain-types/factories/IPVotingEscrowSidechain__factory.ts +112 -0
  348. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +27 -2
  349. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  350. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  351. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  352. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  353. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  354. package/typechain-types/factories/PendleCamelotRewardHelper__factory.ts +317 -0
  355. package/typechain-types/factories/PendleCamelotV1RouterHelper__factory.ts +95 -0
  356. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +1448 -0
  357. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  358. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  359. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  360. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  361. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  362. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  363. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  364. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  365. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +246 -0
  366. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  367. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  368. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  369. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  370. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  371. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  372. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  373. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  374. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  375. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  376. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  377. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  378. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  379. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  380. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  381. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  382. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  383. package/typechain-types/factories/PtAndLpToAsset__factory.ts +150 -0
  384. package/typechain-types/factories/SAPE__factory.ts +1 -1
  385. package/typechain-types/hardhat.d.ts +126 -0
  386. package/typechain-types/index.ts +18 -2
@@ -13,10 +13,9 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
13
13
  using PYIndexLib for PYIndex;
14
14
  using PYIndexLib for IPYieldToken;
15
15
 
16
- function getMarketState(
17
- address market
18
- )
16
+ function getMarketState(address market)
19
17
  public
18
+ view
20
19
  returns (
21
20
  address pt,
22
21
  address yt,
@@ -26,9 +25,7 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
26
25
  MarketState memory state
27
26
  )
28
27
  {
29
- (IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market)
30
- .readTokens();
31
-
28
+ (IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = _readTokens(market);
32
29
  pt = address(PT);
33
30
  yt = address(YT);
34
31
  sy = address(SY);
@@ -37,10 +34,11 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
37
34
  marketExchangeRateExcludeFee = getTradeExchangeRateExcludeFee(market, state);
38
35
  }
39
36
 
40
- function getTradeExchangeRateExcludeFee(
41
- address market,
42
- MarketState memory state
43
- ) public returns (uint256) {
37
+ function getTradeExchangeRateExcludeFee(address market, MarketState memory state)
38
+ public
39
+ view
40
+ returns (uint256)
41
+ {
44
42
  if (IPMarket(market).isExpired()) return Math.ONE;
45
43
 
46
44
  MarketPreCompute memory comp = state.getMarketPreCompute(
@@ -57,10 +55,11 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
57
55
  return preFeeExchangeRate.Uint();
58
56
  }
59
57
 
60
- function getTradeExchangeRateIncludeFee(
61
- address market,
62
- int256 netPtOut
63
- ) public returns (uint256) {
58
+ function getTradeExchangeRateIncludeFee(address market, int256 netPtOut)
59
+ public
60
+ view
61
+ returns (uint256)
62
+ {
64
63
  if (IPMarket(market).isExpired()) return Math.ONE;
65
64
 
66
65
  int256 netPtToAccount = netPtOut;
@@ -88,19 +87,21 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
88
87
  }
89
88
  }
90
89
 
91
- function calcPriceImpactPt(
92
- address market,
93
- int256 netPtOut
94
- ) public returns (uint256 priceImpact) {
90
+ function calcPriceImpactPt(address market, int256 netPtOut)
91
+ public
92
+ view
93
+ returns (uint256 priceImpact)
94
+ {
95
95
  uint256 preTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
96
96
  uint256 tradedRate = getTradeExchangeRateIncludeFee(market, netPtOut);
97
97
  priceImpact = _calculateImpact(preTradeRate, tradedRate);
98
98
  }
99
99
 
100
- function calcPriceImpactYt(
101
- address market,
102
- int256 netPtOut
103
- ) public returns (uint256 priceImpact) {
100
+ function calcPriceImpactYt(address market, int256 netPtOut)
101
+ public
102
+ view
103
+ returns (uint256 priceImpact)
104
+ {
104
105
  uint256 ytPreTradeRate = _calcVirtualYTPrice(
105
106
  getTradeExchangeRateIncludeFee(market, _getSign(netPtOut))
106
107
  );
@@ -110,10 +111,11 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
110
111
  priceImpact = _calculateImpact(ytPreTradeRate, ytTradedRate);
111
112
  }
112
113
 
113
- function calcPriceImpactPY(
114
- address market,
115
- int256 netPtOut
116
- ) public returns (uint256 priceImpact) {
114
+ function calcPriceImpactPY(address market, int256 netPtOut)
115
+ public
116
+ view
117
+ returns (uint256 priceImpact)
118
+ {
117
119
  uint256 ptPreTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
118
120
  uint256 ytPreTradeRate = _calcVirtualYTPrice(ptPreTradeRate);
119
121
  uint256 ptTradeRate = getTradeExchangeRateIncludeFee(market, netPtOut);
@@ -124,6 +126,50 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
124
126
  priceImpact = _calculateImpact(pyPreTradeRate, pyTradeRate);
125
127
  }
126
128
 
129
+ function getLpToSyRate(address market) public view returns (uint256) {
130
+ (IStandardizedYield SY, , ) = _readTokens(market);
131
+ return getLpToAssetRate(market).divDown(SY.exchangeRate());
132
+ }
133
+
134
+ function getPtToSyRate(address market) public view returns (uint256) {
135
+ (IStandardizedYield SY, , ) = _readTokens(market);
136
+ return getPtToAssetRate(market).divDown(SY.exchangeRate());
137
+ }
138
+
139
+ function getLpToAssetRate(address market) public view returns (uint256) {
140
+ MarketState memory state = _readState(market);
141
+ PYIndex pyIndexCurrent = _pyIndex(market);
142
+ MarketPreCompute memory comp = state.getMarketPreCompute(pyIndexCurrent, block.timestamp);
143
+
144
+ int256 totalHypotheticalAsset = comp.totalAsset +
145
+ state.totalPt.mulDown(int256(_getPtToAssetRate(market, state, pyIndexCurrent)));
146
+
147
+ return uint256(totalHypotheticalAsset.divDown(state.totalLp));
148
+ }
149
+
150
+ function getPtToAssetRate(address market) public view returns (uint256) {
151
+ MarketState memory state = _readState(market);
152
+ return _getPtToAssetRate(market, state, _pyIndex(market));
153
+ }
154
+
155
+ function _getPtToAssetRate(
156
+ address market,
157
+ MarketState memory state,
158
+ PYIndex pyIndexCurrent
159
+ ) internal view returns (uint256 ptToAssetRate) {
160
+ if (state.expiry <= block.timestamp) {
161
+ (IStandardizedYield SY, , ) = _readTokens(market);
162
+ return (SY.exchangeRate().divDown(PYIndex.unwrap(pyIndexCurrent)));
163
+ }
164
+ uint256 timeToExpiry = state.expiry - block.timestamp;
165
+ int256 assetToPtRate = MarketMathCore._getExchangeRateFromImpliedRate(
166
+ state.lastLnImpliedRate,
167
+ timeToExpiry
168
+ );
169
+
170
+ ptToAssetRate = uint256(Math.IONE.divDown(assetToPtRate));
171
+ }
172
+
127
173
  function _getPtImpliedYield(address market) internal view returns (int256) {
128
174
  MarketState memory state = _readState(market);
129
175
 
@@ -131,9 +177,11 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
131
177
  return lnImpliedRate.exp();
132
178
  }
133
179
 
134
- function _calcVirtualYTPrice(
135
- uint256 ptAssetExchangeRate
136
- ) private pure returns (uint256 ytAssetExchangeRate) {
180
+ function _calcVirtualYTPrice(uint256 ptAssetExchangeRate)
181
+ private
182
+ pure
183
+ returns (uint256 ytAssetExchangeRate)
184
+ {
137
185
  // 1 asset = EX pt
138
186
  // 1 pt = 1/EX Asset
139
187
  // 1 yt + 1/EX Asset = 1 Asset
@@ -146,20 +194,31 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
146
194
  return IPMarket(market).readState(address(this));
147
195
  }
148
196
 
197
+ function _readTokens(address market)
198
+ internal
199
+ view
200
+ returns (
201
+ IStandardizedYield _SY,
202
+ IPPrincipalToken _PT,
203
+ IPYieldToken _YT
204
+ )
205
+ {
206
+ return IPMarket(market).readTokens();
207
+ }
208
+
149
209
  function _getSign(int256 netPtOut) private pure returns (int256) {
150
210
  return netPtOut > 0 ? int256(1) : int256(-1);
151
211
  }
152
212
 
153
- function _calculateImpact(
154
- uint256 rateBefore,
155
- uint256 rateTraded
156
- ) private pure returns (uint256 impact) {
213
+ function _calculateImpact(uint256 rateBefore, uint256 rateTraded)
214
+ private
215
+ pure
216
+ returns (uint256 impact)
217
+ {
157
218
  impact = (rateBefore.Int() - rateTraded.Int()).abs().divDown(rateBefore);
158
219
  }
159
220
 
160
- function _pyIndex(address market) internal returns (PYIndex index) {
161
- (, , IPYieldToken YT) = IPMarket(market).readTokens();
162
-
163
- return YT.newIndex();
221
+ function _pyIndex(address market) private view returns (PYIndex) {
222
+ return PYIndex.wrap(IPRouterStatic(address(this)).pyIndexCurrentViewMarket(market));
164
223
  }
165
224
  }
@@ -22,7 +22,15 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
22
22
  address market,
23
23
  uint256 netSyDesired,
24
24
  uint256 netPtDesired
25
- ) public view returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
25
+ )
26
+ public
27
+ view
28
+ returns (
29
+ uint256 netLpOut,
30
+ uint256 netSyUsed,
31
+ uint256 netPtUsed
32
+ )
33
+ {
26
34
  MarketState memory state = _readState(market);
27
35
  (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
28
36
  netSyDesired,
@@ -63,11 +71,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
63
71
  }
64
72
 
65
73
  /// @dev netPtToSwap is the parameter to approx
66
- function addLiquiditySinglePtStatic(
67
- address market,
68
- uint256 netPtIn
69
- )
74
+ function addLiquiditySinglePtStatic(address market, uint256 netPtIn)
70
75
  public
76
+ view
71
77
  returns (
72
78
  uint256 netLpOut,
73
79
  uint256 netPtToSwap,
@@ -105,11 +111,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
105
111
  }
106
112
 
107
113
  /// @dev netPtFromSwap is the parameter to approx
108
- function addLiquiditySingleSyStatic(
109
- address market,
110
- uint256 netSyIn
111
- )
114
+ function addLiquiditySingleSyStatic(address market, uint256 netSyIn)
112
115
  public
116
+ view
113
117
  returns (
114
118
  uint256 netLpOut,
115
119
  uint256 netPtFromSwap,
@@ -153,6 +157,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
153
157
  address bulk
154
158
  )
155
159
  public
160
+ view
156
161
  returns (
157
162
  uint256 netLpOut,
158
163
  uint256 netPtFromSwap,
@@ -182,6 +187,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
182
187
  address bulk
183
188
  )
184
189
  public
190
+ view
185
191
  returns (
186
192
  uint256 netLpOut,
187
193
  uint256 netYtOut,
@@ -194,11 +200,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
194
200
  (netLpOut, netYtOut, netSyToPY) = addLiquiditySingleSyKeepYtStatic(market, netSyMinted);
195
201
  }
196
202
 
197
- function addLiquiditySingleSyKeepYtStatic(
198
- address market,
199
- uint256 netSyIn
200
- )
203
+ function addLiquiditySingleSyKeepYtStatic(address market, uint256 netSyIn)
201
204
  public
205
+ view
202
206
  returns (
203
207
  uint256 netLpOut,
204
208
  uint256 netYtOut,
@@ -218,10 +222,11 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
218
222
  (, netLpOut, , ) = state.addLiquidity(netSyIn - netSyToPY, netYtOut, block.timestamp);
219
223
  }
220
224
 
221
- function removeLiquidityDualSyAndPtStatic(
222
- address market,
223
- uint256 netLpToRemove
224
- ) public view returns (uint256 netSyOut, uint256 netPtOut) {
225
+ function removeLiquidityDualSyAndPtStatic(address market, uint256 netLpToRemove)
226
+ public
227
+ view
228
+ returns (uint256 netSyOut, uint256 netPtOut)
229
+ {
225
230
  MarketState memory state = _readState(market);
226
231
  (netSyOut, netPtOut) = state.removeLiquidity(netLpToRemove);
227
232
  }
@@ -231,18 +236,24 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
231
236
  uint256 netLpToRemove,
232
237
  address tokenOut,
233
238
  address bulk
234
- ) public view returns (uint256 netTokenOut, uint256 netPtOut, uint256 netSyToRedeem) {
239
+ )
240
+ public
241
+ view
242
+ returns (
243
+ uint256 netTokenOut,
244
+ uint256 netPtOut,
245
+ uint256 netSyToRedeem
246
+ )
247
+ {
235
248
  (netSyToRedeem, netPtOut) = removeLiquidityDualSyAndPtStatic(market, netLpToRemove);
236
249
  netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
237
250
  }
238
251
 
239
252
  /// @dev netPtFromSwap is the parameter to approx
240
253
  /// @notice should revert post-expiry
241
- function removeLiquiditySinglePtStatic(
242
- address market,
243
- uint256 netLpToRemove
244
- )
254
+ function removeLiquiditySinglePtStatic(address market, uint256 netLpToRemove)
245
255
  public
256
+ view
246
257
  returns (
247
258
  uint256 netPtOut,
248
259
  uint256 netPtFromSwap,
@@ -272,11 +283,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
272
283
  exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
273
284
  }
274
285
 
275
- function removeLiquiditySingleSyStatic(
276
- address market,
277
- uint256 netLpToRemove
278
- )
286
+ function removeLiquiditySingleSyStatic(address market, uint256 netLpToRemove)
279
287
  public
288
+ view
280
289
  returns (
281
290
  uint256 netSyOut,
282
291
  uint256 netSyFee,
@@ -317,6 +326,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
317
326
  address bulk
318
327
  )
319
328
  public
329
+ view
320
330
  returns (
321
331
  uint256 netTokenOut,
322
332
  uint256 netSyFee,
@@ -344,11 +354,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
344
354
 
345
355
  // ============ SWAP PT ============
346
356
 
347
- function swapExactPtForSyStatic(
348
- address market,
349
- uint256 exactPtIn
350
- )
357
+ function swapExactPtForSyStatic(address market, uint256 exactPtIn)
351
358
  public
359
+ view
352
360
  returns (
353
361
  uint256 netSyOut,
354
362
  uint256 netSyFee,
@@ -366,12 +374,15 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
366
374
  exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
367
375
  }
368
376
 
369
- function swapSyForExactPtStatic(
370
- address market,
371
- uint256 exactPtOut
372
- )
377
+ function swapSyForExactPtStatic(address market, uint256 exactPtOut)
373
378
  public
374
- returns (uint256 netSyIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
379
+ view
380
+ returns (
381
+ uint256 netSyIn,
382
+ uint256 netSyFee,
383
+ uint256 priceImpact,
384
+ uint256 exchangeRateAfter
385
+ )
375
386
  {
376
387
  MarketState memory state = _readState(market);
377
388
  (netSyIn, netSyFee, ) = state.swapSyForExactPt(
@@ -384,11 +395,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
384
395
  }
385
396
 
386
397
  /// @dev netPtOut is the parameter to approx
387
- function swapExactSyForPtStatic(
388
- address market,
389
- uint256 exactSyIn
390
- )
398
+ function swapExactSyForPtStatic(address market, uint256 exactSyIn)
391
399
  public
400
+ view
392
401
  returns (
393
402
  uint256 netPtOut,
394
403
  uint256 netSyFee,
@@ -411,12 +420,15 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
411
420
  }
412
421
 
413
422
  /// @dev netPtIn is the parameter to approx
414
- function swapPtForExactSyStatic(
415
- address market,
416
- uint256 exactSyOut
417
- )
423
+ function swapPtForExactSyStatic(address market, uint256 exactSyOut)
418
424
  public
419
- returns (uint256 netPtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
425
+ view
426
+ returns (
427
+ uint256 netPtIn,
428
+ uint256 netSyFee,
429
+ uint256 priceImpact,
430
+ uint256 exchangeRateAfter
431
+ )
420
432
  {
421
433
  MarketState memory state = _readState(market);
422
434
 
@@ -440,6 +452,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
440
452
  address bulk
441
453
  )
442
454
  public
455
+ view
443
456
  returns (
444
457
  uint256 netPtOut,
445
458
  uint256 netSyMinted,
@@ -463,6 +476,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
463
476
  address bulk
464
477
  )
465
478
  public
479
+ view
466
480
  returns (
467
481
  uint256 netTokenOut,
468
482
  uint256 netSyToRedeem,
@@ -481,11 +495,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
481
495
 
482
496
  // ============ SWAP YT ============
483
497
 
484
- function swapSyForExactYtStatic(
485
- address market,
486
- uint256 exactYtOut
487
- )
498
+ function swapSyForExactYtStatic(address market, uint256 exactYtOut)
488
499
  public
500
+ view
489
501
  returns (
490
502
  uint256 netSyIn,
491
503
  uint256 netSyFee,
@@ -514,11 +526,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
514
526
  }
515
527
 
516
528
  /// @dev netYtOut is the parameter to approx
517
- function swapExactSyForYtStatic(
518
- address market,
519
- uint256 exactSyIn
520
- )
529
+ function swapExactSyForYtStatic(address market, uint256 exactSyIn)
521
530
  public
531
+ view
522
532
  returns (
523
533
  uint256 netYtOut,
524
534
  uint256 netSyFee,
@@ -543,11 +553,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
543
553
  exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
544
554
  }
545
555
 
546
- function swapExactYtForSyStatic(
547
- address market,
548
- uint256 exactYtIn
549
- )
556
+ function swapExactYtForSyStatic(address market, uint256 exactYtIn)
550
557
  public
558
+ view
551
559
  returns (
552
560
  uint256 netSyOut,
553
561
  uint256 netSyFee,
@@ -581,6 +589,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
581
589
  address bulk
582
590
  )
583
591
  public
592
+ view
584
593
  returns (
585
594
  uint256 netTokenOut,
586
595
  uint256 netSyFee,
@@ -607,12 +616,15 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
607
616
  }
608
617
 
609
618
  /// @dev netYtIn is the parameter to approx
610
- function swapYtForExactSyStatic(
611
- address market,
612
- uint256 exactSyOut
613
- )
619
+ function swapYtForExactSyStatic(address market, uint256 exactSyOut)
614
620
  public
615
- returns (uint256 netYtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
621
+ view
622
+ returns (
623
+ uint256 netYtIn,
624
+ uint256 netSyFee,
625
+ uint256 priceImpact,
626
+ uint256 exchangeRateAfter
627
+ )
616
628
  {
617
629
  MarketState memory state = _readState(market);
618
630
 
@@ -638,6 +650,7 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
638
650
  address bulk
639
651
  )
640
652
  public
653
+ view
641
654
  returns (
642
655
  uint256 netYtOut,
643
656
  uint256 netSyMinted,
@@ -654,11 +667,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
654
667
  }
655
668
 
656
669
  // totalPtToSwap is the param to approx
657
- function swapExactPtForYtStatic(
658
- address market,
659
- uint256 exactPtIn
660
- )
670
+ function swapExactPtForYtStatic(address market, uint256 exactPtIn)
661
671
  public
672
+ view
662
673
  returns (
663
674
  uint256 netYtOut,
664
675
  uint256 totalPtToSwap,
@@ -684,11 +695,9 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
684
695
  }
685
696
 
686
697
  // totalPtSwapped is the param to approx
687
- function swapExactYtForPtStatic(
688
- address market,
689
- uint256 exactYtIn
690
- )
698
+ function swapExactYtForPtStatic(address market, uint256 exactYtIn)
691
699
  public
700
+ view
692
701
  returns (
693
702
  uint256 netPtOut,
694
703
  uint256 totalPtSwapped,
@@ -714,15 +723,15 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
714
723
  exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
715
724
  }
716
725
 
717
- function _calcPriceImpactPY(address market, int256 netPtOut) internal returns (uint256) {
726
+ function _calcPriceImpactPY(address market, int256 netPtOut) internal view returns (uint256) {
718
727
  return IPRouterStatic(address(this)).calcPriceImpactPY(market, netPtOut);
719
728
  }
720
729
 
721
- function _calcPriceImpactPt(address market, int256 netPtOut) internal returns (uint256) {
730
+ function _calcPriceImpactPt(address market, int256 netPtOut) internal view returns (uint256) {
722
731
  return IPRouterStatic(address(this)).calcPriceImpactPt(market, netPtOut);
723
732
  }
724
733
 
725
- function _calcPriceImpactYt(address market, int256 netPtOut) internal returns (uint256) {
734
+ function _calcPriceImpactYt(address market, int256 netPtOut) internal view returns (uint256) {
726
735
  return IPRouterStatic(address(this)).calcPriceImpactYt(market, netPtOut);
727
736
  }
728
737
 
@@ -756,10 +765,11 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
756
765
  );
757
766
  }
758
767
 
759
- function _getTradeExchangeRateExcludeFee(
760
- address market,
761
- MarketState memory state
762
- ) internal returns (uint256) {
768
+ function _getTradeExchangeRateExcludeFee(address market, MarketState memory state)
769
+ internal
770
+ view
771
+ returns (uint256)
772
+ {
763
773
  return IPRouterStatic(address(this)).getTradeExchangeRateExcludeFee(market, state);
764
774
  }
765
775
 
@@ -767,10 +777,8 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
767
777
  return IPMarket(market).readState(address(this));
768
778
  }
769
779
 
770
- function _pyIndex(address market) internal returns (PYIndex index) {
771
- (, , IPYieldToken YT) = IPMarket(market).readTokens();
772
-
773
- return YT.newIndex();
780
+ function _pyIndex(address market) private view returns (PYIndex) {
781
+ return PYIndex.wrap(IPRouterStatic(address(this)).pyIndexCurrentViewMarket(market));
774
782
  }
775
783
 
776
784
  function _getSyMarket(address market) internal view returns (address) {
@@ -10,19 +10,21 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
10
10
  using Math for uint256;
11
11
  using BulkSellerMathCore for BulkSellerState;
12
12
 
13
- function mintPyFromSyStatic(
14
- address YT,
15
- uint256 netSyToMint
16
- ) public returns (uint256 netPYOut) {
13
+ function mintPyFromSyStatic(address YT, uint256 netSyToMint)
14
+ public
15
+ view
16
+ returns (uint256 netPYOut)
17
+ {
17
18
  if (IPYieldToken(YT).isExpired()) revert Errors.YCExpired();
18
- return netSyToMint.mulDown(IPYieldToken(YT).pyIndexCurrent());
19
+ return netSyToMint.mulDown(pyIndexCurrentViewYt(YT));
19
20
  }
20
21
 
21
- function redeemPyToSyStatic(
22
- address YT,
23
- uint256 netPYToRedeem
24
- ) public returns (uint256 netSyOut) {
25
- return netPYToRedeem.divDown(IPYieldToken(YT).pyIndexCurrent());
22
+ function redeemPyToSyStatic(address YT, uint256 netPYToRedeem)
23
+ public
24
+ view
25
+ returns (uint256 netSyOut)
26
+ {
27
+ return netPYToRedeem.divDown(pyIndexCurrentViewYt(YT));
26
28
  }
27
29
 
28
30
  function mintPyFromTokenStatic(
@@ -30,7 +32,7 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
30
32
  address tokenIn,
31
33
  uint256 netTokenIn,
32
34
  address bulk
33
- ) external returns (uint256 netPyOut) {
35
+ ) external view returns (uint256 netPyOut) {
34
36
  address SY = IPYieldToken(YT).SY();
35
37
  uint256 netSyReceived = mintSyFromTokenStatic(SY, tokenIn, netTokenIn, bulk);
36
38
  netPyOut = mintPyFromSyStatic(YT, netSyReceived);
@@ -41,7 +43,7 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
41
43
  uint256 netPYToRedeem,
42
44
  address tokenOut,
43
45
  address bulk
44
- ) external returns (uint256 netTokenOut) {
46
+ ) external view returns (uint256 netTokenOut) {
45
47
  address SY = IPYieldToken(YT).SY();
46
48
  uint256 netSyReceived = redeemPyToSyStatic(YT, netPYToRedeem);
47
49
  netTokenOut = redeemSyToTokenStatic(SY, tokenOut, netSyReceived, bulk);
@@ -84,7 +86,7 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
84
86
  uint256 pivotAmount;
85
87
 
86
88
  if (tokenIn == address(0)) pivotAmount = 1e18;
87
- else pivotAmount = 10 ** IStandardizedYield(SY).decimals();
89
+ else pivotAmount = 10**IStandardizedYield(SY).decimals();
88
90
 
89
91
  uint256 low = pivotAmount;
90
92
  {
@@ -124,7 +126,15 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
124
126
  address SY,
125
127
  uint256 netTokenIn,
126
128
  uint256 netSyIn
127
- ) external view returns (address bulk, uint256 totalToken, uint256 totalSy) {
129
+ )
130
+ external
131
+ view
132
+ returns (
133
+ address bulk,
134
+ uint256 totalToken,
135
+ uint256 totalSy
136
+ )
137
+ {
128
138
  if (address(bulkSellerFactory) == address(0)) return (address(0), 0, 0);
129
139
 
130
140
  bulk = bulkSellerFactory.get(token, SY);
@@ -152,6 +162,25 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
152
162
  totalSy = state.totalSy;
153
163
  }
154
164
 
165
+ function pyIndexCurrentViewMarket(address market) public view returns (uint256) {
166
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
167
+ return pyIndexCurrentViewYt(address(YT));
168
+ }
169
+
170
+ function pyIndexCurrentViewYt(address yt) public view returns (uint256) {
171
+ IPYieldToken YT = IPYieldToken(yt);
172
+ IStandardizedYield SY = IStandardizedYield(YT.SY());
173
+
174
+ uint256 syIndex = SY.exchangeRate();
175
+ uint256 pyIndexStored = YT.pyIndexStored();
176
+
177
+ if (YT.doCacheIndexSameBlock() && YT.pyIndexLastUpdatedBlock() == block.number) {
178
+ return pyIndexStored;
179
+ } else {
180
+ return Math.max(syIndex, pyIndexStored);
181
+ }
182
+ }
183
+
155
184
  function _readBulkSellerState(address bulk) internal view returns (BulkSellerState memory) {
156
185
  return IPBulkSeller(bulk).readState();
157
186
  }