@pendle/core-v2 3.0.0-beta-2 → 3.0.0-beta-3

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 (334) 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/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  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/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  32. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  34. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  40. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
  42. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  44. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  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/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  120. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  122. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  124. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  126. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  128. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  130. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  132. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -50
  134. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +61 -1
  136. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +94 -20
  139. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +40 -0
  142. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +40 -0
  144. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +235 -21
  146. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +43 -139
  149. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +33 -139
  151. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  157. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  158. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  159. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  160. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  161. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +1 -1
  162. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +47 -153
  163. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  167. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  169. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  171. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  172. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  173. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  175. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  177. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  179. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  181. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  183. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  185. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  186. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  187. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  188. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  189. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  190. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  191. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  192. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  193. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  194. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  195. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  196. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  197. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +63 -3
  198. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  199. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +18 -22
  200. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  201. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  202. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  203. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  204. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  205. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  206. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  207. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  208. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +1 -1
  209. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  210. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  211. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  212. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  213. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  214. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  215. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.dbg.json +4 -0
  216. package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.json +69 -0
  217. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  218. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  219. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  220. package/contracts/core/libraries/Errors.sol +0 -3
  221. package/contracts/interfaces/IPActionAddRemoveLiq.sol +1 -1
  222. package/contracts/interfaces/IPActionMisc.sol +9 -2
  223. package/contracts/interfaces/IPLimitRouter.sol +15 -30
  224. package/contracts/limit/LimitMathCore.sol +54 -31
  225. package/contracts/limit/PendleLimitRouter.sol +3 -3
  226. package/contracts/limit/PendleOrderMixin.sol +172 -182
  227. package/contracts/router/ActionAddRemoveLiq.sol +3 -3
  228. package/contracts/router/ActionMisc.sol +16 -22
  229. package/contracts/router/PendleRouter.sol +84 -74
  230. package/contracts/router/base/MarketApproxLib.sol +1 -1
  231. package/contracts/router/base/SimulateHelper.sol +33 -0
  232. package/package.json +1 -1
  233. package/typechain-types/ActionAddRemoveLiq.ts +13 -10
  234. package/typechain-types/ActionMisc.ts +40 -14
  235. package/typechain-types/ActionSwapPT.ts +7 -4
  236. package/typechain-types/ActionSwapYT.ts +7 -4
  237. package/typechain-types/IPActionAddRemoveLiq.ts +13 -10
  238. package/typechain-types/IPActionMisc.ts +84 -14
  239. package/typechain-types/IPActionSwapPT.ts +7 -4
  240. package/typechain-types/IPActionSwapYT.ts +7 -4
  241. package/typechain-types/IPAllAction.ts +105 -32
  242. package/typechain-types/IPLimitRouter.ts +46 -176
  243. package/typechain-types/IPOrderMixin.ts +44 -174
  244. package/typechain-types/PendleLimitRouter.ts +47 -177
  245. package/typechain-types/PendleOrderMixin.ts +45 -175
  246. package/typechain-types/SimulateHelper.ts +146 -0
  247. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +62 -2
  248. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  249. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  250. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  251. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  252. package/typechain-types/factories/ActionMisc__factory.ts +17 -21
  253. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  254. package/typechain-types/factories/ActionSwapPT__factory.ts +41 -1
  255. package/typechain-types/factories/ActionSwapYT__factory.ts +41 -1
  256. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  257. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  258. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  259. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  260. package/typechain-types/factories/Errors__factory.ts +1 -49
  261. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +61 -1
  262. package/typechain-types/factories/IPActionMisc__factory.ts +94 -20
  263. package/typechain-types/factories/IPActionSwapPT__factory.ts +40 -0
  264. package/typechain-types/factories/IPActionSwapYT__factory.ts +40 -0
  265. package/typechain-types/factories/IPAllAction__factory.ts +235 -21
  266. package/typechain-types/factories/IPLimitRouter__factory.ts +43 -139
  267. package/typechain-types/factories/IPOrderMixin__factory.ts +33 -139
  268. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  269. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  270. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  271. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  272. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  273. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  274. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  275. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  276. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  277. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  278. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  279. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  280. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  281. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  282. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  283. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  284. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  285. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  286. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  287. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  288. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  289. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  290. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  291. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  292. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  293. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  294. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  295. package/typechain-types/factories/PendleLimitRouter__factory.ts +58 -154
  296. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  297. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  298. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  299. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  300. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  301. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  302. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  303. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  304. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  305. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  306. package/typechain-types/factories/PendleOrderMixin__factory.ts +47 -153
  307. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  308. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  309. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  310. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  311. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  312. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  313. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  314. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  315. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  316. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  317. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  318. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  319. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  321. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  322. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  324. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  325. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  326. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  327. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  328. package/typechain-types/factories/SAPE__factory.ts +1 -1
  329. package/typechain-types/factories/SimulateHelper__factory.ts +84 -0
  330. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  331. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  332. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  333. package/typechain-types/hardhat.d.ts +9 -9
  334. package/typechain-types/index.ts +2 -2
