@pendle/core-v2 1.2.1-testnet → 1.3.0-testnet

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 (550) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  43. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  45. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  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/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  93. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  96. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  98. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  103. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  107. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  109. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  111. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  113. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  115. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  117. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  120. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  123. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  126. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  128. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -10
  147. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +2 -2
  151. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.dbg.json +4 -0
  163. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.json +655 -0
  164. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2 -12
  170. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  184. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -12
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +4 -4
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  205. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json → offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json} +2 -2
  206. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  208. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  210. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  211. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  212. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  213. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  214. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  215. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  216. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  218. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +4 -0
  219. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +773 -0
  220. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  222. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  223. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  224. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  225. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  226. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  227. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  231. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  232. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  233. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  234. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  235. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  237. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  238. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json +40 -0
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol/IHashflow.json +1 -1
  242. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  243. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  244. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  245. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  246. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  247. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  248. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  249. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  250. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  251. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +1 -1
  252. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  253. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  254. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  255. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  256. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  257. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  258. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  259. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  260. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  261. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -5
  262. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  263. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  264. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -8
  265. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  266. package/contracts/LiquidityMining/README.md +49 -46
  267. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  268. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  269. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  270. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  271. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  272. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  273. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  274. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  275. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  276. package/contracts/core/Market/MarketMathCore.sol +23 -69
  277. package/contracts/core/Market/OracleLib.sol +4 -4
  278. package/contracts/core/Market/PendleGauge.sol +7 -20
  279. package/contracts/core/Market/PendleMarket.sol +5 -15
  280. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  281. package/contracts/core/RewardManager/RewardManager.sol +4 -6
  282. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  283. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  284. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  285. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  286. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  287. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  288. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  289. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  290. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  291. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  292. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  293. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  294. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  295. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  296. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  297. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  298. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  299. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  300. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  301. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  302. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  303. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  304. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  305. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +6 -7
  306. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +14 -24
  307. package/contracts/core/StandardizedYield/implementations/GLP/README.md +15 -13
  308. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +12 -38
  309. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  310. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  311. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +0 -10
  312. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  313. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +4 -4
  314. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +1 -1
  315. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +24 -38
  316. package/contracts/core/erc20/PendleERC20.sol +14 -44
  317. package/contracts/core/libraries/ArrayLib.sol +4 -5
  318. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  319. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  320. package/contracts/core/libraries/StringLib.sol +14 -20
  321. package/contracts/core/libraries/TokenHelper.sol +6 -31
  322. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  323. package/contracts/core/libraries/math/Math.sol +3 -15
  324. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  325. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  326. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  327. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  328. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  329. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  330. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  331. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  332. package/contracts/interfaces/GMX/IGMXVault.sol +4 -4
  333. package/contracts/interfaces/GMX/IRewardRouterV2.sol +4 -4
  334. package/contracts/interfaces/IApeStaking.sol +3 -4
  335. package/contracts/interfaces/IDiamondLoupe.sol +3 -1
  336. package/contracts/interfaces/IERC4626.sol +1 -5
  337. package/contracts/interfaces/IPActionAddRemoveLiq.sol +2 -15
  338. package/contracts/interfaces/IPActionInfoStatic.sol +7 -7
  339. package/contracts/interfaces/IPActionMarketAuxStatic.sol +11 -7
  340. package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -49
  341. package/contracts/interfaces/IPActionMintRedeemStatic.sol +10 -15
  342. package/contracts/interfaces/IPActionStorageStatic.sol +5 -6
  343. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  344. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  345. package/contracts/interfaces/IPGaugeController.sol +3 -9
  346. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  347. package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -6
  348. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  349. package/contracts/interfaces/IPMarket.sol +5 -16
  350. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  351. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  352. package/contracts/interfaces/IPVotingController.sol +5 -6
  353. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  354. package/contracts/interfaces/IPYieldToken.sol +4 -3
  355. package/contracts/interfaces/IPYieldTokenV2.sol +4 -3
  356. package/contracts/interfaces/IRewardManager.sol +4 -4
  357. package/contracts/interfaces/IStETH.sol +4 -3
  358. package/contracts/interfaces/IStandardizedYield.sol +9 -13
  359. package/contracts/interfaces/IStargateRouter.sol +1 -5
  360. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  361. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  362. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  363. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  364. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
  365. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +31 -32
  366. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +76 -65
  367. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +12 -20
  368. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +13 -12
  369. package/contracts/offchain-helpers/router-static/{StorageLayout.sol → base/StorageLayout.sol} +3 -3
  370. package/contracts/router/ActionAddRemoveLiq.sol +2 -18
  371. package/contracts/router/ActionSwapYT.sol +9 -3
  372. package/contracts/router/PendleRouterHelper.sol +315 -0
  373. package/contracts/router/base/ActionBaseCallback.sol +2 -2
  374. package/contracts/router/base/ActionBaseMintRedeem.sol +8 -9
  375. package/contracts/router/base/CallbackHelper.sol +16 -27
  376. package/contracts/router/base/MarketApproxLib.sol +18 -82
  377. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +4 -10
  378. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +4 -5
  379. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -5
  380. package/contracts/router/swap-aggregator/{PendleSwapAggregator.sol → PendleSwapArbitrum.sol} +7 -8
  381. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  382. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  383. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  384. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  385. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  386. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  387. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  388. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  389. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  390. package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IMetaAggregationRouterV2.sol +3 -4
  391. package/contracts/router/swap-aggregator/kyberswap/{KyberAggregationRouterHelper.sol → ethereum/KyberHelperEthereum.sol} +20 -33
  392. package/contracts/router/swap-aggregator/kyberswap/{ScaleDataHelperEthereum1.sol → ethereum/ScaleDataHelperEthereum.sol} +2 -2
  393. package/deployments/43113-core.json +1 -0
  394. package/deployments/80001-core.json +1 -0
  395. package/package.json +6 -5
  396. package/typechain-types/ActionMarketCoreStatic.ts +0 -4
  397. package/typechain-types/ActionStorageStatic.ts +5 -3
  398. package/typechain-types/IChainlinkAggregator.ts +246 -0
  399. package/typechain-types/IExecutorHelper1.ts +643 -0
  400. package/typechain-types/IExecutorHelper2.ts +115 -0
  401. package/typechain-types/IPActionMarketCoreStatic.ts +0 -4
  402. package/typechain-types/IPActionStorageStatic.ts +5 -3
  403. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  404. package/typechain-types/IPRouterStatic.ts +5 -7
  405. package/typechain-types/IStargateLP.ts +306 -0
  406. package/typechain-types/IStargateStaking.ts +232 -0
  407. package/typechain-types/InputScalingHelper.ts +108 -0
  408. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  409. package/typechain-types/PendlePtOracleBase.ts +139 -0
  410. package/typechain-types/PendleRouterHelper.ts +647 -0
  411. package/typechain-types/PendleStargateLP.ts +1442 -0
  412. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  413. package/typechain-types/PendleSwapEthereum.ts +126 -0
  414. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  415. package/typechain-types/PtStETHOracle.ts +163 -0
  416. package/typechain-types/RouterStatic.ts +92 -0
  417. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  418. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  419. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  420. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -11
  421. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  422. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  423. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  424. package/typechain-types/factories/ActionStorageStatic__factory.ts +3 -3
  425. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  426. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  427. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  428. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  429. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  430. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  431. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  432. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  433. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  434. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  435. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  436. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  437. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  438. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -10
  439. package/typechain-types/factories/IPActionStorageStatic__factory.ts +2 -2
  440. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  441. package/typechain-types/factories/IPRouterStatic__factory.ts +2 -12
  442. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  443. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  444. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  445. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  446. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  447. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  448. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  449. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  450. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  451. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  452. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  453. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  454. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  455. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  456. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  457. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  458. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  459. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  460. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  461. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  462. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  463. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  464. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  465. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  466. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  467. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  468. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  469. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  470. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  471. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  472. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  473. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  474. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  475. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  476. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  477. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  478. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  479. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  480. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  481. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  482. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  483. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  484. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  485. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  486. package/typechain-types/factories/RouterStatic__factory.ts +72 -4
  487. package/typechain-types/factories/SAPE__factory.ts +1 -1
  488. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  489. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  490. package/typechain-types/hardhat.d.ts +146 -146
  491. package/typechain-types/index.ts +24 -34
  492. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  493. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +0 -252
  494. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  495. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  496. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  497. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  498. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  499. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  500. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  501. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  502. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  503. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  504. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  505. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  506. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  507. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +0 -92
  508. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  509. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  510. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  511. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  512. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  513. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +0 -252
  514. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  515. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  516. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  517. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  518. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  519. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.json +0 -259
  520. package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  521. package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.json +0 -2741
  522. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.dbg.json +0 -4
  523. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.json +0 -10
  524. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +0 -4
  525. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +0 -72
  526. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
  527. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  528. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  529. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  530. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  531. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  532. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  533. package/contracts/interfaces/IAToken.sol +0 -44
  534. package/contracts/interfaces/IAavePool.sol +0 -41
  535. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  536. package/contracts/interfaces/IEulerEToken.sol +0 -60
  537. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  538. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  539. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  540. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  541. package/contracts/interfaces/ISAvax.sol +0 -61
  542. package/contracts/interfaces/ISJoe.sol +0 -57
  543. package/contracts/interfaces/IWAvax.sol +0 -34
  544. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  545. package/contracts/interfaces/IYearnVault.sol +0 -46
  546. package/contracts/offchain-helpers/legacy/MarketMathStatic.sol +0 -557
  547. package/contracts/offchain-helpers/legacy/RouterStatic.sol +0 -903
  548. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  549. /package/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol +0 -0
  550. /package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol +0 -0
