@pendle/core-v2 0.11.2-testnet → 0.11.3-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 (255) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +2 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +1 -1
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.json +2 -2
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  23. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  32. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +14 -62
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +12 -192
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +8 -51
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  49. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  55. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  57. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  59. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +173 -2
  61. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +2 -2
  63. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  65. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  67. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +171 -0
  82. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +171 -0
  87. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +19 -0
  89. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +19 -0
  94. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -124
  100. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +0 -86
  102. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  119. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  123. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  125. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  126. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  127. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  128. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  129. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  130. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  131. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  132. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  133. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  134. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  135. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  136. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  138. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  139. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  140. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  141. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  142. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  143. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  144. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +2 -2
  145. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  146. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  147. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +1 -1
  148. package/contracts/core/LiquidityMining/PendleGauge.sol +1 -1
  149. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +1 -2
  150. package/contracts/core/Market/PendleMarketFactory.sol +11 -16
  151. package/contracts/core/PendleRouter.sol +1 -3
  152. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +1 -1
  153. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +5 -5
  154. package/contracts/core/actions/ActionMintRedeem.sol +141 -0
  155. package/contracts/core/actions/base/ActionBaseMintRedeem.sol +0 -1
  156. package/contracts/interfaces/IPActionMintRedeem.sol +43 -0
  157. package/contracts/interfaces/IPGaugeController.sol +1 -1
  158. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  159. package/contracts/interfaces/ISJoe.sol +3 -6
  160. package/contracts/libraries/helpers/PYIndex.sol +9 -0
  161. package/contracts/libraries/helpers/TokenHelper.sol +33 -24
  162. package/contracts/libraries/kyberswap/AggregationRouterHelper.sol +308 -0
  163. package/contracts/libraries/kyberswap/IMultihopRouter.sol +139 -0
  164. package/contracts/libraries/kyberswap/KyberSwapHelper.sol +7 -1
  165. package/contracts/libraries/math/MarketMathCore.sol +3 -1
  166. package/contracts/offchain-helpers/RouterStatic.sol +5 -5
  167. package/contracts/offchain-helpers/SSTORE2DeployerContract.sol +21 -0
  168. package/contracts/periphery/BoringOwnableUpgradeable.sol +2 -2
  169. package/deployments/43113-core.json +1 -1
  170. package/package.json +4 -5
  171. package/typechain-types/ActionMintRedeem.ts +172 -0
  172. package/typechain-types/AggregationRouterHelper.ts +108 -0
  173. package/typechain-types/ERC1967Upgrade.ts +97 -0
  174. package/typechain-types/EpochResultManager.ts +261 -0
  175. package/typechain-types/FeeDistributorVePendle.ts +3 -224
  176. package/typechain-types/IBeacon.ts +87 -0
  177. package/typechain-types/IBoringOwnableUpgradeable.ts +114 -0
  178. package/typechain-types/IERC1822Proxiable.ts +87 -0
  179. package/typechain-types/IMultihopRouter.ts +209 -0
  180. package/typechain-types/IPActionMintRedeem.ts +172 -0
  181. package/typechain-types/IPAllAction.ts +172 -0
  182. package/typechain-types/IPFeeDistributor.ts +24 -81
  183. package/typechain-types/IPFeeDistributorFactory.ts +187 -0
  184. package/typechain-types/IPGauge.ts +25 -0
  185. package/typechain-types/IPMarket.ts +25 -0
  186. package/typechain-types/IPVotingController.ts +7 -205
  187. package/typechain-types/IPVotingEscrow.ts +0 -117
  188. package/typechain-types/PendleFeeDistributor.ts +483 -0
  189. package/typechain-types/PendleFeeDistributorFactory.ts +466 -0
  190. package/typechain-types/PendleVotingControllerUpg.ts +24 -73
  191. package/typechain-types/SSTORE2DeployerContract.ts +242 -0
  192. package/typechain-types/VotingControllerStorageUpg.ts +27 -207
  193. package/typechain-types/VotingEscrowPendleMainchain.ts +13 -57
  194. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  195. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  196. package/typechain-types/factories/ActionMintRedeem__factory.ts +172 -1
  197. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  198. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  199. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  200. package/typechain-types/factories/AggregationRouterHelper__factory.ts +92 -0
  201. package/typechain-types/factories/ERC1967Upgrade__factory.ts +71 -0
  202. package/typechain-types/factories/EpochResultManager__factory.ts +146 -0
  203. package/typechain-types/factories/FeeDistributorVePendle__factory.ts +1 -154
  204. package/typechain-types/factories/IBeacon__factory.ts +36 -0
  205. package/typechain-types/factories/IBoringOwnableUpgradeable__factory.ts +53 -0
  206. package/typechain-types/factories/IERC1822Proxiable__factory.ts +39 -0
  207. package/typechain-types/factories/IMultihopRouter__factory.ts +151 -0
  208. package/typechain-types/factories/IPActionMintRedeem__factory.ts +171 -0
  209. package/typechain-types/factories/IPAllAction__factory.ts +171 -0
  210. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +95 -0
  211. package/typechain-types/factories/IPFeeDistributor__factory.ts +8 -42
  212. package/typechain-types/factories/IPGauge__factory.ts +19 -0
  213. package/typechain-types/factories/IPMarket__factory.ts +19 -0
  214. package/typechain-types/factories/IPVotingController__factory.ts +0 -124
  215. package/typechain-types/factories/IPVotingEscrow__factory.ts +0 -86
  216. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  217. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  218. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  219. package/typechain-types/factories/PendleEulerSCY__factory.ts +1 -1
  220. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +355 -0
  221. package/typechain-types/factories/PendleFeeDistributor__factory.ts +390 -0
  222. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  223. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  224. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  225. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  226. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  227. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  229. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  230. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  231. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  232. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +13 -61
  233. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  234. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  235. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  236. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  237. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  238. package/typechain-types/factories/SSTORE2DeployerContract__factory.ts +191 -0
  239. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +12 -192
  240. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +7 -50
  241. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  242. package/typechain-types/hardhat.d.ts +36 -54
  243. package/typechain-types/index.ts +6 -12
  244. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/FeeDistributorVePendle.sol/FeeDistributorVePendle.dbg.json +0 -4
  245. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/FeeDistributorVePendle.sol/FeeDistributorVePendle.json +0 -188
  246. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorAbstract.sol/PendleFeeDistributorAbstract.dbg.json +0 -4
  247. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorAbstract.sol/PendleFeeDistributorAbstract.json +0 -164
  248. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVoting.sol/PendleFeeDistributorVoting.dbg.json +0 -4
  249. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVoting.sol/PendleFeeDistributorVoting.json +0 -206
  250. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVotingFactory.sol/PendleFeeDistributorVotingFactory.dbg.json +0 -4
  251. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVotingFactory.sol/PendleFeeDistributorVotingFactory.json +0 -149
  252. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +0 -4
  253. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +0 -151
  254. package/contracts/periphery/PendleGovernanceManager.sol +0 -38
  255. package/contracts/periphery/PermissionsV2Upg.sol +0 -29
