@pendle/core-v2 1.0.2-mainnet → 1.1.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 (532) 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/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +592 -0
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  43. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  45. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.json +141 -0
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json +141 -0
  51. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +10 -0
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +143 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +1257 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +1244 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +4 -0
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +1218 -0
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +4 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +1192 -0
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +10 -0
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +4 -0
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +133 -0
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +4 -0
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +10 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +4 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +40 -0
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +4 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +322 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +1171 -0
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +4 -0
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +10 -0
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +4 -0
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +133 -0
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +143 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +143 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +143 -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/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.json +141 -0
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol/GMXPreviewHelper.dbg.json +4 -0
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol/GMXPreviewHelper.json +50 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  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 +143 -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 +143 -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 +4 -0
  105. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  107. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  108. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  112. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  114. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +171 -5
  116. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +4 -0
  118. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +10 -0
  119. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +4 -0
  120. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +24 -0
  121. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +4 -0
  122. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +133 -0
  123. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +4 -0
  124. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +328 -0
  125. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +4 -0
  126. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +467 -0
  127. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +4 -0
  128. package/build/artifacts/contracts/interfaces/{IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json → Balancer/IGauge.sol/IGauge.json} +18 -33
  129. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +4 -0
  130. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +30 -0
  131. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +4 -0
  132. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +398 -0
  133. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +4 -0
  134. package/build/artifacts/contracts/{router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json → interfaces/Balancer/IRateProvider.sol/IRateProvider.json} +5 -5
  135. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +4 -0
  136. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +278 -0
  137. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +18 -0
  139. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  140. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.json +308 -0
  141. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  142. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +43 -0
  143. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  144. package/build/artifacts/contracts/{LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json → interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.json} +80 -46
  145. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  146. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  147. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  149. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  150. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  151. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  152. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  154. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  156. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  158. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  160. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  162. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  164. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +43 -32
  167. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  168. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  169. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  173. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  174. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  176. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -28
  178. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +4 -0
  179. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +322 -0
  180. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
  181. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
  182. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +144 -60
  184. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  185. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  186. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  187. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  188. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  189. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  190. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  191. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  192. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  193. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +338 -45
  194. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  195. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  196. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  197. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  198. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  199. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  200. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  201. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  202. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  203. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  204. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  205. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  206. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  207. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  208. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  209. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  210. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  211. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +4 -0
  212. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +97 -0
  213. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +4 -0
  214. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +10 -0
  215. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
  216. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +10 -0
  217. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  218. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  219. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  220. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +388 -0
  221. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
  222. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.json +101 -0
  223. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  224. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  225. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +7 -9
  226. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +224 -0
  227. package/contracts/core/BulkSeller/BulkSeller.sol +1 -1
  228. package/contracts/core/StandardizedYield/SYBase.sol +23 -5
  229. package/contracts/core/StandardizedYield/StEthHelper.sol +71 -0
  230. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +170 -0
  231. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +162 -0
  232. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +134 -0
  233. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +154 -0
  234. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +289 -0
  235. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +618 -0
  236. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +68 -0
  237. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +322 -0
  238. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +390 -0
  239. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +329 -0
  240. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +30 -0
  241. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +189 -0
  242. package/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol +142 -0
  243. package/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol +244 -0
  244. package/contracts/core/StandardizedYield/implementations/GMX/README.md +61 -0
  245. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +10 -0
  246. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  247. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  248. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  249. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +485 -0
  250. package/contracts/core/libraries/ArrayLib.sol +12 -0
  251. package/contracts/core/libraries/Errors.sol +18 -2
  252. package/contracts/core/libraries/TokenHelper.sol +10 -0
  253. package/contracts/interfaces/Balancer/IAsset.sol +4 -0
  254. package/contracts/interfaces/Balancer/IBalancerFees.sol +6 -0
  255. package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +22 -0
  256. package/contracts/interfaces/Balancer/IBasePool.sol +30 -0
  257. package/contracts/interfaces/Balancer/IComposableStable.sol +39 -0
  258. package/contracts/interfaces/Balancer/IGauge.sol +10 -0
  259. package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +6 -0
  260. package/contracts/interfaces/Balancer/IMetaStablePool.sol +31 -0
  261. package/contracts/interfaces/Balancer/IRateProvider.sol +6 -0
  262. package/contracts/interfaces/Balancer/IVault.sol +78 -0
  263. package/contracts/interfaces/ConvexCurve/IRewards.sol +5 -0
  264. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  265. package/contracts/interfaces/GMX/IGlpManager.sol +8 -0
  266. package/contracts/interfaces/GMX/IRewardRouterV2.sol +35 -0
  267. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  268. package/contracts/interfaces/IDiamondCut.sol +36 -0
  269. package/contracts/interfaces/IDiamondLoupe.sol +38 -0
  270. package/contracts/interfaces/IPActionAddRemoveLiq.sol +36 -1
  271. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  272. package/contracts/interfaces/IPActionMisc.sol +20 -3
  273. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  274. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  275. package/contracts/interfaces/IPAllAction.sol +5 -3
  276. package/contracts/interfaces/IPFeeDistributor.sol +12 -10
  277. package/contracts/interfaces/IPInterestManagerYTV2.sol +13 -0
  278. package/contracts/interfaces/IPYieldTokenV2.sol +66 -0
  279. package/contracts/offchain-helpers/MarketMathStatic.sol +16 -1
  280. package/contracts/offchain-helpers/Multicall2.sol +103 -0
  281. package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
  282. package/contracts/offchain-helpers/RouterStatic.sol +22 -0
  283. package/contracts/router/ActionAddRemoveLiq.sol +116 -6
  284. package/contracts/router/ActionMintRedeem.sol +12 -202
  285. package/contracts/router/ActionMisc.sol +45 -19
  286. package/contracts/router/ActionSwapPT.sol +0 -5
  287. package/contracts/router/ActionSwapYT.sol +98 -13
  288. package/contracts/router/PendleRouter.sol +211 -72
  289. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +47 -47
  290. package/contracts/router/base/ActionBaseMintRedeem.sol +105 -60
  291. package/contracts/router/base/CallbackHelper.sol +137 -44
  292. package/contracts/router/base/MarketApproxLib.sol +227 -350
  293. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +45 -0
  294. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +69 -0
  295. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +30 -0
  296. package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +63 -0
  297. package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +214 -0
  298. package/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol +147 -0
  299. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +17 -0
  300. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol +191 -0
  301. package/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol +30 -0
  302. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +42 -0
  303. package/deployments/43113-core.json +30 -0
  304. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  305. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  306. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  307. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  308. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  309. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  310. package/deployments/43113-offchain-helper.json +4 -0
  311. package/deployments/43113-testenv.json +22 -0
  312. package/deployments/80001-core.json +29 -0
  313. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  314. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  315. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  316. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  317. package/deployments/80001-offchain-helper.json +4 -0
  318. package/deployments/80001-testenv.json +22 -0
  319. package/package.json +6 -6
  320. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  321. package/typechain-types/ActionBaseCallback.ts +115 -0
  322. package/typechain-types/ActionMintRedeem.ts +29 -230
  323. package/typechain-types/ActionMisc.ts +78 -27
  324. package/typechain-types/ActionSwapPT.ts +26 -31
  325. package/typechain-types/ActionSwapYT.ts +202 -21
  326. package/typechain-types/BribeDistributor.ts +363 -0
  327. package/typechain-types/ComposableStablePreview.ts +217 -0
  328. package/typechain-types/DistributorBase.ts +363 -0
  329. package/typechain-types/FeeDistributor.ts +416 -0
  330. package/typechain-types/GMXPreviewHelper.ts +121 -0
  331. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  332. package/typechain-types/IAggregationExecutor.ts +182 -0
  333. package/typechain-types/IBalancerFees.ts +89 -0
  334. package/typechain-types/IBalancerStablePreview.ts +217 -0
  335. package/typechain-types/IBasePool.ts +482 -0
  336. package/typechain-types/IComposableStable.ts +730 -0
  337. package/typechain-types/IDiamondCut.ts +152 -0
  338. package/typechain-types/IDiamondLoupe.ts +190 -0
  339. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  340. package/typechain-types/IGMXVault.ts +494 -0
  341. package/typechain-types/IGauge.ts +160 -0
  342. package/typechain-types/IGlpManager.ts +115 -0
  343. package/typechain-types/IHashflow.ts +159 -0
  344. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +109 -0
  345. package/typechain-types/ILiquidityGaugeFactory.ts +99 -0
  346. package/typechain-types/IMetaAggregationRouter.ts +213 -0
  347. package/typechain-types/IMetaAggregationRouterV2.ts +221 -0
  348. package/typechain-types/IMetaStablePool.ts +619 -0
  349. package/typechain-types/IMultihopRouterEthereum.ts +209 -0
  350. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  351. package/typechain-types/IPActionMintRedeem.ts +29 -211
  352. package/typechain-types/IPActionMisc.ts +78 -27
  353. package/typechain-types/IPActionSwapPT.ts +26 -12
  354. package/typechain-types/IPActionSwapYT.ts +168 -12
  355. package/typechain-types/IPAllAction.ts +445 -227
  356. package/typechain-types/IPFeeDistributor.ts +61 -78
  357. package/typechain-types/IPFeeDistributorFactory.ts +53 -139
  358. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  359. package/typechain-types/IPSwapAggregator.ts +126 -0
  360. package/typechain-types/IPYieldTokenV2.ts +901 -0
  361. package/typechain-types/IRateProvider.ts +81 -0
  362. package/typechain-types/IRewardRouterV2.ts +303 -0
  363. package/typechain-types/IRewards.ts +35 -5
  364. package/typechain-types/ISwapAggregator.ts +124 -0
  365. package/typechain-types/IVault.ts +410 -0
  366. package/typechain-types/IVaultPriceFeed.ts +114 -0
  367. package/typechain-types/InterestManagerYTV2.ts +157 -0
  368. package/typechain-types/MetaStableMath.ts +113 -0
  369. package/typechain-types/MetaStablePreview.ts +501 -0
  370. package/typechain-types/Multicall2.ts +437 -0
  371. package/typechain-types/PendleAura3EthSY.ts +1600 -0
  372. package/typechain-types/PendleAuraBalancerStableLPSY.ts +1523 -0
  373. package/typechain-types/PendleAuraCbethWstethSY.ts +1587 -0
  374. package/typechain-types/PendleAuraWethRethSY.ts +1549 -0
  375. package/typechain-types/PendleAuraWethWstethSY.ts +1523 -0
  376. package/typechain-types/PendleConvexLPSY.ts +204 -0
  377. package/typechain-types/PendleCurveFraxUsdcSY.ts +204 -0
  378. package/typechain-types/PendleCurveUsdd3CrvSY.ts +204 -0
  379. package/typechain-types/PendleFeeDistributor.ts +409 -117
  380. package/typechain-types/PendleGlpSY.ts +1463 -0
  381. package/typechain-types/PendleLooksStakingSY.ts +204 -0
  382. package/typechain-types/PendleMulticall.ts +110 -0
  383. package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
  384. package/typechain-types/PendleQiTokenSY.ts +204 -0
  385. package/typechain-types/PendleRouter.ts +109 -131
  386. package/typechain-types/PendleSwapAggregator.ts +167 -0
  387. package/typechain-types/PendleWstEthSY.ts +204 -0
  388. package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
  389. package/typechain-types/PendleYieldTokenV2.ts +1298 -0
  390. package/typechain-types/RouterStatic.ts +92 -0
  391. package/typechain-types/SAPE.ts +204 -0
  392. package/typechain-types/SYBase.ts +204 -0
  393. package/typechain-types/SYBaseWithRewards.ts +204 -0
  394. package/typechain-types/StEthHelper.ts +107 -0
  395. package/typechain-types/StablePreviewBase.ts +217 -0
  396. package/typechain-types/SwapAggregator.ts +406 -0
  397. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  398. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  399. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  400. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  401. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  402. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  403. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  404. package/typechain-types/factories/ActionSwapYT__factory.ts +341 -48
  405. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  406. package/typechain-types/factories/BribeDistributor__factory.ts +303 -0
  407. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  408. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  409. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  410. package/typechain-types/factories/ComposableStablePreview__factory.ts +190 -0
  411. package/typechain-types/factories/DistributorBase__factory.ts +249 -0
  412. package/typechain-types/factories/Errors__factory.ts +170 -4
  413. package/typechain-types/factories/FeeDistributor__factory.ts +339 -0
  414. package/typechain-types/factories/GMXPreviewHelper__factory.ts +65 -0
  415. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  416. package/typechain-types/factories/IAggregationExecutor__factory.ts +84 -0
  417. package/typechain-types/factories/IBalancerFees__factory.ts +36 -0
  418. package/typechain-types/factories/IBalancerStablePreview__factory.ts +152 -0
  419. package/typechain-types/factories/IBasePool__factory.ts +340 -0
  420. package/typechain-types/factories/IComposableStable__factory.ts +482 -0
  421. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  422. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  423. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  424. package/typechain-types/factories/IGMXVault__factory.ts +320 -0
  425. package/typechain-types/factories/IGauge__factory.ts +70 -0
  426. package/typechain-types/factories/IGlpManager__factory.ts +55 -0
  427. package/typechain-types/factories/IHashflow__factory.ts +113 -0
  428. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +56 -0
  429. package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +49 -0
  430. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +234 -0
  431. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +202 -0
  432. package/typechain-types/factories/IMetaStablePool__factory.ts +413 -0
  433. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +155 -0
  434. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  435. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  436. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  437. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  438. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  439. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  440. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +25 -34
  441. package/typechain-types/factories/IPFeeDistributor__factory.ts +42 -31
  442. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  443. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  444. package/typechain-types/factories/IPYieldTokenV2__factory.ts +694 -0
  445. package/typechain-types/factories/IRateProvider__factory.ts +36 -0
  446. package/typechain-types/factories/IRewardRouterV2__factory.ts +180 -0
  447. package/typechain-types/factories/IRewards__factory.ts +18 -0
  448. package/typechain-types/factories/ISwapAggregator__factory.ts +66 -0
  449. package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
  450. package/typechain-types/factories/IVault__factory.ts +287 -0
  451. package/typechain-types/factories/InterestManagerYTV2__factory.ts +81 -0
  452. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  453. package/typechain-types/factories/MetaStableMath__factory.ts +93 -0
  454. package/typechain-types/factories/MetaStablePreview__factory.ts +375 -0
  455. package/typechain-types/factories/Multicall2__factory.ts +372 -0
  456. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  457. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1326 -0
  458. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +1190 -0
  459. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1317 -0
  460. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1291 -0
  461. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1265 -0
  462. package/typechain-types/factories/PendleConvexLPSY__factory.ts +141 -0
  463. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +142 -1
  464. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +142 -1
  465. package/typechain-types/factories/PendleFeeDistributor__factory.ts +341 -66
  466. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  467. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  468. package/typechain-types/factories/PendleGlpSY__factory.ts +1249 -0
  469. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +142 -1
  470. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  471. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  472. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  473. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  474. package/typechain-types/factories/PendleMulticall__factory.ts +100 -0
  475. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
  476. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  477. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  478. package/typechain-types/factories/PendleQiTokenSY__factory.ts +142 -1
  479. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  480. package/typechain-types/factories/PendleSwapAggregator__factory.ts +154 -0
  481. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  482. package/typechain-types/factories/PendleWstEthSY__factory.ts +142 -1
  483. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
  484. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  485. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1109 -0
  486. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  487. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  488. package/typechain-types/factories/SAPE__factory.ts +142 -1
  489. package/typechain-types/factories/SYBaseWithRewards__factory.ts +141 -0
  490. package/typechain-types/factories/SYBase__factory.ts +141 -0
  491. package/typechain-types/factories/StEthHelper__factory.ts +62 -0
  492. package/typechain-types/factories/StablePreviewBase__factory.ts +148 -0
  493. package/typechain-types/factories/SwapAggregator__factory.ts +309 -0
  494. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  495. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  496. package/typechain-types/hardhat.d.ts +365 -86
  497. package/typechain-types/index.ts +86 -24
  498. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +0 -4
  499. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  500. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -310
  501. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +0 -4
  502. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +0 -389
  503. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  504. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +0 -190
  505. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +0 -4
  506. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  507. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  508. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  509. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  510. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  511. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  512. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  513. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +0 -35
  514. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +0 -4
  515. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +0 -136
  516. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  517. package/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol +0 -159
  518. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +0 -99
  519. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +0 -70
  520. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  521. package/contracts/interfaces/IPFeeDistributorFactory.sol +0 -14
  522. package/contracts/router/ActionSwapPTYT.sol +0 -108
  523. package/contracts/router/kyberswap/AggregationRouterHelper.sol +0 -317
  524. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  525. package/contracts/router/kyberswap/IMultihopRouter.sol +0 -139
  526. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  527. package/deployments/1-core.json +0 -29
  528. package/deployments/1-markets/APE-JUNE-29.json +0 -7
  529. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  530. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  531. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  532. package/deployments/1-markets/STETH-MARCH30.json +0 -10
