@pendle/core-v2 0.21.0-testnet → 1.0.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 (329) 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/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol/GMXPreviewHelper.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol/GMXPreviewHelper.json +50 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  76. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  79. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  81. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  83. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  84. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  85. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  86. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  87. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  88. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  89. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  90. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  91. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +50 -2
  93. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  95. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.json +308 -0
  96. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  97. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +43 -0
  98. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  99. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.json +165 -0
  100. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  101. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  102. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  103. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  104. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  106. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  108. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  110. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  112. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  114. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  116. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  118. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  120. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  121. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  125. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  126. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  128. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -28
  130. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +144 -60
  132. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  133. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  134. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  135. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  136. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  137. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  138. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  139. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  140. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  141. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +338 -45
  142. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  143. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  144. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  145. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  146. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  148. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  151. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  153. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  154. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  155. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  156. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  157. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  158. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  159. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +4 -0
  160. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +97 -0
  161. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +4 -0
  162. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +10 -0
  163. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
  164. package/build/artifacts/contracts/router/{kyberswap → swap-aggregator/kyberswap}/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +3 -3
  165. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  166. package/build/artifacts/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  167. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  168. package/build/artifacts/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +1 -1
  169. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
  170. package/build/artifacts/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IHashflow.sol/IHashflow.json +1 -1
  171. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  172. package/build/artifacts/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  173. package/contracts/core/StandardizedYield/implementations/GMX/GMXPreviewHelper.sol +142 -0
  174. package/contracts/core/StandardizedYield/implementations/GMX/PendleGlpSY.sol +244 -0
  175. package/contracts/core/StandardizedYield/implementations/GMX/README.md +61 -0
  176. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  177. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  178. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  179. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +485 -0
  180. package/contracts/core/libraries/Errors.sol +5 -0
  181. package/contracts/core/libraries/TokenHelper.sol +10 -0
  182. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  183. package/contracts/interfaces/GMX/IGlpManager.sol +8 -0
  184. package/contracts/interfaces/GMX/IRewardRouterV2.sol +35 -0
  185. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  186. package/contracts/interfaces/IDiamondCut.sol +36 -0
  187. package/contracts/interfaces/IDiamondLoupe.sol +38 -0
  188. package/contracts/interfaces/IPActionAddRemoveLiq.sol +36 -1
  189. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  190. package/contracts/interfaces/IPActionMisc.sol +20 -3
  191. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  192. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  193. package/contracts/interfaces/IPAllAction.sol +5 -3
  194. package/contracts/interfaces/IPInterestManagerYTV2.sol +13 -0
  195. package/contracts/interfaces/IPYieldTokenV2.sol +66 -0
  196. package/contracts/offchain-helpers/MarketMathStatic.sol +15 -0
  197. package/contracts/offchain-helpers/RouterStatic.sol +22 -0
  198. package/contracts/router/ActionAddRemoveLiq.sol +116 -6
  199. package/contracts/router/ActionMintRedeem.sol +12 -202
  200. package/contracts/router/ActionMisc.sol +45 -19
  201. package/contracts/router/ActionSwapPT.sol +0 -5
  202. package/contracts/router/ActionSwapYT.sol +98 -13
  203. package/contracts/router/PendleRouter.sol +211 -72
  204. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +47 -47
  205. package/contracts/router/base/ActionBaseMintRedeem.sol +105 -60
  206. package/contracts/router/base/CallbackHelper.sol +137 -44
  207. package/contracts/router/base/MarketApproxLib.sol +227 -350
  208. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +45 -0
  209. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +69 -0
  210. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +30 -0
  211. package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +63 -0
  212. package/contracts/router/{kyberswap/AggregationRouterHelper.sol → swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol} +3 -108
  213. package/contracts/router/{kyberswap → swap-aggregator/kyberswap}/ScaleDataHelperEthereum1.sol +0 -0
  214. package/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IAggregationExecutor.sol +0 -0
  215. package/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IExecutorHelperEthereum1.sol +0 -0
  216. package/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IHashflow.sol +0 -0
  217. package/contracts/router/{kyberswap → swap-aggregator/kyberswap}/interfaces/IMetaAggregationRouterV2.sol +0 -0
  218. package/deployments/43113-core.json +2 -1
  219. package/deployments/{43113-helper.json → 43113-offchain-helper.json} +0 -0
  220. package/deployments/80001-core.json +2 -1
  221. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  222. package/deployments/{80001-helper.json → 80001-offchain-helper.json} +0 -0
  223. package/package.json +1 -1
  224. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  225. package/typechain-types/ActionBaseCallback.ts +115 -0
  226. package/typechain-types/ActionMintRedeem.ts +29 -230
  227. package/typechain-types/ActionMisc.ts +78 -27
  228. package/typechain-types/ActionSwapPT.ts +26 -31
  229. package/typechain-types/ActionSwapYT.ts +202 -21
  230. package/typechain-types/GMXPreviewHelper.ts +0 -13
  231. package/typechain-types/IDiamondCut.ts +152 -0
  232. package/typechain-types/IDiamondLoupe.ts +190 -0
  233. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  234. package/typechain-types/IPActionMintRedeem.ts +29 -211
  235. package/typechain-types/IPActionMisc.ts +78 -27
  236. package/typechain-types/IPActionSwapPT.ts +26 -12
  237. package/typechain-types/IPActionSwapYT.ts +168 -12
  238. package/typechain-types/IPAllAction.ts +445 -227
  239. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  240. package/typechain-types/IPSwapAggregator.ts +126 -0
  241. package/typechain-types/IPYieldTokenV2.ts +9 -23
  242. package/typechain-types/InterestManagerYTV2.ts +36 -3
  243. package/typechain-types/PendleGlpSY.ts +27 -13
  244. package/typechain-types/PendleRouter.ts +109 -131
  245. package/typechain-types/PendleSwapAggregator.ts +167 -0
  246. package/typechain-types/PendleYieldTokenV2.ts +70 -76
  247. package/typechain-types/RouterStatic.ts +92 -0
  248. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  249. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  250. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  251. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  252. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  253. package/typechain-types/factories/ActionSwapYT__factory.ts +341 -48
  254. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  255. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  256. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  257. package/typechain-types/factories/Errors__factory.ts +49 -1
  258. package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -13
  259. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  260. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  261. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  262. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  263. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  264. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  265. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  266. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  267. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  268. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  269. package/typechain-types/factories/IPYieldTokenV2__factory.ts +6 -14
  270. package/typechain-types/factories/InterestManagerYTV2__factory.ts +18 -0
  271. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  272. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  273. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -1
  274. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -1
  275. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  276. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  277. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  278. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  279. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  280. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  281. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  282. package/typechain-types/factories/PendleGlpSY__factory.ts +8 -14
  283. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  284. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  285. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  286. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  287. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  288. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  289. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  290. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  291. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  292. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  293. package/typechain-types/factories/PendleSwapAggregator__factory.ts +154 -0
  294. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  295. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  296. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  297. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  298. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +35 -48
  299. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  300. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  301. package/typechain-types/factories/SAPE__factory.ts +1 -1
  302. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  303. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  304. package/typechain-types/hardhat.d.ts +96 -60
  305. package/typechain-types/index.ts +26 -18
  306. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  307. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +0 -190
  308. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  309. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  310. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  311. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  312. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  313. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  314. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  315. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +0 -35
  316. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  317. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +0 -24
  318. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  319. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  320. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  321. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  322. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  323. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +0 -183
  324. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  325. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  326. package/contracts/router/ActionSwapPTYT.sol +0 -108
  327. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  328. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  329. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
