@pendle/core-v2 2.1.2-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 (699) 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/package.json +5 -4
  406. package/typechain-types/ActionMarketCoreStatic.ts +0 -4
  407. package/typechain-types/ActionStorageStatic.ts +5 -3
  408. package/typechain-types/IPActionMarketCoreStatic.ts +0 -4
  409. package/typechain-types/IPActionStorageStatic.ts +5 -3
  410. package/typechain-types/IPRouterStatic.ts +5 -7
  411. package/typechain-types/{SYBaseAutoCompound.ts → PendleAuraWethAnkrethSY.ts} +335 -15
  412. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  413. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  414. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  415. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -11
  416. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  417. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  418. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  419. package/typechain-types/factories/ActionStorageStatic__factory.ts +3 -3
  420. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  421. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  422. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  423. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  424. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  425. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  426. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  427. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  428. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  429. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  430. package/typechain-types/factories/Errors__factory.ts +1 -1
  431. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -10
  432. package/typechain-types/factories/IPActionStorageStatic__factory.ts +2 -2
  433. package/typechain-types/factories/IPRouterStatic__factory.ts +2 -12
  434. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  435. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  436. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  437. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  438. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  439. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  440. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  441. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  442. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  443. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  444. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  445. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  446. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  447. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  448. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  449. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  450. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  451. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  452. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  453. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  454. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  455. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  456. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  457. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  458. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  459. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  460. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  461. package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
  462. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  463. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  464. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  465. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  466. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  467. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  468. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  469. package/typechain-types/factories/SAPE__factory.ts +1 -1
  470. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  471. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  472. package/typechain-types/hardhat.d.ts +36 -63
  473. package/typechain-types/index.ts +10 -10
  474. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  475. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  476. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  477. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  478. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  479. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  480. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  481. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  482. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  483. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  484. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  485. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  486. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  487. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  488. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  489. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  490. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +0 -92
  491. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  492. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  493. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  494. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  495. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  496. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +0 -252
  497. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  498. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  499. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  500. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  501. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  502. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -259
  503. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  504. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2825
  505. package/contracts/interfaces/IAToken.sol +0 -44
  506. package/contracts/interfaces/IAavePool.sol +0 -41
  507. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  508. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  509. package/contracts/interfaces/IEulerEToken.sol +0 -60
  510. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  511. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  512. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  513. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  514. package/contracts/interfaces/ISAvax.sol +0 -61
  515. package/contracts/interfaces/ISJoe.sol +0 -57
  516. package/contracts/interfaces/IWAvax.sol +0 -34
  517. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  518. package/contracts/interfaces/IYearnVault.sol +0 -46
  519. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -572
  520. package/contracts/offchain-helpers/RouterStatic.sol +0 -929
  521. package/typechain-types/AccessControl.ts +0 -360
  522. package/typechain-types/ActionBaseMintRedeem.ts +0 -87
  523. package/typechain-types/ActionCallback.ts +0 -134
  524. package/typechain-types/ActionCore.ts +0 -1758
  525. package/typechain-types/ActionSCYAndPTBase.ts +0 -87
  526. package/typechain-types/ActionSCYAndPYBase.ts +0 -87
  527. package/typechain-types/ActionSCYAndYTBase.ts +0 -87
  528. package/typechain-types/ActionSwapPTYT.ts +0 -237
  529. package/typechain-types/ActionYT.ts +0 -509
  530. package/typechain-types/AggregationRouterHelper.ts +0 -392
  531. package/typechain-types/BaseSplitCodeFactory.ts +0 -118
  532. package/typechain-types/BoringOwnable.ts +0 -194
  533. package/typechain-types/BoringOwnableData.ts +0 -100
  534. package/typechain-types/BribeDistributor.ts +0 -363
  535. package/typechain-types/CelerReceiverUpg.ts +0 -372
  536. package/typechain-types/CelerSenderUpg.ts +0 -321
  537. package/typechain-types/Curve3CrvPoolHelper.ts +0 -236
  538. package/typechain-types/CurveFraxUsdcPoolHelper.ts +0 -158
  539. package/typechain-types/CurveUsdd3CrvPoolHelper.ts +0 -184
  540. package/typechain-types/DistributorBase.ts +0 -363
  541. package/typechain-types/ERC165.ts +0 -102
  542. package/typechain-types/ERC1967UpgradeUpgradeable.ts +0 -97
  543. package/typechain-types/EpochResultManager.ts +0 -261
  544. package/typechain-types/FeeDistributor.ts +0 -416
  545. package/typechain-types/FeeDistributorAbstract.ts +0 -240
  546. package/typechain-types/FeeDistributorVePendle.ts +0 -81
  547. package/typechain-types/FeeDistributorVoting.ts +0 -272
  548. package/typechain-types/FeeDistributorVotingFactory.ts +0 -293
  549. package/typechain-types/GMXPreviewHelper.ts +0 -121
  550. package/typechain-types/IAccessControl.ts +0 -305
  551. package/typechain-types/IAggregationRouterHelper.ts +0 -108
  552. package/typechain-types/IBeaconUpgradeable.ts +0 -87
  553. package/typechain-types/ICelerMessageBus.ts +0 -134
  554. package/typechain-types/ICelerMessageReceiverApp.ts +0 -120
  555. package/typechain-types/IERC165.ts +0 -102
  556. package/typechain-types/IERC1822ProxiableUpgradeable.ts +0 -87
  557. package/typechain-types/IERC20Upgradeable.ts +0 -300
  558. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
  559. package/typechain-types/IMetaAggregationRouter.ts +0 -213
  560. package/typechain-types/IMultihopRouter.ts +0 -209
  561. package/typechain-types/IMultihopRouterEthereum.ts +0 -209
  562. package/typechain-types/IPActionCore.ts +0 -1739
  563. package/typechain-types/IPActionSwapPTYT.ts +0 -237
  564. package/typechain-types/IPActionYT.ts +0 -490
  565. package/typechain-types/IPBatchSeller.ts +0 -234
  566. package/typechain-types/IPFeeDistributorFactory.ts +0 -101
  567. package/typechain-types/IPVotingControllerStorage.ts +0 -169
  568. package/typechain-types/IPVotingEscrow.ts +0 -344
  569. package/typechain-types/ISuperComposableYield.ts +0 -895
  570. package/typechain-types/ISwapAggregator.ts +0 -124
  571. package/typechain-types/ImplicitSwapfeeContract.ts +0 -149
  572. package/typechain-types/KyberSwapHelper.ts +0 -87
  573. package/typechain-types/OwnableUpgradeable.ts +0 -165
  574. package/typechain-types/Pendle3CrvAndTokenSCY.ts +0 -1215
  575. package/typechain-types/Pendle3CrvAndTokenSY.ts +0 -1243
  576. package/typechain-types/Pendle3CrvHelper.ts +0 -133
  577. package/typechain-types/Pendle3CrvTokenSCY.ts +0 -1150
  578. package/typechain-types/PendleAaveV3SCY.ts +0 -1088
  579. package/typechain-types/PendleApeStakingSY.ts +0 -1135
  580. package/typechain-types/PendleBatchSeller.ts +0 -648
  581. package/typechain-types/PendleConvex2TokensSY.ts +0 -1215
  582. package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +0 -1215
  583. package/typechain-types/PendleConvexCurveLP3PoolSCY.ts +0 -1269
  584. package/typechain-types/PendleConvexCurveLP4PoolSCY.ts +0 -1288
  585. package/typechain-types/PendleConvexCurveLPSCY.ts +0 -1189
  586. package/typechain-types/PendleCvxCRVSCY.ts +0 -1104
  587. package/typechain-types/PendleERC4626SCY.ts +0 -950
  588. package/typechain-types/PendleEulerSCY.ts +0 -965
  589. package/typechain-types/PendleFeeDistributorAbstract.ts +0 -289
  590. package/typechain-types/PendleFeeDistributorFactory.ts +0 -591
  591. package/typechain-types/PendleFeeDistributorVoting.ts +0 -321
  592. package/typechain-types/PendleFeeDistributorVotingFactory.ts +0 -294
  593. package/typechain-types/PendleGovernanceManager.ts +0 -187
  594. package/typechain-types/PendleLooksStaking.ts +0 -1052
  595. package/typechain-types/PendleQiSAvaxSCY.ts +0 -1098
  596. package/typechain-types/PendleQiTokenSCY.ts +0 -1166
  597. package/typechain-types/PendleSAvaxSCY.ts +0 -962
  598. package/typechain-types/PendleSJoeSCY.ts +0 -1053
  599. package/typechain-types/PendleStargateSCY.ts +0 -1135
  600. package/typechain-types/PendleWstEthSCY.ts +0 -1040
  601. package/typechain-types/PendleYearnVaultSCY.ts +0 -963
  602. package/typechain-types/PermissionsV2Upg.ts +0 -87
  603. package/typechain-types/PtAMMArb.ts +0 -587
  604. package/typechain-types/SCYBase.ts +0 -1001
  605. package/typechain-types/SCYBaseWithDynamicRewards.ts +0 -1063
  606. package/typechain-types/SCYBaseWithRewards.ts +0 -1094
  607. package/typechain-types/SSTORE2DeployerContract.ts +0 -242
  608. package/typechain-types/StEthHelper.ts +0 -107
  609. package/typechain-types/SwapAggregator.ts +0 -406
  610. package/typechain-types/factories/AccessControl__factory.ts +0 -227
  611. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -43
  612. package/typechain-types/factories/ActionCallback__factory.ts +0 -223
  613. package/typechain-types/factories/ActionCore__factory.ts +0 -1863
  614. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -39
  615. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -39
  616. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -39
  617. package/typechain-types/factories/ActionSwapPTYT__factory.ts +0 -396
  618. package/typechain-types/factories/ActionYT__factory.ts +0 -499
  619. package/typechain-types/factories/AggregationRouterHelper__factory.ts +0 -281
  620. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +0 -102
  621. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  622. package/typechain-types/factories/BoringOwnable__factory.ts +0 -141
  623. package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
  624. package/typechain-types/factories/CelerReceiverUpg__factory.ts +0 -205
  625. package/typechain-types/factories/CelerSenderUpg__factory.ts +0 -163
  626. package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +0 -220
  627. package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +0 -146
  628. package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +0 -172
  629. package/typechain-types/factories/DistributorBase__factory.ts +0 -249
  630. package/typechain-types/factories/ERC165__factory.ts +0 -39
  631. package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +0 -75
  632. package/typechain-types/factories/EpochResultManager__factory.ts +0 -146
  633. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -127
  634. package/typechain-types/factories/FeeDistributorVePendle__factory.ts +0 -97
  635. package/typechain-types/factories/FeeDistributorVotingFactory__factory.ts +0 -211
  636. package/typechain-types/factories/FeeDistributorVoting__factory.ts +0 -219
  637. package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
  638. package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -65
  639. package/typechain-types/factories/IAccessControl__factory.ts +0 -198
  640. package/typechain-types/factories/IAggregationRouterHelper__factory.ts +0 -54
  641. package/typechain-types/factories/IBeaconUpgradeable__factory.ts +0 -39
  642. package/typechain-types/factories/ICelerMessageBus__factory.ts +0 -68
  643. package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +0 -64
  644. package/typechain-types/factories/IERC165__factory.ts +0 -42
  645. package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +0 -43
  646. package/typechain-types/factories/IERC20Upgradeable__factory.ts +0 -209
  647. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
  648. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
  649. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
  650. package/typechain-types/factories/IMultihopRouter__factory.ts +0 -151
  651. package/typechain-types/factories/IPActionCore__factory.ts +0 -1784
  652. package/typechain-types/factories/IPActionSwapPTYT__factory.ts +0 -205
  653. package/typechain-types/factories/IPActionYT__factory.ts +0 -435
  654. package/typechain-types/factories/IPBatchSeller__factory.ts +0 -132
  655. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +0 -86
  656. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
  657. package/typechain-types/factories/IPVotingEscrow__factory.ts +0 -250
  658. package/typechain-types/factories/ISuperComposableYield__factory.ts +0 -662
  659. package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
  660. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +0 -239
  661. package/typechain-types/factories/KyberSwapHelper__factory.ts +0 -39
  662. package/typechain-types/factories/OwnableUpgradeable__factory.ts +0 -78
  663. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +0 -1130
  664. package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +0 -1106
  665. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +0 -129
  666. package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +0 -996
  667. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +0 -874
  668. package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
  669. package/typechain-types/factories/PendleBatchSeller__factory.ts +0 -480
  670. package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +0 -1093
  671. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +0 -1125
  672. package/typechain-types/factories/PendleConvexCurveLP3PoolSCY__factory.ts +0 -1067
  673. package/typechain-types/factories/PendleConvexCurveLP4PoolSCY__factory.ts +0 -1080
  674. package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +0 -967
  675. package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +0 -910
  676. package/typechain-types/factories/PendleERC4626SCY__factory.ts +0 -774
  677. package/typechain-types/factories/PendleEulerSCY__factory.ts +0 -805
  678. package/typechain-types/factories/PendleFeeDistributorAbstract__factory.ts +0 -183
  679. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +0 -485
  680. package/typechain-types/factories/PendleFeeDistributorVotingFactory__factory.ts +0 -213
  681. package/typechain-types/factories/PendleFeeDistributorVoting__factory.ts +0 -275
  682. package/typechain-types/factories/PendleGovernanceManager__factory.ts +0 -149
  683. package/typechain-types/factories/PendleLooksStaking__factory.ts +0 -933
  684. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +0 -917
  685. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +0 -1095
  686. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +0 -796
  687. package/typechain-types/factories/PendleSJoeSCY__factory.ts +0 -845
  688. package/typechain-types/factories/PendleStargateSCY__factory.ts +0 -952
  689. package/typechain-types/factories/PendleWstEthSCY__factory.ts +0 -924
  690. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +0 -787
  691. package/typechain-types/factories/PermissionsV2Upg__factory.ts +0 -39
  692. package/typechain-types/factories/PtAMMArb__factory.ts +0 -525
  693. package/typechain-types/factories/SCYBaseWithDynamicRewards__factory.ts +0 -775
  694. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -867
  695. package/typechain-types/factories/SCYBase__factory.ts +0 -798
  696. package/typechain-types/factories/SSTORE2DeployerContract__factory.ts +0 -191
  697. package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
  698. package/typechain-types/factories/StEthHelper__factory.ts +0 -62
  699. package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