@@ -75,6 +75,7 @@ library Errors {
75
75
  error RouterTimeRangeZero();
76
76
  error RouterCallbackNotPendleMarket(address caller);
77
77
  error RouterInvalidAction(bytes4 selector);
78
+ error RouterInvalidFacet(address facet);
78
79
 
79
80
  error RouterKyberSwapDataZero();
80
81
 
@@ -112,6 +113,8 @@ library Errors {
112
113
  error SYCurve3crvPoolNotFound();
113
114
 
114
115
  error SYApeDepositAmountTooSmall(uint256 amountDeposited);
116
+ error SYBalancerInvalidPid();
117
+ error SYInvalidRewardToken(address token);
115
118
 
116
119
  // Liquidity Mining
117
120
  error VCInactivePool(address pool);
@@ -138,8 +141,16 @@ library Errors {
138
141
  error ExpiryInThePast(uint256 expiry);
139
142
  error ChainNotSupported(uint256 chainId);
140
143
 
141
- error FDCantFundFutureEpoch();
142
- error FDFactoryDistributorAlreadyExisted(address pool, address distributor);
144
+ error FDTotalAmountFundedNotMatch(uint256 actualTotalAmount, uint256 expectedTotalAmount);
145
+ error FDEpochLengthMismatch();
146
+ error FDInvalidPool(address pool);
147
+ error FDPoolAlreadyExists(address pool);
148
+ error FDInvalidNewFinishedEpoch(uint256 oldFinishedEpoch, uint256 newFinishedEpoch);
149
+ error FDInvalidStartEpoch(uint256 startEpoch);
150
+ error FDInvalidWTimeFund(uint256 lastFunded, uint256 wTime);
151
+ error FDFutureFunding(uint256 lastFunded, uint256 currentWTime);
152
+
153
+ error BDInvalidEpoch(uint256 epoch, uint256 startTime);
143
154
 
144
155
  // Cross-Chain
145
156
  error MsgNotFromSendEndpoint(uint16 srcChainId, bytes path);
@@ -153,9 +164,14 @@ library Errors {
153
164
  error ArrayEmpty();
154
165
  error ArrayOutOfBounds();
155
166
  error ZeroAddress();
167
+ error FailedToSendEther();
156
168
 
157
169
  error OnlyLayerZeroEndpoint();
158
170
  error OnlyYT();
159
171
  error OnlyYCFactory();
160
172
  error OnlyWhitelisted();
173
+
174
+ // Swap Aggregator
175
+ error SAInsufficientTokenIn(address tokenIn, uint256 amountExpected, uint256 amountActual);
176
+ error UnsupportedSelector(uint256 aggregatorType, bytes4 selector);
161
177
  }
@@ -2,6 +2,7 @@
2
2
  pragma solidity 0.8.17;
3
3
  import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
4
4
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
5
+ import "../../interfaces/IWETH.sol";
5
6
 
6
7
  abstract contract TokenHelper {
7
8
  using SafeERC20 for IERC20;
@@ -83,4 +84,13 @@ abstract contract TokenHelper {
83
84
  _safeApprove(token, to, type(uint256).max);
84
85
  }
85
86
  }
87
+
88
+ function _wrap_unwrap_ETH(
89
+ address tokenIn,
90
+ address tokenOut,
91
+ uint256 netTokenIn
92
+ ) internal {
93
+ if (tokenIn == NATIVE) IWETH(tokenOut).deposit{ value: netTokenIn }();
94
+ else IWETH(tokenIn).withdraw(netTokenIn);
95
+ }
86
96
  }
@@ -0,0 +1,4 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IAsset {}
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IBalancerFees {
5
+ function getSwapFeePercentage() external view returns (uint256);
6
+ }
@@ -0,0 +1,22 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "./IVault.sol";
5
+
6
+ interface IBalancerStablePreview {
7
+ function joinPoolPreview(
8
+ bytes32 poolId,
9
+ address sender,
10
+ address recipient,
11
+ IVault.JoinPoolRequest memory request,
12
+ bytes memory data
13
+ ) external view returns (uint256 amountBptOut);
14
+
15
+ function exitPoolPreview(
16
+ bytes32 poolId,
17
+ address sender,
18
+ address recipient,
19
+ IVault.ExitPoolRequest memory request,
20
+ bytes memory data
21
+ ) external view returns (uint256 amountTokenOut);
22
+ }
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5
+
6
+ interface IBasePool is IERC20 {
7
+ function onJoinPool(
8
+ bytes32 poolId,
9
+ address sender,
10
+ address recipient,
11
+ uint256[] memory balances,
12
+ uint256 lastChangeBlock,
13
+ uint256 protocolSwapFeePercentage,
14
+ bytes memory userData
15
+ ) external returns (uint256[] memory amountsIn, uint256[] memory dueProtocolFeeAmounts);
16
+
17
+ function onExitPool(
18
+ bytes32 poolId,
19
+ address sender,
20
+ address recipient,
21
+ uint256[] memory balances,
22
+ uint256 lastChangeBlock,
23
+ uint256 protocolSwapFeePercentage,
24
+ bytes memory userData
25
+ ) external returns (uint256[] memory amountsOut, uint256[] memory dueProtocolFeeAmounts);
26
+
27
+ function getPoolId() external view returns (bytes32);
28
+
29
+ function getSwapFeePercentage() external view returns (uint256);
30
+ }
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "./IBasePool.sol";
5
+ import "./IRateProvider.sol";
6
+
7
+ interface IComposableStable is IBasePool {
8
+ function getLastJoinExitData()
9
+ external
10
+ view
11
+ returns (uint256 lastJoinExitAmplification, uint256 lastPostJoinExitInvariant);
12
+
13
+ function getAmplificationParameter()
14
+ external
15
+ view
16
+ returns (
17
+ uint256 value,
18
+ bool isUpdating,
19
+ uint256 precision
20
+ );
21
+
22
+ function getProtocolFeePercentageCache(uint256 feeType) external view returns (uint256);
23
+
24
+ function isTokenExemptFromYieldProtocolFee(IERC20 token) external view returns (bool);
25
+
26
+ function getTokenRateCache(IERC20 token)
27
+ external
28
+ view
29
+ returns (
30
+ uint256 rate,
31
+ uint256 oldRate,
32
+ uint256 duration,
33
+ uint256 expires
34
+ );
35
+
36
+ function getRateProviders() external view returns (IRateProvider[] memory);
37
+
38
+ function getBptIndex() external view returns (uint256);
39
+ }
@@ -0,0 +1,10 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IGauge {
5
+ function claim_rewards(address _addr, address _receiver) external;
6
+
7
+ function reward_count() external view returns (uint256);
8
+
9
+ function reward_tokens(uint256 arg0) external view returns (address);
10
+ }
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface ILiquidityGaugeFactory {
5
+ function getPoolGauge(address poolAddress) external view returns (address);
6
+ }
@@ -0,0 +1,31 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "./IBasePool.sol";
5
+
6
+ interface IMetaStablePool is IBasePool {
7
+ function getLastInvariant()
8
+ external
9
+ view
10
+ returns (uint256 lastInvariant, uint256 lastInvariantAmp);
11
+
12
+ function getAmplificationParameter()
13
+ external
14
+ view
15
+ returns (
16
+ uint256 value,
17
+ bool isUpdating,
18
+ uint256 precision
19
+ );
20
+
21
+ function getSwapFeePercentage() external view returns (uint256);
22
+
23
+ function getPriceRateCache(IERC20 token)
24
+ external
25
+ view
26
+ returns (
27
+ uint256 rate,
28
+ uint256 duration,
29
+ uint256 expires
30
+ );
31
+ }
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IRateProvider {
5
+ function getRate() external view returns (uint256);
6
+ }
@@ -0,0 +1,78 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5
+ import "./IAsset.sol";
6
+
7
+ interface IVault {
8
+ struct JoinPoolRequest {
9
+ address[] assets;
10
+ uint256[] maxAmountsIn;
11
+ bytes userData;
12
+ bool fromInternalBalance;
13
+ }
14
+
15
+ function joinPool(
16
+ bytes32 poolId,
17
+ address sender,
18
+ address recipient,
19
+ JoinPoolRequest memory request
20
+ ) external payable;
21
+
22
+ struct ExitPoolRequest {
23
+ address[] assets;
24
+ uint256[] minAmountsOut;
25
+ bytes userData;
26
+ bool toInternalBalance;
27
+ }
28
+
29
+ function exitPool(
30
+ bytes32 poolId,
31
+ address sender,
32
+ address payable recipient,
33
+ ExitPoolRequest memory request
34
+ ) external;
35
+
36
+ enum SwapKind {
37
+ GIVEN_IN,
38
+ GIVEN_OUT
39
+ }
40
+
41
+ struct SingleSwap {
42
+ bytes32 poolId;
43
+ SwapKind kind;
44
+ IAsset assetIn;
45
+ IAsset assetOut;
46
+ uint256 amount;
47
+ bytes userData;
48
+ }
49
+
50
+ struct FundManagement {
51
+ address sender;
52
+ bool fromInternalBalance;
53
+ address payable recipient;
54
+ bool toInternalBalance;
55
+ }
56
+
57
+ function swap(
58
+ SingleSwap memory singleSwap,
59
+ FundManagement memory funds,
60
+ uint256 limit,
61
+ uint256 deadline
62
+ ) external payable returns (uint256);
63
+
64
+ function getPoolTokens(bytes32 poolId)
65
+ external
66
+ view
67
+ returns (
68
+ IERC20[] memory tokens,
69
+ uint256[] memory balances,
70
+ uint256 lastChangeBlock
71
+ );
72
+
73
+ function WETH() external view returns (IERC20);
74
+
75
+ function getPool(bytes32 poolId) external view returns (address, uint8);
76
+
77
+ function getProtocolFeesCollector() external view returns (address);
78
+ }
@@ -14,6 +14,11 @@ interface IRewards {
14
14
 
15
15
  function exit(address) external;
16
16
 
17
+ function getReward(
18
+ address, /*_account*/
19
+ bool /*_claimExtras*/
20
+ ) external;
21
+
17
22
  function getReward() external;
18
23
 
19
24
  function queueNewRewards(uint256) external;
@@ -0,0 +1,47 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IGMXVault {
5
+ function BASIS_POINTS_DIVISOR() external view returns (uint256);
6
+
7
+ function PRICE_PRECISION() external view returns (uint256);
8
+
9
+ function priceFeed() external view returns (address);
10
+
11
+ function usdg() external view returns (address);
12
+
13
+ function hasDynamicFees() external view returns (bool);
14
+
15
+ function totalTokenWeights() external view returns (uint256);
16
+
17
+ function tokenBalances(address) external view returns (uint256);
18
+
19
+ function usdgAmounts(address) external view returns (uint256);
20
+
21
+ function getMinPrice(address _token) external view returns (uint256);
22
+
23
+ function getRedemptionAmount(address _token, uint256 _usdgAmount)
24
+ external
25
+ view
26
+ returns (uint256);
27
+
28
+ function taxBasisPoints() external view returns (uint256);
29
+
30
+ function mintBurnFeeBasisPoints() external view returns (uint256);
31
+
32
+ function allWhitelistedTokensLength() external view returns (uint256);
33
+
34
+ function allWhitelistedTokens(uint256) external view returns (address);
35
+
36
+ function whitelistedTokens(address) external view returns (bool);
37
+
38
+ function whitelistedTokenCount() external view returns (uint256);
39
+
40
+ function tokenWeights(address _token) external view returns (uint256);
41
+
42
+ function adjustForDecimals(
43
+ uint256 _amount,
44
+ address _tokenDiv,
45
+ address _tokenMul
46
+ ) external view returns (uint256);
47
+ }
@@ -0,0 +1,8 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IGlpManager {
5
+ function getAumInUsdg(bool maximise) external view returns (uint256);
6
+
7
+ function vault() external view returns (address);
8
+ }
@@ -0,0 +1,35 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IRewardRouterV2 {
5
+ function weth() external view returns (address);
6
+
7
+ function claim() external;
8
+
9
+ function glpManager() external view returns (address);
10
+
11
+ function mintAndStakeGlp(
12
+ address _token,
13
+ uint256 _amount,
14
+ uint256 _minUsdg,
15
+ uint256 _minGlp
16
+ ) external returns (uint256);
17
+
18
+ function mintAndStakeGlpETH(uint256 _minUsdg, uint256 _minGlp)
19
+ external
20
+ payable
21
+ returns (uint256);
22
+
23
+ function unstakeAndRedeemGlp(
24
+ address _tokenOut,
25
+ uint256 _glpAmount,
26
+ uint256 _minOut,
27
+ address _receiver
28
+ ) external returns (uint256);
29
+
30
+ function unstakeAndRedeemGlpETH(
31
+ uint256 _glpAmount,
32
+ uint256 _minOut,
33
+ address payable _receiver
34
+ ) external returns (uint256);
35
+ }
@@ -0,0 +1,11 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IVaultPriceFeed {
5
+ function getPrice(
6
+ address _token,
7
+ bool _maximise,
8
+ bool _includeAmmPrice,
9
+ bool _useSwapPricing
10
+ ) external view returns (uint256);
11
+ }
@@ -0,0 +1,36 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ /******************************************************************************\
5
+ * Author: Nick Mudge <nick@perfectabstractions.com> (https://twitter.com/mudgen)
6
+ * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
7
+ /******************************************************************************/
8
+
9
+ interface IDiamondCut {
10
+ enum FacetCutAction {
11
+ Add,
12
+ Replace,
13
+ Remove
14
+ }
15
+ // Add=0, Replace=1, Remove=2
16
+
17
+ struct FacetCut {
18
+ address facetAddress;
19
+ FacetCutAction action;
20
+ bytes4[] functionSelectors;
21
+ }
22
+
23
+ /// @notice Add/replace/remove any number of functions and optionally execute
24
+ /// a function with delegatecall
25
+ /// @param _diamondCut Contains the facet addresses and function selectors
26
+ /// @param _init The address of the contract or facet to execute _calldata
27
+ /// @param _calldata A function call, including function selector and arguments
28
+ /// _calldata is executed with delegatecall on _init
29
+ function diamondCut(
30
+ FacetCut[] calldata _diamondCut,
31
+ address _init,
32
+ bytes calldata _calldata
33
+ ) external;
34
+
35
+ event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
36
+ }
@@ -0,0 +1,38 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ /******************************************************************************\
5
+ * Author: Nick Mudge <nick@perfectabstractions.com> (https://twitter.com/mudgen)
6
+ * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
7
+ /******************************************************************************/
8
+
9
+ // A loupe is a small magnifying glass used to look at diamonds.
10
+ // These functions look at diamonds
11
+ interface IDiamondLoupe {
12
+ /// These functions are expected to be called frequently
13
+ /// by tools.
14
+
15
+ struct Facet {
16
+ address facetAddress;
17
+ bytes4[] functionSelectors;
18
+ }
19
+
20
+ /// @notice Gets all facet addresses and their four byte function selectors.
21
+ /// @return facets_ Facet
22
+ function facets() external view returns (Facet[] memory facets_);
23
+
24
+ /// @notice Gets all the function selectors supported by a specific facet.
25
+ /// @param _facet The facet address.
26
+ /// @return facetFunctionSelectors_
27
+ function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_);
28
+
29
+ /// @notice Get all the facet addresses used by a diamond.
30
+ /// @return facetAddresses_
31
+ function facetAddresses() external view returns (address[] memory facetAddresses_);
32
+
33
+ /// @notice Gets the facet that supports the given selector.
34
+ /// @dev If facet is not found return address(0).
35
+ /// @param _functionSelector The function selector.
36
+ /// @return facetAddress_ The facet address.
37
+ function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_);
38
+ }
@@ -2,7 +2,7 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  import "../router/base/MarketApproxLib.sol";
5
- import "../router/kyberswap/KyberSwapHelper.sol";
5
+ import "../router/base/ActionBaseMintRedeem.sol";
6
6
 
7
7
  interface IPActionAddRemoveLiq {
8
8
  event AddLiquidityDualSyAndPt(
@@ -49,6 +49,25 @@ interface IPActionAddRemoveLiq {
49
49
  uint256 netLpOut
50
50
  );
51
51
 
52
+ event AddLiquiditySingleSyKeepYt(
53
+ address indexed caller,
54
+ address indexed market,
55
+ address indexed receiver,
56
+ uint256 netSyIn,
57
+ uint256 netLpOut,
58
+ uint256 netYtOut
59
+ );
60
+
61
+ event AddLiquiditySingleTokenKeepYt(
62
+ address indexed caller,
63
+ address indexed market,
64
+ address indexed token,
65
+ address receiver,
66
+ uint256 netTokenIn,
67
+ uint256 netLpOut,
68
+ uint256 netYtOut
69
+ );
70
+
52
71
  event RemoveLiquidityDualSyAndPt(
53
72
  address indexed caller,
54
73
  address indexed market,
@@ -146,6 +165,22 @@ interface IPActionAddRemoveLiq {
146
165
  TokenInput calldata input
147
166
  ) external payable returns (uint256 netLpOut, uint256 netSyFee);
148
167
 
168
+ function addLiquiditySingleSyKeepYt(
169
+ address receiver,
170
+ address market,
171
+ uint256 netSyIn,
172
+ uint256 minLpOut,
173
+ uint256 minYtOut
174
+ ) external returns (uint256 netLpOut, uint256 netYtOut);
175
+
176
+ function addLiquiditySingleTokenKeepYt(
177
+ address receiver,
178
+ address market,
179
+ uint256 minLpOut,
180
+ uint256 minYtOut,
181
+ TokenInput calldata input
182
+ ) external returns (uint256 netLpOut, uint256 netYtOut);
183
+
149
184
  function removeLiquidityDualSyAndPt(
150
185
  address receiver,
151
186
  address market,
@@ -2,7 +2,7 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  import "../router/base/MarketApproxLib.sol";
5
- import "../router/kyberswap/KyberSwapHelper.sol";
5
+ import "../router/base/ActionBaseMintRedeem.sol";
6
6
 
7
7
  interface IPActionMintRedeem {
8
8
  event MintSyFromToken(
@@ -57,26 +57,6 @@ interface IPActionMintRedeem {
57
57
  uint256 netTokenOut
58
58
  );
59
59
 
60
- event RedeemDueInterestAndRewards(
61
- address indexed user,
62
- address[] sys,
63
- address[] yts,
64
- address[] markets,
65
- uint256[][] syRewards,
66
- uint256[] ytInterests,
67
- uint256[][] ytRewards,
68
- uint256[][] marketRewards
69
- );
70
-
71
- event RedeemDueInterestAndRewardsThenSwapAll(
72
- address indexed user,
73
- address[] sys,
74
- address[] yts,
75
- address[] markets,
76
- address indexed tokenOut,
77
- uint256 netTokenOut
78
- );
79
-
80
60
  function mintSyFromToken(
81
61
  address receiver,
82
62
  address SY,
@@ -124,38 +104,5 @@ interface IPActionMintRedeem {
124
104
  address[] calldata sys,
125
105
  address[] calldata yts,
126
106
  address[] calldata markets
127
- )
128
- external
129
- returns (
130
- uint256[][] memory syRewards,
131
- uint256[] memory ytInterests,
132
- uint256[][] memory ytRewards,
133
- uint256[][] memory marketRewards
134
- );
135
-
136
- struct RouterYtRedeemStruct {
137
- address[] yts;
138
- // key-value pair
139
- address[] syAddrs;
140
- address[] tokenRedeemSys;
141
- address[] bulks;
142
- //
143
- }
144
-
145
- struct RouterSwapAllStruct {
146
- // key-value pair
147
- address[] tokens;
148
- bytes[] kybercalls;
149
- //
150
- address kyberRouter;
151
- address outputToken;
152
- uint256 minTokenOut;
153
- }
154
-
155
- function redeemDueInterestAndRewardsThenSwapAll(
156
- address[] calldata sys,
157
- RouterYtRedeemStruct calldata dataYT,
158
- address[] calldata markets,
159
- RouterSwapAllStruct calldata dataSwap
160
- ) external returns (uint256 netTokenOut, uint256[] memory amountsSwapped);
107
+ ) external;
161
108
  }
@@ -2,8 +2,25 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  interface IPActionMisc {
5
- function consult(address market, uint32 secondsAgo)
5
+ struct MultiApproval {
6
+ address[] tokens;
7
+ address spender;
8
+ }
9
+
10
+ struct Call3 {
11
+ bool allowFailure;
12
+ bytes callData;
13
+ }
14
+
15
+ struct Result {
16
+ bool success;
17
+ bytes returnData;
18
+ }
19
+
20
+ function approveInf(MultiApproval[] calldata) external;
21
+
22
+ function batchExec(Call3[] calldata calls)
6
23
  external
7
- view
8
- returns (uint96 lnImpliedRateMean);
24
+ payable
25
+ returns (Result[] memory returnData);
9
26
  }
@@ -2,7 +2,7 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  import "../router/base/MarketApproxLib.sol";
5
- import "../router/kyberswap/KyberSwapHelper.sol";
5
+ import "../router/base/ActionBaseMintRedeem.sol";
6
6
 
7
7
  interface IPActionSwapPT {
8
8
  event SwapPtAndSy(