6
+
7
+ interface I1inchAggregationRouterV5 {
8
+ struct SwapDescription {
9
+ IERC20 srcToken;
10
+ IERC20 dstToken;
11
+ address payable srcReceiver;
12
+ address payable dstReceiver;
13
+ uint256 amount;
14
+ uint256 minReturnAmount;
15
+ uint256 flags;
16
+ }
17
+
18
+ function uniswapV3SwapTo(
19
+ address payable recipient,
20
+ uint256 amount,
21
+ uint256 minReturn,
22
+ uint256[] calldata pools
23
+ ) external payable returns(uint256 returnAmount);
24
+
25
+ function swap(
26
+ address executor,
27
+ SwapDescription calldata desc,
28
+ bytes calldata permit,
29
+ bytes calldata data
30
+ )
31
+ external
32
+ payable
33
+ returns (
34
+ uint256 returnAmount,
35
+ uint256 spentAmount
36
+ );
37
+
38
+ function unoswapTo(
39
+ address payable recipient,
40
+ address srcToken,
41
+ uint256 amount,
42
+ uint256 minReturn,
43
+ uint256[] calldata pools
44
+ ) external payable returns(uint256 returnAmount);
45
+ }
@@ -0,0 +1,69 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ import "./I1inchAggregationRouterV5.sol";
6
+ import "../../../core/libraries/Errors.sol";
7
+
8
+ abstract contract OneInchAggregationRouterHelper {
9
+ function _rescaleMinAmount(
10
+ uint256 minAmount,
11
+ uint256 oldAmount,
12
+ uint256 newAmount
13
+ ) internal pure returns (uint256) {
14
+ return (minAmount * newAmount) / oldAmount;
15
+ }
16
+
17
+ function _get1inchScaledInputData(bytes calldata rawCallData, uint256 newAmount)
18
+ internal
19
+ pure
20
+ returns (bytes memory)
21
+ {
22
+ bytes4 selector = bytes4(rawCallData[:4]);
23
+ bytes memory args = rawCallData[4:];
24
+
25
+ if (selector == I1inchAggregationRouterV5.uniswapV3SwapTo.selector) {
26
+ (
27
+ address payable recipient,
28
+ uint256 amount,
29
+ uint256 minReturn,
30
+ uint256[] memory pools
31
+ ) = abi.decode(args, (address, uint256, uint256, uint256[]));
32
+
33
+ minReturn = _rescaleMinAmount(minReturn, amount, newAmount);
34
+ amount = newAmount;
35
+ return abi.encodeWithSelector(selector, recipient, amount, minReturn, pools);
36
+ }
37
+
38
+ if (selector == I1inchAggregationRouterV5.swap.selector) {
39
+ (
40
+ address executor,
41
+ I1inchAggregationRouterV5.SwapDescription memory desc,
42
+ bytes memory permit,
43
+ bytes memory data
44
+ ) = abi.decode(
45
+ args,
46
+ (address, I1inchAggregationRouterV5.SwapDescription, bytes, bytes)
47
+ );
48
+
49
+ desc.minReturnAmount = _rescaleMinAmount(desc.minReturnAmount, desc.amount, newAmount);
50
+ desc.amount = newAmount;
51
+ return abi.encodeWithSelector(selector, executor, desc, permit, data);
52
+ }
53
+
54
+ if (selector == I1inchAggregationRouterV5.unoswapTo.selector) {
55
+ (
56
+ address payable recipient,
57
+ address srcToken,
58
+ uint256 amount,
59
+ uint256 minReturn,
60
+ uint256[] memory pools
61
+ ) = abi.decode(args, (address, address, uint256, uint256, uint256[]));
62
+
63
+ minReturn = _rescaleMinAmount(minReturn, amount, newAmount);
64
+ amount = newAmount;
65
+ return abi.encodeWithSelector(selector, recipient, srcToken, amount, minReturn, pools);
66
+ }
67
+ revert Errors.UnsupportedSelector(1, selector);
68
+ }
69
+ }
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ struct SwapData {
5
+ SwapType swapType;
6
+ address extRouter;
7
+ bytes extCalldata;
8
+ bool needScale;
9
+ }
10
+
11
+ enum SwapType {
12
+ NONE,
13
+ KYBERSWAP,
14
+ ONE_INCH,
15
+ // ETH_WETH not used in Aggregator
16
+ ETH_WETH
17
+ }
18
+
19
+ interface IPSwapAggregator {
20
+ struct MultiApproval {
21
+ address[] tokens;
22
+ address spender;
23
+ }
24
+
25
+ function swap(
26
+ address tokenIn,
27
+ uint256 amountIn,
28
+ SwapData calldata swapData
29
+ ) external payable;
30
+ }
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/utils/Address.sol";
5
+ import "../../interfaces/IWETH.sol";
6
+ import "../../core/libraries/TokenHelper.sol";
7
+ import "../../core/libraries/Errors.sol";
8
+ import "./IPSwapAggregator.sol";
9
+ import "./1inch/OneInchAggregationRouterHelper.sol";
10
+ import "./kyberswap/KyberAggregationRouterHelper.sol";
11
+
12
+ contract PendleSwapAggregator is
13
+ IPSwapAggregator,
14
+ TokenHelper,
15
+ KyberAggregationRouterHelper,
16
+ OneInchAggregationRouterHelper
17
+ {
18
+ using Address for address;
19
+
20
+ function swap(
21
+ address tokenIn,
22
+ uint256 amountIn,
23
+ SwapData calldata data
24
+ ) external payable {
25
+ _safeApproveInf(tokenIn, data.extRouter);
26
+ data.extRouter.functionCallWithValue(
27
+ data.needScale
28
+ ? _getScaledInputData(data.swapType, data.extCalldata, amountIn)
29
+ : data.extCalldata,
30
+ tokenIn == NATIVE ? amountIn : 0
31
+ );
32
+ }
33
+
34
+ function _getScaledInputData(
35
+ SwapType swapType,
36
+ bytes calldata rawCallData,
37
+ uint256 amountIn
38
+ ) internal pure returns (bytes memory scaledCallData) {
39
+ if (swapType == SwapType.KYBERSWAP) {
40
+ scaledCallData = _getKyberScaledInputData(rawCallData, amountIn);
41
+ } else if (swapType == SwapType.ONE_INCH) {
42
+ scaledCallData = _get1inchScaledInputData(rawCallData, amountIn);
43
+ } else {
44
+ assert(false);
45
+ }
46
+ }
47
+
48
+ /// @notice For the Aggregator to work with a token / aggregator, it must be approved first
49
+ function approveInf(MultiApproval[] calldata arr) external {
50
+ for (uint256 i = 0; i < arr.length; ) {
51
+ MultiApproval calldata ele = arr[i];
52
+ for (uint256 j = 0; j < ele.tokens.length; ) {
53
+ _safeApproveInf(ele.tokens[j], ele.spender);
54
+ unchecked {
55
+ j++;
56
+ }
57
+ }
58
+ unchecked {
59
+ i++;
60
+ }
61
+ }
62
+ }
63
+ }
@@ -1,25 +1,12 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
 