@@ -0,0 +1,139 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity >=0.7.6;
4
+
5
+ pragma abicoder v2;
6
+
7
+ interface IMultihopRouter {
8
+ enum DexType {
9
+ UNI,
10
+ STABLESWAP,
11
+ CURVE,
12
+ KYBERDMM,
13
+ SADDLE,
14
+ UNIV3PROMM,
15
+ BALANCERV2,
16
+ KYBERRFQ,
17
+ DODO,
18
+ VELODROME,
19
+ PLATYPUS
20
+ }
21
+
22
+ event Exchange(address pair, uint256 amountOut, address output);
23
+ struct Swap {
24
+ bytes data;
25
+ //dexType:
26
+ // 0: uni
27
+ // 1: stable swap
28
+ // 2: curve
29
+ // 3: kyber dmm
30
+ // 4: saddle
31
+ // 5: univ3 or kyber ProMM
32
+ // 6: balancerv2
33
+ // 7: kyber RFQ
34
+ // 8: dodo
35
+ // 9: velodrome
36
+ // 10: platypus
37
+ //dexId:
38
+ // 0: firebird
39
+ uint16 dexOption; //dexType(8bit) + dexId(8bit)
40
+ }
41
+
42
+ struct UniSwap {
43
+ address pool;
44
+ address tokenIn;
45
+ address tokenOut;
46
+ address recipient;
47
+ uint256 collectAmount; // amount that should be transferred to the pool
48
+ uint256 limitReturnAmount;
49
+ }
50
+
51
+ struct StableSwap {
52
+ address pool;
53
+ address tokenFrom;
54
+ address tokenTo;
55
+ uint8 tokenIndexFrom;
56
+ uint8 tokenIndexTo;
57
+ uint256 dx;
58
+ uint256 minDy;
59
+ uint256 poolLength;
60
+ address poolLp;
61
+ }
62
+
63
+ struct CurveSwap {
64
+ address pool;
65
+ address tokenFrom;
66
+ address tokenTo;
67
+ int128 tokenIndexFrom;
68
+ int128 tokenIndexTo;
69
+ uint256 dx;
70
+ uint256 minDy;
71
+ bool usePoolUnderlying;
72
+ bool useTriCrypto;
73
+ }
74
+
75
+ struct UniSwapV3ProMM {
76
+ address recipient;
77
+ address pool;
78
+ address tokenIn;
79
+ address tokenOut;
80
+ uint256 swapAmount;
81
+ uint256 limitReturnAmount;
82
+ uint160 sqrtPriceLimitX96;
83
+ bool isUniV3; // true = UniV3, false = ProMM
84
+ }
85
+ struct SwapCallbackData {
86
+ bytes path;
87
+ address payer;
88
+ }
89
+ struct SwapCallbackDataPath {
90
+ address pool;
91
+ address tokenIn;
92
+ address tokenOut;
93
+ }
94
+
95
+ struct BalancerV2 {
96
+ address vault;
97
+ bytes32 poolId;
98
+ address assetIn;
99
+ address assetOut;
100
+ uint256 amount;
101
+ uint256 limit;
102
+ }
103
+
104
+ struct KyberRFQ {
105
+ address rfq;
106
+ bytes order;
107
+ bytes signature;
108
+ uint256 amount;
109
+ address payable target;
110
+ }
111
+
112
+ struct DODO {
113
+ address recipient;
114
+ address pool;
115
+ address tokenFrom;
116
+ address tokenTo;
117
+ uint256 amount;
118
+ uint256 minReceiveQuote;
119
+ address sellHelper;
120
+ bool isSellBase;
121
+ bool isVersion2;
122
+ }
123
+
124
+ function factory() external view returns (address);
125
+
126
+ function formula() external view returns (address);
127
+
128
+ function WETH() external view returns (address);
129
+
130
+ function multihopBatchSwapExactIn(
131
+ Swap[][] memory swapSequences,
132
+ address tokenIn,
133
+ address tokenOut,
134
+ uint256 minTotalAmountOut,
135
+ address to,
136
+ uint256 deadline,
137
+ bytes memory destTokenFeeData
138
+ ) external payable returns (uint256 totalAmountOut);
139
+ }
@@ -26,6 +26,7 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
26
26
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
27
27
  import "@openzeppelin/contracts/utils/Address.sol";
