@pendle/core-v2 2.1.1-mainnet → 2.2.0-mainnet

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 (700) 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/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  42. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  47. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  51. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  97. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  102. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  104. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  107. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  111. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  113. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  115. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  117. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  119. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  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/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  124. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
  126. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  130. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  133. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  135. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +4 -0
  168. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.json +307 -0
  169. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +4 -0
  170. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +269 -0
  171. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +4 -0
  172. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +1260 -0
  173. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +4 -0
  175. package/build/artifacts/contracts/interfaces/{IAToken.sol/IAToken.json → IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json} +114 -93
  176. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +4 -0
  178. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +184 -0
  179. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +4 -0
  182. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.json +40 -0
  183. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  197. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  198. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  202. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2322 -0
  203. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  220. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  226. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  228. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  232. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  233. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  234. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  235. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  236. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  237. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  238. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1397 -0
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json +10 -0
  247. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  249. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  250. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  251. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  253. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  254. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  255. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  256. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  257. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  258. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  259. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  260. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  264. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  266. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +2 -2
  271. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +1 -1
  273. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
  275. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  277. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  278. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -5
  279. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  280. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  281. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -8
  282. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  283. package/contracts/LiquidityMining/README.md +49 -46
  284. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  285. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  286. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  287. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  288. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  289. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  290. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  291. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  292. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  293. package/contracts/core/Market/MarketMathCore.sol +23 -69
  294. package/contracts/core/Market/OracleLib.sol +4 -4
  295. package/contracts/core/Market/PendleGauge.sol +7 -20
  296. package/contracts/core/Market/PendleMarket.sol +5 -15
  297. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  298. package/contracts/core/RewardManager/RewardManager.sol +4 -6
  299. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  300. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  301. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  302. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  303. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  304. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  305. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  306. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +126 -0
  307. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  308. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  309. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  310. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  311. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  312. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  313. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  314. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  315. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  316. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  317. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  318. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  319. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  320. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  321. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  322. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +6 -7
  323. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +14 -24
  324. package/contracts/core/StandardizedYield/implementations/GLP/README.md +15 -13
  325. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +12 -38
  326. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  327. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  328. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  329. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +4 -4
  330. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +1 -1
  331. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +24 -38
  332. package/contracts/core/erc20/PendleERC20.sol +14 -44
  333. package/contracts/core/libraries/ArrayLib.sol +20 -9
  334. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  335. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  336. package/contracts/core/libraries/Errors.sol +0 -2
  337. package/contracts/core/libraries/StringLib.sol +14 -20
  338. package/contracts/core/libraries/TokenHelper.sol +6 -31
  339. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  340. package/contracts/core/libraries/math/Math.sol +3 -15
  341. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  342. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  343. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  344. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  345. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  346. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  347. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  348. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  349. package/contracts/interfaces/GMX/IGMXVault.sol +4 -4
  350. package/contracts/interfaces/GMX/IRewardRouterV2.sol +4 -4
  351. package/contracts/interfaces/IApeStaking.sol +3 -4
  352. package/contracts/interfaces/IDiamondLoupe.sol +3 -1
  353. package/contracts/interfaces/IERC4626.sol +1 -5
  354. package/contracts/interfaces/IPActionAddRemoveLiq.sol +2 -15
  355. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  356. package/contracts/interfaces/IPActionMarketAuxStatic.sol +34 -0
  357. package/contracts/interfaces/IPActionMarketCoreStatic.sol +335 -0
  358. package/contracts/interfaces/IPActionMintRedeemStatic.sol +55 -0
  359. package/contracts/interfaces/IPActionStorageStatic.sol +24 -0
  360. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  361. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  362. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  363. package/contracts/interfaces/IPGaugeController.sol +3 -9
  364. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  365. package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -6
  366. package/contracts/interfaces/IPMarket.sol +5 -16
  367. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  368. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  369. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  370. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  371. package/contracts/interfaces/IPVotingController.sol +5 -6
  372. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  373. package/contracts/interfaces/IPYieldToken.sol +4 -3
  374. package/contracts/interfaces/IPYieldTokenV2.sol +4 -3
  375. package/contracts/interfaces/IRewardManager.sol +4 -4
  376. package/contracts/interfaces/IStETH.sol +4 -3
  377. package/contracts/interfaces/IStandardizedYield.sol +10 -14
  378. package/contracts/interfaces/IStargateRouter.sol +1 -5
  379. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  380. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  381. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  382. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  383. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +122 -0
  384. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +165 -0
  385. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +780 -0
  386. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +158 -0
  387. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +76 -0
  388. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  389. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +21 -0
  390. package/contracts/router/ActionAddRemoveLiq.sol +2 -17
  391. package/contracts/router/ActionSwapYT.sol +9 -3
  392. package/contracts/router/base/ActionBaseCallback.sol +2 -2
  393. package/contracts/router/base/ActionBaseMintRedeem.sol +4 -5
  394. package/contracts/router/base/CallbackHelper.sol +16 -27
  395. package/contracts/router/base/MarketApproxLib.sol +18 -82
  396. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +4 -10
  397. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +4 -5
  398. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -5
  399. package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +1 -5
  400. package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +4 -5
  401. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +9 -9
  402. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +3 -4
  403. package/deployments/1-core.json +1 -1
  404. package/deployments/42161-core.json +1 -1
  405. package/deployments/42161-markets/GDAI-28MARCH2024.json +4 -4
  406. package/package.json +5 -4
  407. package/typechain-types/ActionMarketCoreStatic.ts +0 -4
  408. package/typechain-types/ActionStorageStatic.ts +5 -3
  409. package/typechain-types/IPActionMarketCoreStatic.ts +0 -4
  410. package/typechain-types/IPActionStorageStatic.ts +5 -3
  411. package/typechain-types/IPRouterStatic.ts +5 -7
  412. package/typechain-types/{SYBaseAutoCompound.ts → PendleAuraWethAnkrethSY.ts} +335 -15
  413. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  414. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  415. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  416. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -11
  417. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  418. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  419. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  420. package/typechain-types/factories/ActionStorageStatic__factory.ts +3 -3
  421. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  422. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  423. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  424. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  425. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  426. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  427. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  428. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  429. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  430. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  431. package/typechain-types/factories/Errors__factory.ts +1 -1
  432. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -10
  433. package/typechain-types/factories/IPActionStorageStatic__factory.ts +2 -2
  434. package/typechain-types/factories/IPRouterStatic__factory.ts +2 -12
  435. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  436. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  437. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  438. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  439. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  440. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  441. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  442. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  443. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  444. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  445. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  446. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  447. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  448. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  449. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  450. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  451. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  452. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  453. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  454. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  455. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  456. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  457. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  458. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  459. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  460. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  461. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  462. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  463. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  464. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  465. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  466. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  467. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  468. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  469. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  470. package/typechain-types/factories/SAPE__factory.ts +1 -1
  471. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  472. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  473. package/typechain-types/hardhat.d.ts +36 -63
  474. package/typechain-types/index.ts +10 -10
  475. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  476. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  477. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  478. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  479. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  480. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  481. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  482. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  483. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  484. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  485. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  486. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  487. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  488. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  489. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  490. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  491. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +0 -92
  492. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  493. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  494. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  495. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  496. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  497. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +0 -252
  498. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  499. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  500. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  501. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  502. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  503. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -259
  504. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  505. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2825
  506. package/contracts/interfaces/IAToken.sol +0 -44
  507. package/contracts/interfaces/IAavePool.sol +0 -41
  508. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  509. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  510. package/contracts/interfaces/IEulerEToken.sol +0 -60
  511. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  512. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  513. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  514. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  515. package/contracts/interfaces/ISAvax.sol +0 -61
  516. package/contracts/interfaces/ISJoe.sol +0 -57
  517. package/contracts/interfaces/IWAvax.sol +0 -34
  518. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  519. package/contracts/interfaces/IYearnVault.sol +0 -46
  520. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -572
  521. package/contracts/offchain-helpers/RouterStatic.sol +0 -929
  522. package/typechain-types/AccessControl.ts +0 -360
  523. package/typechain-types/ActionBaseMintRedeem.ts +0 -87
  524. package/typechain-types/ActionCallback.ts +0 -134
  525. package/typechain-types/ActionCore.ts +0 -1758
  526. package/typechain-types/ActionSCYAndPTBase.ts +0 -87
  527. package/typechain-types/ActionSCYAndPYBase.ts +0 -87
  528. package/typechain-types/ActionSCYAndYTBase.ts +0 -87
  529. package/typechain-types/ActionSwapPTYT.ts +0 -237
  530. package/typechain-types/ActionYT.ts +0 -509
  531. package/typechain-types/AggregationRouterHelper.ts +0 -392
  532. package/typechain-types/BaseSplitCodeFactory.ts +0 -118
  533. package/typechain-types/BoringOwnable.ts +0 -194
  534. package/typechain-types/BoringOwnableData.ts +0 -100
  535. package/typechain-types/BribeDistributor.ts +0 -363
  536. package/typechain-types/CelerReceiverUpg.ts +0 -372
  537. package/typechain-types/CelerSenderUpg.ts +0 -321
  538. package/typechain-types/Curve3CrvPoolHelper.ts +0 -236
  539. package/typechain-types/CurveFraxUsdcPoolHelper.ts +0 -158
  540. package/typechain-types/CurveUsdd3CrvPoolHelper.ts +0 -184
  541. package/typechain-types/DistributorBase.ts +0 -363
  542. package/typechain-types/ERC165.ts +0 -102
  543. package/typechain-types/ERC1967UpgradeUpgradeable.ts +0 -97
  544. package/typechain-types/EpochResultManager.ts +0 -261
  545. package/typechain-types/FeeDistributor.ts +0 -416
  546. package/typechain-types/FeeDistributorAbstract.ts +0 -240
  547. package/typechain-types/FeeDistributorVePendle.ts +0 -81
  548. package/typechain-types/FeeDistributorVoting.ts +0 -272
  549. package/typechain-types/FeeDistributorVotingFactory.ts +0 -293
  550. package/typechain-types/GMXPreviewHelper.ts +0 -121
  551. package/typechain-types/IAccessControl.ts +0 -305
  552. package/typechain-types/IAggregationRouterHelper.ts +0 -108
  553. package/typechain-types/IBeaconUpgradeable.ts +0 -87
  554. package/typechain-types/ICelerMessageBus.ts +0 -134
  555. package/typechain-types/ICelerMessageReceiverApp.ts +0 -120
  556. package/typechain-types/IERC165.ts +0 -102
  557. package/typechain-types/IERC1822ProxiableUpgradeable.ts +0 -87
  558. package/typechain-types/IERC20Upgradeable.ts +0 -300
  559. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
  560. package/typechain-types/IMetaAggregationRouter.ts +0 -213
  561. package/typechain-types/IMultihopRouter.ts +0 -209
  562. package/typechain-types/IMultihopRouterEthereum.ts +0 -209
  563. package/typechain-types/IPActionCore.ts +0 -1739
  564. package/typechain-types/IPActionSwapPTYT.ts +0 -237
  565. package/typechain-types/IPActionYT.ts +0 -490
  566. package/typechain-types/IPBatchSeller.ts +0 -234
  567. package/typechain-types/IPFeeDistributorFactory.ts +0 -101
  568. package/typechain-types/IPVotingControllerStorage.ts +0 -169
  569. package/typechain-types/IPVotingEscrow.ts +0 -344
  570. package/typechain-types/ISuperComposableYield.ts +0 -895
  571. package/typechain-types/ISwapAggregator.ts +0 -124
  572. package/typechain-types/ImplicitSwapfeeContract.ts +0 -149
  573. package/typechain-types/KyberSwapHelper.ts +0 -87
  574. package/typechain-types/OwnableUpgradeable.ts +0 -165
  575. package/typechain-types/Pendle3CrvAndTokenSCY.ts +0 -1215
  576. package/typechain-types/Pendle3CrvAndTokenSY.ts +0 -1243
  577. package/typechain-types/Pendle3CrvHelper.ts +0 -133
  578. package/typechain-types/Pendle3CrvTokenSCY.ts +0 -1150
  579. package/typechain-types/PendleAaveV3SCY.ts +0 -1088
  580. package/typechain-types/PendleApeStakingSY.ts +0 -1135
  581. package/typechain-types/PendleBatchSeller.ts +0 -648
  582. package/typechain-types/PendleConvex2TokensSY.ts +0 -1215
  583. package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +0 -1215
  584. package/typechain-types/PendleConvexCurveLP3PoolSCY.ts +0 -1269
  585. package/typechain-types/PendleConvexCurveLP4PoolSCY.ts +0 -1288
  586. package/typechain-types/PendleConvexCurveLPSCY.ts +0 -1189
  587. package/typechain-types/PendleCvxCRVSCY.ts +0 -1104
  588. package/typechain-types/PendleERC4626SCY.ts +0 -950
  589. package/typechain-types/PendleEulerSCY.ts +0 -965
  590. package/typechain-types/PendleFeeDistributorAbstract.ts +0 -289
  591. package/typechain-types/PendleFeeDistributorFactory.ts +0 -591
  592. package/typechain-types/PendleFeeDistributorVoting.ts +0 -321
  593. package/typechain-types/PendleFeeDistributorVotingFactory.ts +0 -294
  594. package/typechain-types/PendleGovernanceManager.ts +0 -187
  595. package/typechain-types/PendleLooksStaking.ts +0 -1052
  596. package/typechain-types/PendleQiSAvaxSCY.ts +0 -1098
  597. package/typechain-types/PendleQiTokenSCY.ts +0 -1166
  598. package/typechain-types/PendleSAvaxSCY.ts +0 -962
  599. package/typechain-types/PendleSJoeSCY.ts +0 -1053
  600. package/typechain-types/PendleStargateSCY.ts +0 -1135
  601. package/typechain-types/PendleWstEthSCY.ts +0 -1040
  602. package/typechain-types/PendleYearnVaultSCY.ts +0 -963
  603. package/typechain-types/PermissionsV2Upg.ts +0 -87
  604. package/typechain-types/PtAMMArb.ts +0 -587
  605. package/typechain-types/SCYBase.ts +0 -1001
  606. package/typechain-types/SCYBaseWithDynamicRewards.ts +0 -1063
  607. package/typechain-types/SCYBaseWithRewards.ts +0 -1094
  608. package/typechain-types/SSTORE2DeployerContract.ts +0 -242
  609. package/typechain-types/StEthHelper.ts +0 -107
  610. package/typechain-types/SwapAggregator.ts +0 -406
  611. package/typechain-types/factories/AccessControl__factory.ts +0 -227
  612. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -43
  613. package/typechain-types/factories/ActionCallback__factory.ts +0 -223
  614. package/typechain-types/factories/ActionCore__factory.ts +0 -1863
  615. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -39
  616. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -39
  617. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -39
  618. package/typechain-types/factories/ActionSwapPTYT__factory.ts +0 -396
  619. package/typechain-types/factories/ActionYT__factory.ts +0 -499
  620. package/typechain-types/factories/AggregationRouterHelper__factory.ts +0 -281
  621. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +0 -102
  622. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  623. package/typechain-types/factories/BoringOwnable__factory.ts +0 -141
  624. package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
  625. package/typechain-types/factories/CelerReceiverUpg__factory.ts +0 -205
  626. package/typechain-types/factories/CelerSenderUpg__factory.ts +0 -163
  627. package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +0 -220
  628. package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +0 -146
  629. package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +0 -172
  630. package/typechain-types/factories/DistributorBase__factory.ts +0 -249
  631. package/typechain-types/factories/ERC165__factory.ts +0 -39
  632. package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +0 -75
  633. package/typechain-types/factories/EpochResultManager__factory.ts +0 -146
  634. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -127
  635. package/typechain-types/factories/FeeDistributorVePendle__factory.ts +0 -97
  636. package/typechain-types/factories/FeeDistributorVotingFactory__factory.ts +0 -211
  637. package/typechain-types/factories/FeeDistributorVoting__factory.ts +0 -219
  638. package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
  639. package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -65
  640. package/typechain-types/factories/IAccessControl__factory.ts +0 -198
  641. package/typechain-types/factories/IAggregationRouterHelper__factory.ts +0 -54
  642. package/typechain-types/factories/IBeaconUpgradeable__factory.ts +0 -39
  643. package/typechain-types/factories/ICelerMessageBus__factory.ts +0 -68
  644. package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +0 -64
  645. package/typechain-types/factories/IERC165__factory.ts +0 -42
  646. package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +0 -43
  647. package/typechain-types/factories/IERC20Upgradeable__factory.ts +0 -209
  648. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
  649. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
  650. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
  651. package/typechain-types/factories/IMultihopRouter__factory.ts +0 -151
  652. package/typechain-types/factories/IPActionCore__factory.ts +0 -1784
  653. package/typechain-types/factories/IPActionSwapPTYT__factory.ts +0 -205
  654. package/typechain-types/factories/IPActionYT__factory.ts +0 -435
  655. package/typechain-types/factories/IPBatchSeller__factory.ts +0 -132
  656. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +0 -86
  657. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
  658. package/typechain-types/factories/IPVotingEscrow__factory.ts +0 -250
  659. package/typechain-types/factories/ISuperComposableYield__factory.ts +0 -662
  660. package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
  661. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +0 -239
  662. package/typechain-types/factories/KyberSwapHelper__factory.ts +0 -39
  663. package/typechain-types/factories/OwnableUpgradeable__factory.ts +0 -78
  664. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +0 -1130
  665. package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +0 -1106
  666. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +0 -129
  667. package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +0 -996
  668. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +0 -874
  669. package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
  670. package/typechain-types/factories/PendleBatchSeller__factory.ts +0 -480
  671. package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +0 -1093
  672. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +0 -1125
  673. package/typechain-types/factories/PendleConvexCurveLP3PoolSCY__factory.ts +0 -1067
  674. package/typechain-types/factories/PendleConvexCurveLP4PoolSCY__factory.ts +0 -1080
  675. package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +0 -967
  676. package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +0 -910
  677. package/typechain-types/factories/PendleERC4626SCY__factory.ts +0 -774
  678. package/typechain-types/factories/PendleEulerSCY__factory.ts +0 -805
  679. package/typechain-types/factories/PendleFeeDistributorAbstract__factory.ts +0 -183
  680. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +0 -485
  681. package/typechain-types/factories/PendleFeeDistributorVotingFactory__factory.ts +0 -213
  682. package/typechain-types/factories/PendleFeeDistributorVoting__factory.ts +0 -275
  683. package/typechain-types/factories/PendleGovernanceManager__factory.ts +0 -149
  684. package/typechain-types/factories/PendleLooksStaking__factory.ts +0 -933
  685. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +0 -917
  686. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +0 -1095
  687. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +0 -796
  688. package/typechain-types/factories/PendleSJoeSCY__factory.ts +0 -845
  689. package/typechain-types/factories/PendleStargateSCY__factory.ts +0 -952
  690. package/typechain-types/factories/PendleWstEthSCY__factory.ts +0 -924
  691. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +0 -787
  692. package/typechain-types/factories/PermissionsV2Upg__factory.ts +0 -39
  693. package/typechain-types/factories/PtAMMArb__factory.ts +0 -525
  694. package/typechain-types/factories/SCYBaseWithDynamicRewards__factory.ts +0 -775
  695. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -867
  696. package/typechain-types/factories/SCYBase__factory.ts +0 -798
  697. package/typechain-types/factories/SSTORE2DeployerContract__factory.ts +0 -191
  698. package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
  699. package/typechain-types/factories/StEthHelper__factory.ts +0 -62
  700. package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