@@ -2,9 +2,10 @@
2
2
  pragma solidity 0.8.21;
3
3
 
4
4
  import "./base/ActionBase.sol";
5
+ import "./base/SimulateHelper.sol";
5
6
  import "../interfaces/IPActionMisc.sol";
6
7
 
7
- contract ActionMisc is IPActionMisc, ActionBase {
8
+ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
8
9
  function mintSyFromToken(address receiver, address SY, uint256 minSyOut, TokenInput calldata input)
9
10
  external
10
11
  payable
@@ -114,6 +115,15 @@ contract ActionMisc is IPActionMisc, ActionBase {
114
115
  }
115
116
  }
116
117
 
118
+ function marketsBoost(address[] memory markets) external {
119
+ for (uint256 i = 0; i < markets.length;) {
120
+ IPMarket(markets[i]).transferFrom(msg.sender, markets[i], 0);
121
+ unchecked {
122
+ i++;
123
+ }
124
+ }
125
+ }
126
+
117
127
  function multicall(Call3[] calldata calls) external payable returns (Result[] memory res) {
118
128
  uint256 length = calls.length;
119
129
  res = new Result[](length);
@@ -140,32 +150,16 @@ contract ActionMisc is IPActionMisc, ActionBase {
140
150
  }
141
151
  }
142
152
 
143
- function multicallRevert(uint256 gasLimit, Call3[] calldata calls)
153
+ function multicallRevert(uint256 gasLimit, bytes[] calldata callDatas)
144
154
  public
145
155
  payable
156
+ override(IPActionMisc, SimulateHelper)
146
157
  returns (bytes[] memory res, uint256[] memory gasUsed)
147
158
  {
148
- uint256 length = calls.length;
149
- res = new bytes[](length);
150
- gasUsed = new uint256[](length);
151
- Call3 calldata call;
152
- for (uint256 i = 0; i < length;) {
153
- call = calls[i];
154
-
155
- uint256 gasBefore = gasleft();
156
- (, res[i]) = address(this).delegatecall{gas: gasLimit}(
157
- abi.encodeWithSignature("callThenRevert(address,bytes)", address(this), call.callData)
158
- );
159
- gasUsed[i] = gasBefore - gasleft();
160
-
161
- unchecked {
162
- ++i;
163
- }
164
- }
159
+ return super.multicallRevert(gasLimit, callDatas);
165
160
  }
166
161
 
167
- function callThenRevert(address target, bytes memory callData) public payable {
168
- (bool success, bytes memory resp) = target.delegatecall(callData);
169
- revert Errors.CallThenRevertError(success, resp);
162
+ function callThenRevert(bytes memory callData) public payable override(IPActionMisc, SimulateHelper) {
163
+ return super.callThenRevert(callData);
170
164
  }
171
165
  }
@@ -74,132 +74,142 @@ contract PendleRouter is Proxy, IDiamondLoupe {
74
74
  }
75
75
  if (facet == ACTION_ADD_REMOVE_LIQ) {
76
76
  res = new bytes4[](12);
77
- res[0] = 0x17eb5cce; // addLiquiditySingleToken
78
- res[1] = 0x1ab7a03e; // removeLiquiditySingleSy
79
- res[2] = 0x2756ce06; // addLiquidityDualTokenAndPt
80
- res[3] = 0x30f9e6c8; // addLiquiditySinglePt
81
- res[4] = 0x3dbe1c55; // addLiquiditySingleTokenKeepYt
82
- res[5] = 0x5d8e6054; // removeLiquiditySingleToken
83
- res[6] = 0x844384aa; // addLiquiditySingleSyKeepYt
84
- res[7] = 0x888a2843; // addLiquiditySingleSy
85
- res[8] = 0x97ee279e; // addLiquidityDualSyAndPt
86
- res[9] = 0xb00f09d7; // removeLiquidityDualTokenAndPt
87
- res[10] = 0xb7d75b8b; // removeLiquidityDualSyAndPt
88
- res[11] = 0xbce3faa7; // removeLiquiditySinglePt
77
+ res[0] = 0x237287c8; // removeLiquiditySinglePt
78
+ res[1] = 0x2756ce06; // addLiquidityDualTokenAndPt
79
+ res[2] = 0x3dbe1c55; // addLiquiditySingleTokenKeepYt
80
+ res[3] = 0x587e3950; // removeLiquiditySingleToken
81
+ res[4] = 0x5a245eef; // addLiquiditySingleSy
82
+ res[5] = 0x844384aa; // addLiquiditySingleSyKeepYt
83
+ res[6] = 0x97ee279e; // addLiquidityDualSyAndPt
84
+ res[7] = 0x9cb6711e; // addLiquiditySingleToken
85
+ res[8] = 0xb00f09d7; // removeLiquidityDualTokenAndPt
86
+ res[9] = 0xb7d75b8b; // removeLiquidityDualSyAndPt
87
+ res[10] = 0xe81560a4; // removeLiquiditySingleSy
88
+ res[11] = 0xef03bda7; // addLiquiditySinglePt
89
89
  }