@@ -1,557 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../../router/base/MarketApproxLib.sol";
5
- import "../../interfaces/IPMarket.sol";
6
-
7
- library MarketMathStatic {
8
- using MarketMathCore for MarketState;
9
- using MarketApproxPtInLib for MarketState;
10
- using MarketApproxPtOutLib for MarketState;
11
- using Math for uint256;
12
- using Math for int256;
13
- using LogExpMath for int256;
14
- using PYIndexLib for PYIndex;
15
- using PYIndexLib for IPYieldToken;
16
-
17
- function getDefaultApproxParams() public pure returns (ApproxParams memory) {
18
- return
19
- ApproxParams({
20
- guessMin: 0,
21
- guessMax: type(uint256).max,
22
- guessOffchain: 0,
23
- maxIteration: 256,
24
- eps: 1e14
25
- });
26
- }
27
-
28
- function addLiquidityDualSyAndPtStatic(
29
- address market,
30
- uint256 netSyDesired,
31
- uint256 netPtDesired
32
- )
33
- external
34
- view
35
- returns (
36
- uint256 netLpOut,
37
- uint256 netSyUsed,
38
- uint256 netPtUsed
39
- )
40
- {
41
- MarketState memory state = IPMarket(market).readState(address(this));
42
- (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
43
- netSyDesired,
44
- netPtDesired,
45
- block.timestamp
46
- );
47
- }
48
-
49
- /// @dev netPtToSwap is the parameter to approx
50
- function addLiquiditySinglePtStatic(address market, uint256 netPtIn)
51
- external
52
- returns (
53
- uint256 netLpOut,
54
- uint256 netPtToSwap,
55
- uint256 netSyFee,
56
- uint256 priceImpact,
57
- uint256 exchangeRateAfter
58
- )
59
- {
60
- MarketState memory state = IPMarket(market).readState(address(this));
61
-
62
- (netPtToSwap, , ) = state.approxSwapPtToAddLiquidity(
63
- pyIndex(market),
64
- netPtIn,
65
- block.timestamp,
66
- getDefaultApproxParams()
67
- );
68
-
69
- state = IPMarket(market).readState(address(this)); // re-read
70
-
71
- uint256 netSyReceived;
72
- (netSyReceived, netSyFee, ) = state.swapExactPtForSy(
73
- pyIndex(market),
74
- netPtToSwap,
75
- block.timestamp
76
- );
77
- (, netLpOut, , ) = state.addLiquidity(
78
- netSyReceived,
79
- netPtIn - netPtToSwap,
80
- block.timestamp
81
- );
82
-
83
- priceImpact = calcPriceImpactPt(market, netPtToSwap.neg());
84
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
85
- }
86
-
87
- /// @dev netPtFromSwap is the parameter to approx
88
- function addLiquiditySingleSyStatic(address market, uint256 netSyIn)
89
- public
90
- returns (
91
- uint256 netLpOut,
92
- uint256 netPtFromSwap,
93
- uint256 netSyFee,
94
- uint256 priceImpact,
95
- uint256 exchangeRateAfter
96
- )
97
- {
98
- MarketState memory state = IPMarket(market).readState(address(this));
99
-
100
- (netPtFromSwap, , ) = state.approxSwapSyToAddLiquidity(
101
- pyIndex(market),
102
- netSyIn,
103
- block.timestamp,
104
- getDefaultApproxParams()
105
- );
106
-
107
- state = IPMarket(market).readState(address(this)); // re-read
108
-
109
- uint256 netSySwap;
110
- (netSySwap, netSyFee, ) = state.swapSyForExactPt(
111
- pyIndex(market),
112
- netPtFromSwap,
113
- block.timestamp
114
- );
115
- (, netLpOut, , ) = state.addLiquidity(netSyIn - netSySwap, netPtFromSwap, block.timestamp);
116
-
117
- priceImpact = calcPriceImpactPt(market, netPtFromSwap.Int());
118
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
119
- }
120
-
121
- function removeLiquidityDualSyAndPtStatic(address market, uint256 netLpToRemove)
122
- external
123
- view
124
- returns (uint256 netSyOut, uint256 netPtOut)
125
- {
126
- MarketState memory state = IPMarket(market).readState(address(this));
127
- (netSyOut, netPtOut) = state.removeLiquidity(netLpToRemove);
128
- }
129
-
130
- /// @dev netPtFromSwap is the parameter to approx
131
- function removeLiquiditySinglePtStatic(address market, uint256 netLpToRemove)
132
- external
133
- returns (
134
- uint256 netPtOut,
135
- uint256 netPtFromSwap,
136
- uint256 netSyFee,
137
- uint256 priceImpact,
138
- uint256 exchangeRateAfter
139
- )
140
- {
141
- MarketState memory state = IPMarket(market).readState(address(this));
142
-
143
- (uint256 syFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
144
- (netPtFromSwap, netSyFee) = state.approxSwapExactSyForPt(
145
- pyIndex(market),
146
- syFromBurn,
147
- block.timestamp,
148
- getDefaultApproxParams()
149
- );
150
-
151
- netPtOut = ptFromBurn + netPtFromSwap;
152
- priceImpact = calcPriceImpactPt(market, netPtFromSwap.Int());
153
-
154
- // Execute swap to calculate exchangeRateAfter
155
- state.swapSyForExactPt(pyIndex(market), netPtFromSwap, block.timestamp);
156
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
157
- }
158
-
159
- function removeLiquiditySingleSyStatic(address market, uint256 netLpToRemove)
160
- public
161
- returns (
162
- uint256 netSyOut,
163
- uint256 netSyFee,
164
- uint256 priceImpact,
165
- uint256 exchangeRateAfter
166
- )
167
- {
168
- MarketState memory state = IPMarket(market).readState(address(this));
169
-
170
- (uint256 syFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
171
-
172
- if (IPMarket(market).isExpired()) {
173
- netSyOut = syFromBurn + pyIndex(market).assetToSy(ptFromBurn);
174
- } else {
175
- uint256 syFromSwap;
176
- (syFromSwap, netSyFee, ) = state.swapExactPtForSy(
177
- pyIndex(market),
178
- ptFromBurn,
179
- block.timestamp
180
- );
181
-
182
- netSyOut = syFromBurn + syFromSwap;
183
- priceImpact = calcPriceImpactPt(market, ptFromBurn.neg());
184
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
185
- }
186
- }
187
-
188
- function swapExactPtForSyStatic(address market, uint256 exactPtIn)
189
- public
190
- returns (
191
- uint256 netSyOut,
192
- uint256 netSyFee,
193
- uint256 priceImpact,
194
- uint256 exchangeRateAfter
195
- )
196
- {
197
- MarketState memory state = IPMarket(market).readState(address(this));
198
- (netSyOut, netSyFee, ) = state.swapExactPtForSy(
199
- pyIndex(market),
200
- exactPtIn,
201
- block.timestamp
202
- );
203
- priceImpact = calcPriceImpactPt(market, exactPtIn.neg());
204
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
205
- }
206
-
207
- function swapSyForExactPtStatic(address market, uint256 exactPtOut)
208
- external
209
- returns (
210
- uint256 netSyIn,
211
- uint256 netSyFee,
212
- uint256 priceImpact,
213
- uint256 exchangeRateAfter
214
- )
215
- {
216
- MarketState memory state = IPMarket(market).readState(address(this));
217
- (netSyIn, netSyFee, ) = state.swapSyForExactPt(
218
- pyIndex(market),
219
- exactPtOut,
220
- block.timestamp
221
- );
222
- priceImpact = calcPriceImpactPt(market, exactPtOut.Int());
223
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
224
- }
225
-
226
- /// @dev netPtOut is the parameter to approx
227
- function swapExactSyForPtStatic(address market, uint256 exactSyIn)
228
- public
229
- returns (
230
- uint256 netPtOut,
231
- uint256 netSyFee,
232
- uint256 priceImpact,
233
- uint256 exchangeRateAfter
234
- )
235
- {
236
- MarketState memory state = IPMarket(market).readState(address(this));
237
- (netPtOut, netSyFee) = state.approxSwapExactSyForPt(
238
- pyIndex(market),
239
- exactSyIn,
240
- block.timestamp,
241
- getDefaultApproxParams()
242
- );
243
- priceImpact = calcPriceImpactPt(market, netPtOut.Int());
244
-
245
- // Execute swap to calculate exchangeRateAfter
246
- state.swapSyForExactPt(pyIndex(market), netPtOut, block.timestamp);
247
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
248
- }
249
-
250
- /// @dev netPtIn is the parameter to approx
251
- function swapPtForExactSyStatic(address market, uint256 exactSyOut)
252
- public
253
- returns (
254
- uint256 netPtIn,
255
- uint256 netSyFee,
256
- uint256 priceImpact,
257
- uint256 exchangeRateAfter
258
- )
259
- {
260
- MarketState memory state = IPMarket(market).readState(address(this));
261
-
262
- (netPtIn, , netSyFee) = state.approxSwapPtForExactSy(
263
- pyIndex(market),
264
- exactSyOut,
265
- block.timestamp,
266
- getDefaultApproxParams()
267
- );
268
- priceImpact = calcPriceImpactPt(market, netPtIn.neg());
269
-
270
- // Execute swap to calculate exchangeRateAfter
271
- state.swapExactPtForSy(pyIndex(market), netPtIn, block.timestamp);
272
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
273
- }
274
-
275
- function swapSyForExactYtStatic(address market, uint256 exactYtOut)
276
- external
277
- returns (
278
- uint256 netSyIn,
279
- uint256 netSyFee,
280
- uint256 priceImpact,
281
- uint256 exchangeRateAfter
282
- )
283
- {
284
- priceImpact = calcPriceImpactYt(market, exactYtOut.neg());
285
-
286
- MarketState memory state = IPMarket(market).readState(address(this));
287
- PYIndex index = pyIndex(market);
288
-
289
- uint256 syReceived;
290
- (syReceived, netSyFee, ) = state.swapExactPtForSy(
291
- pyIndex(market),
292
- exactYtOut,
293
- block.timestamp
294
- );
295
-
296
- uint256 totalSyNeed = index.assetToSyUp(exactYtOut);
297
- netSyIn = totalSyNeed.subMax0(syReceived);
298
-
299
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
300
- }
301
-
302
- /// @dev netYtOut is the parameter to approx
303
- function swapExactSyForYtStatic(address market, uint256 exactSyIn)
304
- public
305
- returns (
306
- uint256 netYtOut,
307
- uint256 netSyFee,
308
- uint256 priceImpact,
309
- uint256 exchangeRateAfter
310
- )
311
- {
312
- MarketState memory state = IPMarket(market).readState(address(this));
313
- PYIndex index = pyIndex(market);
314
-
315
- (netYtOut, netSyFee) = state.approxSwapExactSyForYt(
316
- index,
317
- exactSyIn,
318
- block.timestamp,
319
- getDefaultApproxParams()
320
- );
321
-
322
- priceImpact = calcPriceImpactYt(market, netYtOut.neg());
323
-
324
- // Execute swap to calculate exchangeRateAfter
325
- state.swapExactPtForSy(index, netYtOut, block.timestamp);
326
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
327
- }
328
-
329
- function swapExactYtForSyStatic(address market, uint256 exactYtIn)
330
- public
331
- returns (
332
- uint256 netSyOut,
333
- uint256 netSyFee,
334
- uint256 priceImpact,
335
- uint256 exchangeRateAfter
336
- )
337
- {
338
- priceImpact = calcPriceImpactYt(market, exactYtIn.Int());
339
-
340
- MarketState memory state = IPMarket(market).readState(address(this));
341
-
342
- PYIndex index = pyIndex(market);
343
-
344
- uint256 syOwed;
345
- (syOwed, netSyFee, ) = state.swapSyForExactPt(index, exactYtIn, block.timestamp);
346
-
347
- uint256 amountPYToRepaySyOwed = index.syToAssetUp(syOwed);
348
- uint256 amountPYToRedeemSyOut = exactYtIn - amountPYToRepaySyOwed;
349
-
350
- netSyOut = index.assetToSy(amountPYToRedeemSyOut);
351
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
352
- }
353
-
354
- /// @dev netYtIn is the parameter to approx
355
- function swapYtForExactSyStatic(address market, uint256 exactSyOut)
356
- external
357
- returns (
358
- uint256 netYtIn,
359
- uint256 netSyFee,
360
- uint256 priceImpact,
361
- uint256 exchangeRateAfter
362
- )
363
- {
364
- MarketState memory state = IPMarket(market).readState(address(this));
365
-
366
- PYIndex index = pyIndex(market);
367
-
368
- (netYtIn, , netSyFee) = state.approxSwapYtForExactSy(
369
- index,
370
- exactSyOut,
371
- block.timestamp,
372
- getDefaultApproxParams()
373
- );
374
- priceImpact = calcPriceImpactYt(market, netYtIn.Int());
375
-
376
- // Execute swap to calculate exchangeRateAfter
377
- state.swapSyForExactPt(index, netYtIn, block.timestamp);
378
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
379
- }
380
-
381
- // totalPtToSwap is the param to approx
382
- function swapExactPtForYt(address market, uint256 exactPtIn)
383
- external
384
- returns (
385
- uint256 netYtOut,
386
- uint256 totalPtToSwap,
387
- uint256 netSyFee,
388
- uint256 priceImpact,
389
- uint256 exchangeRateAfter
390
- )
391
- {
392
- MarketState memory state = IPMarket(market).readState(address(this));
393
- PYIndex index = pyIndex(market);
394
-
395
- (netYtOut, totalPtToSwap, netSyFee) = state.approxSwapExactPtForYt(
396
- index,
397
- exactPtIn,
398
- block.timestamp,
399
- getDefaultApproxParams()
400
- );
401
- priceImpact = calcPriceImpactPY(market, totalPtToSwap.neg());
402
-
403
- // Execute swap to calculate exchangeRateAfter
404
- state.swapExactPtForSy(index, totalPtToSwap, block.timestamp);
405
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
406
- }
407
-
408
- // totalPtSwapped is the param to approx
409
- function swapExactYtForPt(address market, uint256 exactYtIn)
410
- external
411
- returns (
412
- uint256 netPtOut,
413
- uint256 totalPtSwapped,
414
- uint256 netSyFee,
415
- uint256 priceImpact,
416
- uint256 exchangeRateAfter
417
- )
418
- {
419
- MarketState memory state = IPMarket(market).readState(address(this));
420
- PYIndex index = pyIndex(market);
421
-
422
- (netPtOut, totalPtSwapped, netSyFee) = state.approxSwapExactYtForPt(
423
- index,
424
- exactYtIn,
425
- block.timestamp,
426
- getDefaultApproxParams()
427
- );
428
-
429
- priceImpact = calcPriceImpactPY(market, totalPtSwapped.Int());
430
-
431
- // Execute swap to calculate exchangeRateAfter
432
- state.swapSyForExactPt(index, totalPtSwapped, block.timestamp);
433
- exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
434
- }
435
-
436
- function pyIndex(address market) public returns (PYIndex index) {
437
- (, , IPYieldToken YT) = IPMarket(market).readTokens();
438
-
439
- return YT.newIndex();
440
- }
441
-
442
- function getTradeExchangeRateExcludeFee(address market) public returns (uint256) {
443
- if (IPMarket(market).isExpired()) return Math.ONE;
444
- MarketState memory state = IPMarket(market).readState(address(this));
445
- return _getTradeExchangeRateExcludeFee(market, state);
446
- }
447
-
448
- function _getTradeExchangeRateExcludeFee(address market, MarketState memory state)
449
- public
450
- returns (uint256)
451
- {
452
- MarketPreCompute memory comp = state.getMarketPreCompute(pyIndex(market), block.timestamp);
453
- int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
454
- state.totalPt,
455
- comp.totalAsset,
456
- comp.rateScalar,
457
- comp.rateAnchor,
458
- 0
459
- );
460
- return preFeeExchangeRate.Uint();
461
- }
462
-
463
- function getTradeExchangeRateIncludeFee(address market, int256 netPtOut)
464
- public
465
- returns (uint256)
466
- {
467
- if (IPMarket(market).isExpired()) return Math.ONE;
468
- int256 netPtToAccount = netPtOut;
469
- MarketState memory state = IPMarket(market).readState(address(this));
470
- MarketPreCompute memory comp = state.getMarketPreCompute(pyIndex(market), block.timestamp);
471
-
472
- int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
473
- state.totalPt,
474
- comp.totalAsset,
475
- comp.rateScalar,
476
- comp.rateAnchor,
477
- netPtToAccount
478
- );
479
-
480
- if (netPtToAccount > 0) {
481
- int256 postFeeExchangeRate = preFeeExchangeRate.divDown(comp.feeRate);
482
- if (postFeeExchangeRate < Math.IONE)
483
- revert Errors.MarketExchangeRateBelowOne(postFeeExchangeRate);
484
- return postFeeExchangeRate.Uint();
485
- } else {
486
- return preFeeExchangeRate.mulDown(comp.feeRate).Uint();
487
- }
488
- }
489
-
490
- function calcPriceImpactPt(address market, int256 netPtOut)
491
- public
492
- returns (uint256 priceImpact)
493
- {
494
- uint256 preTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
495
- uint256 tradedRate = getTradeExchangeRateIncludeFee(market, netPtOut);
496
- priceImpact = _calculateImpact(preTradeRate, tradedRate);
497
- }
498
-
499
- function calcPriceImpactYt(address market, int256 netPtOut)
500
- public
501
- returns (uint256 priceImpact)
502
- {
503
- uint256 ytPreTradeRate = _calcVirtualYTPrice(
504
- getTradeExchangeRateIncludeFee(market, _getSign(netPtOut))
505
- );
506
- uint256 ytTradedRate = _calcVirtualYTPrice(
507
- getTradeExchangeRateIncludeFee(market, netPtOut)
508
- );
509
- priceImpact = _calculateImpact(ytPreTradeRate, ytTradedRate);
510
- }
511
-
512
- function calcPriceImpactPY(address market, int256 netPtOut)
513
- public
514
- returns (uint256 priceImpact)
515
- {
516
- uint256 ptPreTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
517
- uint256 ytPreTradeRate = _calcVirtualYTPrice(ptPreTradeRate);
518
- uint256 ptTradeRate = getTradeExchangeRateIncludeFee(market, netPtOut);
519
- uint256 ytTradeRate = _calcVirtualYTPrice(ptTradeRate);
520
-
521
- uint256 pyPreTradeRate = ytPreTradeRate.divDown(ptPreTradeRate);
522
- uint256 pyTradeRate = ytTradeRate.divDown(ptTradeRate);
523
- priceImpact = _calculateImpact(pyPreTradeRate, pyTradeRate);
524
- }
525
-
526
- function getPtImpliedYield(address market) public view returns (int256) {
527
- MarketState memory state = IPMarket(market).readState(address(this));
528
-
529
- int256 lnImpliedRate = (state.lastLnImpliedRate).Int();
530
- return lnImpliedRate.exp();
531
- }
532
-
533
- function _calcVirtualYTPrice(uint256 ptAssetExchangeRate)
534
- private
535
- pure
536
- returns (uint256 ytAssetExchangeRate)
537
- {
538
- // 1 asset = EX pt
539
- // 1 pt = 1/EX Asset
540
- // 1 yt + 1/EX Asset = 1 Asset
541
- // 1 yt = 1 Asset - 1/EX Asset
542
- // 1 yt = (EX - 1) / EX Asset
543
- return (ptAssetExchangeRate - Math.ONE).divDown(ptAssetExchangeRate);
544
- }
545
-
546
- function _getSign(int256 netPtOut) private pure returns (int256) {
547
- return netPtOut > 0 ? int256(1) : int256(-1);
548
- }
549
-
550
- function _calculateImpact(uint256 rateBefore, uint256 rateTraded)
551
- private
552
- pure
553
- returns (uint256 impact)
554
- {
555
- impact = (rateBefore.Int() - rateTraded.Int()).abs().divDown(rateBefore);
556
- }
557
- }