@pendle/core-v2 1.4.0-mainnet → 1.4.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +3 -3
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +39 -0
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.json +50 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +974 -0
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  105. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  107. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  108. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  113. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  115. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  117. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  119. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  121. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  123. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  125. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  128. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +50 -2
  130. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  134. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  137. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  139. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  156. package/build/artifacts/contracts/interfaces/{IAToken.sol/IAToken.json → GMX/IGMXVault.sol/IGMXVault.json} +130 -74
  157. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  158. package/build/artifacts/contracts/interfaces/{IREDACTEDStaking.sol/IREDACTEDStaking.json → GMX/IGlpManager.sol/IGlpManager.json} +24 -47
  159. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  160. package/build/artifacts/contracts/interfaces/{IWAvax.sol/IWAvax.json → GMX/IRewardRouterV2.sol/IRewardRouterV2.json} +86 -137
  161. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  162. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  163. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +4 -0
  164. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.json +48 -0
  165. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  170. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  172. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  174. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  180. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +4 -0
  181. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.json +307 -0
  182. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +4 -0
  183. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +269 -0
  184. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +4 -0
  185. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +1260 -0
  186. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  188. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +273 -0
  190. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  192. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +4 -0
  193. package/build/artifacts/contracts/interfaces/{IPActionSwapPTYT.sol/IPActionSwapPTYT.json → IPActionStorageStatic.sol/IPActionStorageStatic.json} +70 -76
  194. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  196. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  198. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +4 -0
  199. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.json +40 -0
  200. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  202. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  211. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  212. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  216. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  217. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  222. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2322 -0
  223. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +39 -0
  226. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  230. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  231. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  243. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  244. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +4 -0
  247. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
  248. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  254. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  255. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  256. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  257. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  258. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  259. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  260. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1397 -0
  261. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  262. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  263. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  264. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  265. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  266. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  267. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  268. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json +10 -0
  269. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  271. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  273. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  275. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  277. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  279. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  281. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  282. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  283. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  285. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  288. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  290. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  291. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  292. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  293. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  294. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  295. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  296. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  297. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  298. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  299. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  300. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  301. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  302. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  303. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  304. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  305. package/build/artifacts/contracts/router/{kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json → swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json} +13 -8
  306. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  307. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol/IHashflow.json +1 -1
  308. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  309. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  310. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  311. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  312. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  313. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  314. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  315. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  317. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +30 -1
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  321. package/build/artifacts/contracts/router/{kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json → swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json} +82 -50
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  326. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  327. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -6
  328. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  329. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  330. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +18 -8
  331. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  332. package/contracts/LiquidityMining/README.md +49 -46
  333. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  334. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  335. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  336. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  337. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  338. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  339. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  340. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  341. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  342. package/contracts/core/Market/MarketMathCore.sol +23 -69
  343. package/contracts/core/Market/OracleLib.sol +4 -4
  344. package/contracts/core/Market/PendleGauge.sol +7 -20
  345. package/contracts/core/Market/PendleMarket.sol +5 -15
  346. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  347. package/contracts/core/RewardManager/RewardManager.sol +5 -7
  348. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  349. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  350. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  351. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  352. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  353. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  354. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  355. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  356. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  357. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  358. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  359. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  360. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  361. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  362. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  363. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  364. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  365. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  366. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  367. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  368. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  369. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  370. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  371. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +141 -0
  372. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +214 -0
  373. package/contracts/core/StandardizedYield/implementations/GLP/README.md +63 -0
  374. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +112 -0
  375. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  376. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  377. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  378. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  379. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  380. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  381. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +471 -0
  382. package/contracts/core/erc20/PendleERC20.sol +14 -44
  383. package/contracts/core/libraries/ArrayLib.sol +20 -9
  384. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  385. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  386. package/contracts/core/libraries/Errors.sol +5 -2
  387. package/contracts/core/libraries/StringLib.sol +14 -20
  388. package/contracts/core/libraries/TokenHelper.sol +11 -26
  389. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  390. package/contracts/core/libraries/math/Math.sol +3 -15
  391. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  392. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  393. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  394. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  395. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  396. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  397. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  398. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  399. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  400. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  401. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  402. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  403. package/contracts/interfaces/IAddressProvider.sol +7 -0
  404. package/contracts/interfaces/IApeStaking.sol +3 -4
  405. package/contracts/interfaces/IDiamondCut.sol +36 -0
  406. package/contracts/interfaces/IDiamondLoupe.sol +40 -0
  407. package/contracts/interfaces/IERC4626.sol +3 -5
  408. package/contracts/interfaces/IPActionAddRemoveLiq.sol +38 -16
  409. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  410. package/contracts/interfaces/IPActionMarketAuxStatic.sol +34 -0
  411. package/contracts/interfaces/IPActionMarketCoreStatic.sol +335 -0
  412. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  413. package/contracts/interfaces/IPActionMintRedeemStatic.sol +55 -0
  414. package/contracts/interfaces/IPActionMisc.sol +18 -4
  415. package/contracts/interfaces/IPActionStorageStatic.sol +24 -0
  416. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  417. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  418. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  419. package/contracts/interfaces/IPAllAction.sol +5 -3
  420. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  421. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  422. package/contracts/interfaces/IPGaugeController.sol +3 -9
  423. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  424. package/contracts/interfaces/IPInterestManagerYTV2.sol +11 -0
  425. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  426. package/contracts/interfaces/IPMarket.sol +5 -16
  427. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  428. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  429. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  430. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  431. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  432. package/contracts/interfaces/IPVotingController.sol +11 -6
  433. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  434. package/contracts/interfaces/IPYieldToken.sol +4 -3
  435. package/contracts/interfaces/IPYieldTokenV2.sol +67 -0
  436. package/contracts/interfaces/IRewardManager.sol +4 -4
  437. package/contracts/interfaces/IStETH.sol +4 -3
  438. package/contracts/interfaces/IStandardizedYield.sol +10 -14
  439. package/contracts/interfaces/IStargateRouter.sol +1 -5
  440. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  441. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  442. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  443. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  444. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  445. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  446. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +122 -0
  447. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +165 -0
  448. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +780 -0
  449. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +158 -0
  450. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +76 -0
  451. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  452. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +21 -0
  453. package/contracts/router/ActionAddRemoveLiq.sol +118 -24
  454. package/contracts/router/ActionMintRedeem.sol +12 -202
  455. package/contracts/router/ActionMisc.sol +45 -19
  456. package/contracts/router/ActionSwapPT.sol +0 -5
  457. package/contracts/router/ActionSwapYT.sol +109 -13
  458. package/contracts/router/PendleRouter.sol +211 -72
  459. package/contracts/router/PendleRouterHelper.sol +315 -0
  460. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +49 -49
  461. package/contracts/router/base/ActionBaseMintRedeem.sol +108 -64
  462. package/contracts/router/base/CallbackHelper.sol +136 -54
  463. package/contracts/router/base/MarketApproxLib.sol +243 -430
  464. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +39 -0
  465. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +68 -0
  466. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +21 -0
  467. package/contracts/router/swap-aggregator/PendleSwapArbitrum.sol +45 -0
  468. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  469. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  470. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  471. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  472. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  473. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  474. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  475. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  476. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol +6 -0
  477. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  478. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IMetaAggregationRouterV2.sol +3 -4
  479. package/contracts/router/{kyberswap/AggregationRouterHelper.sol → swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol} +21 -137
  480. package/contracts/router/{kyberswap/ScaleDataHelperEthereum1.sol → swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol} +15 -2
  481. package/deployments/43113-core.json +31 -0
  482. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  483. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  484. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  485. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  486. package/deployments/43113-markets/USDC-MAR-28TH.json +10 -0
  487. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  488. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  489. package/deployments/43113-offchain-helper.json +4 -0
  490. package/deployments/43113-testenv.json +22 -0
  491. package/deployments/80001-core.json +30 -0
  492. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  493. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  494. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  495. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  496. package/deployments/80001-offchain-helper.json +4 -0
  497. package/deployments/80001-testenv.json +22 -0
  498. package/package.json +10 -10
  499. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  500. package/typechain-types/ActionBaseCallback.ts +115 -0
  501. package/typechain-types/ActionInfoStatic.ts +310 -0
  502. package/typechain-types/ActionMarketAuxStatic.ts +350 -0
  503. package/typechain-types/ActionMarketCoreStatic.ts +1485 -0
  504. package/typechain-types/ActionMintRedeem.ts +29 -230
  505. package/typechain-types/ActionMintRedeemStatic.ts +461 -0
  506. package/typechain-types/ActionMisc.ts +77 -27
  507. package/typechain-types/ActionStorageStatic.ts +405 -0
  508. package/typechain-types/ActionSwapPT.ts +26 -31
  509. package/typechain-types/ActionSwapYT.ts +202 -21
  510. package/typechain-types/ActionVePendleStatic.ts +113 -0
  511. package/typechain-types/AddressProvider.ts +280 -0
  512. package/typechain-types/Broadcaster.ts +454 -0
  513. package/typechain-types/GLPPreviewHelper.ts +121 -0
  514. package/typechain-types/GMXPreviewHelper.ts +40 -0
  515. package/typechain-types/IAddressProvider.ts +123 -0
  516. package/typechain-types/IChainlinkAggregator.ts +246 -0
  517. package/typechain-types/IDiamondCut.ts +152 -0
  518. package/typechain-types/IDiamondLoupe.ts +190 -0
  519. package/typechain-types/IERC4626.ts +34 -0
  520. package/typechain-types/IExecutorHelper1.ts +643 -0
  521. package/typechain-types/IExecutorHelper2.ts +115 -0
  522. package/typechain-types/IExecutorHelperEthereum1.ts +44 -0
  523. package/typechain-types/IGlpManager.ts +50 -0
  524. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  525. package/typechain-types/IPActionInfoStatic.ts +310 -0
  526. package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
  527. package/typechain-types/IPActionMarketCoreStatic.ts +1485 -0
  528. package/typechain-types/IPActionMintRedeem.ts +29 -211
  529. package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
  530. package/typechain-types/IPActionMisc.ts +77 -27
  531. package/typechain-types/IPActionStorageStatic.ts +328 -0
  532. package/typechain-types/IPActionSwapPT.ts +26 -12
  533. package/typechain-types/IPActionSwapYT.ts +168 -12
  534. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  535. package/typechain-types/IPAllAction.ts +445 -227
  536. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  537. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  538. package/typechain-types/IPMiniDiamond.ts +147 -0
  539. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  540. package/typechain-types/IPRouterStatic.ts +2392 -509
  541. package/typechain-types/IPSwapAggregator.ts +126 -0
  542. package/typechain-types/IPVotingController.ts +96 -0
  543. package/typechain-types/IPYieldTokenV2.ts +9 -23
  544. package/typechain-types/IRewardRouterV2.ts +60 -17
  545. package/typechain-types/IStargateLP.ts +306 -0
  546. package/typechain-types/IStargateStaking.ts +232 -0
  547. package/typechain-types/InputScalingHelper.ts +108 -0
  548. package/typechain-types/InterestManagerYTV2.ts +36 -3
  549. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  550. package/typechain-types/PendleGDaiSY.ts +1229 -0
  551. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  552. package/typechain-types/PendleGlpSY.ts +67 -0
  553. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  554. package/typechain-types/PendlePtOracleBase.ts +139 -0
  555. package/typechain-types/PendleRouter.ts +109 -131
  556. package/typechain-types/PendleRouterHelper.ts +647 -0
  557. package/typechain-types/PendleRouterStatic.ts +57 -0
  558. package/typechain-types/PendleStargateLP.ts +1442 -0
  559. package/typechain-types/PendleSwapAggregator.ts +126 -0
  560. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  561. package/typechain-types/PendleSwapEthereum.ts +126 -0
  562. package/typechain-types/PendleYieldTokenV2.ts +70 -76
  563. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  564. package/typechain-types/PtStETHOracle.ts +163 -0
  565. package/typechain-types/RouterStatic.ts +92 -0
  566. package/typechain-types/VotingControllerStorageUpg.ts +96 -0
  567. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  568. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  569. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  570. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  571. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
  572. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1454 -0
  573. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
  574. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  575. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  576. package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
  577. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  578. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  579. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  580. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  581. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  582. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  583. package/typechain-types/factories/Broadcaster__factory.ts +311 -0
  584. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  585. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  586. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  587. package/typechain-types/factories/Errors__factory.ts +49 -1
  588. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  589. package/typechain-types/factories/GMXPreviewHelper__factory.ts +26 -0
  590. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  591. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  592. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  593. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  594. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  595. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  596. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  597. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +29 -0
  598. package/typechain-types/factories/IGlpManager__factory.ts +26 -0
  599. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  600. package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
  601. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
  602. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1279 -0
  603. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
  604. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  605. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  606. package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
  607. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  608. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  609. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  610. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  611. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  612. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  613. package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
  614. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  615. package/typechain-types/factories/IPRouterStatic__factory.ts +1942 -494
  616. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  617. package/typechain-types/factories/IPVotingController__factory.ts +39 -0
  618. package/typechain-types/factories/IPYieldTokenV2__factory.ts +6 -14
  619. package/typechain-types/factories/IRewardRouterV2__factory.ts +43 -7
  620. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  621. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  622. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  623. package/typechain-types/factories/InterestManagerYTV2__factory.ts +18 -0
  624. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  625. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  626. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  627. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  628. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  629. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -1
  630. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -1
  631. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  632. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  633. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  634. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  635. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  636. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  637. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  638. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  639. package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
  640. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  641. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  642. package/typechain-types/factories/PendleGlpSY__factory.ts +34 -1
  643. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  644. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  645. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  646. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  647. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  648. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  649. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  650. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  651. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  652. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  653. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  654. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  655. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  656. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  657. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  658. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  659. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  660. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  661. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  662. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  663. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  664. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  665. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +35 -48
  666. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  667. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  668. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  669. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  670. package/typechain-types/factories/SAPE__factory.ts +1 -1
  671. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
  672. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  673. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  674. package/typechain-types/hardhat.d.ts +320 -203
  675. package/typechain-types/index.ts +80 -60
  676. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  677. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1257
  678. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  679. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1244
  680. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  681. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  682. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  683. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  684. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  685. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  686. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  687. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  688. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  689. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  690. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  691. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  692. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  693. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  694. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  695. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  696. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  697. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  698. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  699. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  700. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  701. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  702. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  703. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  704. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  705. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  706. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  707. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  708. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  709. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  710. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  711. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -285
  712. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  713. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2741
  714. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  715. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  716. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  717. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  718. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  719. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  720. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  721. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  722. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +0 -24
  723. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  724. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  725. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  726. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  727. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  728. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  729. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  730. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  731. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  732. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  733. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  734. package/contracts/interfaces/IAToken.sol +0 -44
  735. package/contracts/interfaces/IAavePool.sol +0 -41
  736. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  737. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  738. package/contracts/interfaces/IEulerEToken.sol +0 -60
  739. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  740. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  741. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  742. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  743. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  744. package/contracts/interfaces/ISAvax.sol +0 -61
  745. package/contracts/interfaces/ISJoe.sol +0 -57
  746. package/contracts/interfaces/IWAvax.sol +0 -34
  747. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  748. package/contracts/interfaces/IYearnVault.sol +0 -46
  749. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -557
  750. package/contracts/offchain-helpers/RouterStatic.sol +0 -903
  751. package/contracts/router/ActionSwapPTYT.sol +0 -108
  752. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  753. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  754. package/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  755. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
  756. package/deployments/1-core.json +0 -30
  757. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  758. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-28DEC.json +0 -11
  759. package/deployments/1-markets/BALANCER-LP-AURA-WSTETH-WETH-JUN272024.json +0 -10
  760. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  761. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  762. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  763. package/deployments/1-markets/STETH-MARCH30.json +0 -10
  764. package/deployments/1-offchain-helper.json +0 -4
  765. /package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol +0 -0