@@ -0,0 +1,780 @@
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
+ ) public view returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
26
+ MarketState memory state = _readState(market);
27
+ (, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
28
+ netSyDesired,
29
+ netPtDesired,
30
+ block.timestamp
31
+ );
32
+ }
33
+
34
+ function addLiquidityDualTokenAndPtStatic(
35
+ address market,
36
+ address tokenIn,
37
+ uint256 netTokenDesired,
38
+ address bulk,
39
+ uint256 netPtDesired
40
+ )
41
+ public
42
+ view
43
+ returns (
44
+ uint256 netLpOut,
45
+ uint256 netTokenUsed,
46
+ uint256 netPtUsed,
47
+ // extra-info
48
+ uint256 netSyUsed,
49
+ uint256 netSyDesired
50
+ )
51
+ {
52
+ netSyDesired = _mintSyFromTokenStatic(market, tokenIn, netTokenDesired, bulk);
53
+
54
+ (netLpOut, netSyUsed, netPtUsed) = addLiquidityDualSyAndPtStatic(
55
+ market,
56
+ netSyDesired,
57
+ netPtDesired
58
+ );
59
+
60
+ if (netSyUsed != netSyDesired) revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
61
+
62
+ netTokenUsed = netTokenDesired;
63
+ }
64
+
65
+ /// @dev netPtToSwap is the parameter to approx
66
+ function addLiquiditySinglePtStatic(
67
+ address market,
68
+ uint256 netPtIn
69
+ )
70
+ public
71
+ returns (
72
+ uint256 netLpOut,
73
+ uint256 netPtToSwap,
74
+ uint256 netSyFee,
75
+ uint256 priceImpact,
76
+ uint256 exchangeRateAfter,
77
+ // extra-info
78
+ uint256 netSyFromSwap
79
+ )
80
+ {
81
+ MarketState memory state = _readState(market);
82
+
83
+ (netPtToSwap, , ) = state.approxSwapPtToAddLiquidity(
84
+ _pyIndex(market),
85
+ netPtIn,
86
+ block.timestamp,
87
+ defaultApproxParams
88
+ );
89
+
90
+ state = _readState(market); // re-read
91
+
92
+ (netSyFromSwap, netSyFee, ) = state.swapExactPtForSy(
93
+ _pyIndex(market),
94
+ netPtToSwap,
95
+ block.timestamp
96
+ );
97
+ (, netLpOut, , ) = state.addLiquidity(
98
+ netSyFromSwap,
99
+ netPtIn - netPtToSwap,
100
+ block.timestamp
101
+ );
102
+
103
+ priceImpact = _calcPriceImpactPt(market, netPtToSwap.neg());
104
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
105
+ }
106
+
107
+ /// @dev netPtFromSwap is the parameter to approx
108
+ function addLiquiditySingleSyStatic(
109
+ address market,
110
+ uint256 netSyIn
111
+ )
112
+ public
113
+ returns (
114
+ uint256 netLpOut,
115
+ uint256 netPtFromSwap,
116
+ uint256 netSyFee,
117
+ uint256 priceImpact,
118
+ uint256 exchangeRateAfter,
119
+ // extra-info
120
+ uint256 netSyToSwap
121
+ )
122
+ {
123
+ MarketState memory state = _readState(market);
124
+
125
+ (netPtFromSwap, , ) = state.approxSwapSyToAddLiquidity(
126
+ _pyIndex(market),
127
+ netSyIn,
128
+ block.timestamp,
129
+ defaultApproxParams
130
+ );
131
+
132
+ state = _readState(market); // re-read
133
+
134
+ (netSyToSwap, netSyFee, ) = state.swapSyForExactPt(
135
+ _pyIndex(market),
136
+ netPtFromSwap,
137
+ block.timestamp
138
+ );
139
+ (, netLpOut, , ) = state.addLiquidity(
140
+ netSyIn - netSyToSwap,
141
+ netPtFromSwap,
142
+ block.timestamp
143
+ );
144
+
145
+ priceImpact = _calcPriceImpactPt(market, netPtFromSwap.Int());
146
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
147
+ }
148
+
149
+ function addLiquiditySingleTokenStatic(
150
+ address market,
151
+ address tokenIn,
152
+ uint256 netTokenIn,
153
+ address bulk
154
+ )
155
+ public
156
+ returns (
157
+ uint256 netLpOut,
158
+ uint256 netPtFromSwap,
159
+ uint256 netSyFee,
160
+ uint256 priceImpact,
161
+ uint256 exchangeRateAfter,
162
+ // extra-info
163
+ uint256 netSyMinted,
164
+ uint256 netSyToSwap
165
+ )
166
+ {
167
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, netTokenIn, bulk);
168
+ (
169
+ netLpOut,
170
+ netPtFromSwap,
171
+ netSyFee,
172
+ priceImpact,
173
+ exchangeRateAfter,
174
+ netSyToSwap
175
+ ) = addLiquiditySingleSyStatic(market, netSyMinted);
176
+ }
177
+
178
+ function addLiquiditySingleTokenKeepYtStatic(
179
+ address market,
180
+ address tokenIn,
181
+ uint256 netTokenIn,
182
+ address bulk
183
+ )
184
+ public
185
+ returns (
186
+ uint256 netLpOut,
187
+ uint256 netYtOut,
188
+ // extra-info
189
+ uint256 netSyMinted,
190
+ uint256 netSyToPY
191
+ )
192
+ {
193
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, netTokenIn, bulk);
194
+ (netLpOut, netYtOut, netSyToPY) = addLiquiditySingleSyKeepYtStatic(market, netSyMinted);
195
+ }
196
+
197
+ function addLiquiditySingleSyKeepYtStatic(
198
+ address market,
199
+ uint256 netSyIn
200
+ )
201
+ public
202
+ returns (
203
+ uint256 netLpOut,
204
+ uint256 netYtOut,
205
+ // extra-info
206
+ uint256 netSyToPY
207
+ )
208
+ {
209
+ MarketState memory state = _readState(market);
210
+ PYIndex index = _pyIndex(market);
211
+
212
+ netSyToPY =
213
+ (netSyIn * state.totalPt.Uint()) /
214
+ (state.totalPt.Uint() + index.syToAsset(state.totalSy.Uint()));
215
+
216
+ netYtOut = index.syToAsset(netSyToPY);
217
+
218
+ (, netLpOut, , ) = state.addLiquidity(netSyIn - netSyToPY, netYtOut, block.timestamp);
219
+ }
220
+
221
+ function removeLiquidityDualSyAndPtStatic(
222
+ address market,
223
+ uint256 netLpToRemove
224
+ ) public view returns (uint256 netSyOut, uint256 netPtOut) {
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
+ ) public view returns (uint256 netTokenOut, uint256 netPtOut, uint256 netSyToRedeem) {
235
+ (netSyToRedeem, netPtOut) = removeLiquidityDualSyAndPtStatic(market, netLpToRemove);
236
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
237
+ }
238
+
239
+ /// @dev netPtFromSwap is the parameter to approx
240
+ /// @notice should revert post-expiry
241
+ function removeLiquiditySinglePtStatic(
242
+ address market,
243
+ uint256 netLpToRemove
244
+ )
245
+ public
246
+ returns (
247
+ uint256 netPtOut,
248
+ uint256 netPtFromSwap,
249
+ uint256 netSyFee,
250
+ uint256 priceImpact,
251
+ uint256 exchangeRateAfter,
252
+ // extra-info
253
+ uint256 netSyFromBurn,
254
+ uint256 netPtFromBurn
255
+ )
256
+ {
257
+ MarketState memory state = _readState(market);
258
+
259
+ (netSyFromBurn, netPtFromBurn) = state.removeLiquidity(netLpToRemove);
260
+ (netPtFromSwap, netSyFee) = state.approxSwapExactSyForPt(
261
+ _pyIndex(market),
262
+ netSyFromBurn,
263
+ block.timestamp,
264
+ defaultApproxParams
265
+ );
266
+
267
+ netPtOut = netPtFromBurn + netPtFromSwap;
268
+ priceImpact = _calcPriceImpactPt(market, netPtFromSwap.Int());
269
+
270
+ // Execute swap to calculate exchangeRateAfter
271
+ state.swapSyForExactPt(_pyIndex(market), netPtFromSwap, block.timestamp);
272
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
273
+ }
274
+
275
+ function removeLiquiditySingleSyStatic(
276
+ address market,
277
+ uint256 netLpToRemove
278
+ )
279
+ public
280
+ returns (
281
+ uint256 netSyOut,
282
+ uint256 netSyFee,
283
+ uint256 priceImpact,
284
+ uint256 exchangeRateAfter,
285
+ // extra-info
286
+ uint256 netSyFromBurn,
287
+ uint256 netPtFromBurn,
288
+ uint256 netSyFromSwap
289
+ )
290
+ {
291
+ MarketState memory state = _readState(market);
292
+
293
+ (netSyFromBurn, netPtFromBurn) = state.removeLiquidity(netLpToRemove);
294
+
295
+ if (IPMarket(market).isExpired()) {
296
+ netSyOut = netSyFromBurn + _pyIndex(market).assetToSy(netPtFromBurn);
297
+ netSyFee = 0;
298
+ priceImpact = 0;
299
+ exchangeRateAfter = Math.ONE;
300
+ } else {
301
+ (netSyFromSwap, netSyFee, ) = state.swapExactPtForSy(
302
+ _pyIndex(market),
303
+ netPtFromBurn,
304
+ block.timestamp
305
+ );
306
+
307
+ netSyOut = netSyFromBurn + netSyFromSwap;
308
+ priceImpact = _calcPriceImpactPt(market, netPtFromBurn.neg());
309
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
310
+ }
311
+ }
312
+
313
+ function removeLiquiditySingleTokenStatic(
314
+ address market,
315
+ uint256 netLpToRemove,
316
+ address tokenOut,
317
+ address bulk
318
+ )
319
+ public
320
+ returns (
321
+ uint256 netTokenOut,
322
+ uint256 netSyFee,
323
+ uint256 priceImpact,
324
+ uint256 exchangeRateAfter,
325
+ // extra-info
326
+ uint256 netSyOut,
327
+ uint256 netSyFromBurn,
328
+ uint256 netPtFromBurn,
329
+ uint256 netSyFromSwap
330
+ )
331
+ {
332
+ (
333
+ netSyOut,
334
+ netSyFee,
335
+ priceImpact,
336
+ exchangeRateAfter,
337
+ netSyFromBurn,
338
+ netPtFromBurn,
339
+ netSyFromSwap
340
+ ) = removeLiquiditySingleSyStatic(market, netLpToRemove);
341
+
342
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyOut, bulk);
343
+ }
344
+
345
+ // ============ SWAP PT ============
346
+
347
+ function swapExactPtForSyStatic(
348
+ address market,
349
+ uint256 exactPtIn
350
+ )
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(
370
+ address market,
371
+ uint256 exactPtOut
372
+ )
373
+ public
374
+ returns (uint256 netSyIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
375
+ {
376
+ MarketState memory state = _readState(market);
377
+ (netSyIn, netSyFee, ) = state.swapSyForExactPt(
378
+ _pyIndex(market),
379
+ exactPtOut,
380
+ block.timestamp
381
+ );
382
+ priceImpact = _calcPriceImpactPt(market, exactPtOut.Int());
383
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
384
+ }
385
+
386
+ /// @dev netPtOut is the parameter to approx
387
+ function swapExactSyForPtStatic(
388
+ address market,
389
+ uint256 exactSyIn
390
+ )
391
+ public
392
+ returns (
393
+ uint256 netPtOut,
394
+ uint256 netSyFee,
395
+ uint256 priceImpact,
396
+ uint256 exchangeRateAfter
397
+ )
398
+ {
399
+ MarketState memory state = _readState(market);
400
+ (netPtOut, netSyFee) = state.approxSwapExactSyForPt(
401
+ _pyIndex(market),
402
+ exactSyIn,
403
+ block.timestamp,
404
+ defaultApproxParams
405
+ );
406
+ priceImpact = _calcPriceImpactPt(market, netPtOut.Int());
407
+
408
+ // Execute swap to calculate exchangeRateAfter
409
+ state.swapSyForExactPt(_pyIndex(market), netPtOut, block.timestamp);
410
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
411
+ }
412
+
413
+ /// @dev netPtIn is the parameter to approx
414
+ function swapPtForExactSyStatic(
415
+ address market,
416
+ uint256 exactSyOut
417
+ )
418
+ public
419
+ returns (uint256 netPtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
420
+ {
421
+ MarketState memory state = _readState(market);
422
+
423
+ (netPtIn, , netSyFee) = state.approxSwapPtForExactSy(
424
+ _pyIndex(market),
425
+ exactSyOut,
426
+ block.timestamp,
427
+ defaultApproxParams
428
+ );
429
+ priceImpact = _calcPriceImpactPt(market, netPtIn.neg());
430
+
431
+ // Execute swap to calculate exchangeRateAfter
432
+ state.swapExactPtForSy(_pyIndex(market), netPtIn, block.timestamp);
433
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
434
+ }
435
+
436
+ function swapExactTokenForPtStatic(
437
+ address market,
438
+ address tokenIn,
439
+ uint256 amountTokenIn,
440
+ address bulk
441
+ )
442
+ public
443
+ returns (
444
+ uint256 netPtOut,
445
+ uint256 netSyMinted,
446
+ uint256 netSyFee,
447
+ uint256 priceImpact,
448
+ uint256 exchangeRateAfter
449
+ )
450
+ {
451
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, amountTokenIn, bulk);
452
+
453
+ (netPtOut, netSyFee, priceImpact, exchangeRateAfter) = swapExactSyForPtStatic(
454
+ market,
455
+ netSyMinted
456
+ );
457
+ }
458
+
459
+ function swapExactPtForTokenStatic(
460
+ address market,
461
+ uint256 exactPtIn,
462
+ address tokenOut,
463
+ address bulk
464
+ )
465
+ public
466
+ returns (
467
+ uint256 netTokenOut,
468
+ uint256 netSyToRedeem,
469
+ uint256 netSyFee,
470
+ uint256 priceImpact,
471
+ uint256 exchangeRateAfter
472
+ )
473
+ {
474
+ (netSyToRedeem, netSyFee, priceImpact, exchangeRateAfter) = swapExactPtForSyStatic(
475
+ market,
476
+ exactPtIn
477
+ );
478
+
479
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyToRedeem, bulk);
480
+ }
481
+
482
+ // ============ SWAP YT ============
483
+
484
+ function swapSyForExactYtStatic(
485
+ address market,
486
+ uint256 exactYtOut
487
+ )
488
+ public
489
+ returns (
490
+ uint256 netSyIn,
491
+ uint256 netSyFee,
492
+ uint256 priceImpact,
493
+ uint256 exchangeRateAfter,
494
+ // extra-info
495
+ uint256 netSyReceivedInt,
496
+ uint256 totalSyNeedInt
497
+ )
498
+ {
499
+ priceImpact = _calcPriceImpactYt(market, exactYtOut.neg());
500
+
501
+ MarketState memory state = _readState(market);
502
+ PYIndex index = _pyIndex(market);
503
+
504
+ (netSyReceivedInt, netSyFee, ) = state.swapExactPtForSy(
505
+ _pyIndex(market),
506
+ exactYtOut,
507
+ block.timestamp
508
+ );
509
+
510
+ totalSyNeedInt = index.assetToSyUp(exactYtOut);
511
+ netSyIn = totalSyNeedInt.subMax0(netSyReceivedInt);
512
+
513
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
514
+ }
515
+
516
+ /// @dev netYtOut is the parameter to approx
517
+ function swapExactSyForYtStatic(
518
+ address market,
519
+ uint256 exactSyIn
520
+ )
521
+ public
522
+ returns (
523
+ uint256 netYtOut,
524
+ uint256 netSyFee,
525
+ uint256 priceImpact,
526
+ uint256 exchangeRateAfter
527
+ )
528
+ {
529
+ MarketState memory state = _readState(market);
530
+ PYIndex index = _pyIndex(market);
531
+
532
+ (netYtOut, netSyFee) = state.approxSwapExactSyForYt(
533
+ index,
534
+ exactSyIn,
535
+ block.timestamp,
536
+ defaultApproxParams
537
+ );
538
+
539
+ priceImpact = _calcPriceImpactYt(market, netYtOut.neg());
540
+
541
+ // Execute swap to calculate exchangeRateAfter
542
+ state.swapExactPtForSy(index, netYtOut, block.timestamp);
543
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
544
+ }
545
+
546
+ function swapExactYtForSyStatic(
547
+ address market,
548
+ uint256 exactYtIn
549
+ )
550
+ public
551
+ returns (
552
+ uint256 netSyOut,
553
+ uint256 netSyFee,
554
+ uint256 priceImpact,
555
+ uint256 exchangeRateAfter,
556
+ // extra-info
557
+ uint256 netSyOwedInt,
558
+ uint256 netPYToRepaySyOwedInt,
559
+ uint256 netPYToRedeemSyOutInt
560
+ )
561
+ {
562
+ priceImpact = _calcPriceImpactYt(market, exactYtIn.Int());
563
+
564
+ MarketState memory state = _readState(market);
565
+
566
+ PYIndex index = _pyIndex(market);
567
+
568
+ (netSyOwedInt, netSyFee, ) = state.swapSyForExactPt(index, exactYtIn, block.timestamp);
569
+
570
+ netPYToRepaySyOwedInt = index.syToAssetUp(netSyOwedInt);
571
+ netPYToRedeemSyOutInt = exactYtIn - netPYToRepaySyOwedInt;
572
+
573
+ netSyOut = index.assetToSy(netPYToRedeemSyOutInt);
574
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
575
+ }
576
+
577
+ function swapExactYtForTokenStatic(
578
+ address market,
579
+ uint256 exactYtIn,
580
+ address tokenOut,
581
+ address bulk
582
+ )
583
+ public
584
+ returns (
585
+ uint256 netTokenOut,
586
+ uint256 netSyFee,
587
+ uint256 priceImpact,
588
+ uint256 exchangeRateAfter,
589
+ // extra-info
590
+ uint256 netSyOut,
591
+ uint256 netSyOwedInt,
592
+ uint256 netPYToRepaySyOwedInt,
593
+ uint256 netPYToRedeemSyOutInt
594
+ )
595
+ {
596
+ (
597
+ netSyOut,
598
+ netSyFee,
599
+ priceImpact,
600
+ exchangeRateAfter,
601
+ netSyOwedInt,
602
+ netPYToRepaySyOwedInt,
603
+ netPYToRedeemSyOutInt
604
+ ) = swapExactYtForSyStatic(market, exactYtIn);
605
+
606
+ netTokenOut = _redeemSyToTokenStatic(market, tokenOut, netSyOut, bulk);
607
+ }
608
+
609
+ /// @dev netYtIn is the parameter to approx
610
+ function swapYtForExactSyStatic(
611
+ address market,
612
+ uint256 exactSyOut
613
+ )
614
+ public
615
+ returns (uint256 netYtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter)
616
+ {
617
+ MarketState memory state = _readState(market);
618
+
619
+ PYIndex index = _pyIndex(market);
620
+
621
+ (netYtIn, , netSyFee) = state.approxSwapYtForExactSy(
622
+ index,
623
+ exactSyOut,
624
+ block.timestamp,
625
+ defaultApproxParams
626
+ );
627
+ priceImpact = _calcPriceImpactYt(market, netYtIn.Int());
628
+
629
+ // Execute swap to calculate exchangeRateAfter
630
+ state.swapSyForExactPt(index, netYtIn, block.timestamp);
631
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
632
+ }
633
+
634
+ function swapExactTokenForYtStatic(
635
+ address market,
636
+ address tokenIn,
637
+ uint256 amountTokenIn,
638
+ address bulk
639
+ )
640
+ public
641
+ returns (
642
+ uint256 netYtOut,
643
+ uint256 netSyMinted,
644
+ uint256 netSyFee,
645
+ uint256 priceImpact,
646
+ uint256 exchangeRateAfter
647
+ )
648
+ {
649
+ netSyMinted = _mintSyFromTokenStatic(market, tokenIn, amountTokenIn, bulk);
650
+ (netYtOut, netSyFee, priceImpact, exchangeRateAfter) = swapExactSyForYtStatic(
651
+ market,
652
+ netSyMinted
653
+ );
654
+ }
655
+
656
+ // totalPtToSwap is the param to approx
657
+ function swapExactPtForYtStatic(
658
+ address market,
659
+ uint256 exactPtIn
660
+ )
661
+ public
662
+ returns (
663
+ uint256 netYtOut,
664
+ uint256 totalPtToSwap,
665
+ uint256 netSyFee,
666
+ uint256 priceImpact,
667
+ uint256 exchangeRateAfter
668
+ )
669
+ {
670
+ MarketState memory state = _readState(market);
671
+ PYIndex index = _pyIndex(market);
672
+
673
+ (netYtOut, totalPtToSwap, netSyFee) = state.approxSwapExactPtForYt(
674
+ index,
675
+ exactPtIn,
676
+ block.timestamp,
677
+ defaultApproxParams
678
+ );
679
+ priceImpact = _calcPriceImpactPY(market, totalPtToSwap.neg());
680
+
681
+ // Execute swap to calculate exchangeRateAfter
682
+ state.swapExactPtForSy(index, totalPtToSwap, block.timestamp);
683
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
684
+ }
685
+
686
+ // totalPtSwapped is the param to approx
687
+ function swapExactYtForPtStatic(
688
+ address market,
689
+ uint256 exactYtIn
690
+ )
691
+ public
692
+ returns (
693
+ uint256 netPtOut,
694
+ uint256 totalPtSwapped,
695
+ uint256 netSyFee,
696
+ uint256 priceImpact,
697
+ uint256 exchangeRateAfter
698
+ )
699
+ {
700
+ MarketState memory state = _readState(market);
701
+ PYIndex index = _pyIndex(market);
702
+
703
+ (netPtOut, totalPtSwapped, netSyFee) = state.approxSwapExactYtForPt(
704
+ index,
705
+ exactYtIn,
706
+ block.timestamp,
707
+ defaultApproxParams
708
+ );
709
+
710
+ priceImpact = _calcPriceImpactPY(market, totalPtSwapped.Int());
711
+
712
+ // Execute swap to calculate exchangeRateAfter
713
+ state.swapSyForExactPt(index, totalPtSwapped, block.timestamp);
714
+ exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
715
+ }
716
+
717
+ function _calcPriceImpactPY(address market, int256 netPtOut) internal returns (uint256) {
718
+ return IPRouterStatic(address(this)).calcPriceImpactPY(market, netPtOut);
719
+ }
720
+
721
+ function _calcPriceImpactPt(address market, int256 netPtOut) internal returns (uint256) {
722
+ return IPRouterStatic(address(this)).calcPriceImpactPt(market, netPtOut);
723
+ }
724
+
725
+ function _calcPriceImpactYt(address market, int256 netPtOut) internal returns (uint256) {
726
+ return IPRouterStatic(address(this)).calcPriceImpactYt(market, netPtOut);
727
+ }
728
+
729
+ function _mintSyFromTokenStatic(
730
+ address market,
731
+ address tokenIn,
732
+ uint256 netTokenToDeposit,
733
+ address bulk
734
+ ) internal view returns (uint256) {
735
+ return
736
+ IPRouterStatic(address(this)).mintSyFromTokenStatic(
737
+ _getSyMarket(market),
738
+ tokenIn,
739
+ netTokenToDeposit,
740
+ bulk
741
+ );
742
+ }
743
+
744
+ function _redeemSyToTokenStatic(
745
+ address market,
746
+ address tokenOut,
747
+ uint256 netSyToRedeem,
748
+ address bulk
749
+ ) internal view returns (uint256) {
750
+ return
751
+ IPRouterStatic(address(this)).redeemSyToTokenStatic(
752
+ _getSyMarket(market),
753
+ tokenOut,
754
+ netSyToRedeem,
755
+ bulk
756
+ );
757
+ }
758
+
759
+ function _getTradeExchangeRateExcludeFee(
760
+ address market,
761
+ MarketState memory state
762
+ ) internal returns (uint256) {
763
+ return IPRouterStatic(address(this)).getTradeExchangeRateExcludeFee(market, state);
764
+ }
765
+
766
+ function _readState(address market) internal view returns (MarketState memory) {
767
+ return IPMarket(market).readState(address(this));
768
+ }
769
+
770
+ function _pyIndex(address market) internal returns (PYIndex index) {
771
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
772
+
773
+ return YT.newIndex();
774
+ }
775
+
776
+ function _getSyMarket(address market) internal view returns (address) {
777
+ (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
778
+ return address(SY);
779
+ }
780
+ }