@pendle/core-v2 1.2.0-mainnet → 1.2.1-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 (692) 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/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +3 -3
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +34 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +39 -0
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.json +141 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json +141 -0
  56. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +10 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +143 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +4 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +1218 -0
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +1192 -0
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +4 -0
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +10 -0
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +4 -0
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +40 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +4 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +322 -0
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +4 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +1171 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +10 -0
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +4 -0
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +133 -0
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +143 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +143 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +143 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.json +141 -0
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.json +50 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +974 -0
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +143 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +143 -2
  100. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  105. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  107. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  108. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  113. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  115. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  119. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +87 -2
  125. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +4 -0
  132. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +10 -0
  133. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +4 -0
  134. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +24 -0
  135. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +4 -0
  136. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +133 -0
  137. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +4 -0
  138. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +328 -0
  139. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +4 -0
  140. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +467 -0
  141. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +4 -0
  142. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.json +61 -0
  143. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +4 -0
  144. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +30 -0
  145. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +4 -0
  146. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +398 -0
  147. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +4 -0
  148. package/build/artifacts/contracts/{router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json → interfaces/Balancer/IRateProvider.sol/IRateProvider.json} +5 -5
  149. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +4 -0
  150. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +278 -0
  151. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +18 -0
  156. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  159. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.json +308 -0
  160. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  161. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +69 -0
  162. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  163. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.json +201 -0
  164. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  165. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  166. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +4 -0
  170. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.json +48 -0
  171. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  175. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  176. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  177. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  178. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  180. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  188. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.json +307 -0
  190. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +4 -0
  191. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +269 -0
  192. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +4 -0
  193. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +1270 -0
  194. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  196. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +4 -0
  197. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +273 -0
  198. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  200. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +4 -0
  201. package/build/artifacts/contracts/interfaces/{IPActionSwapPTYT.sol/IPActionSwapPTYT.json → IPActionStorageStatic.sol/IPActionStorageStatic.json} +70 -76
  202. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  204. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  206. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +4 -0
  207. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.json +40 -0
  208. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  210. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +19 -0
  215. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  221. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  222. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  226. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  227. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  233. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2332 -0
  234. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +39 -0
  237. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  241. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  242. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  260. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  261. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  262. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +4 -0
  263. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
  264. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +4 -0
  267. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +322 -0
  268. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
  269. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
  270. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.dbg.json +4 -0
  271. package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.json +259 -0
  272. package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  273. package/build/artifacts/contracts/offchain-helpers/{RouterStatic.sol → legacy/RouterStatic.sol}/RouterStatic.json +5 -5
  274. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  275. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  276. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  277. package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.json +10 -0
  278. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  279. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  280. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  281. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  282. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  283. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1407 -0
  284. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  285. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  286. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  290. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  291. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  292. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  294. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  295. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  296. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  297. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  298. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  299. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  300. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  301. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  302. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  303. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  304. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  305. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  306. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  307. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  309. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  311. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  312. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  313. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  314. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  315. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  316. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  317. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +4 -0
  318. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +72 -0
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +4 -0
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +10 -0
  321. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +10 -0
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  326. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +388 -0
  327. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
  328. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.json +101 -0
  329. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  330. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  331. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +0 -1
  332. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +9 -9
  333. package/contracts/core/RewardManager/RewardManager.sol +1 -1
  334. package/contracts/core/StandardizedYield/SYBase.sol +23 -5
  335. package/contracts/core/StandardizedYield/StEthHelper.sol +71 -0
  336. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +134 -0
  337. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +154 -0
  338. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +68 -0
  339. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +322 -0
  340. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +390 -0
  341. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +329 -0
  342. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +30 -0
  343. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +189 -0
  344. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +142 -0
  345. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +224 -0
  346. package/contracts/core/StandardizedYield/implementations/GLP/README.md +61 -0
  347. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +138 -0
  348. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +10 -0
  349. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  350. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  351. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  352. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +485 -0
  353. package/contracts/core/libraries/ArrayLib.sol +27 -12
  354. package/contracts/core/libraries/Errors.sol +8 -2
  355. package/contracts/core/libraries/TokenHelper.sol +10 -0
  356. package/contracts/interfaces/Balancer/IAsset.sol +4 -0
  357. package/contracts/interfaces/Balancer/IBalancerFees.sol +6 -0
  358. package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +22 -0
  359. package/contracts/interfaces/Balancer/IBasePool.sol +30 -0
  360. package/contracts/interfaces/Balancer/IComposableStable.sol +39 -0
  361. package/contracts/interfaces/Balancer/IGauge.sol +10 -0
  362. package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +6 -0
  363. package/contracts/interfaces/Balancer/IMetaStablePool.sol +31 -0
  364. package/contracts/interfaces/Balancer/IRateProvider.sol +6 -0
  365. package/contracts/interfaces/Balancer/IVault.sol +78 -0
  366. package/contracts/interfaces/ConvexCurve/IRewards.sol +5 -0
  367. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  368. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  369. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  370. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  371. package/contracts/interfaces/IAddressProvider.sol +7 -0
  372. package/contracts/interfaces/IDiamondCut.sol +36 -0
  373. package/contracts/interfaces/IDiamondLoupe.sol +38 -0
  374. package/contracts/interfaces/IERC4626.sol +2 -0
  375. package/contracts/interfaces/IPActionAddRemoveLiq.sol +36 -1
  376. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  377. package/contracts/interfaces/IPActionMarketAuxStatic.sol +30 -0
  378. package/contracts/interfaces/IPActionMarketCoreStatic.sol +317 -0
  379. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  380. package/contracts/interfaces/IPActionMintRedeemStatic.sol +60 -0
  381. package/contracts/interfaces/IPActionMisc.sol +18 -4
  382. package/contracts/interfaces/IPActionStorageStatic.sol +25 -0
  383. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  384. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  385. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  386. package/contracts/interfaces/IPAllAction.sol +5 -3
  387. package/contracts/interfaces/IPInterestManagerYTV2.sol +13 -0
  388. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  389. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  390. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  391. package/contracts/interfaces/IPVotingController.sol +6 -0
  392. package/contracts/interfaces/IPYieldTokenV2.sol +66 -0
  393. package/contracts/interfaces/IStandardizedYield.sol +1 -1
  394. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  395. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  396. package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
  397. package/contracts/offchain-helpers/{MarketMathStatic.sol → legacy/MarketMathStatic.sol} +2 -2
  398. package/contracts/offchain-helpers/{RouterStatic.sol → legacy/RouterStatic.sol} +7 -7
  399. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  400. package/contracts/offchain-helpers/router-static/StorageLayout.sol +21 -0
  401. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +125 -0
  402. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +166 -0
  403. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +769 -0
  404. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +166 -0
  405. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +75 -0
  406. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  407. package/contracts/router/ActionAddRemoveLiq.sol +116 -6
  408. package/contracts/router/ActionMintRedeem.sol +12 -202
  409. package/contracts/router/ActionMisc.sol +45 -19
  410. package/contracts/router/ActionSwapPT.sol +0 -5
  411. package/contracts/router/ActionSwapYT.sol +103 -13
  412. package/contracts/router/PendleRouter.sol +211 -72
  413. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +47 -47
  414. package/contracts/router/base/ActionBaseMintRedeem.sol +105 -60
  415. package/contracts/router/base/CallbackHelper.sol +137 -44
  416. package/contracts/router/base/MarketApproxLib.sol +227 -350
  417. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +45 -0
  418. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +69 -0
  419. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +25 -0
  420. package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +46 -0
  421. package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +214 -0
  422. package/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol +147 -0
  423. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +17 -0
  424. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol +191 -0
  425. package/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol +30 -0
  426. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +42 -0
  427. package/deployments/43113-core.json +30 -0
  428. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  429. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  430. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  431. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  432. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  433. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  434. package/deployments/43113-offchain-helper.json +4 -0
  435. package/deployments/43113-testenv.json +22 -0
  436. package/deployments/80001-core.json +29 -0
  437. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  438. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  439. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  440. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  441. package/deployments/80001-offchain-helper.json +4 -0
  442. package/deployments/80001-testenv.json +22 -0
  443. package/package.json +9 -10
  444. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  445. package/typechain-types/ActionBaseCallback.ts +115 -0
  446. package/typechain-types/ActionInfoStatic.ts +310 -0
  447. package/typechain-types/ActionMarketAuxStatic.ts +350 -0
  448. package/typechain-types/ActionMarketCoreStatic.ts +1489 -0
  449. package/typechain-types/ActionMintRedeem.ts +29 -230
  450. package/typechain-types/ActionMintRedeemStatic.ts +461 -0
  451. package/typechain-types/ActionMisc.ts +77 -27
  452. package/typechain-types/ActionStorageStatic.ts +403 -0
  453. package/typechain-types/ActionSwapPT.ts +26 -31
  454. package/typechain-types/ActionSwapYT.ts +202 -21
  455. package/typechain-types/ActionVePendleStatic.ts +113 -0
  456. package/typechain-types/AddressProvider.ts +280 -0
  457. package/typechain-types/Broadcaster.ts +454 -0
  458. package/typechain-types/ComposableStablePreview.ts +217 -0
  459. package/typechain-types/GLPPreviewHelper.ts +121 -0
  460. package/typechain-types/GMXPreviewHelper.ts +121 -0
  461. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  462. package/typechain-types/IAddressProvider.ts +123 -0
  463. package/typechain-types/IAggregationExecutor.ts +182 -0
  464. package/typechain-types/IBalancerFees.ts +89 -0
  465. package/typechain-types/IBalancerStablePreview.ts +217 -0
  466. package/typechain-types/IBasePool.ts +482 -0
  467. package/typechain-types/IComposableStable.ts +730 -0
  468. package/typechain-types/IDiamondCut.ts +152 -0
  469. package/typechain-types/IDiamondLoupe.ts +190 -0
  470. package/typechain-types/IERC4626.ts +34 -0
  471. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  472. package/typechain-types/IGMXVault.ts +494 -0
  473. package/typechain-types/IGauge.ts +160 -0
  474. package/typechain-types/IGlpManager.ts +165 -0
  475. package/typechain-types/IHashflow.ts +159 -0
  476. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +109 -0
  477. package/typechain-types/ILiquidityGaugeFactory.ts +99 -0
  478. package/typechain-types/IMetaAggregationRouter.ts +213 -0
  479. package/typechain-types/IMetaAggregationRouterV2.ts +221 -0
  480. package/typechain-types/IMetaStablePool.ts +619 -0
  481. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  482. package/typechain-types/IPActionInfoStatic.ts +310 -0
  483. package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
  484. package/typechain-types/IPActionMarketCoreStatic.ts +1489 -0
  485. package/typechain-types/IPActionMintRedeem.ts +29 -211
  486. package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
  487. package/typechain-types/IPActionMisc.ts +77 -27
  488. package/typechain-types/IPActionStorageStatic.ts +326 -0
  489. package/typechain-types/IPActionSwapPT.ts +26 -12
  490. package/typechain-types/IPActionSwapYT.ts +168 -12
  491. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  492. package/typechain-types/IPAllAction.ts +445 -227
  493. package/typechain-types/IPFeeDistributor.ts +18 -0
  494. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  495. package/typechain-types/IPMiniDiamond.ts +147 -0
  496. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  497. package/typechain-types/IPRouterStatic.ts +2394 -509
  498. package/typechain-types/IPSwapAggregator.ts +126 -0
  499. package/typechain-types/IPVotingController.ts +96 -0
  500. package/typechain-types/IPYieldTokenV2.ts +901 -0
  501. package/typechain-types/IRateProvider.ts +81 -0
  502. package/typechain-types/IRewardRouterV2.ts +346 -0
  503. package/typechain-types/IRewards.ts +35 -5
  504. package/typechain-types/ISwapAggregator.ts +124 -0
  505. package/typechain-types/IVault.ts +410 -0
  506. package/typechain-types/IVaultPriceFeed.ts +114 -0
  507. package/typechain-types/InterestManagerYTV2.ts +157 -0
  508. package/typechain-types/MetaStableMath.ts +113 -0
  509. package/typechain-types/MetaStablePreview.ts +501 -0
  510. package/typechain-types/Multicall2.ts +437 -0
  511. package/typechain-types/PendleAura3EthSY.ts +1600 -0
  512. package/typechain-types/PendleAuraBalancerStableLPSY.ts +1523 -0
  513. package/typechain-types/PendleAuraCbethWstethSY.ts +1587 -0
  514. package/typechain-types/PendleAuraWethRethSY.ts +1549 -0
  515. package/typechain-types/PendleAuraWethWstethSY.ts +1523 -0
  516. package/typechain-types/PendleConvexLPSY.ts +204 -0
  517. package/typechain-types/PendleCurveFraxUsdcSY.ts +204 -0
  518. package/typechain-types/PendleCurveUsdd3CrvSY.ts +204 -0
  519. package/typechain-types/PendleFeeDistributor.ts +37 -0
  520. package/typechain-types/PendleGDaiSY.ts +1229 -0
  521. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  522. package/typechain-types/PendleGlpSY.ts +1463 -0
  523. package/typechain-types/PendleLooksStakingSY.ts +204 -0
  524. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  525. package/typechain-types/PendleMulticall.ts +110 -0
  526. package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
  527. package/typechain-types/PendleQiTokenSY.ts +204 -0
  528. package/typechain-types/PendleRouter.ts +109 -131
  529. package/typechain-types/PendleRouterStatic.ts +57 -0
  530. package/typechain-types/PendleSwapAggregator.ts +126 -0
  531. package/typechain-types/PendleWstEthSY.ts +204 -0
  532. package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
  533. package/typechain-types/PendleYieldTokenV2.ts +1298 -0
  534. package/typechain-types/SAPE.ts +204 -0
  535. package/typechain-types/SYBase.ts +204 -0
  536. package/typechain-types/SYBaseWithRewards.ts +204 -0
  537. package/typechain-types/StEthHelper.ts +107 -0
  538. package/typechain-types/StablePreviewBase.ts +217 -0
  539. package/typechain-types/SwapAggregator.ts +406 -0
  540. package/typechain-types/VotingControllerStorageUpg.ts +96 -0
  541. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  542. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  543. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  544. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  545. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  546. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
  547. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1464 -0
  548. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
  549. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  550. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  551. package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
  552. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  553. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  554. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  555. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  556. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  557. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  558. package/typechain-types/factories/Broadcaster__factory.ts +311 -0
  559. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  560. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  561. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  562. package/typechain-types/factories/ComposableStablePreview__factory.ts +190 -0
  563. package/typechain-types/factories/Errors__factory.ts +86 -1
  564. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  565. package/typechain-types/factories/GMXPreviewHelper__factory.ts +65 -0
  566. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  567. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  568. package/typechain-types/factories/IAggregationExecutor__factory.ts +84 -0
  569. package/typechain-types/factories/IBalancerFees__factory.ts +36 -0
  570. package/typechain-types/factories/IBalancerStablePreview__factory.ts +152 -0
  571. package/typechain-types/factories/IBasePool__factory.ts +340 -0
  572. package/typechain-types/factories/IComposableStable__factory.ts +482 -0
  573. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  574. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  575. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  576. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  577. package/typechain-types/factories/IGMXVault__factory.ts +320 -0
  578. package/typechain-types/factories/IGauge__factory.ts +70 -0
  579. package/typechain-types/factories/IGlpManager__factory.ts +81 -0
  580. package/typechain-types/factories/IHashflow__factory.ts +113 -0
  581. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +56 -0
  582. package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +49 -0
  583. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +234 -0
  584. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +202 -0
  585. package/typechain-types/factories/IMetaStablePool__factory.ts +413 -0
  586. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  587. package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
  588. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
  589. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1289 -0
  590. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
  591. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  592. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  593. package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
  594. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  595. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  596. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  597. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  598. package/typechain-types/factories/IPFeeDistributor__factory.ts +19 -0
  599. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  600. package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
  601. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  602. package/typechain-types/factories/IPRouterStatic__factory.ts +1952 -494
  603. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  604. package/typechain-types/factories/IPVotingController__factory.ts +39 -0
  605. package/typechain-types/factories/IPYieldTokenV2__factory.ts +694 -0
  606. package/typechain-types/factories/IRateProvider__factory.ts +36 -0
  607. package/typechain-types/factories/IRewardRouterV2__factory.ts +216 -0
  608. package/typechain-types/factories/IRewards__factory.ts +18 -0
  609. package/typechain-types/factories/ISwapAggregator__factory.ts +66 -0
  610. package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
  611. package/typechain-types/factories/IVault__factory.ts +287 -0
  612. package/typechain-types/factories/InterestManagerYTV2__factory.ts +81 -0
  613. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  614. package/typechain-types/factories/MetaStableMath__factory.ts +93 -0
  615. package/typechain-types/factories/MetaStablePreview__factory.ts +375 -0
  616. package/typechain-types/factories/Multicall2__factory.ts +372 -0
  617. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  618. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1326 -0
  619. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +1190 -0
  620. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1317 -0
  621. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1291 -0
  622. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1265 -0
  623. package/typechain-types/factories/PendleConvexLPSY__factory.ts +141 -0
  624. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +142 -1
  625. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +142 -1
  626. package/typechain-types/factories/PendleFeeDistributor__factory.ts +33 -1
  627. package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
  628. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  629. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  630. package/typechain-types/factories/PendleGlpSY__factory.ts +1249 -0
  631. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +142 -1
  632. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  633. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  634. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  635. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  636. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  637. package/typechain-types/factories/PendleMulticall__factory.ts +100 -0
  638. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
  639. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  640. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  641. package/typechain-types/factories/PendleQiTokenSY__factory.ts +142 -1
  642. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  643. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  644. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  645. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  646. package/typechain-types/factories/PendleWstEthSY__factory.ts +142 -1
  647. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
  648. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1109 -0
  650. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  651. package/typechain-types/factories/RouterStatic__factory.ts +4 -4
  652. package/typechain-types/factories/SAPE__factory.ts +142 -1
  653. package/typechain-types/factories/SYBaseWithRewards__factory.ts +141 -0
  654. package/typechain-types/factories/SYBase__factory.ts +141 -0
  655. package/typechain-types/factories/StEthHelper__factory.ts +62 -0
  656. package/typechain-types/factories/StablePreviewBase__factory.ts +148 -0
  657. package/typechain-types/factories/SwapAggregator__factory.ts +309 -0
  658. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
  659. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  660. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  661. package/typechain-types/hardhat.d.ts +511 -52
  662. package/typechain-types/index.ts +116 -18
  663. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  664. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  665. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  666. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  667. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -285
  668. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  669. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  670. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  671. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  672. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  673. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  674. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  675. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  676. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +0 -35
  677. package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.dbg.json +0 -4
  678. package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.json +0 -136
  679. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  680. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  681. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  682. package/contracts/router/ActionSwapPTYT.sol +0 -108
  683. package/contracts/router/kyberswap/AggregationRouterHelper.sol +0 -331
  684. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  685. package/contracts/router/kyberswap/IMultihopRouterEthereum.sol +0 -141
  686. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  687. package/deployments/1-core.json +0 -30
  688. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  689. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  690. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  691. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  692. package/deployments/1-markets/STETH-MARCH30.json +0 -10