@@ -1,162 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.17;
3
-
4
- import "./base/PendleAuraBalancerStableLPSY.sol";
5
- import "../../StEthHelper.sol";
6
- import "./base/ComposableStable/ComposableStablePreview.sol";
7
-
8
- contract PendleAuraCbethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
9
- address public constant CBETH = 0xBe9895146f7AF43049ca1c1AE358B0541Ea49704;
10
-
11
- uint256 internal constant AURA_PID = 37;
12
- address internal constant LP = 0x4EdcB2B46377530Bc18BB4D2c7Fe46a992c73e10;
13
-
14
- uint256 public constant BPT_INDEX = 0;
15
- bool public constant NO_TOKENS_EXEMPT = true;
16
- bool public constant ALL_TOKENS_EXEMPT = false;
17
-
18
- constructor(
19
- string memory _name,
20
- string memory _symbol,
21
- ComposableStablePreview _previewHelper
22
- ) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
23
-
24
- function _deposit(address tokenIn, uint256 amount)
25
- internal
26
- virtual
27
- override
28
- returns (uint256 amountSharesOut)
29
- {
30
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
31
- uint256 amountWstETH = _depositWstETH(tokenIn, amount);
32
- amountSharesOut = super._deposit(WSTETH, amountWstETH);
33
- } else {
34
- amountSharesOut = super._deposit(tokenIn, amount);
35
- }
36
- }
37
-
38
- function _redeem(
39
- address receiver,
40
- address tokenOut,
41
- uint256 amountSharesToRedeem
42
- ) internal virtual override returns (uint256 amountTokenOut) {
43
- if (tokenOut == STETH) {
44
- uint256 amountWstETH = super._redeem(address(this), WSTETH, amountSharesToRedeem);
45
- amountTokenOut = _redeemWstETH(receiver, amountWstETH);
46
- } else {
47
- amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
48
- }
49
- }
50
-
51
- function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
52
- internal
53
- view
54
- virtual
55
- override
56
- returns (uint256 amountSharesOut)
57
- {
58
- if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
59
- uint256 amountWstETH = _previewDepositWstETH(tokenIn, amountTokenToDeposit);
60
- amountSharesOut = super._previewDeposit(WSTETH, amountWstETH);
61
- } else {
62
- amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
63
- }
64
- }
65
-
66
- function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
67
- internal
68
- view
69
- virtual
70
- override
71
- returns (uint256 amountTokenOut)
72
- {
73
- if (tokenOut == STETH) {
74
- uint256 amountWstETH = super._previewRedeem(WSTETH, amountSharesToRedeem);
75
- amountTokenOut = _previewRedeemWstETH(amountWstETH);
76
- } else {
77
- amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
78
- }
79
- }
80
-
81
- function _getImmutablePoolData() internal view virtual override returns (bytes memory ret) {
82
- ComposableStablePreview.ImmutableData memory res;
83
- res.poolTokens = _getPoolTokenAddresses();
84
- res.rateProviders = _getRateProviders();
85
- res.rawScalingFactors = _getRawScalingFactors();
86
- res.isExemptFromYieldProtocolFee = _getExemption();
87
- res.LP = LP;
88
- res.noTokensExempt = NO_TOKENS_EXEMPT;
89
- res.allTokensExempt = ALL_TOKENS_EXEMPT;
90
- res.bptIndex = BPT_INDEX;
91
- res.totalTokens = res.poolTokens.length;
92
-
93
- return abi.encode(res);
94
- }
95
-
96
- function _getPoolTokenAddresses()
97
- internal
98
- view
99
- virtual
100
- override
101
- returns (address[] memory res)
102
- {
103
- res = new address[](3);
104
- res[0] = LP;
105
- res[1] = WSTETH;
106
- res[2] = CBETH;
107
- }
108
-
109
- function _getBPTIndex() internal view virtual override returns (uint256) {
110
- return BPT_INDEX;
111
- }
112
-
113
- function _getRateProviders() internal view virtual returns (address[] memory res) {
114
- res = new address[](3);
115
- res[0] = 0x0000000000000000000000000000000000000000;
116
- res[1] = 0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768;
117
- res[2] = 0x7311E4BB8a72e7B300c5B8BDE4de6CdaA822a5b1;
118
- }
119
-
120
- function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
121
- res = new uint256[](3);
122
- res[0] = res[1] = res[2] = 1e18;
123
- }
124
-
125
- function _getExemption() internal view virtual returns (bool[] memory res) {
126
- res = new bool[](3);
127
- res[0] = res[1] = res[2] = false;
128
- }
129
-
130
- function getTokensIn() public view virtual override returns (address[] memory res) {
131
- res = new address[](6);
132
- res[0] = WSTETH;
133
- res[1] = STETH;
134
- res[2] = NATIVE;
135
- res[3] = WETH;
136
- // All 4 converted to WSTETH
137
- res[4] = CBETH;
138
- res[5] = LP;
139
- }
140
-
141
- function getTokensOut() public view virtual override returns (address[] memory res) {
142
- res = new address[](4);
143
- res[0] = WSTETH;
144
- res[1] = STETH;
145
- //
146
- res[2] = CBETH;
147
- res[3] = LP;
148
- }
149
-
150
- function isValidTokenIn(address token) public view virtual override returns (bool) {
151
- return (token == WSTETH ||
152
- token == STETH ||
153
- token == NATIVE ||
154
- token == WETH ||
155
- token == CBETH ||
156
- token == LP);
157
- }
158
-
159
- function isValidTokenOut(address token) public view virtual override returns (bool) {
160
- return (token == WSTETH || token == STETH || token == CBETH || token == LP);
161
- }
162
- }
@@ -1,289 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.17;
3
-
4
- import "../FixedPoint.sol";
5
-
6
- // almost copy-paste from https://etherscan.io/token/0x1e19cf2d73a72ef1332c882f20534b6519be0276#code
7
- library ComposableStableMath {
8
- using FixedPoint for uint256;
9
-
10
- uint256 internal constant _MIN_AMP = 1;
11
- uint256 internal constant _MAX_AMP = 5000;
12
- uint256 internal constant _AMP_PRECISION = 1e3;
13
-
14
- function _calculateInvariant(uint256 amplificationParameter, uint256[] memory balances)
15
- internal
16
- pure
17
- returns (uint256)
18
- {
19
- unchecked {
20
- /**********************************************************************************************
21
- // invariant //
22
- // D = invariant D^(n+1) //
23
- // A = amplification coefficient A n^n S + D = A D n^n + ----------- //
24
- // S = sum of balances n^n P //
25
- // P = product of balances //
26
- // n = number of tokens //
27
- **********************************************************************************************/
28
-
29
- // Always round down, to match Vyper's arithmetic (which always truncates).
30
-
31
- uint256 sum = 0; // S in the Curve version
32
- uint256 numTokens = balances.length;
33
- for (uint256 i = 0; i < numTokens; i++) {
34
- sum = sum.add(balances[i]);
35
- }
36
- if (sum == 0) {
37
- return 0;
38
- }
39
-
40
- uint256 prevInvariant; // Dprev in the Curve version
41
- uint256 invariant = sum; // D in the Curve version
42
- uint256 ampTimesTotal = amplificationParameter * numTokens; // Ann in the Curve version
43
-
44
- for (uint256 i = 0; i < 255; i++) {
45
- uint256 D_P = invariant;
46
-
47
- for (uint256 j = 0; j < numTokens; j++) {
48
- // (D_P * invariant) / (balances[j] * numTokens)
49
- D_P = divDown(mul(D_P, invariant), mul(balances[j], numTokens));
50
- }
51
-
52
- prevInvariant = invariant;
53
-
54
- invariant = divDown(
55
- mul(
56
- // (ampTimesTotal * sum) / AMP_PRECISION + D_P * numTokens
57
- (
58
- divDown(mul(ampTimesTotal, sum), _AMP_PRECISION).add(
59
- mul(D_P, numTokens)
60
- )
61
- ),
62
- invariant
63
- ),
64
- // ((ampTimesTotal - _AMP_PRECISION) * invariant) / _AMP_PRECISION + (numTokens + 1) * D_P
65
- (
66
- divDown(mul((ampTimesTotal - _AMP_PRECISION), invariant), _AMP_PRECISION)
67
- .add(mul((numTokens + 1), D_P))
68
- )
69
- );
70
-
71
- if (invariant > prevInvariant) {
72
- if (invariant - prevInvariant <= 1) {
73
- return invariant;
74
- }
75
- } else if (prevInvariant - invariant <= 1) {
76
- return invariant;
77
- }
78
- }
79
-
80
- revert("Stable Invariant did not converge");
81
- }
82
- }
83
-
84
- function _calcBptOutGivenExactTokensIn(
85
- uint256 amp,
86
- uint256[] memory balances,
87
- uint256[] memory amountsIn,
88
- uint256 bptTotalSupply,
89
- uint256 currentInvariant,
90
- uint256 swapFeePercentage
91
- ) internal pure returns (uint256) {
92
- unchecked {
93
- // BPT out, so we round down overall.
94
-
95
- // First loop calculates the sum of all token balances, which will be used to calculate
96
- // the current weights of each token, relative to this sum
97
- uint256 sumBalances = 0;
98
- for (uint256 i = 0; i < balances.length; i++) {
99
- sumBalances = sumBalances.add(balances[i]);
100
- }
101
-
102
- // Calculate the weighted balance ratio without considering fees
103
- uint256[] memory balanceRatiosWithFee = new uint256[](amountsIn.length);
104
- // The weighted sum of token balance ratios with fee
105
- uint256 invariantRatioWithFees = 0;
106
- for (uint256 i = 0; i < balances.length; i++) {
107
- uint256 currentWeight = balances[i].divDown(sumBalances);
108
- balanceRatiosWithFee[i] = balances[i].add(amountsIn[i]).divDown(balances[i]);
109
- invariantRatioWithFees = invariantRatioWithFees.add(
110
- balanceRatiosWithFee[i].mulDown(currentWeight)
111
- );
112
- }
113
-
114
- // Second loop calculates new amounts in, taking into account the fee on the percentage excess
115
- uint256[] memory newBalances = new uint256[](balances.length);
116
- for (uint256 i = 0; i < balances.length; i++) {
117
- uint256 amountInWithoutFee;
118
-
119
- // Check if the balance ratio is greater than the ideal ratio to charge fees or not
120
- if (balanceRatiosWithFee[i] > invariantRatioWithFees) {
121
- uint256 nonTaxableAmount = balances[i].mulDown(
122
- invariantRatioWithFees.sub(FixedPoint.ONE)
123
- );
124
- uint256 taxableAmount = amountsIn[i].sub(nonTaxableAmount);
125
- // No need to use checked arithmetic for the swap fee, it is guaranteed to be lower than 50%
126
- amountInWithoutFee = nonTaxableAmount.add(
127
- taxableAmount.mulDown(FixedPoint.ONE - swapFeePercentage)
128
- );
129
- } else {
130
- amountInWithoutFee = amountsIn[i];
131
- }
132
-
133
- newBalances[i] = balances[i].add(amountInWithoutFee);
134
- }
135
-
136
- uint256 newInvariant = _calculateInvariant(amp, newBalances);
137
- uint256 invariantRatio = newInvariant.divDown(currentInvariant);
138
-
139
- // If the invariant didn't increase for any reason, we simply don't mint BPT
140
- if (invariantRatio > FixedPoint.ONE) {
141
- return bptTotalSupply.mulDown(invariantRatio - FixedPoint.ONE);
142
- } else {
143
- return 0;
144
- }
145
- }
146
- }
147
-
148
- function _calcTokenOutGivenExactBptIn(
149
- uint256 amp,
150
- uint256[] memory balances,
151
- uint256 tokenIndex,
152
- uint256 bptAmountIn,
153
- uint256 bptTotalSupply,
154
- uint256 currentInvariant,
155
- uint256 swapFeePercentage
156
- ) internal pure returns (uint256) {
157
- unchecked {
158
- // Token out, so we round down overall.
159
-
160
- uint256 newInvariant = bptTotalSupply.sub(bptAmountIn).divUp(bptTotalSupply).mulUp(
161
- currentInvariant
162
- );
163
-
164
- // Calculate amount out without fee
165
- uint256 newBalanceTokenIndex = _getTokenBalanceGivenInvariantAndAllOtherBalances(
166
- amp,
167
- balances,
168
- newInvariant,
169
- tokenIndex
170
- );
171
- uint256 amountOutWithoutFee = balances[tokenIndex].sub(newBalanceTokenIndex);
172
-
173
- // First calculate the sum of all token balances, which will be used to calculate
174
- // the current weight of each token
175
- uint256 sumBalances = 0;
176
- for (uint256 i = 0; i < balances.length; i++) {
177
- sumBalances = sumBalances.add(balances[i]);
178
- }
179
-
180
- // We can now compute how much excess balance is being withdrawn as a result of the virtual swaps, which result
181
- // in swap fees.
182
- uint256 currentWeight = balances[tokenIndex].divDown(sumBalances);
183
- uint256 taxablePercentage = currentWeight.complement();
184
-
185
- // Swap fees are typically charged on 'token in', but there is no 'token in' here, so we apply it
186
- // to 'token out'. This results in slightly larger price impact. Fees are rounded up.
187
- uint256 taxableAmount = amountOutWithoutFee.mulUp(taxablePercentage);
188
- uint256 nonTaxableAmount = amountOutWithoutFee.sub(taxableAmount);
189
-
190
- // No need to use checked arithmetic for the swap fee, it is guaranteed to be lower than 50%
191
- return nonTaxableAmount.add(taxableAmount.mulDown(FixedPoint.ONE - swapFeePercentage));
192
- }
193
- }
194
-
195
- // This function calculates the balance of a given token (tokenIndex)
196
- // given all the other balances and the invariant
197
- function _getTokenBalanceGivenInvariantAndAllOtherBalances(
198
- uint256 amplificationParameter,
199
- uint256[] memory balances,
200
- uint256 invariant,
201
- uint256 tokenIndex
202
- ) internal pure returns (uint256) {
203
- unchecked {
204
- // Rounds result up overall
205
-
206
- uint256 ampTimesTotal = amplificationParameter * balances.length;
207
- uint256 sum = balances[0];
208
- uint256 P_D = balances[0] * balances.length;
209
- for (uint256 j = 1; j < balances.length; j++) {
210
- P_D = divDown(mul(mul(P_D, balances[j]), balances.length), invariant);
211
- sum = sum.add(balances[j]);
212
- }
213
- // No need to use safe math, based on the loop above `sum` is greater than or equal to `balances[tokenIndex]`
214
- sum = sum - balances[tokenIndex];
215
-
216
- uint256 inv2 = mul(invariant, invariant);
217
- // We remove the balance from c by multiplying it
218
- uint256 c = mul(
219
- mul(divUp(inv2, mul(ampTimesTotal, P_D)), _AMP_PRECISION),
220
- balances[tokenIndex]
221
- );
222
- uint256 b = sum.add(mul(divDown(invariant, ampTimesTotal), _AMP_PRECISION));
223
-
224
- // We iterate to find the balance
225
- uint256 prevTokenBalance = 0;
226
- // We multiply the first iteration outside the loop with the invariant to set the value of the
227
- // initial approximation.
228
- uint256 tokenBalance = divUp(inv2.add(c), invariant.add(b));
229
-
230
- for (uint256 i = 0; i < 255; i++) {
231
- prevTokenBalance = tokenBalance;
232
-
233
- tokenBalance = divUp(
234
- mul(tokenBalance, tokenBalance).add(c),
235
- mul(tokenBalance, 2).add(b).sub(invariant)
236
- );
237
-
238
- if (tokenBalance > prevTokenBalance) {
239
- if (tokenBalance - prevTokenBalance <= 1) {
240
- return tokenBalance;
241
- }
242
- } else if (prevTokenBalance - tokenBalance <= 1) {
243
- return tokenBalance;
244
- }
245
- }
246
-
247
- revert("Stable get balance did not converge");
248
- }
249
- }
250
-
251
- /*///////////////////////////////////////////////////////////////
252
- LEGACY MATH FUNCTIONS
253
- //////////////////////////////////////////////////////////////*/
254
-
255
- function mul(uint256 a, uint256 b) internal pure returns (uint256) {
256
- unchecked {
257
- uint256 c = a * b;
258
- require(a == 0 || c / a == b);
259
- return c;
260
- }
261
- }
262
-
263
- function div(
264
- uint256 a,
265
- uint256 b,
266
- bool roundUp
267
- ) private pure returns (uint256) {
268
- return roundUp ? divUp(a, b) : divDown(a, b);
269
- }
270
-
271
- function divDown(uint256 a, uint256 b) private pure returns (uint256) {
272
- unchecked {
273
- require(b != 0);
274
- return a / b;
275
- }
276
- }
277
-
278
- function divUp(uint256 a, uint256 b) private pure returns (uint256) {
279
- unchecked {
280
- require(b != 0);
281
-
282
- if (a == 0) {
283
- return 0;
284
- } else {
285
- return 1 + (a - 1) / b;
286
- }
287
- }
288
- }
289
- }