3
3
  pragma solidity 0.8.17;
4
- import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
5
- import "../../core/libraries/BoringOwnableUpgradeable.sol";
6
-
7
- import "../../interfaces/IWETH.sol";
8
-
9
- import "./interfaces/IMetaAggregationRouter.sol";
10
4
  import "./interfaces/IMetaAggregationRouterV2.sol";
11
5
  import "./interfaces/IHashflow.sol";
12
6
  import "./interfaces/IExecutorHelperEthereum1.sol";
13
-
14
- import "./IAggregatorRouterHelper.sol";
15
7
  import "./ScaleDataHelperEthereum1.sol";
16
8
 
17
- contract AggregationRouterHelper is
18
- IAggregationRouterHelper,
19
- Initializable,
20
- UUPSUpgradeable,
21
- BoringOwnableUpgradeable
22
- {
9
+ abstract contract KyberAggregationRouterHelper {
23
10
  uint256 private constant _PARTIAL_FILL = 0x01;
24
11
  uint256 private constant _REQUIRES_EXTRA_ETH = 0x02;
25
12
  uint256 private constant _SHOULD_CLAIM = 0x04;
@@ -27,14 +14,6 @@ contract AggregationRouterHelper is
27
14
  uint256 private constant _BURN_FROM_TX_ORIGIN = 0x10;
28
15
  uint256 private constant _SIMPLE_SWAP = 0x20;
29
16
 
30
- constructor() initializer {}
31
-
32
- function initialize() external initializer {
33
- __BoringOwnable_init();
34
- }
35
-
36
- function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
37
-
38
17
  struct Swap {
39
18
  bytes data;
40
19
  bytes4 selector;
@@ -58,45 +37,13 @@ contract AggregationRouterHelper is
58
37
  bytes destTokenFeeData;
59
38
  }
60
39
 
61
- function getScaledInputData(bytes calldata kybercall, uint256 newAmount)
62
- external
40
+ function _getKyberScaledInputData(bytes calldata kybercall, uint256 newAmount)
41
+ internal
63
42
  pure
64
43
  returns (bytes memory)
65
44
  {
66
45
  bytes4 selector = bytes4(kybercall[:4]);
67
46
 
68
- if (selector == IWETH.deposit.selector) {
69
- return kybercall; // no scaling needed
70
- }
71
-
72
- if (selector == IWETH.withdraw.selector) {
73
- return abi.encodeWithSelector(selector, newAmount);
74
- }
75
-
76
- if (
77
- selector == IMetaAggregationRouter.swap.selector ||
78
- selector == IMetaAggregationRouter.swapSimpleMode.selector
79
- ) {
80
- (
81
- address callTarget,
82
- IMetaAggregationRouter.SwapDescription memory desc,
83
- bytes memory targetData,
84
- bytes memory clientData
85
- ) = abi.decode(
86
- kybercall[4:],
87
- (address, IMetaAggregationRouter.SwapDescription, bytes, bytes)
88
- );
89
-
90
- (desc, targetData) = _getScaledInputDataV1(
91
- desc,
92
- targetData,
93
- newAmount,
94
- selector == IMetaAggregationRouter.swapSimpleMode.selector ||
95
- _flagsChecked(desc.flags, _SIMPLE_SWAP)
96
- );
97
- return abi.encodeWithSelector(selector, callTarget, desc, targetData, clientData);
98
- }
99
-
100
47
  if (selector == IMetaAggregationRouterV2.swap.selector) {
101
48
  IMetaAggregationRouterV2.SwapExecutionParams memory params = abi.decode(
102
49
  kybercall[4:],
@@ -130,32 +77,6 @@ contract AggregationRouterHelper is
130
77
  revert("InputScalingHelper: Invalid selector");
131
78
  }
132
79
 
133
- function _getScaledInputDataV1(
134
- IMetaAggregationRouter.SwapDescription memory desc,
135
- bytes memory executorData,
136
- uint256 newAmount,
137
- bool isSimpleMode
138
- ) internal pure returns (IMetaAggregationRouter.SwapDescription memory, bytes memory) {
139
- uint256 oldAmount = desc.amount;
140
- if (oldAmount == newAmount) {
141
- return (desc, executorData);
142
- }
143
-
144
- // simple mode swap
145
- if (isSimpleMode) {
146
- return (
147
- _scaledSwapDescriptionV1(desc, oldAmount, newAmount),
148
- _scaledSimpleSwapData(executorData, oldAmount, newAmount)
149
- );
150
- }
151
-
152
- //normal mode swap
153
- return (
154
- _scaledSwapDescriptionV1(desc, oldAmount, newAmount),
155
- _scaledExecutorCallBytesData(executorData, oldAmount, newAmount)
156
- );
157
- }
158
-
159
80
  function _getScaledInputDataV2(
160
81
  IMetaAggregationRouterV2.SwapDescriptionV2 memory desc,
161
82
  bytes memory executorData,
@@ -182,32 +103,6 @@ contract AggregationRouterHelper is
182
103
  );
183
104
  }
184
105
 
185
- function _scaledSwapDescriptionV1(
186
- IMetaAggregationRouter.SwapDescription memory desc,
187
- uint256 oldAmount,
188
- uint256 newAmount
189
- ) internal pure returns (IMetaAggregationRouter.SwapDescription memory) {
190
- uint256 oldMinReturnAmount = desc.minReturnAmount;
191
- desc.minReturnAmount = (desc.minReturnAmount * newAmount) / oldAmount;
192
- //newMinReturnAmount should no be 0 if oldMinReturnAmount > 0
193
- if (oldMinReturnAmount > 0 && desc.minReturnAmount == 0) desc.minReturnAmount = 1;
194
- desc.amount = newAmount;
195
- if (desc.srcReceivers.length == 0) {
196
- return desc;
197
- }
198
-
199
- uint256 newTotal;
200
- for (uint256 i = 0; i < desc.srcReceivers.length; i++) {
201
- if (i == desc.srcReceivers.length - 1) {
202
- desc.srcAmounts[i] = newAmount - newTotal;
203
- } else {
204
- desc.srcAmounts[i] = (desc.srcAmounts[i] * newAmount) / oldAmount;
205
- }
206
- newTotal += desc.srcAmounts[i];
207
- }
208
- return desc;
209
- }
210
-
211
106
  function _scaledSimpleSwapData(
212
107
  bytes memory data,
213
108
  uint256 oldAmount,
@@ -19,7 +19,8 @@
19
19
  "marketFactory": "0x24265d37C87d3ffE64D6B0274c168945d44D1ba2",
20
20
  "bulkSellerFactory": "0x137404E334a80fa741AD03d8965ee4b5b8A20259",
21
21
  "bulkSellerOffchain": "0x85C369B1aD9A981DCf4Fd8F00F74cB783cacec34",
22
- "router": "0x17ae363f142517b593d9A71282BAb8CA6bb4eA51",
22
+ "router": "0xFC0F1237961A6ecEacAC86aD407e181Ecd5e673C",
23
+ "pendleSwap": "0xc6404511EF2C4C05A15446aF7D54FB63AFbe4d47",
23
24
  "routerStatic": "0xBf98D54D05907f3F576602e8Be7fEaF8891c787F",
24
25
  "vePendle": "0xB20E3c268C993BC3c9Bc1C1cc5D7491F2268cD91",
25
26
  "senderEndpoint": "0x86bD575c36e236386284C035ffeBE66CB6ecd2DD",
@@ -20,7 +20,8 @@
20
20
  "marketFactory": "0xeB2AEd0aE414c76e4f9D4d43cD01064Fec010dfB",
21
21
  "bulkSellerFactory": "0x4707f0CC2Ad4211172EdBAFc453E60DBd1C9D854",
22
22
  "bulkSellerOffchain": "0x7Fb3626D95449d69f991a37e304b8C9A0a5D0e0c",
23
- "router": "0x5141Ad90AafB0D45e9F19Bd9F861362d56f2CF79",
23
+ "router": "0x53FE536228e70cfb2e8C6Fa38D344a57be797237",
24
+ "pendleSwap": "0xFee829Cf47c28b8d81cD9035a05320a51595dB42",
24
25
  "routerStatic": "0xc7F8F9F1DdE1104664b6fC8F33E49b169C12F41E",
25
26
  "receiverEndpoint": "0x256752c851EDB92c97377C93232A9034c835F376",
26
27
  "vePendle": "0xC0BC61112D9fD7bA5809047a86EC245593BA0e1E",
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY GLP",
3
+ "SY": "0x1A2775c9bEe6e798De971c369849CF9130D3e25a",
4
+ "YT": "0x77F02e40d08eB6d368401b5EaF5500F992b27cC2",
5
+ "PT": "0xC4d7D9881c6b4e87E1325F06A56d6abB675998b9",
6
+ "market": "0xB08e72153925ccEc1B43b0d9BF2E1c57eea5E2AB",
7
+ "expiry": 1701993600,
8
+ "scalarRoot": "62000000000000000000",
9
+ "initAnchor": "1012600000000000000"
10
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "0.21.0-testnet",
5
+ "version": "1.0.0-testnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",