@@ -0,0 +1,769 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/IPMarket.sol";
5
+ import "../../../interfaces/IPRouterStatic.sol";
6
+ import "../StorageLayout.sol";
7
+
8
+ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
9
+ using Math for uint256;
10
+ using Math for int256;
11
+
12
+ using LogExpMath for int256;
13
+ using PYIndexLib for PYIndex;
14
+ using PYIndexLib for IPYieldToken;
15
+ using MarketApproxPtInLib for MarketState;
16
+ using MarketApproxPtOutLib for MarketState;
17
+ using MarketMathCore for MarketState;
18
+
19
+ // ============ ADD REMOVE LIQUIDITY ============
20
+
21
+ function addLiquidityDualSyAndPtStatic(
22
+ address market,
23
+ uint256 netSyDesired,
24
+ uint256 netPtDesired
25
+ )
26
+ public
27
+ view
28
+ returns (
29
+ uint256 netLpOut,
30
+ uint256 netSyUsed,
31
+ uint256 netPtUsed
32
+ )
33
+ {
34
+ MarketState memory state = _readState(market);
35
+ (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
36
+ netSyDesired,
37
+ netPtDesired,
38
+ block.timestamp
39
+ );
40
+ }
41
+
42
+ function addLiquidityDualTokenAndPtStatic(
43
+ address market,
44
+ address tokenIn,
45
+ uint256 netTokenDesired,
46
+ address bulk,
47
+ uint256 netPtDesired
48
+ )
49
+ public
50
+ view
51
+ returns (
52
+ uint256 netLpOut,
53
+ uint256 netTokenUsed,
54
+ uint256 netPtUsed,
55
+ // extra-info
56
+ uint256 netSyUsed,
57
+ uint256 netSyDesired
58
+ )
59
+ {
60
+ netSyDesired = _mintSyFromTokenStatic(market, tokenIn, netTokenDesired, bulk);
61
+
62
+ (netLpOut, netSyUsed, netPtUsed) = addLiquidityDualSyAndPtStatic(
63
+ market,
64
+ netSyDesired,
65
+ netPtDesired
66
+ );
67
+
68
+ if (netSyUsed != netSyDesired) revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
69
+
70
+ netTokenUsed = netTokenDesired;
71
+ }
72
+
73
+ /// @dev netPtToSwap is the parameter to approx
74
+ function addLiquiditySinglePtStatic(address market, uint256 netPtIn)
75
+ public
76
+ returns (
77
+ uint256 netLpOut,
78
+ uint256 netPtToSwap,
79
+ uint256 netSyFee,
80
+ uint256 priceImpact,
81
+ uint256 exchangeRateAfter,
82
+ // extra-info
83
+ uint256 netSyFromSwap
84
+ )
85
+ {
86
+ MarketState memory state = _readState(market);
87
+
88
+ (netPtToSwap, , ) = state.approxSwapPtToAddLiquidity(
89
+ _pyIndex(market),
90
+ netPtIn,
91
+ block.timestamp,
92
+ defaultApproxParams
93
+ );
94
+
95
+ state = _readState(market); // re-read
96
+
97
+ (netSyFromSwap, netSyFee, ) = state.swapExactPtForSy(
98
+ _pyIndex(market),
99
+ netPtToSwap,
100
+ block.timestamp
101
+ );
102
+ (, netLpOut, , ) = state.addLiquidity(
103
+ netSyFromSwap,
104
+ netPtIn - netPtToSwap,
105
+ block.timestamp
106
+ );
107
+
108
+ priceImpact = _calcPriceImpactPt(market, netPtToSwap.neg());
109
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
110
+ }
111
+
112
+ /// @dev netPtFromSwap is the parameter to approx
113
+ function addLiquiditySingleSyStatic(address market, uint256 netSyIn)
114
+ public
115
+ returns (
116
+ uint256 netLpOut,
117
+ uint256 netPtFromSwap,
118
+ uint256 netSyFee,
119
+ uint256 priceImpact,
120
+ uint256 exchangeRateAfter,
121
+ // extra-info
122
+ uint256 netSyToSwap
123
+ )
124
+ {
125
+ MarketState memory state = _readState(market);
126
+
127
+ (netPtFromSwap, , ) = state.approxSwapSyToAddLiquidity(
128
+ _pyIndex(market),
129
+ netSyIn,
130
+ block.timestamp,
131
+ defaultApproxParams
132
+ );
133
+
134
+ state = _readState(market); // re-read
135
+
136
+ (netSyToSwap, netSyFee, ) = state.swapSyForExactPt(
137
+ _pyIndex(market),
138
+ netPtFromSwap,
139
+ block.timestamp
140
+ );
141
+ (, netLpOut, , ) = state.addLiquidity(
142
+ netSyIn - netSyToSwap,
143
+ netPtFromSwap,
144
+ block.timestamp
145
+ );
146
+
147
+ priceImpact = _calcPriceImpactPt(market, netPtFromSwap.Int());
148
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
149
+ }
150
+
151
+ function addLiquiditySingleTokenStatic(
152
+ address market,
153
+ address tokenIn,
154
+ uint256 netTokenIn,
155
+ address bulk
156
+ )
157
+ public
158
+ returns (
159
+ uint256 netLpOut,
160
+ uint256 netPtFromSwap,
161
+ uint256 netSyFee,
162
+ uint256 priceImpact,
163
+ uint256 exchangeRateAfter,
164
+ // extra-info
165
+ uint256 netSyMinted,
166
+ uint256 netSyToSwap
167
+ )
168
+ {
169
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, netTokenIn, bulk);
170
+ (
171
+ netLpOut,
172
+ netPtFromSwap,
173
+ netSyFee,
174
+ priceImpact,
175
+ exchangeRateAfter,
176
+ netSyToSwap
177
+ ) = addLiquiditySingleSyStatic(market, netSyMinted);
178
+ }
179
+
180
+ function addLiquiditySingleTokenKeepYtStatic(
181
+ address market,
182
+ address tokenIn,
183
+ uint256 netTokenIn,
184
+ address bulk
185
+ )
186
+ public
187
+ returns (
188
+ uint256 netLpOut,
189
+ uint256 netYtOut,
190
+ // extra-info
191
+ uint256 netSyMinted,
192
+ uint256 netSyToPY
193
+ )
194
+ {
195
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, netTokenIn, bulk);
196
+ (netLpOut, netYtOut, netSyToPY) = addLiquiditySingleSyKeepYtStatic(market, netSyMinted);
197
+ }
198
+
199
+ function addLiquiditySingleSyKeepYtStatic(address market, uint256 netSyIn)
200
+ public
201
+ returns (
202
+ uint256 netLpOut,
203
+ uint256 netYtOut,
204
+ // extra-info
205
+ uint256 netSyToPY
206
+ )
207
+ {
208
+ MarketState memory state = _readState(market);
209
+ PYIndex index = _pyIndex(market);
210
+
211
+ netSyToPY =
212
+ (netSyIn * state.totalPt.Uint()) /
213
+ (state.totalPt.Uint() + index.syToAsset(state.totalSy.Uint()));
214
+
215
+ netYtOut = index.syToAsset(netSyToPY);
216
+
217
+ (, netLpOut, , ) = state.addLiquidity(netSyIn - netSyToPY, netYtOut, block.timestamp);
218
+ }
219
+
220
+ function removeLiquidityDualSyAndPtStatic(address market, uint256 netLpToRemove)
221
+ public
222
+ view
223
+ returns (uint256 netSyOut, uint256 netPtOut)
224
+ {
225
+ MarketState memory state = _readState(market);
226
+ (netSyOut, netPtOut) = state.removeLiquidity(netLpToRemove);
227
+ }
228
+
229
+ function removeLiquidityDualTokenAndPtStatic(
230
+ address market,
231
+ uint256 netLpToRemove,
232
+ address tokenOut,
233
+ address bulk
234
+ )
235
+ public
236
+ view
237
+ returns (
238
+ uint256 netTokenOut,
239
+ uint256 netPtOut,
240
+ uint256 netSyToRedeem
241
+ )
242
+ {
243
+ (netSyToRedeem, netPtOut) = removeLiquidityDualSyAndPtStatic(market, netLpToRemove);
244
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
245
+ }
246
+
247
+ /// @dev netPtFromSwap is the parameter to approx
248
+ /// @notice should revert post-expiry
249
+ function removeLiquiditySinglePtStatic(address market, uint256 netLpToRemove)
250
+ public
251
+ returns (
252
+ uint256 netPtOut,
253
+ uint256 netPtFromSwap,
254
+ uint256 netSyFee,
255
+ uint256 priceImpact,
256
+ uint256 exchangeRateAfter,
257
+ // extra-info
258
+ uint256 netSyFromBurn,
259
+ uint256 netPtFromBurn
260
+ )
261
+ {
262
+ MarketState memory state = _readState(market);
263
+
264
+ (netSyFromBurn, netPtFromBurn) = state.removeLiquidity(netLpToRemove);
265
+ (netPtFromSwap, netSyFee) = state.approxSwapExactSyForPt(
266
+ _pyIndex(market),
267
+ netSyFromBurn,
268
+ block.timestamp,
269
+ defaultApproxParams
270
+ );
271
+
272
+ netPtOut = netPtFromBurn + netPtFromSwap;
273
+ priceImpact = _calcPriceImpactPt(market, netPtFromSwap.Int());
274
+
275
+ // Execute swap to calculate exchangeRateAfter
276
+ state.swapSyForExactPt(_pyIndex(market), netPtFromSwap, block.timestamp);
277
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
278
+ }
279
+
280
+ function removeLiquiditySingleSyStatic(address market, uint256 netLpToRemove)
281
+ public
282
+ returns (
283
+ uint256 netSyOut,
284
+ uint256 netSyFee,
285
+ uint256 priceImpact,
286
+ uint256 exchangeRateAfter,
287
+ // extra-info
288
+ uint256 netSyFromBurn,
289
+ uint256 netPtFromBurn,
290
+ uint256 netSyFromSwap
291
+ )
292
+ {
293
+ MarketState memory state = _readState(market);
294
+
295
+ (netSyFromBurn, netPtFromBurn) = state.removeLiquidity(netLpToRemove);
296
+
297
+ if (IPMarket(market).isExpired()) {
298
+ netSyOut = netSyFromBurn + _pyIndex(market).assetToSy(netPtFromBurn);
299
+ netSyFee = 0;
300
+ priceImpact = 0;
301
+ exchangeRateAfter = Math.ONE;
302
+ } else {
303
+ (netSyFromSwap, netSyFee, ) = state.swapExactPtForSy(
304
+ _pyIndex(market),
305
+ netPtFromBurn,
306
+ block.timestamp
307
+ );
308
+
309
+ netSyOut = netSyFromBurn + netSyFromSwap;
310
+ priceImpact = _calcPriceImpactPt(market, netPtFromBurn.neg());
311
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
312
+ }
313
+ }
314
+
315
+ function removeLiquiditySingleTokenStatic(
316
+ address market,
317
+ uint256 netLpToRemove,
318
+ address tokenOut,
319
+ address bulk
320
+ )
321
+ public
322
+ returns (
323
+ uint256 netTokenOut,
324
+ uint256 netSyToRedeem,
325
+ uint256 netSyFee,
326
+ uint256 priceImpact,
327
+ uint256 exchangeRateAfter,
328
+ // extra-info
329
+ uint256 netSyOut,
330
+ uint256 netSyFromBurn,
331
+ uint256 netPtFromBurn,
332
+ uint256 netSyFromSwap
333
+ )
334
+ {
335
+ (
336
+ netSyOut,
337
+ netSyFee,
338
+ priceImpact,
339
+ exchangeRateAfter,
340
+ netSyFromBurn,
341
+ netPtFromBurn,
342
+ netSyFromSwap
343
+ ) = removeLiquiditySingleSyStatic(market, netLpToRemove);
344
+
345
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
346
+ }
347
+
348
+ // ============ SWAP PT ============
349
+
350
+ function swapExactPtForSyStatic(address market, uint256 exactPtIn)
351
+ public
352
+ returns (
353
+ uint256 netSyOut,
354
+ uint256 netSyFee,
355
+ uint256 priceImpact,
356
+ uint256 exchangeRateAfter
357
+ )
358
+ {
359
+ MarketState memory state = _readState(market);
360
+ (netSyOut, netSyFee, ) = state.swapExactPtForSy(
361
+ _pyIndex(market),
362
+ exactPtIn,
363
+ block.timestamp
364
+ );
365
+ priceImpact = _calcPriceImpactPt(market, exactPtIn.neg());
366
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
367
+ }
368
+
369
+ function swapSyForExactPtStatic(address market, uint256 exactPtOut)
370
+ public
371
+ returns (
372
+ uint256 netSyIn,
373
+ uint256 netSyFee,
374
+ uint256 priceImpact,
375
+ uint256 exchangeRateAfter
376
+ )
377
+ {
378
+ MarketState memory state = _readState(market);
379
+ (netSyIn, netSyFee, ) = state.swapSyForExactPt(
380
+ _pyIndex(market),
381
+ exactPtOut,
382
+ block.timestamp
383
+ );
384
+ priceImpact = _calcPriceImpactPt(market, exactPtOut.Int());
385
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
386
+ }
387
+
388
+ /// @dev netPtOut is the parameter to approx
389
+ function swapExactSyForPtStatic(address market, uint256 exactSyIn)
390
+ public
391
+ returns (
392
+ uint256 netPtOut,
393
+ uint256 netSyFee,
394
+ uint256 priceImpact,
395
+ uint256 exchangeRateAfter
396
+ )
397
+ {
398
+ MarketState memory state = _readState(market);
399
+ (netPtOut, netSyFee) = state.approxSwapExactSyForPt(
400
+ _pyIndex(market),
401
+ exactSyIn,
402
+ block.timestamp,
403
+ defaultApproxParams
404
+ );
405
+ priceImpact = _calcPriceImpactPt(market, netPtOut.Int());
406
+
407
+ // Execute swap to calculate exchangeRateAfter
408
+ state.swapSyForExactPt(_pyIndex(market), netPtOut, block.timestamp);
409
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
410
+ }
411
+
412
+ /// @dev netPtIn is the parameter to approx
413
+ function swapPtForExactSyStatic(address market, uint256 exactSyOut)
414
+ public
415
+ returns (
416
+ uint256 netPtIn,
417
+ uint256 netSyFee,
418
+ uint256 priceImpact,
419
+ uint256 exchangeRateAfter
420
+ )
421
+ {
422
+ MarketState memory state = _readState(market);
423
+
424
+ (netPtIn, , netSyFee) = state.approxSwapPtForExactSy(
425
+ _pyIndex(market),
426
+ exactSyOut,
427
+ block.timestamp,
428
+ defaultApproxParams
429
+ );
430
+ priceImpact = _calcPriceImpactPt(market, netPtIn.neg());
431
+
432
+ // Execute swap to calculate exchangeRateAfter
433
+ state.swapExactPtForSy(_pyIndex(market), netPtIn, block.timestamp);
434
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
435
+ }
436
+
437
+ function swapExactTokenForPtStatic(
438
+ address market,
439
+ address tokenIn,
440
+ uint256 amountTokenIn,
441
+ address bulk
442
+ )
443
+ public
444
+ returns (
445
+ uint256 netPtOut,
446
+ uint256 netSyMinted,
447
+ uint256 netSyFee,
448
+ uint256 priceImpact,
449
+ uint256 exchangeRateAfter
450
+ )
451
+ {
452
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, amountTokenIn, bulk);
453
+
454
+ (netPtOut, netSyFee, priceImpact, exchangeRateAfter) = swapExactSyForPtStatic(
455
+ market,
456
+ netSyMinted
457
+ );
458
+ }
459
+
460
+ function swapExactPtForTokenStatic(
461
+ address market,
462
+ uint256 exactPtIn,
463
+ address tokenOut,
464
+ address bulk
465
+ )
466
+ public
467
+ returns (
468
+ uint256 netTokenOut,
469
+ uint256 netSyToRedeem,
470
+ uint256 netSyFee,
471
+ uint256 priceImpact,
472
+ uint256 exchangeRateAfter
473
+ )
474
+ {
475
+ (netSyToRedeem, netSyFee, priceImpact, exchangeRateAfter) = swapExactPtForSyStatic(
476
+ market,
477
+ exactPtIn
478
+ );
479
+
480
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
481
+ }
482
+
483
+ // ============ SWAP YT ============
484
+
485
+ function swapSyForExactYtStatic(address market, uint256 exactYtOut)
486
+ public
487
+ returns (
488
+ uint256 netSyIn,
489
+ uint256 netSyFee,
490
+ uint256 priceImpact,
491
+ uint256 exchangeRateAfter,
492
+ // extra-info
493
+ uint256 netSyReceivedInt,
494
+ uint256 totalSyNeedInt
495
+ )
496
+ {
497
+ priceImpact = _calcPriceImpactYt(market, exactYtOut.neg());
498
+
499
+ MarketState memory state = _readState(market);
500
+ PYIndex index = _pyIndex(market);
501
+
502
+ (netSyReceivedInt, netSyFee, ) = state.swapExactPtForSy(
503
+ _pyIndex(market),
504
+ exactYtOut,
505
+ block.timestamp
506
+ );
507
+
508
+ totalSyNeedInt = index.assetToSyUp(exactYtOut);
509
+ netSyIn = totalSyNeedInt.subMax0(netSyReceivedInt);
510
+
511
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
512
+ }
513
+
514
+ /// @dev netYtOut is the parameter to approx
515
+ function swapExactSyForYtStatic(address market, uint256 exactSyIn)
516
+ public
517
+ returns (
518
+ uint256 netYtOut,
519
+ uint256 netSyFee,
520
+ uint256 priceImpact,
521
+ uint256 exchangeRateAfter
522
+ )
523
+ {
524
+ MarketState memory state = _readState(market);
525
+ PYIndex index = _pyIndex(market);
526
+
527
+ (netYtOut, netSyFee) = state.approxSwapExactSyForYt(
528
+ index,
529
+ exactSyIn,
530
+ block.timestamp,
531
+ defaultApproxParams
532
+ );
533
+
534
+ priceImpact = _calcPriceImpactYt(market, netYtOut.neg());
535
+
536
+ // Execute swap to calculate exchangeRateAfter
537
+ state.swapExactPtForSy(index, netYtOut, block.timestamp);
538
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
539
+ }
540
+
541
+ function swapExactYtForSyStatic(address market, uint256 exactYtIn)
542
+ public
543
+ returns (
544
+ uint256 netSyOut,
545
+ uint256 netSyFee,
546
+ uint256 priceImpact,
547
+ uint256 exchangeRateAfter,
548
+ // extra-info
549
+ uint256 netSyOwedInt,
550
+ uint256 netPYToRepaySyOwedInt,
551
+ uint256 netPYToRedeemSyOutInt
552
+ )
553
+ {
554
+ priceImpact = _calcPriceImpactYt(market, exactYtIn.Int());
555
+
556
+ MarketState memory state = _readState(market);
557
+
558
+ PYIndex index = _pyIndex(market);
559
+
560
+ (netSyOwedInt, netSyFee, ) = state.swapSyForExactPt(index, exactYtIn, block.timestamp);
561
+
562
+ netPYToRepaySyOwedInt = index.syToAssetUp(netSyOwedInt);
563
+ netPYToRedeemSyOutInt = exactYtIn - netPYToRepaySyOwedInt;
564
+
565
+ netSyOut = index.assetToSy(netPYToRedeemSyOutInt);
566
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
567
+ }
568
+
569
+ function swapExactYtForTokenStatic(
570
+ address market,
571
+ uint256 exactYtIn,
572
+ address tokenOut,
573
+ address bulk
574
+ )
575
+ public
576
+ returns (
577
+ uint256 netTokenOut,
578
+ uint256 netSyToRedeem,
579
+ uint256 netSyFee,
580
+ uint256 priceImpact,
581
+ uint256 exchangeRateAfter,
582
+ // extra-info
583
+ uint256 netSyOut,
584
+ uint256 netSyOwedInt,
585
+ uint256 netPYToRepaySyOwedInt,
586
+ uint256 netPYToRedeemSyOutInt
587
+ )
588
+ {
589
+ (
590
+ netSyOut,
591
+ netSyFee,
592
+ priceImpact,
593
+ exchangeRateAfter,
594
+ netSyOwedInt,
595
+ netPYToRepaySyOwedInt,
596
+ netPYToRedeemSyOutInt
597
+ ) = swapExactYtForSyStatic(market, exactYtIn);
598
+
599
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
600
+ }
601
+
602
+ /// @dev netYtIn is the parameter to approx
603
+ function swapYtForExactSyStatic(address market, uint256 exactSyOut)
604
+ public
605
+ returns (
606
+ uint256 netYtIn,
607
+ uint256 netSyFee,
608
+ uint256 priceImpact,
609
+ uint256 exchangeRateAfter
610
+ )
611
+ {
612
+ MarketState memory state = _readState(market);
613
+
614
+ PYIndex index = _pyIndex(market);
615
+
616
+ (netYtIn, , netSyFee) = state.approxSwapYtForExactSy(
617
+ index,
618
+ exactSyOut,
619
+ block.timestamp,
620
+ defaultApproxParams
621
+ );
622
+ priceImpact = _calcPriceImpactYt(market, netYtIn.Int());
623
+
624
+ // Execute swap to calculate exchangeRateAfter
625
+ state.swapSyForExactPt(index, netYtIn, block.timestamp);
626
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
627
+ }
628
+
629
+ function swapExactTokenForYtStatic(
630
+ address market,
631
+ address tokenIn,
632
+ uint256 amountTokenIn,
633
+ address bulk
634
+ )
635
+ public
636
+ returns (
637
+ uint256 netYtOut,
638
+ uint256 netSyMinted,
639
+ uint256 netSyFee,
640
+ uint256 priceImpact,
641
+ uint256 exchangeRateAfter
642
+ )
643
+ {
644
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, amountTokenIn, bulk);
645
+ (netYtOut, netSyFee, priceImpact, exchangeRateAfter) = swapExactSyForYtStatic(
646
+ market,
647
+ netSyMinted
648
+ );
649
+ }
650
+
651
+ // totalPtToSwap is the param to approx
652
+ function swapExactPtForYtStatic(address market, uint256 exactPtIn)
653
+ public
654
+ returns (
655
+ uint256 netYtOut,
656
+ uint256 totalPtToSwap,
657
+ uint256 netSyFee,
658
+ uint256 priceImpact,
659
+ uint256 exchangeRateAfter
660
+ )
661
+ {
662
+ MarketState memory state = _readState(market);
663
+ PYIndex index = _pyIndex(market);
664
+
665
+ (netYtOut, totalPtToSwap, netSyFee) = state.approxSwapExactPtForYt(
666
+ index,
667
+ exactPtIn,
668
+ block.timestamp,
669
+ defaultApproxParams
670
+ );
671
+ priceImpact = _calcPriceImpactPY(market, totalPtToSwap.neg());
672
+
673
+ // Execute swap to calculate exchangeRateAfter
674
+ state.swapExactPtForSy(index, totalPtToSwap, block.timestamp);
675
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
676
+ }
677
+
678
+ // totalPtSwapped is the param to approx
679
+ function swapExactYtForPtStatic(address market, uint256 exactYtIn)
680
+ public
681
+ returns (
682
+ uint256 netPtOut,
683
+ uint256 totalPtSwapped,
684
+ uint256 netSyFee,
685
+ uint256 priceImpact,
686
+ uint256 exchangeRateAfter
687
+ )
688
+ {
689
+ MarketState memory state = _readState(market);
690
+ PYIndex index = _pyIndex(market);
691
+
692
+ (netPtOut, totalPtSwapped, netSyFee) = state.approxSwapExactYtForPt(
693
+ index,
694
+ exactYtIn,
695
+ block.timestamp,
696
+ defaultApproxParams
697
+ );
698
+
699
+ priceImpact = _calcPriceImpactPY(market, totalPtSwapped.Int());
700
+
701
+ // Execute swap to calculate exchangeRateAfter
702
+ state.swapSyForExactPt(index, totalPtSwapped, block.timestamp);
703
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
704
+ }
705
+
706
+ function _calcPriceImpactPY(address market, int256 netPtOut) internal returns (uint256) {
707
+ return IPRouterStatic(address(this)).calcPriceImpactPY(market, netPtOut);
708
+ }
709
+
710
+ function _calcPriceImpactPt(address market, int256 netPtOut) internal returns (uint256) {
711
+ return IPRouterStatic(address(this)).calcPriceImpactPt(market, netPtOut);
712
+ }
713
+
714
+ function _calcPriceImpactYt(address market, int256 netPtOut) internal returns (uint256) {
715
+ return IPRouterStatic(address(this)).calcPriceImpactYt(market, netPtOut);
716
+ }
717
+
718
+ function _mintSyFromTokenStatic(
719
+ address market,
720
+ address tokenIn,
721
+ uint256 netTokenToDeposit,
722
+ address bulk
723
+ ) internal view returns (uint256) {
724
+ return
725
+ IPRouterStatic(address(this)).mintSyFromTokenStatic(
726
+ _getSyMarket(market),
727
+ tokenIn,
728
+ netTokenToDeposit,
729
+ bulk
730
+ );
731
+ }
732
+
733
+ function _redeemSyToTokenStatic(
734
+ address market,
735
+ address tokenOut,
736
+ uint256 netSyToRedeem,
737
+ address bulk
738
+ ) internal view returns (uint256) {
739
+ return
740
+ IPRouterStatic(address(this)).redeemSyToTokenStatic(
741
+ _getSyMarket(market),
742
+ tokenOut,
743
+ netSyToRedeem,
744
+ bulk
745
+ );
746
+ }
747
+
748
+ function _getTradeExchangeRateExcludeFee(address market, MarketState memory state)
749
+ internal
750
+ returns (uint256)
751
+ {
752
+ return IPRouterStatic(address(this)).getTradeExchangeRateExcludeFee(market, state);
753
+ }
754
+
755
+ function _readState(address market) internal view returns (MarketState memory) {
756
+ return IPMarket(market).readState(address(this));
757
+ }
758
+
759
+ function _pyIndex(address market) internal returns (PYIndex index) {
760
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
761
+
762
+ return YT.newIndex();
763
+ }
764
+
765
+ function _getSyMarket(address market) internal view returns (address) {
766
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
767
+ return address(SY);
768
+ }
769
+ }