@@ -1,929 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "../interfaces/IPYieldContractFactory.sol";
5
- import "../interfaces/IPMarketFactory.sol";
6
- import "../interfaces/IPVotingEscrowMainchain.sol";
7
- import "../interfaces/IPBulkSellerFactory.sol";
8
- import "../interfaces/IPBulkSeller.sol";
9
-
10
- import "./MarketMathStatic.sol";
11
-
12
- import "../core/libraries/BoringOwnableUpgradeable.sol";
13
- import "../LiquidityMining/libraries/VeBalanceLib.sol";
14
-
15
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
16
- import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
17
- import "@openzeppelin/contracts/proxy/Proxy.sol";
18
-
19
- /// EXCLUDED FROM ALL AUDITS, TO BE CALLED ONLY BY PENDLE's SDK
20
- contract RouterStatic is Initializable, Proxy, BoringOwnableUpgradeable, UUPSUpgradeable {
21
- using Math for uint256;
22
- using VeBalanceLib for VeBalance;
23
- using VeBalanceLib for LockedPosition;
24
- using BulkSellerMathCore for BulkSellerState;
25
-
26
- uint128 public constant MAX_LOCK_TIME = 104 weeks;
27
- uint128 public constant MIN_LOCK_TIME = 1 weeks;
28
-
29
- struct TokenAmount {
30
- address token;
31
- uint256 amount;
32
- }
33
-
34
- struct AssetAmount {
35
- IStandardizedYield.AssetType assetType;
36
- address assetAddress;
37
- uint256 amount;
38
- }
39
-
40
- struct RewardIndex {
41
- address rewardToken;
42
- uint256 index;
43
- }
44
-
45
- struct UserPYInfo {
46
- address yt;
47
- address pt;
48
- uint256 ytBalance;
49
- uint256 ptBalance;
50
- TokenAmount unclaimedInterest;
51
- TokenAmount[] unclaimedRewards;
52
- }
53
-
54
- struct UserMarketInfo {
55
- address market;
56
- uint256 lpBalance;
57
- TokenAmount ptBalance;
58
- TokenAmount syBalance;
59
- AssetAmount assetBalance;
60
- }
61
-
62
- IPYieldContractFactory internal immutable yieldContractFactory;
63
- IPMarketFactory internal immutable marketFactory;
64
- IPVotingEscrowMainchain internal immutable vePENDLE;
65
- IPBulkSellerFactory internal immutable bulkFactory;
66
- address internal immutable marketMathStaticLib;
67
-
68
- constructor(
69
- IPYieldContractFactory _yieldContractFactory,
70
- IPMarketFactory _marketFactory,
71
- IPVotingEscrowMainchain _vePENDLE,
72
- IPBulkSellerFactory _bulkFactory,
73
- address _marketMathStaticLib
74
- ) initializer {
75
- yieldContractFactory = _yieldContractFactory;
76
- marketFactory = _marketFactory;
77
- vePENDLE = _vePENDLE;
78
- bulkFactory = _bulkFactory;
79
- marketMathStaticLib = _marketMathStaticLib;
80
- }
81
-
82
- // all Market-related functions will go to MarketMathStaticLib
83
- function _implementation() internal view override returns (address) {
84
- return marketMathStaticLib;
85
- }
86
-
87
- function initialize() external initializer {
88
- __BoringOwnable_init();
89
- }
90
-
91
- function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
92
-
93
- // ============= SYSTEM INFO =============
94
-
95
- function getPYInfo(address py)
96
- external
97
- returns (
98
- uint256 exchangeRate,
99
- uint256 totalSupply,
100
- RewardIndex[] memory rewardIndexes
101
- )
102
- {
103
- (, address yt) = getPY(py);
104
- IPYieldToken YT = IPYieldToken(yt);
105
- exchangeRate = YT.pyIndexCurrent();
106
- totalSupply = YT.totalSupply();
107
- address[] memory rewardTokens = YT.getRewardTokens();
108
- rewardIndexes = new RewardIndex[](rewardTokens.length);
109
-
110
- uint256[] memory indexes = YT.rewardIndexesCurrent();
111
- for (uint256 i = 0; i < rewardTokens.length; ++i) {
112
- address rewardToken = rewardTokens[i];
113
- rewardIndexes[i].rewardToken = rewardToken;
114
- rewardIndexes[i].index = indexes[i];
115
- }
116
- }
117
-
118
- function getPendleTokenType(address token)
119
- external
120
- view
121
- returns (
122
- bool isPT,
123
- bool isYT,
124
- bool isMarket
125
- )
126
- {
127
- if (yieldContractFactory.isPT(token)) isPT = true;
128
- else if (yieldContractFactory.isYT(token)) isYT = true;
129
- else if (marketFactory.isValidMarket(token)) isMarket = true;
130
- }
131
-
132
- function getPY(address py) public view returns (address pt, address yt) {
133
- if (yieldContractFactory.isYT(py)) {
134
- pt = IPYieldToken(py).PT();
135
- yt = py;
136
- } else {
137
- pt = py;
138
- yt = IPPrincipalToken(py).YT();
139
- }
140
- }
141
-
142
- function getMarketInfo(address market)
143
- external
144
- returns (
145
- address pt,
146
- address sy,
147
- MarketState memory state,
148
- int256 impliedYield,
149
- uint256 exchangeRate
150
- )
151
- {
152
- IPMarket _market = IPMarket(market);
153
- (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
154
-
155
- pt = address(PT);
156
- sy = address(SY);
157
- state = _market.readState(address(this));
158
- impliedYield = getPtImpliedYield(market);
159
- exchangeRate = MarketMathStatic.getTradeExchangeRateExcludeFee(market);
160
- }
161
-
162
- // ============= USER INFO =============
163
-
164
- function getUserPYPositionsByPYs(address user, address[] calldata pys)
165
- external
166
- view
167
- returns (UserPYInfo[] memory userPYPositions)
168
- {
169
- userPYPositions = new UserPYInfo[](pys.length);
170
- for (uint256 i = 0; i < pys.length; ++i) {
171
- userPYPositions[i] = getUserPYInfo(pys[i], user);
172
- }
173
- }
174
-
175
- function getUserMarketPositions(address user, address[] calldata markets)
176
- external
177
- view
178
- returns (UserMarketInfo[] memory userMarketPositions)
179
- {
180
- userMarketPositions = new UserMarketInfo[](markets.length);
181
- for (uint256 i = 0; i < markets.length; ++i) {
182
- userMarketPositions[i] = getUserMarketInfo(markets[i], user);
183
- }
184
- }
185
-
186
- function getUserSYInfo(address sy, address user)
187
- external
188
- view
189
- returns (uint256 balance, TokenAmount[] memory rewards)
190
- {
191
- IStandardizedYield SY = IStandardizedYield(sy);
192
- balance = SY.balanceOf(sy);
193
- address[] memory rewardTokens = SY.getRewardTokens();
194
- rewards = new TokenAmount[](rewardTokens.length);
195
- for (uint256 i = 0; i < rewardTokens.length; ++i) {
196
- address rewardToken = rewardTokens[i];
197
- rewards[i].token = rewardToken;
198
- (, rewards[i].amount) = IRewardManager(sy).userReward(rewardToken, user);
199
- }
200
- }
201
-
202
- function getUserPYInfo(address py, address user)
203
- public
204
- view
205
- returns (UserPYInfo memory userPYInfo)
206
- {
207
- (userPYInfo.pt, userPYInfo.yt) = getPY(py);
208
- IPYieldToken YT = IPYieldToken(userPYInfo.yt);
209
- userPYInfo.ytBalance = YT.balanceOf(user);
210
- userPYInfo.ptBalance = IPPrincipalToken(userPYInfo.pt).balanceOf(user);
211
- userPYInfo.unclaimedInterest.token = YT.SY();
212
- (, userPYInfo.unclaimedInterest.amount) = YT.userInterest(user);
213
- address[] memory rewardTokens = YT.getRewardTokens();
214
- TokenAmount[] memory unclaimedRewards = new TokenAmount[](rewardTokens.length);
215
- uint256 length = 0;
216
- for (uint256 i = 0; i < rewardTokens.length; ++i) {
217
- address rewardToken = rewardTokens[i];
218
- (, uint256 amount) = YT.userReward(rewardToken, user);
219
- if (amount > 0) {
220
- unclaimedRewards[length].token = rewardToken;
221
- unclaimedRewards[length].amount = amount;
222
- ++length;
223
- }
224
- }
225
- userPYInfo.unclaimedRewards = new TokenAmount[](length);
226
- for (uint256 i = 0; i < length; ++i) {
227
- userPYInfo.unclaimedRewards[i] = unclaimedRewards[i];
228
- }
229
- }
230
-
231
- function getUserMarketInfo(address market, address user)
232
- public
233
- view
234
- returns (UserMarketInfo memory userMarketInfo)
235
- {
236
- IPMarket _market = IPMarket(market);
237
- uint256 userLp = _market.balanceOf(user);
238
-
239
- userMarketInfo.market = market;
240
- userMarketInfo.lpBalance = userLp;
241
-
242
- (IStandardizedYield SY, IPPrincipalToken PT, ) = _market.readTokens();
243
- (userMarketInfo.assetBalance.assetType, userMarketInfo.assetBalance.assetAddress, ) = SY
244
- .assetInfo();
245
-
246
- MarketState memory state = _market.readState(address(this));
247
- uint256 totalLp = uint256(state.totalLp);
248
-
249
- if (totalLp == 0) {
250
- return userMarketInfo;
251
- }
252
-
253
- uint256 userPt = (userLp * uint256(state.totalPt)) / totalLp;
254
- uint256 userSy = (userLp * uint256(state.totalSy)) / totalLp;
255
-
256
- userMarketInfo.ptBalance = TokenAmount(address(PT), userPt);
257
- userMarketInfo.syBalance = TokenAmount(address(SY), userSy);
258
- userMarketInfo.assetBalance.amount = (userSy * SY.exchangeRate()) / Math.ONE;
259
- }
260
-
261
- function hasPYPosition(UserPYInfo calldata userPYInfo) public pure returns (bool hasPosition) {
262
- hasPosition = (userPYInfo.ytBalance > 0 ||
263
- userPYInfo.ptBalance > 0 ||
264
- userPYInfo.unclaimedInterest.amount > 0 ||
265
- userPYInfo.unclaimedRewards.length > 0);
266
- }
267
-
268
- // ============= MARKET ACTIONS =============
269
-
270
- function addLiquidityDualSyAndPtStatic(
271
- address market,
272
- uint256 netSyDesired,
273
- uint256 netPtDesired
274
- )
275
- external
276
- view
277
- returns (
278
- uint256 netLpOut,
279
- uint256 netSyUsed,
280
- uint256 netPtUsed
281
- )
282
- {
283
- return MarketMathStatic.addLiquidityDualSyAndPtStatic(market, netSyDesired, netPtDesired);
284
- }
285
-
286
- function addLiquidityDualTokenAndPtStatic(
287
- address market,
288
- address tokenIn,
289
- uint256 netTokenDesired,
290
- address bulk,
291
- uint256 netPtDesired
292
- )
293
- external
294
- view
295
- returns (
296
- uint256 netLpOut,
297
- uint256 netTokenUsed,
298
- uint256 netPtUsed
299
- )
300
- {
301
- uint256 netSyDesired = previewDepositStatic(
302
- getSyMarket(market),
303
- tokenIn,
304
- netTokenDesired,
305
- bulk
306
- );
307
-
308
- uint256 netSyUsed;
309
- (netLpOut, netSyUsed, netPtUsed) = MarketMathStatic.addLiquidityDualSyAndPtStatic(
310
- market,
311
- netSyDesired,
312
- netPtDesired
313
- );
314
-
315
- if (netSyUsed != netSyDesired) revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
316
-
317
- netTokenUsed = netTokenDesired;
318
- }
319
-
320
- function addLiquiditySinglePtStatic(address market, uint256 netPtIn)
321
- external
322
- returns (
323
- uint256 netLpOut,
324
- uint256 netPtToSwap,
325
- uint256 netSyFee,
326
- uint256 priceImpact,
327
- uint256 exchangeRateAfter
328
- )
329
- {
330
- return MarketMathStatic.addLiquiditySinglePtStatic(market, netPtIn);
331
- }
332
-
333
- function addLiquiditySingleSyStatic(address market, uint256 netSyIn)
334
- public
335
- returns (
336
- uint256 netLpOut,
337
- uint256 netPtFromSwap,
338
- uint256 netSyFee,
339
- uint256 priceImpact,
340
- uint256 exchangeRateAfter
341
- )
342
- {
343
- return MarketMathStatic.addLiquiditySingleSyStatic(market, netSyIn);
344
- }
345
-
346
- function addLiquiditySingleBaseTokenStatic(
347
- address market,
348
- address baseToken,
349
- uint256 netBaseTokenIn,
350
- address bulk
351
- )
352
- external
353
- returns (
354
- uint256 netLpOut,
355
- uint256 netPtFromSwap,
356
- uint256 netSyFee,
357
- uint256 priceImpact,
358
- uint256 exchangeRateAfter
359
- )
360
- {
361
- uint256 netSyIn = previewDepositStatic(
362
- getSyMarket(market),
363
- baseToken,
364
- netBaseTokenIn,
365
- bulk
366
- );
367
-
368
- return MarketMathStatic.addLiquiditySingleSyStatic(market, netSyIn);
369
- }
370
-
371
- function addLiquiditySingleSyKeepYtStatic(address market, uint256 netSyIn)
372
- external
373
- returns (uint256 netLpOut, uint256 netYtOut)
374
- {
375
- return MarketMathStatic.addLiquiditySingleSyKeepYtStatic(market, netSyIn);
376
- }
377
-
378
- function addLiquiditySingleTokenKeepYtStatic(
379
- address market,
380
- address baseToken,
381
- uint256 netBaseTokenIn,
382
- address bulk
383
- ) external returns (uint256 netLpOut, uint256 netYtOut) {
384
- uint256 netSyIn = previewDepositStatic(
385
- getSyMarket(market),
386
- baseToken,
387
- netBaseTokenIn,
388
- bulk
389
- );
390
- return MarketMathStatic.addLiquiditySingleSyKeepYtStatic(market, netSyIn);
391
- }
392
-
393
- function removeLiquidityDualSyAndPtStatic(address market, uint256 netLpToRemove)
394
- external
395
- view
396
- returns (uint256 netSyOut, uint256 netPtOut)
397
- {
398
- return MarketMathStatic.removeLiquidityDualSyAndPtStatic(market, netLpToRemove);
399
- }
400
-
401
- function removeLiquidityDualTokenAndPtStatic(
402
- address market,
403
- uint256 netLpToRemove,
404
- address tokenOut,
405
- address bulk
406
- ) external view returns (uint256 netTokenOut, uint256 netPtOut) {
407
- uint256 netSyOut;
408
-
409
- (netSyOut, netPtOut) = MarketMathStatic.removeLiquidityDualSyAndPtStatic(
410
- market,
411
- netLpToRemove
412
- );
413
-
414
- netTokenOut = previewRedeemStatic(getSyMarket(market), tokenOut, netSyOut, bulk);
415
- }
416
-
417
- function removeLiquiditySinglePtStatic(address market, uint256 netLpToRemove)
418
- external
419
- returns (
420
- uint256 netPtOut,
421
- uint256 netPtFromSwap,
422
- uint256 netSyFee,
423
- uint256 priceImpact,
424
- uint256 exchangeRateAfter
425
- )
426
- {
427
- return MarketMathStatic.removeLiquiditySinglePtStatic(market, netLpToRemove);
428
- }
429
-
430
- function removeLiquiditySingleSyStatic(address market, uint256 netLpToRemove)
431
- public
432
- returns (
433
- uint256 netSyOut,
434
- uint256 netSyFee,
435
- uint256 priceImpact,
436
- uint256 exchangeRateAfter
437
- )
438
- {
439
- return MarketMathStatic.removeLiquiditySingleSyStatic(market, netLpToRemove);
440
- }
441
-
442
- function removeLiquiditySingleBaseTokenStatic(
443
- address market,
444
- uint256 netLpToRemove,
445
- address baseToken,
446
- address bulk
447
- )
448
- external
449
- returns (
450
- uint256 netBaseTokenOut,
451
- uint256 netSyFee,
452
- uint256 priceImpact,
453
- uint256 exchangeRateAfter
454
- )
455
- {
456
- uint256 netSyOut;
457
-
458
- (netSyOut, netSyFee, priceImpact, exchangeRateAfter) = MarketMathStatic
459
- .removeLiquiditySingleSyStatic(market, netLpToRemove);
460
-
461
- netBaseTokenOut = previewRedeemStatic(getSyMarket(market), baseToken, netSyOut, bulk);
462
- }
463
-
464
- function swapExactPtForSyStatic(address market, uint256 exactPtIn)
465
- public
466
- returns (
467
- uint256 netSyOut,
468
- uint256 netSyFee,
469
- uint256 priceImpact,
470
- uint256 exchangeRateAfter
471
- )
472
- {
473
- return MarketMathStatic.swapExactPtForSyStatic(market, exactPtIn);
474
- }
475
-
476
- function swapSyForExactPtStatic(address market, uint256 exactPtOut)
477
- external
478
- returns (
479
- uint256 netSyIn,
480
- uint256 netSyFee,
481
- uint256 priceImpact,
482
- uint256 exchangeRateAfter
483
- )
484
- {
485
- return MarketMathStatic.swapSyForExactPtStatic(market, exactPtOut);
486
- }
487
-
488
- function swapExactSyForPtStatic(address market, uint256 exactSyIn)
489
- public
490
- returns (
491
- uint256 netPtOut,
492
- uint256 netSyFee,
493
- uint256 priceImpact,
494
- uint256 exchangeRateAfter
495
- )
496
- {
497
- return MarketMathStatic.swapExactSyForPtStatic(market, exactSyIn);
498
- }
499
-
500
- function swapPtForExactSyStatic(address market, uint256 exactSyOut)
501
- public
502
- returns (
503
- uint256 netPtIn,
504
- uint256 netSyFee,
505
- uint256 priceImpact,
506
- uint256 exchangeRateAfter
507
- )
508
- {
509
- return MarketMathStatic.swapPtForExactSyStatic(market, exactSyOut);
510
- }
511
-
512
- function swapExactBaseTokenForPtStatic(
513
- address market,
514
- address baseToken,
515
- uint256 amountBaseToken,
516
- address bulk
517
- )
518
- external
519
- returns (
520
- uint256 netPtOut,
521
- uint256 netSyFee,
522
- uint256 priceImpact,
523
- uint256 exchangeRateAfter
524
- )
525
- {
526
- uint256 netSyIn = previewDepositStatic(
527
- getSyMarket(market),
528
- baseToken,
529
- amountBaseToken,
530
- bulk
531
- );
532
- return MarketMathStatic.swapExactSyForPtStatic(market, netSyIn);
533
- }
534
-
535
- function swapExactPtForBaseTokenStatic(
536
- address market,
537
- uint256 exactPtIn,
538
- address baseToken,
539
- address bulk
540
- )
541
- external
542
- returns (
543
- uint256 netBaseTokenOut,
544
- uint256 netSyFee,
545
- uint256 priceImpact,
546
- uint256 exchangeRateAfter
547
- )
548
- {
549
- uint256 netSyOut;
550
- (netSyOut, netSyFee, priceImpact, exchangeRateAfter) = MarketMathStatic
551
- .swapExactPtForSyStatic(market, exactPtIn);
552
-
553
- netBaseTokenOut = previewRedeemStatic(getSyMarket(market), baseToken, netSyOut, bulk);
554
- }
555
-
556
- function swapSyForExactYtStatic(address market, uint256 exactYtOut)
557
- external
558
- returns (
559
- uint256 netSyIn,
560
- uint256 netSyFee,
561
- uint256 priceImpact,
562
- uint256 exchangeRateAfter
563
- )
564
- {
565
- return MarketMathStatic.swapSyForExactYtStatic(market, exactYtOut);
566
- }
567
-
568
- function swapExactSyForYtStatic(address market, uint256 exactSyIn)
569
- public
570
- returns (
571
- uint256 netYtOut,
572
- uint256 netSyFee,
573
- uint256 priceImpact,
574
- uint256 exchangeRateAfter
575
- )
576
- {
577
- return MarketMathStatic.swapExactSyForYtStatic(market, exactSyIn);
578
- }
579
-
580
- function swapExactYtForSyStatic(address market, uint256 exactYtIn)
581
- public
582
- returns (
583
- uint256 netSyOut,
584
- uint256 netSyFee,
585
- uint256 priceImpact,
586
- uint256 exchangeRateAfter
587
- )
588
- {
589
- return MarketMathStatic.swapExactYtForSyStatic(market, exactYtIn);
590
- }
591
-
592
- function swapYtForExactSyStatic(address market, uint256 exactSyOut)
593
- external
594
- returns (
595
- uint256 netYtIn,
596
- uint256 netSyFee,
597
- uint256 priceImpact,
598
- uint256 exchangeRateAfter
599
- )
600
- {
601
- return MarketMathStatic.swapYtForExactSyStatic(market, exactSyOut);
602
- }
603
-
604
- function swapExactYtForBaseTokenStatic(
605
- address market,
606
- uint256 exactYtIn,
607
- address baseToken,
608
- address bulk
609
- )
610
- external
611
- returns (
612
- uint256 netBaseTokenOut,
613
- uint256 netSyFee,
614
- uint256 priceImpact,
615
- uint256 exchangeRateAfter
616
- )
617
- {
618
- uint256 netSyOut;
619
- (netSyOut, netSyFee, priceImpact, exchangeRateAfter) = MarketMathStatic
620
- .swapExactYtForSyStatic(market, exactYtIn);
621
-
622
- netBaseTokenOut = previewRedeemStatic(getSyMarket(market), baseToken, netSyOut, bulk);
623
- }
624
-
625
- function swapExactBaseTokenForYtStatic(
626
- address market,
627
- address baseToken,
628
- uint256 amountBaseToken,
629
- address bulk
630
- )
631
- external
632
- returns (
633
- uint256 netYtOut,
634
- uint256 netSyFee,
635
- uint256 priceImpact,
636
- uint256 exchangeRateAfter
637
- )
638
- {
639
- uint256 netSyIn = previewDepositStatic(
640
- getSyMarket(market),
641
- baseToken,
642
- amountBaseToken,
643
- bulk
644
- );
645
-
646
- return MarketMathStatic.swapExactSyForYtStatic(market, netSyIn);
647
- }
648
-
649
- function swapExactPtForYtStatic(address market, uint256 exactPtIn)
650
- external
651
- returns (
652
- uint256 netYtOut,
653
- uint256 totalPtToSwap,
654
- uint256 netSyFee,
655
- uint256 priceImpact,
656
- uint256 exchangeRateAfter
657
- )
658
- {
659
- return MarketMathStatic.swapExactPtForYt(market, exactPtIn);
660
- }
661
-
662
- function swapExactYtForPtStatic(address market, uint256 exactYtIn)
663
- external
664
- returns (
665
- uint256 netPtOut,
666
- uint256 totalPtSwapped,
667
- uint256 netSyFee,
668
- uint256 priceImpact,
669
- uint256 exchangeRateAfter
670
- )
671
- {
672
- return MarketMathStatic.swapExactYtForPt(market, exactYtIn);
673
- }
674
-
675
- // ============= vePENDLE =============
676
-
677
- function increaseLockPositionStatic(
678
- address user,
679
- uint128 additionalAmountToLock,
680
- uint128 newExpiry
681
- ) external view returns (uint128 newVeBalance) {
682
- if (!WeekMath.isValidWTime(newExpiry)) revert Errors.InvalidWTime(newExpiry);
683
- if (MiniHelpers.isTimeInThePast(newExpiry)) revert Errors.ExpiryInThePast(newExpiry);
684
-
685
- if (newExpiry > block.timestamp + MAX_LOCK_TIME) revert Errors.VEExceededMaxLockTime();
686
- if (newExpiry < block.timestamp + MIN_LOCK_TIME) revert Errors.VEInsufficientLockTime();
687
-
688
- LockedPosition memory oldPosition;
689
-
690
- {
691
- (uint128 amount, uint128 expiry) = vePENDLE.positionData(user);
692
- oldPosition = LockedPosition(amount, expiry);
693
- }
694
-
695
- if (newExpiry < oldPosition.expiry) revert Errors.VENotAllowedReduceExpiry();
696
-
697
- uint128 newTotalAmountLocked = additionalAmountToLock + oldPosition.amount;
698
- if (newTotalAmountLocked == 0) revert Errors.VEZeroAmountLocked();
699
-
700
- uint128 additionalDurationToLock = newExpiry - oldPosition.expiry;
701
-
702
- LockedPosition memory newPosition = LockedPosition(
703
- oldPosition.amount + additionalAmountToLock,
704
- oldPosition.expiry + additionalDurationToLock
705
- );
706
-
707
- VeBalance memory newBalance = newPosition.convertToVeBalance();
708
- return newBalance.getCurrentValue();
709
- }
710
-
711
- // ============= OTHER HELPERS =============
712
-
713
- function mintPYFromSyStatic(address YT, uint256 amountSyToMint)
714
- public
715
- returns (uint256 amountPY)
716
- {
717
- IPYieldToken _YT = IPYieldToken(YT);
718
- if (_YT.isExpired()) revert Errors.YCExpired();
719
- return amountSyToMint.mulDown(_YT.pyIndexCurrent());
720
- }
721
-
722
- function redeemPYToSyStatic(address YT, uint256 amountPYToRedeem)
723
- public
724
- returns (uint256 amountPY)
725
- {
726
- IPYieldToken _YT = IPYieldToken(YT);
727
- return amountPYToRedeem.divDown(_YT.pyIndexCurrent());
728
- }
729
-
730
- function mintPYFromBaseStatic(
731
- address YT,
732
- address baseToken,
733
- uint256 amountBaseToken,
734
- address bulk
735
- ) external returns (uint256 amountPY) {
736
- IStandardizedYield SY = IStandardizedYield(IPYieldToken(YT).SY());
737
- uint256 amountSy = previewDepositStatic(SY, baseToken, amountBaseToken, bulk);
738
- return mintPYFromSyStatic(YT, amountSy);
739
- }
740
-
741
- function redeemPYToBaseStatic(
742
- address YT,
743
- uint256 amountPYToRedeem,
744
- address baseToken,
745
- address bulk
746
- ) external returns (uint256 amountBaseToken) {
747
- IStandardizedYield SY = IStandardizedYield(IPYieldToken(YT).SY());
748
- uint256 amountSy = redeemPYToSyStatic(YT, amountPYToRedeem);
749
- return previewRedeemStatic(SY, baseToken, amountSy, bulk);
750
- }
751
-
752
- function previewDepositStatic(
753
- IStandardizedYield SY,
754
- address baseToken,
755
- uint256 amountToken,
756
- address bulk
757
- ) public view returns (uint256 amountSy) {
758
- if (bulk != address(0)) {
759
- BulkSellerState memory state = IPBulkSeller(bulk).readState();
760
- return state.calcSwapExactTokenForSy(amountToken);
761
- } else {
762
- return SY.previewDeposit(baseToken, amountToken);
763
- }
764
- }
765
-
766
- function previewRedeemStatic(
767
- IStandardizedYield SY,
768
- address baseToken,
769
- uint256 amountSy,
770
- address bulk
771
- ) public view returns (uint256 amountBaseToken) {
772
- if (bulk != address(0)) {
773
- BulkSellerState memory state = IPBulkSeller(bulk).readState();
774
- return state.calcSwapExactSyForToken(amountSy);
775
- } else {
776
- return SY.previewRedeem(baseToken, amountSy);
777
- }
778
- }
779
-
780
- function getPtImpliedYield(address market) public view returns (int256) {
781
- return MarketMathStatic.getPtImpliedYield(market);
782
- }
783
-
784
- function pyIndex(address market) public returns (PYIndex index) {
785
- return MarketMathStatic.pyIndex(market);
786
- }
787
-
788
- function getExchangeRate(address market) public returns (uint256) {
789
- return getTradeExchangeRateIncludeFee(market, 0);
790
- }
791
-
792
- function getTradeExchangeRateIncludeFee(address market, int256 netPtOut)
793
- public
794
- returns (uint256)
795
- {
796
- return MarketMathStatic.getTradeExchangeRateIncludeFee(market, netPtOut);
797
- }
798
-
799
- function calcPriceImpact(address market, int256 netPtOut)
800
- public
801
- returns (uint256 priceImpact)
802
- {
803
- return MarketMathStatic.calcPriceImpactPt(market, netPtOut);
804
- }
805
-
806
- // either but not both pyToken or market must be != 0
807
- function getTokensInOut(address pyToken, address market)
808
- public
809
- view
810
- returns (address[] memory tokensIn, address[] memory tokensOut)
811
- {
812
- if (pyToken != address(0)) {
813
- // SY interface is shared between pt & yt
814
- IStandardizedYield SY = IStandardizedYield(IPPrincipalToken(pyToken).SY());
815
- return (SY.getTokensIn(), SY.getTokensOut());
816
- } else {
817
- (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
818
- return (SY.getTokensIn(), SY.getTokensOut());
819
- }
820
- }
821
-
822
- function getAmountTokenToMintSy(
823
- IStandardizedYield SY,
824
- address tokenIn,
825
- address bulk,
826
- uint256 netSyOut
827
- ) public view returns (uint256 netTokenIn) {
828
- uint256 pivotAmount = 10**IERC20Metadata(tokenIn).decimals();
829
-
830
- uint256 low = pivotAmount;
831
- {
832
- while (true) {
833
- uint256 lowSyOut = previewDepositStatic(SY, tokenIn, low, bulk);
834
- if (lowSyOut >= netSyOut) low /= 10;
835
- else break;
836
- }
837
- }
838
-
839
- uint256 high = pivotAmount;
840
- {
841
- while (true) {
842
- uint256 highSyOut = previewDepositStatic(SY, tokenIn, high, bulk);
843
- if (highSyOut < netSyOut) high *= 10;
844
- else break;
845
- }
846
- }
847
-
848
- while (low <= high) {
849
- uint256 mid = (low + high) / 2;
850
- uint256 syOut = previewDepositStatic(SY, tokenIn, mid, bulk);
851
-
852
- if (syOut >= netSyOut) {
853
- netTokenIn = mid;
854
- high = mid - 1;
855
- } else {
856
- low = mid + 1;
857
- }
858
- }
859
-
860
- assert(netTokenIn > 0);
861
- }
862
-
863
- function getSyMarket(address market) public view returns (IStandardizedYield) {
864
- (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
865
- return SY;
866
- }
867
-
868
- function getBulkSellerInfo(address token, address SY)
869
- external
870
- view
871
- returns (
872
- address bulk,
873
- uint256 totalToken,
874
- uint256 totalSy
875
- )
876
- {
877
- if (address(bulkFactory) != address(0)) {
878
- bulk = IPBulkSellerFactory(bulkFactory).get(token, SY);
879
- if (bulk != address(0)) {
880
- BulkSellerState memory state = IPBulkSeller(bulk).readState();
881
- if (state.rateTokenToSy != 0 || state.rateSyToToken != 0) {
882
- totalToken = state.totalToken;
883
- totalSy = state.totalSy;
884
- }
885
- }
886
- }
887
- }
888
-
889
- function getBulkSellerInfo(
890
- address token,
891
- address SY,
892
- uint256 netTokenIn,
893
- uint256 netSyIn
894
- )
895
- external
896
- view
897
- returns (
898
- address bulk,
899
- uint256 totalToken,
900
- uint256 totalSy
901
- )
902
- {
903
- if (address(bulkFactory) != address(0)) {
904
- bulk = IPBulkSellerFactory(bulkFactory).get(token, SY);
905
- if (bulk != address(0)) {
906
- BulkSellerState memory state = IPBulkSeller(bulk).readState();
907
-
908
- // Paused check
909
- if (state.rateTokenToSy == 0 || state.rateSyToToken == 0) {
910
- return (address(0), 0, 0);
911
- }
912
-
913
- // Liquidity check
914
- uint256 postFeeRateTokenToSy = state.rateTokenToSy.mulDown(Math.ONE - state.feeRate);
915
- uint256 postFeeRateSyToToken = state.rateSyToToken.mulDown(Math.ONE - state.feeRate);
916
- if (
917
- netTokenIn.mulDown(postFeeRateTokenToSy) > state.totalSy ||
918
- netSyIn.mulDown(postFeeRateSyToToken) > state.totalToken
919
- ) {
920
- return (address(0), 0, 0);
921
- }
922
-
923
- // return...
924
- totalToken = state.totalToken;
925
- totalSy = state.totalSy;
926
- }
927
- }
928
- }
929
- }