90
90
  if (facet == ACTION_SWAP_YT) {
91
91
  res = new bytes4[](7);
92
- res[0] = 0x233548e7; // swapExactSyForYt
93
- res[1] = 0x287b21a2; // swapExactYtForToken
94
- res[2] = 0x423a1dac; // swapExactTokenForYt
95
- res[3] = 0x448b9b95; // swapExactYtForPt
92
+ res[0] = 0x0a793c62; // swapExactYtForSy
93
+ res[1] = 0x448b9b95; // swapExactYtForPt
94
+ res[2] = 0x7e0646c4; // swapExactYtForToken
95
+ res[3] = 0x9c1010ec; // swapExactTokenForYt
96
96
  res[4] = 0xc861a898; // swapExactPtForYt
97
- res[5] = 0xd91a37b0; // swapExactYtForSy
97
+ res[5] = 0xf80915bc; // swapExactSyForYt
98
98
  res[6] = 0xfa483e72; // swapCallback
99
99
  }
100
100
  if (facet == ACTION_SWAP_PT) {
101
- res = new bytes4[](4);
102
- res[0] = 0x18300b27; // swapExactTokenForPt
103
- res[1] = 0x71ea75aa; // swapExactSyForPt
104
- res[2] = 0x82064435; // swapExactPtForSy
105
- res[3] = 0xf392f08d; // swapExactPtForToken
101
+ res = new bytes4[](5);
102
+ res[0] = 0x12c15afc; // swapExactSyForPt
103
+ res[1] = 0x32aea98a; // swapExactTokenForPt
104
+ res[2] = 0x5d3e105c; // swapTokenToToken
105
+ res[3] = 0x7a95dddd; // swapExactPtForSy
106
+ res[4] = 0xc245e48d; // swapExactPtForToken
106
107
  }
107
108
  if (facet == ACTION_MISC) {
108
- res = new bytes4[](11);
109
+ res = new bytes4[](12);
109
110
  res[0] = 0x1a8631b2; // mintPyFromSy
110
- res[1] = 0x2e071dc6; // mintSyFromToken
111
- res[2] = 0x339748cb; // redeemPyToSy
112
- res[3] = 0x339a5572; // redeemSyToToken
113
- res[4] = 0x47f1de22; // redeemPyToToken
114
- res[5] = 0x60fc8466; // multicall
115
- res[6] = 0x7ad2c7af; // multicallRevert
116
- res[7] = 0x8ee52744; // callThenRevert
117
- res[8] = 0xacdb32df; // approveInf
118
- res[9] = 0xd0f42385; // mintPyFromToken
119
- res[10] = 0xf7e375e8; // redeemDueInterestAndRewards
111
+ res[1] = 0x1cf0f536; // callThenRevert
112
+ res[2] = 0x2e071dc6; // mintSyFromToken
113
+ res[3] = 0x339748cb; // redeemPyToSy
114
+ res[4] = 0x339a5572; // redeemSyToToken
115
+ res[5] = 0x375351d5; // marketsBoost
116
+ res[6] = 0x47f1de22; // redeemPyToToken
117
+ res[7] = 0x60fc8466; // multicall
118
+ res[8] = 0x657b87d8; // multicallRevert
119
+ res[9] = 0xacdb32df; // approveInf
120
+ res[10] = 0xd0f42385; // mintPyFromToken
121
+ res[11] = 0xf7e375e8; // redeemDueInterestAndRewards
120
122
  }
121
123
  }
122
124
 