28
28
  import "../helpers/TokenHelper.sol";
29
+ import "./AggregationRouterHelper.sol";
29
30
 
30
31
  struct TokenInput {
31
32
  address tokenIn;
@@ -53,9 +54,14 @@ abstract contract KyberSwapHelper is TokenHelper {
53
54
  function _kyberswap(
54
55
  address tokenIn,
55
56
  uint256 amountIn,
56
- bytes calldata kybercall
57
+ bytes memory rawKybercall
57
58
  ) internal {
58
59
  _safeApproveInf(tokenIn, kyberSwapRouter);
60
+
61
+ bytes memory kybercall = AggregationRouterHelper.getScaledInputData(
62
+ rawKybercall,
63
+ amountIn
64
+ );
59
65
  kyberSwapRouter.functionCallWithValue(kybercall, tokenIn == NATIVE ? amountIn : 0);
60
66
  }
61
67
  }
@@ -234,7 +234,9 @@ library MarketMathCore {
234
234
  netPtToAccount
235
235
  );
236
236
 
237
- netScyToAccount = index.assetToScy(netAssetToAccount);
237
+ netScyToAccount = netAssetToAccount < 0
238
+ ? index.assetToScyUp(netAssetToAccount)
239
+ : index.assetToScy(netAssetToAccount);
238
240
  netScyToReserve = index.assetToScy(netAssetToReserve);
239
241
 
240
242
  /// ------------------------------------------------------------
@@ -4,12 +4,12 @@ pragma solidity 0.8.15;
4
4
  import "../interfaces/IPYieldContractFactory.sol";
5
5
  import "../interfaces/IPMarketFactory.sol";
6
6
  import "./MarketMathStatic.sol";
7
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
8
- import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
9
- import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
7
+ import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
8
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
9
+ import "../periphery/BoringOwnableUpgradeable.sol";
10
10
 
11
11
  /// EXCLUDED FROM ALL AUDITS, TO BE CALLED ONLY BY PENDLE's SDK
12
- contract RouterStatic is OwnableUpgradeable, UUPSUpgradeable {
12
+ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeable {
13
13
  using Math for uint256;
14
14
 
15
15
  struct TokenAmount {
@@ -56,7 +56,7 @@ contract RouterStatic is OwnableUpgradeable, UUPSUpgradeable {
56
56
  }
57
57
 
58
58
  function initialize() external initializer {
59
- __Ownable_init();
59
+ __BoringOwnable_init();
60
60
  }
61
61
 
62
62
  function getDefaultApproxParams() public pure returns (ApproxParams memory) {
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+ import "../libraries/helpers/SSTORE2Deployer.sol";
4
+ import "../periphery/BoringOwnableUpgradeable.sol";
5
+
6
+ contract SSTORE2DeployerContract is BoringOwnableUpgradeable {
7
+ event Deployed(string name, address addr);
8
+
9
+ constructor() initializer {
10
+ __BoringOwnable_init();
11
+ }
12
+
13
+ function deploy(string memory name, bytes calldata creationCode)
14
+ external
15
+ onlyOwner
16
+ returns (address res)
17
+ {
18
+ res = SSTORE2Deployer.setCreationCode(creationCode);
19
+ emit Deployed(name, res);
20
+ }
21
+ }
@@ -1,14 +1,14 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity 0.8.15;
3
3
 
4
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
4
+ import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
5
5
 
6
6
  contract BoringOwnableUpgradeableData {
7
7
  address public owner;
8
8
  address public pendingOwner;
9
9
  }
10
10
 
11
- contract BoringOwnableUpgradeable is BoringOwnableUpgradeableData, Initializable {
11
+ abstract contract BoringOwnableUpgradeable is BoringOwnableUpgradeableData, Initializable {
12
12
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
13
13
 
14
14
  function __BoringOwnable_init() internal onlyInitializing {
@@ -7,7 +7,7 @@
7
7
  "yieldContractFactory": "0x38E5A1D591553b5FF18b151B587745a4A9B206d2",
8
8
  "marketFactory": "0xE646E5425fD448b2f9dDF6de12383CcF5275143B",
9
9
  "router": "0xa4C21f51DE870a283f362A7331f0C4f8288c3e41",
10
- "routerStatic": "0xc875e3b8aED24cc54C4750D790036D631F6cacbD",
10
+ "routerStatic": "0x7d8Cd904F0b7d06fB846110817bA3519bf76381a",
11
11
  "startTime": 1657756800,
12
12
  "vePendle": "0x3AE0fee115057cCF8A0B5255751027C26D83B912",
13
13
  "votingController": "0x76815E13679C7F18a406f5BA94E352E656BeE378",
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.11.2-testnet",
5
+ "version": "0.11.3-testnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -25,7 +25,7 @@
25
25
  "devDependencies": {
26
26
  "@typechain/ethers-v5": "^9.0.0",
27
27
  "@typechain/hardhat": "^4.0.0",
28
- "hardhat": "^2.10.2",
28
+ "hardhat": "^2.11.0",
29
29
  "hardhat-contract-sizer": "^2.6.1",
30
30
  "hardhat-storage-layout-diff": "^0.0.4",
31
31
  "prettier": "^2.7.1",
@@ -34,7 +34,7 @@
34
34
  "solhint": "^3.3.7",
35
35
  "ts-node": "^10.9.1",
36
36
  "typechain": "^8.1.0",
37
- "typescript": "^4.7.4"
37
+ "typescript": "^4.8.2"
38
38
  },
39
39
  "scripts": {
40
40
  "compile": "yarn hardhat compile",
@@ -44,7 +44,6 @@
44
44
  },
45
45
  "packageManager": "yarn@3.2.2",
46
46
  "dependencies": {
47
- "@openzeppelin/contracts": "^4.5.0",
48
- "@openzeppelin/contracts-upgradeable": "^4.5.2"
47
+ "@openzeppelin/contracts": "^4.5.0"
49
48
  }
50
49
  }
@@ -51,6 +51,32 @@ export type TokenOutputStructOutput = [string, BigNumber, string, string] & {
51
51
  kybercall: string;
52
52
  };
53
53
 
54
+ export declare namespace IPActionMintRedeem {
55
+ export type RouterYtRedeemStructStruct = {
56
+ yts: string[];
57
+ scyAddrs: string[];
58
+ tokenRedeemScys: string[];
59
+ };
60
+
61
+ export type RouterYtRedeemStructStructOutput = [
62
+ string[],
63
+ string[],
64
+ string[]
65
+ ] & { yts: string[]; scyAddrs: string[]; tokenRedeemScys: string[] };
66
+
67
+ export type RouterSwapAllStructStruct = {
68
+ tokens: string[];
69
+ kybercalls: BytesLike[];
70
+ outputToken: string;
71
+ };
72
+
73
+ export type RouterSwapAllStructStructOutput = [string[], string[], string] & {
74
+ tokens: string[];
75
+ kybercalls: string[];
76
+ outputToken: string;
77
+ };
78
+ }
79
+
54
80
  export interface ActionMintRedeemInterface extends utils.Interface {
55
81
  contractName: "ActionMintRedeem";
56
82
  functions: {
@@ -59,6 +85,7 @@ export interface ActionMintRedeemInterface extends utils.Interface {
59
85
  "mintPyFromToken(address,address,uint256,(address,uint256,address,bytes))": FunctionFragment;
60
86
  "mintScyFromToken(address,address,uint256,(address,uint256,address,bytes))": FunctionFragment;
61
87
  "redeemDueInterestAndRewards(address,address[],address[],address[])": FunctionFragment;
88
+ "redeemDueInterestAndRewardsThenSwapAll(address[],(address[],address[],address[]),address[],(address[],bytes[],address))": FunctionFragment;
62
89
  "redeemPyToScy(address,address,uint256,uint256)": FunctionFragment;
63
90
  "redeemPyToToken(address,address,uint256,(address,uint256,address,bytes))": FunctionFragment;
64
91
  "redeemScyToToken(address,address,uint256,(address,uint256,address,bytes))": FunctionFragment;
@@ -84,6 +111,15 @@ export interface ActionMintRedeemInterface extends utils.Interface {
84
111
  functionFragment: "redeemDueInterestAndRewards",
85
112
  values: [string, string[], string[], string[]]
86
113
  ): string;
114
+ encodeFunctionData(
115
+ functionFragment: "redeemDueInterestAndRewardsThenSwapAll",
116
+ values: [
117
+ string[],
118
+ IPActionMintRedeem.RouterYtRedeemStructStruct,
119
+ string[],
120
+ IPActionMintRedeem.RouterSwapAllStructStruct
121
+ ]
122
+ ): string;
87
123
  encodeFunctionData(
88
124
  functionFragment: "redeemPyToScy",
89
125
  values: [string, string, BigNumberish, BigNumberish]
@@ -117,6 +153,10 @@ export interface ActionMintRedeemInterface extends utils.Interface {
117
153
  functionFragment: "redeemDueInterestAndRewards",
118
154
  data: BytesLike
119
155
  ): Result;
156
+ decodeFunctionResult(
157
+ functionFragment: "redeemDueInterestAndRewardsThenSwapAll",
158
+ data: BytesLike
159
+ ): Result;
120
160
  decodeFunctionResult(
121
161
  functionFragment: "redeemPyToScy",
122
162
  data: BytesLike
@@ -134,6 +174,8 @@ export interface ActionMintRedeemInterface extends utils.Interface {
134
174
  "MintPyFromScy(address,address,address,uint256,uint256)": EventFragment;
135
175
  "MintPyFromToken(address,address,address,address,uint256,uint256)": EventFragment;
136
176
  "MintScyFromToken(address,address,address,address,uint256,uint256)": EventFragment;
177
+ "RedeemDueInterestAndRewards(address,address[],address[],address[],uint256[][],uint256[],uint256[][],uint256[][])": EventFragment;
178
+ "RedeemDueInterestAndRewardsThenSwapAll(address,address[],address[],address[],address,uint256)": EventFragment;
137
179
  "RedeemPyToScy(address,address,address,uint256,uint256)": EventFragment;
138
180
  "RedeemPyToToken(address,address,address,uint256,address,uint256)": EventFragment;
139
181
  "RedeemScyToToken(address,address,address,uint256,address,uint256)": EventFragment;
@@ -142,6 +184,12 @@ export interface ActionMintRedeemInterface extends utils.Interface {
142
184
  getEvent(nameOrSignatureOrTopic: "MintPyFromScy"): EventFragment;
143
185
  getEvent(nameOrSignatureOrTopic: "MintPyFromToken"): EventFragment;
144
186
  getEvent(nameOrSignatureOrTopic: "MintScyFromToken"): EventFragment;
187
+ getEvent(
188
+ nameOrSignatureOrTopic: "RedeemDueInterestAndRewards"
189
+ ): EventFragment;
190
+ getEvent(
191
+ nameOrSignatureOrTopic: "RedeemDueInterestAndRewardsThenSwapAll"
192
+ ): EventFragment;
145
193
  getEvent(nameOrSignatureOrTopic: "RedeemPyToScy"): EventFragment;
146
194
  getEvent(nameOrSignatureOrTopic: "RedeemPyToToken"): EventFragment;
147
195
  getEvent(nameOrSignatureOrTopic: "RedeemScyToToken"): EventFragment;
@@ -189,6 +237,47 @@ export type MintScyFromTokenEvent = TypedEvent<
189
237
  export type MintScyFromTokenEventFilter =
190
238
  TypedEventFilter<MintScyFromTokenEvent>;
191
239
 
240
+ export type RedeemDueInterestAndRewardsEvent = TypedEvent<
241
+ [
242
+ string,
243
+ string[],
244
+ string[],
245
+ string[],
246
+ BigNumber[][],
247
+ BigNumber[],
248
+ BigNumber[][],
249
+ BigNumber[][]
250
+ ],
251
+ {
252
+ user: string;
253
+ scys: string[];
254
+ yts: string[];
255
+ markets: string[];
256
+ scyRewards: BigNumber[][];
257
+ ytInterests: BigNumber[];
258
+ ytRewards: BigNumber[][];
259
+ marketRewards: BigNumber[][];
260
+ }
261
+ >;
262
+
263
+ export type RedeemDueInterestAndRewardsEventFilter =
264
+ TypedEventFilter<RedeemDueInterestAndRewardsEvent>;
265
+
266
+ export type RedeemDueInterestAndRewardsThenSwapAllEvent = TypedEvent<
267
+ [string, string[], string[], string[], string, BigNumber],
268
+ {
269
+ user: string;
270
+ scys: string[];
271
+ yts: string[];
272
+ markets: string[];
273
+ tokenOut: string;
274
+ netTokenOut: BigNumber;
275
+ }
276
+ >;
277
+
278
+ export type RedeemDueInterestAndRewardsThenSwapAllEventFilter =
279
+ TypedEventFilter<RedeemDueInterestAndRewardsThenSwapAllEvent>;
280
+
192
281
  export type RedeemPyToScyEvent = TypedEvent<
193
282
  [string, string, string, BigNumber, BigNumber],
194
283
  {
@@ -293,6 +382,14 @@ export interface ActionMintRedeem extends BaseContract {
293
382
  overrides?: Overrides & { from?: string | Promise<string> }
294
383
  ): Promise<ContractTransaction>;
295
384
 
385
+ redeemDueInterestAndRewardsThenSwapAll(
386
+ scys: string[],
387
+ dataYT: IPActionMintRedeem.RouterYtRedeemStructStruct,
388
+ markets: string[],
389
+ dataSwap: IPActionMintRedeem.RouterSwapAllStructStruct,
390
+ overrides?: Overrides & { from?: string | Promise<string> }
391
+ ): Promise<ContractTransaction>;
392
+
296
393
  redeemPyToScy(
297
394
  receiver: string,
298
395
  YT: string,
@@ -352,6 +449,14 @@ export interface ActionMintRedeem extends BaseContract {
352
449
  overrides?: Overrides & { from?: string | Promise<string> }
353
450
  ): Promise<ContractTransaction>;
354
451
 
452
+ redeemDueInterestAndRewardsThenSwapAll(
453
+ scys: string[],
454
+ dataYT: IPActionMintRedeem.RouterYtRedeemStructStruct,
455
+ markets: string[],
456
+ dataSwap: IPActionMintRedeem.RouterSwapAllStructStruct,
457
+ overrides?: Overrides & { from?: string | Promise<string> }
458
+ ): Promise<ContractTransaction>;
459
+
355
460
  redeemPyToScy(
356
461
  receiver: string,
357
462
  YT: string,
@@ -418,6 +523,19 @@ export interface ActionMintRedeem extends BaseContract {
418
523
  }
419
524
  >;
420
525
 
526
+ redeemDueInterestAndRewardsThenSwapAll(
527
+ scys: string[],
528
+ dataYT: IPActionMintRedeem.RouterYtRedeemStructStruct,
529
+ markets: string[],
530
+ dataSwap: IPActionMintRedeem.RouterSwapAllStructStruct,
531
+ overrides?: CallOverrides
532
+ ): Promise<
533
+ [BigNumber, BigNumber[]] & {
534
+ netTokenOut: BigNumber;
535
+ amountsSwapped: BigNumber[];
536
+ }
537
+ >;
538
+
421
539
  redeemPyToScy(
422
540
  receiver: string,
423
541
  YT: string,
@@ -493,6 +611,44 @@ export interface ActionMintRedeem extends BaseContract {
493
611
  netScyOut?: null
494
612
  ): MintScyFromTokenEventFilter;
495
613
 
614
+ "RedeemDueInterestAndRewards(address,address[],address[],address[],uint256[][],uint256[],uint256[][],uint256[][])"(
615
+ user?: string | null,
616
+ scys?: null,
617
+ yts?: null,
618
+ markets?: null,
619
+ scyRewards?: null,
620
+ ytInterests?: null,
621
+ ytRewards?: null,
622
+ marketRewards?: null
623
+ ): RedeemDueInterestAndRewardsEventFilter;
624
+ RedeemDueInterestAndRewards(
625
+ user?: string | null,
626
+ scys?: null,
627
+ yts?: null,
628
+ markets?: null,
629
+ scyRewards?: null,
630
+ ytInterests?: null,
631
+ ytRewards?: null,
632
+ marketRewards?: null
633
+ ): RedeemDueInterestAndRewardsEventFilter;
634
+
635
+ "RedeemDueInterestAndRewardsThenSwapAll(address,address[],address[],address[],address,uint256)"(
636
+ user?: string | null,
637
+ scys?: null,
638
+ yts?: null,
639
+ markets?: null,
640
+ tokenOut?: string | null,
641
+ netTokenOut?: null
642
+ ): RedeemDueInterestAndRewardsThenSwapAllEventFilter;
643
+ RedeemDueInterestAndRewardsThenSwapAll(
644
+ user?: string | null,
645
+ scys?: null,
646
+ yts?: null,
647
+ markets?: null,
648
+ tokenOut?: string | null,
649
+ netTokenOut?: null
650
+ ): RedeemDueInterestAndRewardsThenSwapAllEventFilter;
651
+
496
652
  "RedeemPyToScy(address,address,address,uint256,uint256)"(
497
653
  caller?: string | null,
498
654
  receiver?: string | null,
@@ -578,6 +734,14 @@ export interface ActionMintRedeem extends BaseContract {
578
734
  overrides?: Overrides & { from?: string | Promise<string> }
579
735
  ): Promise<BigNumber>;
580
736
 
737
+ redeemDueInterestAndRewardsThenSwapAll(
738
+ scys: string[],
739
+ dataYT: IPActionMintRedeem.RouterYtRedeemStructStruct,
740
+ markets: string[],
741
+ dataSwap: IPActionMintRedeem.RouterSwapAllStructStruct,
742
+ overrides?: Overrides & { from?: string | Promise<string> }
743
+ ): Promise<BigNumber>;
744
+
581
745
  redeemPyToScy(
582
746
  receiver: string,
583
747
  YT: string,
@@ -638,6 +802,14 @@ export interface ActionMintRedeem extends BaseContract {
638
802
  overrides?: Overrides & { from?: string | Promise<string> }
639
803
  ): Promise<PopulatedTransaction>;
640
804
 
805
+ redeemDueInterestAndRewardsThenSwapAll(
806
+ scys: string[],
807
+ dataYT: IPActionMintRedeem.RouterYtRedeemStructStruct,
808
+ markets: string[],
809
+ dataSwap: IPActionMintRedeem.RouterSwapAllStructStruct,
810
+ overrides?: Overrides & { from?: string | Promise<string> }
811
+ ): Promise<PopulatedTransaction>;
812
+
641
813
  redeemPyToScy(
642
814
  receiver: string,
643
815
  YT: string,
@@ -0,0 +1,108 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ PopulatedTransaction,
11
+ Signer,
12
+ utils,
13
+ } from "ethers";
14
+ import { FunctionFragment, Result } from "@ethersproject/abi";
15
+ import { Listener, Provider } from "@ethersproject/providers";
16
+ import type {
17
+ TypedEventFilter,
18
+ TypedEvent,
19
+ TypedListener,
20
+ OnEvent,
21
+ } from "./common";
22
+
23
+ export interface AggregationRouterHelperInterface extends utils.Interface {
24
+ contractName: "AggregationRouterHelper";
25
+ functions: {
26
+ "getScaledInputData(bytes,uint256)": FunctionFragment;
27
+ };
28
+
29
+ encodeFunctionData(
30
+ functionFragment: "getScaledInputData",
31
+ values: [BytesLike, BigNumberish]
32
+ ): string;
33
+
34
+ decodeFunctionResult(
35
+ functionFragment: "getScaledInputData",
36
+ data: BytesLike
37
+ ): Result;
38
+
39
+ events: {};
40
+ }
41
+
42
+ export interface AggregationRouterHelper extends BaseContract {
43
+ contractName: "AggregationRouterHelper";
44
+ connect(signerOrProvider: Signer | Provider | string): this;
45
+ attach(addressOrName: string): this;
46
+ deployed(): Promise<this>;
47
+
48
+ interface: AggregationRouterHelperInterface;
49
+
50
+ queryFilter<TEvent extends TypedEvent>(
51
+ event: TypedEventFilter<TEvent>,
52
+ fromBlockOrBlockhash?: string | number | undefined,
53
+ toBlock?: string | number | undefined
54
+ ): Promise<Array<TEvent>>;
55
+
56
+ listeners<TEvent extends TypedEvent>(
57
+ eventFilter?: TypedEventFilter<TEvent>
58
+ ): Array<TypedListener<TEvent>>;
59
+ listeners(eventName?: string): Array<Listener>;
60
+ removeAllListeners<TEvent extends TypedEvent>(
61
+ eventFilter: TypedEventFilter<TEvent>
62
+ ): this;
63
+ removeAllListeners(eventName?: string): this;
64
+ off: OnEvent<this>;
65
+ on: OnEvent<this>;
66
+ once: OnEvent<this>;
67
+ removeListener: OnEvent<this>;
68
+
69
+ functions: {
70
+ getScaledInputData(
71
+ kybercall: BytesLike,
72
+ newAmount: BigNumberish,
73
+ overrides?: CallOverrides
74
+ ): Promise<[string]>;
75
+ };
76
+
77
+ getScaledInputData(
78
+ kybercall: BytesLike,
79
+ newAmount: BigNumberish,
80
+ overrides?: CallOverrides
81
+ ): Promise<string>;
82
+
83
+ callStatic: {
84
+ getScaledInputData(
85
+ kybercall: BytesLike,
86
+ newAmount: BigNumberish,
87
+ overrides?: CallOverrides
88
+ ): Promise<string>;
89
+ };
90
+
91
+ filters: {};
92
+
93
+ estimateGas: {
94
+ getScaledInputData(
95
+ kybercall: BytesLike,
96
+ newAmount: BigNumberish,
97
+ overrides?: CallOverrides
98
+ ): Promise<BigNumber>;
99
+ };
100
+
101
+ populateTransaction: {
102
+ getScaledInputData(
103
+ kybercall: BytesLike,
104
+ newAmount: BigNumberish,
105
+ overrides?: CallOverrides
106
+ ): Promise<PopulatedTransaction>;
107
+ };
108
+ }