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

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