123
125
  function facetAddress(bytes4 sig) public view returns (address) {
124
126
  if (sig < 0x7a0ed627) {
125
- if (sig < 0x339748cb) {
126
- if (sig < 0x233548e7) {
127
- if (sig == 0x17eb5cce) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleToken
128
- if (sig == 0x18300b27) return ACTION_SWAP_PT; //swapExactTokenForPt
129
- if (sig == 0x1a8631b2) return ACTION_MISC; //mintPyFromSy
130
- if (sig == 0x1ab7a03e) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySingleSy
127
+ if (sig < 0x375351d5) {
128
+ if (sig < 0x2756ce06) {
129
+ if (sig < 0x1a8631b2) {
130
+ if (sig == 0x0a793c62) return ACTION_SWAP_YT; //swapExactYtForSy
131
+ if (sig == 0x12c15afc) return ACTION_SWAP_PT; //swapExactSyForPt
132
+ } else {
133
+ if (sig == 0x1a8631b2) return ACTION_MISC; //mintPyFromSy
134
+ if (sig == 0x1cf0f536) return ACTION_MISC; //callThenRevert
135
+ if (sig == 0x237287c8) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySinglePt
136
+ }
131
137
  } else {
132
- if (sig < 0x287b21a2) {
133
- if (sig == 0x233548e7) return ACTION_SWAP_YT; //swapExactSyForYt
138
+ if (sig < 0x32aea98a) {
134
139
  if (sig == 0x2756ce06) return ACTION_ADD_REMOVE_LIQ; //addLiquidityDualTokenAndPt
135
- } else {
136
- if (sig == 0x287b21a2) return ACTION_SWAP_YT; //swapExactYtForToken
137
140
  if (sig == 0x2e071dc6) return ACTION_MISC; //mintSyFromToken
138
- if (sig == 0x30f9e6c8) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySinglePt
141
+ } else {
142
+ if (sig == 0x32aea98a) return ACTION_SWAP_PT; //swapExactTokenForPt
143
+ if (sig == 0x339748cb) return ACTION_MISC; //redeemPyToSy
144
+ if (sig == 0x339a5572) return ACTION_MISC; //redeemSyToToken
139
145
  }
140
146
  }
141
147
  } else {
142
- if (sig < 0x47f1de22) {
143
- if (sig < 0x3dbe1c55) {
144
- if (sig == 0x339748cb) return ACTION_MISC; //redeemPyToSy
145
- if (sig == 0x339a5572) return ACTION_MISC; //redeemSyToToken
146
- } else {
148
+ if (sig < 0x587e3950) {
149
+ if (sig < 0x448b9b95) {
150
+ if (sig == 0x375351d5) return ACTION_MISC; //marketsBoost
147
151
  if (sig == 0x3dbe1c55) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleTokenKeepYt
148
- if (sig == 0x423a1dac) return ACTION_SWAP_YT; //swapExactTokenForYt
152
+ } else {
149
153
  if (sig == 0x448b9b95) return ACTION_SWAP_YT; //swapExactYtForPt
150
- }
151
- } else {
152
- if (sig < 0x5d8e6054) {
153
154
  if (sig == 0x47f1de22) return ACTION_MISC; //redeemPyToToken
154
155
  if (sig == 0x52ef6b2c) return address(this); //facetAddresses
156
+ }
157
+ } else {
158
+ if (sig < 0x5d3e105c) {
159
+ if (sig == 0x587e3950) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySingleToken
160
+ if (sig == 0x5a245eef) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleSy
155
161
  } else {
156
- if (sig == 0x5d8e6054) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySingleToken
162
+ if (sig == 0x5d3e105c) return ACTION_SWAP_PT; //swapTokenToToken
157
163
  if (sig == 0x60fc8466) return ACTION_MISC; //multicall
158
- if (sig == 0x71ea75aa) return ACTION_SWAP_PT; //swapExactSyForPt
164
+ if (sig == 0x657b87d8) return ACTION_MISC; //multicallRevert
159
165
  }
160
166
  }
161
167
  }
162
168
  } else {
163
- if (sig < 0xb00f09d7) {
164
- if (sig < 0x888a2843) {
165
- if (sig == 0x7a0ed627) return address(this); //facets
166
- if (sig == 0x7ad2c7af) return ACTION_MISC; //multicallRevert
167
- if (sig == 0x82064435) return ACTION_SWAP_PT; //swapExactPtForSy
168
- if (sig == 0x844384aa) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleSyKeepYt
169
- } else {
170
- if (sig < 0x97ee279e) {
171
- if (sig == 0x888a2843) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleSy
172
- if (sig == 0x8ee52744) return ACTION_MISC; //callThenRevert
169
+ if (sig < 0xb7d75b8b) {
170
+ if (sig < 0x9c1010ec) {
171
+ if (sig < 0x7e0646c4) {
172
+ if (sig == 0x7a0ed627) return address(this); //facets
173
+ if (sig == 0x7a95dddd) return ACTION_SWAP_PT; //swapExactPtForSy
173
174
  } else {
175
+ if (sig == 0x7e0646c4) return ACTION_SWAP_YT; //swapExactYtForToken
176
+ if (sig == 0x844384aa) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleSyKeepYt
174
177
  if (sig == 0x97ee279e) return ACTION_ADD_REMOVE_LIQ; //addLiquidityDualSyAndPt
178
+ }
179
+ } else {
180
+ if (sig < 0xacdb32df) {
181
+ if (sig == 0x9c1010ec) return ACTION_SWAP_YT; //swapExactTokenForYt
182
+ if (sig == 0x9cb6711e) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySingleToken
183
+ } else {
175
184
  if (sig == 0xacdb32df) return ACTION_MISC; //approveInf
176
185
  if (sig == 0xadfca15e) return address(this); //facetFunctionSelectors
186
+ if (sig == 0xb00f09d7) return ACTION_ADD_REMOVE_LIQ; //removeLiquidityDualTokenAndPt
177
187
  }
178
188
  }
179
189
  } else {
180
- if (sig < 0xd0f42385) {
181
- if (sig < 0xbce3faa7) {
182
- if (sig == 0xb00f09d7) return ACTION_ADD_REMOVE_LIQ; //removeLiquidityDualTokenAndPt
190
+ if (sig < 0xe81560a4) {
191
+ if (sig < 0xc861a898) {
183
192
  if (sig == 0xb7d75b8b) return ACTION_ADD_REMOVE_LIQ; //removeLiquidityDualSyAndPt
193
+ if (sig == 0xc245e48d) return ACTION_SWAP_PT; //swapExactPtForToken
184
194
  } else {
185
- if (sig == 0xbce3faa7) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySinglePt
186
195
  if (sig == 0xc861a898) return ACTION_SWAP_YT; //swapExactPtForYt
187
196
  if (sig == 0xcdffacc6) return address(this); //facetAddress
197
+ if (sig == 0xd0f42385) return ACTION_MISC; //mintPyFromToken
188
198
  }
189
199
  } else {
190
- if (sig < 0xf392f08d) {
191
- if (sig == 0xd0f42385) return ACTION_MISC; //mintPyFromToken
192
- if (sig == 0xd91a37b0) return ACTION_SWAP_YT; //swapExactYtForSy
200
+ if (sig < 0xf7e375e8) {
201
+ if (sig == 0xe81560a4) return ACTION_ADD_REMOVE_LIQ; //removeLiquiditySingleSy
202
+ if (sig == 0xef03bda7) return ACTION_ADD_REMOVE_LIQ; //addLiquiditySinglePt
193
203
  } else {
194
- if (sig == 0xf392f08d) return ACTION_SWAP_PT; //swapExactPtForToken
195
204
  if (sig == 0xf7e375e8) return ACTION_MISC; //redeemDueInterestAndRewards
205
+ if (sig == 0xf80915bc) return ACTION_SWAP_YT; //swapExactSyForYt
196
206
  if (sig == 0xfa483e72) return ACTION_SWAP_YT; //swapCallback
197
207
  }
198
208
  }
199
209
  }
200
210
  }
201
211
  revert Errors.RouterInvalidAction(sig);
202
- // NUM_FUNC: 38 AVG:4.74 WORST_CASE:6 STOP_BRANCH:4
212
+ // NUM_FUNC: 40 AVG:4.80 WORST_CASE:6 STOP_BRANCH:3
203
213
  }
204
214
 
205
215
  function facetAddresses() public view returns (address[] memory) {
@@ -195,7 +195,7 @@ library MarketApproxPtInLib {
195
195
  // it is desired that
196
196
  // (netSyOut + netSyHolding) / newTotalSy = netPtRemaining / newTotalPt
197
197
  // which is equivalent to
198
- // netSyOut * newTotalPt = netPtRemaining * newTotalSy
198
+ // (netSyOut + netSyHolding) * newTotalPt = netPtRemaining * newTotalSy
199
199
 
200
200
  syNumerator = (netSyOut + netSyHolding) * newTotalPt;
201
201
  ptNumerator = (totalPtIn - guess) * newTotalSy;
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../../core/libraries/Errors.sol";
5
+
6
+ abstract contract SimulateHelper {
7
+ function multicallRevert(uint256 gasLimit, bytes[] calldata callDatas)
8
+ public
9
+ payable
10
+ virtual
11
+ returns (bytes[] memory res, uint256[] memory gasUsed)
12
+ {
13
+ uint256 length = callDatas.length;
14
+ res = new bytes[](length);
15
+ gasUsed = new uint256[](length);
16
+ for (uint256 i = 0; i < length;) {
17
+ uint256 gasBefore = gasleft();
18
+ (, res[i]) = address(this).delegatecall{gas: gasLimit}(
19
+ abi.encodeWithSignature("callThenRevert(bytes)", callDatas[i])
20
+ );
21
+ gasUsed[i] = gasBefore - gasleft();
22
+
23
+ unchecked {
24
+ ++i;
25
+ }
26
+ }
27
+ }
28
+
29
+ function callThenRevert(bytes memory callData) public payable virtual {
30
+ (bool success, bytes memory resp) = address(this).delegatecall(callData);
31
+ revert Errors.CallThenRevertError(success, resp);
32
+ }
33
+ }
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": "3.0.0-beta-2",
5
+ "version": "3.0.0-beta-3",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -92,6 +92,7 @@ export type OrderStruct = {
92
92
  receiver: string;
93
93
  makingAmount: BigNumberish;
94
94
  lnImpliedRate: BigNumberish;
95
+ failSafeRate: BigNumberish;
95
96
  permit: BytesLike;
96
97
  };
97
98
 
@@ -106,6 +107,7 @@ export type OrderStructOutput = [
106
107
  string,
107
108
  BigNumber,
108
109
  BigNumber,
110
+ BigNumber,
109
111
  string
110
112
  ] & {
111
113
  salt: BigNumber;
@@ -118,6 +120,7 @@ export type OrderStructOutput = [
118
120
  receiver: string;
119
121
  makingAmount: BigNumber;
120
122
  lnImpliedRate: BigNumber;
123
+ failSafeRate: BigNumber;
121
124
  permit: string;
122
125
  };
123
126
 
@@ -179,16 +182,16 @@ export interface ActionAddRemoveLiqInterface extends utils.Interface {
179
182
  functions: {
180
183
  "addLiquidityDualSyAndPt(address,address,uint256,uint256,uint256)": FunctionFragment;
181
184
  "addLiquidityDualTokenAndPt(address,address,(address,uint256,address,address,(uint8,address,bytes,bool)),uint256,uint256)": FunctionFragment;
182
- "addLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
183
- "addLiquiditySingleSy(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
185
+ "addLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
186
+ "addLiquiditySingleSy(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
184
187
  "addLiquiditySingleSyKeepYt(address,address,uint256,uint256,uint256)": FunctionFragment;
185
- "addLiquiditySingleToken(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
188
+ "addLiquiditySingleToken(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
186
189
  "addLiquiditySingleTokenKeepYt(address,address,uint256,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
187
190
  "removeLiquidityDualSyAndPt(address,address,uint256,uint256,uint256)": FunctionFragment;
188
191
  "removeLiquidityDualTokenAndPt(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)),uint256)": FunctionFragment;
189
- "removeLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
190
- "removeLiquiditySingleSy(address,address,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
191
- "removeLiquiditySingleToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
192
+ "removeLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
193
+ "removeLiquiditySingleSy(address,address,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
194
+ "removeLiquiditySingleToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
192
195
  };
193
196
 
194
197
  encodeFunctionData(
@@ -626,7 +629,7 @@ export interface ActionAddRemoveLiq extends BaseContract {
626
629
  minLpOut: BigNumberish,
627
630
  minYtOut: BigNumberish,
628
631
  input: TokenInputStruct,
629
- overrides?: Overrides & { from?: string | Promise<string> }
632
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
630
633
  ): Promise<ContractTransaction>;
631
634
 
632
635
  removeLiquidityDualSyAndPt(
@@ -739,7 +742,7 @@ export interface ActionAddRemoveLiq extends BaseContract {
739
742
  minLpOut: BigNumberish,
740
743
  minYtOut: BigNumberish,
741
744
  input: TokenInputStruct,
742
- overrides?: Overrides & { from?: string | Promise<string> }
745
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
743
746
  ): Promise<ContractTransaction>;
744
747
 
745
748
  removeLiquidityDualSyAndPt(
@@ -1198,7 +1201,7 @@ export interface ActionAddRemoveLiq extends BaseContract {
1198
1201
  minLpOut: BigNumberish,
1199
1202
  minYtOut: BigNumberish,
1200
1203
  input: TokenInputStruct,
1201
- overrides?: Overrides & { from?: string | Promise<string> }
1204
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
1202
1205
  ): Promise<BigNumber>;
1203
1206
 
1204
1207
  removeLiquidityDualSyAndPt(
@@ -1312,7 +1315,7 @@ export interface ActionAddRemoveLiq extends BaseContract {
1312
1315
  minLpOut: BigNumberish,
1313
1316
  minYtOut: BigNumberish,
1314
1317
  input: TokenInputStruct,
1315
- overrides?: Overrides & { from?: string | Promise<string> }
1318
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
1316
1319
  ): Promise<PopulatedTransaction>;
1317
1320
 
1318
1321
  removeLiquidityDualSyAndPt(
@@ -108,12 +108,13 @@ export interface ActionMiscInterface extends utils.Interface {
108
108
  contractName: "ActionMisc";
109
109
  functions: {
110
110
  "approveInf((address[],address)[])": FunctionFragment;
111
- "callThenRevert(address,bytes)": FunctionFragment;
111
+ "callThenRevert(bytes)": FunctionFragment;
112
+ "marketsBoost(address[])": FunctionFragment;
112
113
  "mintPyFromSy(address,address,uint256,uint256)": FunctionFragment;
113
114
  "mintPyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
114
115
  "mintSyFromToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
115
116
  "multicall((bool,bytes)[])": FunctionFragment;
116
- "multicallRevert(uint256,(bool,bytes)[])": FunctionFragment;
117
+ "multicallRevert(uint256,bytes[])": FunctionFragment;
117
118
  "redeemDueInterestAndRewards(address,address[],address[],address[])": FunctionFragment;
118
119
  "redeemPyToSy(address,address,uint256,uint256)": FunctionFragment;
119
120
  "redeemPyToToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
@@ -127,7 +128,11 @@ export interface ActionMiscInterface extends utils.Interface {
127
128
  ): string;
128
129
  encodeFunctionData(
129
130
  functionFragment: "callThenRevert",
130
- values: [string, BytesLike]
131
+ values: [BytesLike]
132
+ ): string;
133
+ encodeFunctionData(
134
+ functionFragment: "marketsBoost",
135
+ values: [string[]]
131
136
  ): string;
132
137
  encodeFunctionData(
133
138
  functionFragment: "mintPyFromSy",
@@ -147,7 +152,7 @@ export interface ActionMiscInterface extends utils.Interface {
147
152
  ): string;
148
153
  encodeFunctionData(
149
154
  functionFragment: "multicallRevert",
150
- values: [BigNumberish, IPActionMisc.Call3Struct[]]
155
+ values: [BigNumberish, BytesLike[]]
151
156
  ): string;
152
157
  encodeFunctionData(
153
158
  functionFragment: "redeemDueInterestAndRewards",
@@ -175,6 +180,10 @@ export interface ActionMiscInterface extends utils.Interface {
175
180
  functionFragment: "callThenRevert",
176
181
  data: BytesLike
177
182
  ): Result;
183
+ decodeFunctionResult(
184
+ functionFragment: "marketsBoost",
185
+ data: BytesLike
186
+ ): Result;
178
187
  decodeFunctionResult(
179
188
  functionFragment: "mintPyFromSy",
180
189
  data: BytesLike
@@ -346,11 +355,15 @@ export interface ActionMisc extends BaseContract {
346
355
  ): Promise<ContractTransaction>;
347
356
 
348
357
  callThenRevert(
349
- target: string,
350
358
  callData: BytesLike,
351
359
  overrides?: PayableOverrides & { from?: string | Promise<string> }
352
360
  ): Promise<ContractTransaction>;
353
361
 
362
+ marketsBoost(
363
+ markets: string[],
364
+ overrides?: Overrides & { from?: string | Promise<string> }
365
+ ): Promise<ContractTransaction>;
366
+
354
367
  mintPyFromSy(
355
368
  receiver: string,
356
369
  YT: string,
@@ -382,7 +395,7 @@ export interface ActionMisc extends BaseContract {
382
395
 
383
396
  multicallRevert(
384
397
  gasLimit: BigNumberish,
385
- calls: IPActionMisc.Call3Struct[],
398
+ callDatas: BytesLike[],
386
399
  overrides?: PayableOverrides & { from?: string | Promise<string> }
387
400
  ): Promise<ContractTransaction>;
388
401
 
@@ -432,11 +445,15 @@ export interface ActionMisc extends BaseContract {
432
445
  ): Promise<ContractTransaction>;
433
446
 
434
447
  callThenRevert(
435
- target: string,
436
448
  callData: BytesLike,
437
449
  overrides?: PayableOverrides & { from?: string | Promise<string> }
438
450
  ): Promise<ContractTransaction>;
439
451
 
452
+ marketsBoost(
453
+ markets: string[],
454
+ overrides?: Overrides & { from?: string | Promise<string> }
455
+ ): Promise<ContractTransaction>;
456
+
440
457
  mintPyFromSy(
441
458
  receiver: string,
442
459
  YT: string,
@@ -468,7 +485,7 @@ export interface ActionMisc extends BaseContract {
468
485
 
469
486
  multicallRevert(
470
487
  gasLimit: BigNumberish,
471
- calls: IPActionMisc.Call3Struct[],
488
+ callDatas: BytesLike[],
472
489
  overrides?: PayableOverrides & { from?: string | Promise<string> }
473
490
  ): Promise<ContractTransaction>;
474
491
 
@@ -518,11 +535,12 @@ export interface ActionMisc extends BaseContract {
518
535
  ): Promise<void>;
519
536
 
520
537
  callThenRevert(
521
- target: string,
522
538
  callData: BytesLike,
523
539
  overrides?: CallOverrides
524
540
  ): Promise<void>;
525
541
 
542
+ marketsBoost(markets: string[], overrides?: CallOverrides): Promise<void>;
543
+
526
544
  mintPyFromSy(
527
545
  receiver: string,
528
546
  YT: string,
@@ -554,7 +572,7 @@ export interface ActionMisc extends BaseContract {
554
572
 
555
573
  multicallRevert(
556
574
  gasLimit: BigNumberish,
557
- calls: IPActionMisc.Call3Struct[],
575
+ callDatas: BytesLike[],
558
576
  overrides?: CallOverrides
559
577
  ): Promise<
560
578
  [string[], BigNumber[]] & { res: string[]; gasUsed: BigNumber[] }
@@ -707,11 +725,15 @@ export interface ActionMisc extends BaseContract {
707
725
  ): Promise<BigNumber>;
708
726
 
709
727
  callThenRevert(
710
- target: string,
711
728
  callData: BytesLike,
712
729
  overrides?: PayableOverrides & { from?: string | Promise<string> }
713
730
  ): Promise<BigNumber>;
714
731
 
732
+ marketsBoost(
733
+ markets: string[],
734
+ overrides?: Overrides & { from?: string | Promise<string> }
735
+ ): Promise<BigNumber>;
736
+
715
737
  mintPyFromSy(
716
738
  receiver: string,
717
739
  YT: string,
@@ -743,7 +765,7 @@ export interface ActionMisc extends BaseContract {
743
765
 
744
766
  multicallRevert(
745
767
  gasLimit: BigNumberish,
746
- calls: IPActionMisc.Call3Struct[],
768
+ callDatas: BytesLike[],
747
769
  overrides?: PayableOverrides & { from?: string | Promise<string> }
748
770
  ): Promise<BigNumber>;
749
771
 
@@ -794,11 +816,15 @@ export interface ActionMisc extends BaseContract {
794
816
  ): Promise<PopulatedTransaction>;
795
817
 
796
818
  callThenRevert(
797
- target: string,
798
819
  callData: BytesLike,
799
820
  overrides?: PayableOverrides & { from?: string | Promise<string> }
800
821
  ): Promise<PopulatedTransaction>;
801
822
 
823
+ marketsBoost(
824
+ markets: string[],
825
+ overrides?: Overrides & { from?: string | Promise<string> }
826
+ ): Promise<PopulatedTransaction>;
827
+
802
828
  mintPyFromSy(
803
829
  receiver: string,
804
830
  YT: string,
@@ -830,7 +856,7 @@ export interface ActionMisc extends BaseContract {
830
856
 
831
857
  multicallRevert(
832
858
  gasLimit: BigNumberish,
833
- calls: IPActionMisc.Call3Struct[],
859
+ callDatas: BytesLike[],
834
860
  overrides?: PayableOverrides & { from?: string | Promise<string> }
835
861
  ): Promise<PopulatedTransaction>;
836
862
 
@@ -34,6 +34,7 @@ export type OrderStruct = {
34
34
  receiver: string;
35
35
  makingAmount: BigNumberish;
36
36
  lnImpliedRate: BigNumberish;
37
+ failSafeRate: BigNumberish;
37
38
  permit: BytesLike;
38
39
  };
39
40
 
@@ -48,6 +49,7 @@ export type OrderStructOutput = [
48
49
  string,
49
50
  BigNumber,
50
51
  BigNumber,
52
+ BigNumber,
51
53
  string
52
54
  ] & {
53
55
  salt: BigNumber;
@@ -60,6 +62,7 @@ export type OrderStructOutput = [
60
62
  receiver: string;
61
63
  makingAmount: BigNumber;
62
64
  lnImpliedRate: BigNumber;
65
+ failSafeRate: BigNumber;
63
66
  permit: string;
64
67
  };
65
68
 
@@ -177,10 +180,10 @@ export type TokenInputStructOutput = [
177
180
  export interface ActionSwapPTInterface extends utils.Interface {
178
181
  contractName: "ActionSwapPT";
179
182
  functions: {
180
- "swapExactPtForSy(address,address,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
181
- "swapExactPtForToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
182
- "swapExactSyForPt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
183
- "swapExactTokenForPt(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
183
+ "swapExactPtForSy(address,address,uint256,uint256,(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
184
+ "swapExactPtForToken(address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
185
+ "swapExactSyForPt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
186
+ "swapExactTokenForPt(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,(uint8,address,bytes,bool)),(address,uint256,((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[],((uint256,uint256,uint256,uint8,address,address,address,address,uint256,uint256,uint256,bytes),bytes,uint256)[]))": FunctionFragment;
184
187
  };
185
188
 
186
189
  encodeFunctionData(