@pendle/core-v2 0.11.11-testnet → 0.12.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +199 -30
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +1030 -0
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +1025 -0
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json +948 -0
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +76 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +140 -25
  15. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.json +138 -23
  17. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +138 -23
  19. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +310 -0
  21. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json → CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json} +18 -85
  23. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +336 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +4 -0
  26. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json → CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json} +8 -21
  27. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json +131 -0
  29. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +297 -0
  31. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +376 -0
  33. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +11 -0
  35. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +29 -2
  37. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +40 -86
  39. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +228 -40
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +232 -12
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +164 -47
  46. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +25 -93
  48. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +222 -9
  51. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +106 -5
  53. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  55. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +13 -2
  57. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +87 -2
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +80 -16
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +164 -2
  64. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +172 -4
  66. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +109 -2
  68. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +57 -4
  70. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +7 -2
  72. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +199 -4
  74. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.json +108 -2
  76. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +146 -4
  78. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +4 -0
  80. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +177 -0
  81. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +4 -0
  82. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.json +78 -0
  83. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.json +24 -0
  85. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +264 -0
  87. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +305 -0
  89. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +4 -0
  90. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +34 -0
  91. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +31 -1
  93. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +30 -0
  96. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +10 -0
  98. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +30 -0
  100. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +101 -1
  102. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +4 -0
  103. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +112 -0
  104. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json +76 -0
  106. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +13 -0
  108. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +4 -0
  109. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +24 -0
  110. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +4 -0
  111. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +63 -0
  112. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +148 -0
  114. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/{IPVotingEscrow.sol/IPVotingEscrow.json → IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.json} +88 -2
  116. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.json +4 -28
  118. package/build/artifacts/contracts/libraries/Errors.sol/Errors.dbg.json +4 -0
  119. package/build/artifacts/contracts/libraries/Errors.sol/Errors.json +886 -0
  120. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +28 -2
  122. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  123. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  125. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  126. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +4 -0
  127. package/build/artifacts/contracts/libraries/{solmate/SSTORE2.sol/SSTORE2.json → VeHistoryLib.sol/CheckpointHelper.json} +4 -4
  128. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  129. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  130. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  131. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  132. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +4 -0
  133. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +45 -0
  134. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +4 -0
  135. package/build/artifacts/contracts/libraries/helpers/{SSTORE2Deployer.sol/SSTORE2Deployer.json → BaseSplitCodeFactory.sol/CodeDeployer.json} +4 -4
  136. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  138. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  139. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  140. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +2 -2
  141. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  144. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  148. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  150. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  152. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +4 -0
  153. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +167 -0
  154. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  155. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +182 -4
  156. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  157. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +126 -79
  158. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +3 -1
  159. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +19 -16
  160. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +135 -0
  161. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +96 -0
  162. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol +215 -0
  163. package/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol +83 -0
  164. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +10 -15
  165. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +30 -43
  166. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +74 -0
  167. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +38 -0
  168. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +83 -0
  169. package/contracts/core/LiquidityMining/{CelerAbstracts/CelerSenderUpg.sol → CrossChainMsg/PendleMsgSenderAppUpg.sol} +12 -13
  170. package/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol +159 -0
  171. package/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +96 -0
  172. package/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +68 -0
  173. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -3
  174. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -2
  175. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +12 -4
  176. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +29 -19
  177. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +27 -19
  178. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +63 -27
  179. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -5
  180. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +2 -2
  181. package/contracts/core/Market/PendleMarket.sol +26 -24
  182. package/contracts/core/Market/PendleMarketFactory.sol +41 -20
  183. package/contracts/core/PendleERC20Permit.sol +84 -0
  184. package/contracts/core/PendleRouter.sol +2 -1
  185. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +8 -7
  186. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +37 -22
  187. package/contracts/core/YieldContracts/PendleYieldToken.sol +106 -35
  188. package/contracts/core/actions/ActionAddRemoveLiq.sol +58 -41
  189. package/contracts/core/actions/ActionCallback.sol +24 -14
  190. package/contracts/core/actions/ActionMintRedeem.sol +11 -5
  191. package/contracts/core/actions/ActionMisc.sol +2 -1
  192. package/contracts/core/actions/ActionSwapPT.sol +38 -19
  193. package/contracts/core/actions/ActionSwapPTYT.sol +7 -6
  194. package/contracts/core/actions/ActionSwapYT.sol +36 -19
  195. package/contracts/core/actions/base/ActionBaseMintRedeem.sol +15 -8
  196. package/contracts/interfaces/ConvexCurve/IBooster.sol +32 -0
  197. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +20 -0
  198. package/contracts/interfaces/ConvexCurve/ICvxCrv.sol +6 -0
  199. package/contracts/interfaces/ConvexCurve/IRewards.sol +38 -0
  200. package/contracts/interfaces/Curve/ICrvPool.sol +69 -0
  201. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +10 -0
  202. package/contracts/interfaces/IPActionAddRemoveLiq.sol +7 -7
  203. package/contracts/interfaces/IPActionSwapPT.sol +6 -6
  204. package/contracts/interfaces/IPActionSwapPTYT.sol +2 -2
  205. package/contracts/interfaces/IPActionSwapYT.sol +13 -13
  206. package/contracts/interfaces/IPFeeDistributor.sol +19 -0
  207. package/contracts/interfaces/IPFeeDistributorFactory.sol +14 -0
  208. package/contracts/interfaces/IPMarket.sol +2 -0
  209. package/contracts/interfaces/IPMsgReceiverApp.sol +7 -0
  210. package/contracts/interfaces/IPMsgSendEndpoint.sol +17 -0
  211. package/contracts/interfaces/IPVotingController.sol +22 -0
  212. package/contracts/interfaces/{IPVotingEscrow.sol → IPVotingEscrowMainchain.sol} +11 -1
  213. package/contracts/interfaces/ISuperComposableYield.sol +2 -7
  214. package/contracts/libraries/Errors.sol +121 -0
  215. package/contracts/libraries/OracleLib.sol +6 -3
  216. package/contracts/libraries/VeBalanceLib.sol +5 -1
  217. package/contracts/libraries/VeHistoryLib.sol +20 -31
  218. package/contracts/libraries/helpers/ArrayLib.sol +0 -17
  219. package/contracts/libraries/helpers/BaseSplitCodeFactory.sol +288 -0
  220. package/contracts/libraries/helpers/TokenHelper.sol +4 -0
  221. package/contracts/libraries/kyberswap/AggregationRouterHelper.sol +0 -7
  222. package/contracts/libraries/math/MarketMathCore.sol +29 -25
  223. package/contracts/libraries/math/Math.sol +6 -2
  224. package/contracts/libraries/math/WeekMath.sol +2 -2
  225. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +43 -0
  226. package/contracts/offchain-helpers/MarketMathStatic.sol +36 -36
  227. package/contracts/offchain-helpers/RouterStatic.sol +45 -37
  228. package/deployments/43113-core.json +11 -10
  229. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  230. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  231. package/deployments/43113-testenv.json +9 -9
  232. package/deployments/80001-core.json +10 -9
  233. package/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  234. package/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  235. package/deployments/80001-testenv.json +16 -16
  236. package/package.json +1 -1
  237. package/typechain-types/ActionAddRemoveLiq.ts +18 -6
  238. package/typechain-types/ActionSwapPT.ts +18 -6
  239. package/typechain-types/ActionSwapPTYT.ts +6 -2
  240. package/typechain-types/ActionSwapYT.ts +18 -6
  241. package/typechain-types/IPActionAddRemoveLiq.ts +19 -7
  242. package/typechain-types/IPActionSwapPT.ts +18 -6
  243. package/typechain-types/IPActionSwapPTYT.ts +6 -2
  244. package/typechain-types/IPActionSwapYT.ts +18 -6
  245. package/typechain-types/IPAllAction.ts +61 -21
  246. package/typechain-types/IPMarket.ts +13 -0
  247. package/typechain-types/IPVotingController.ts +244 -7
  248. package/typechain-types/ISuperComposableYield.ts +7 -46
  249. package/typechain-types/MarketMathStatic.ts +139 -10
  250. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +28 -149
  251. package/typechain-types/PendleMarket.ts +104 -0
  252. package/typechain-types/PendleMarketFactory.ts +76 -13
  253. package/typechain-types/PendlePrincipalToken.ts +104 -0
  254. package/typechain-types/PendleQiTokenSCY.ts +111 -46
  255. package/typechain-types/PendleVotingControllerUpg.ts +133 -77
  256. package/typechain-types/PendleWstEthSCY.ts +111 -46
  257. package/typechain-types/PendleYieldContractFactory.ts +84 -21
  258. package/typechain-types/PendleYieldToken.ts +175 -0
  259. package/typechain-types/RouterStatic.ts +99 -75
  260. package/typechain-types/SCYBase.ts +111 -46
  261. package/typechain-types/SCYBaseWithRewards.ts +111 -46
  262. package/typechain-types/VotingControllerStorageUpg.ts +246 -27
  263. package/typechain-types/VotingEscrowPendleMainchain.ts +81 -93
  264. package/typechain-types/VotingEscrowPendleSidechain.ts +26 -171
  265. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +169 -1
  266. package/typechain-types/factories/ActionCallback__factory.ts +108 -1
  267. package/typechain-types/factories/ActionMintRedeem__factory.ts +54 -1
  268. package/typechain-types/factories/ActionMisc__factory.ts +6 -1
  269. package/typechain-types/factories/ActionSwapPTYT__factory.ts +107 -1
  270. package/typechain-types/factories/ActionSwapPT__factory.ts +196 -1
  271. package/typechain-types/factories/ActionSwapYT__factory.ts +143 -1
  272. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  273. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +31 -1
  274. package/typechain-types/factories/IPActionSwapPTYT__factory.ts +10 -0
  275. package/typechain-types/factories/IPActionSwapPT__factory.ts +30 -0
  276. package/typechain-types/factories/IPActionSwapYT__factory.ts +30 -0
  277. package/typechain-types/factories/IPAllAction__factory.ts +101 -1
  278. package/typechain-types/factories/IPMarket__factory.ts +13 -0
  279. package/typechain-types/factories/IPVotingController__factory.ts +148 -0
  280. package/typechain-types/factories/ISuperComposableYield__factory.ts +4 -28
  281. package/typechain-types/factories/MarketMathStatic__factory.ts +181 -3
  282. package/typechain-types/factories/OracleLib__factory.ts +27 -1
  283. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +1 -1
  284. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +1 -1
  285. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +1 -1
  286. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  287. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  288. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  289. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +11 -0
  290. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +28 -1
  291. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +48 -86
  292. package/typechain-types/factories/PendleMarketFactory__factory.ts +129 -9
  293. package/typechain-types/factories/PendleMarket__factory.ts +214 -1
  294. package/typechain-types/factories/PendlePrincipalToken__factory.ts +86 -1
  295. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  296. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +198 -29
  297. package/typechain-types/factories/PendleRouter__factory.ts +12 -1
  298. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +235 -40
  299. package/typechain-types/factories/PendleWstEthSCY__factory.ts +137 -22
  300. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +103 -20
  301. package/typechain-types/factories/PendleYieldToken__factory.ts +163 -1
  302. package/typechain-types/factories/RouterStatic__factory.ts +67 -20
  303. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +136 -21
  304. package/typechain-types/factories/SCYBase__factory.ts +136 -21
  305. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +232 -12
  306. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +171 -47
  307. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +31 -93
  308. package/typechain-types/hardhat.d.ts +0 -27
  309. package/typechain-types/index.ts +0 -6
  310. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +0 -4
  311. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +0 -810
  312. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +0 -4
  313. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.json +0 -10
  314. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +0 -4
  315. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +0 -833
  316. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +0 -4
  317. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +0 -723
  318. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +0 -4
  319. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +0 -728
  320. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +0 -4
  321. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +0 -705
  322. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +0 -4
  323. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +0 -864
  324. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +0 -4
  325. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.json +0 -718
  326. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +0 -4
  327. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +0 -784
  328. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +0 -4
  329. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +0 -4
  330. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +0 -4
  331. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +0 -4
  332. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +0 -4
  333. package/build/artifacts/contracts/offchain-helpers/SSTORE2DeployerContract.sol/SSTORE2DeployerContract.dbg.json +0 -4
  334. package/build/artifacts/contracts/offchain-helpers/SSTORE2DeployerContract.sol/SSTORE2DeployerContract.json +0 -134
  335. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +0 -161
  336. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol +0 -126
  337. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol +0 -242
  338. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +0 -146
  339. package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +0 -176
  340. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +0 -129
  341. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -193
  342. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol +0 -155
  343. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +0 -182
  344. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +0 -53
  345. package/contracts/libraries/helpers/SSTORE2Deployer.sol +0 -30
  346. package/contracts/libraries/solmate/SSTORE2.sol +0 -99
  347. package/contracts/offchain-helpers/SSTORE2DeployerContract.sol +0 -21
  348. package/deployments/43113-markets/benqi-market-10D931.json +0 -8
  349. package/deployments/43113-markets/benqi-market-9fbD64.json +0 -8
  350. package/deployments/43113-markets/benqi-market-A12361.json +0 -8
@@ -16,21 +16,21 @@ library MarketMathStatic {
16
16
 
17
17
  function addLiquidityDualScyAndPtStatic(
18
18
  address market,
19
- uint256 scyDesired,
20
- uint256 ptDesired
19
+ uint256 netScyDesired,
20
+ uint256 netPtDesired
21
21
  )
22
22
  external
23
+ view
23
24
  returns (
24
25
  uint256 netLpOut,
25
- uint256 scyUsed,
26
- uint256 ptUsed
26
+ uint256 netScyUsed,
27
+ uint256 netPtUsed
27
28
  )
28
29
  {
29
30
  MarketState memory state = IPMarket(market).readState();
30
- (, netLpOut, scyUsed, ptUsed) = state.addLiquidity(
31
- pyIndex(market),
32
- scyDesired,
33
- ptDesired,
31
+ (, netLpOut, netScyUsed, netPtUsed) = state.addLiquidity(
32
+ netScyDesired,
33
+ netPtDesired,
34
34
  block.timestamp
35
35
  );
36
36
  }
@@ -38,30 +38,30 @@ library MarketMathStatic {
38
38
  function addLiquidityDualTokenAndPtStatic(
39
39
  address market,
40
40
  address tokenIn,
41
- uint256 tokenDesired,
42
- uint256 ptDesired
41
+ uint256 netTokenDesired,
42
+ uint256 netPtDesired
43
43
  )
44
44
  external
45
+ view
45
46
  returns (
46
47
  uint256 netLpOut,
47
- uint256 tokenUsed,
48
- uint256 ptUsed
48
+ uint256 netTokenUsed,
49
+ uint256 netPtUsed
49
50
  )
50
51
  {
51
52
  (ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
52
53
 
53
- uint256 scyDesired = SCY.previewDeposit(tokenIn, tokenDesired);
54
+ uint256 scyDesired = SCY.previewDeposit(tokenIn, netTokenDesired);
54
55
  uint256 scyUsed;
55
56
 
56
57
  MarketState memory state = IPMarket(market).readState();
57
- (, netLpOut, scyUsed, ptUsed) = state.addLiquidity(
58
- pyIndex(market),
58
+ (, netLpOut, scyUsed, netPtUsed) = state.addLiquidity(
59
59
  scyDesired,
60
- ptDesired,
60
+ netPtDesired,
61
61
  block.timestamp
62
62
  );
63
63
 
64
- tokenUsed = (tokenDesired * scyUsed).rawDivUp(scyDesired);
64
+ netTokenUsed = (netTokenDesired * scyUsed).rawDivUp(scyDesired);
65
65
  }
66
66
 
67
67
  /// @dev netPtToSwap is the parameter to approx
@@ -96,7 +96,6 @@ library MarketMathStatic {
96
96
  block.timestamp
97
97
  );
98
98
  (, netLpOut, , ) = state.addLiquidity(
99
- pyIndex(market),
100
99
  netScyReceived,
101
100
  netPtIn - netPtToSwap,
102
101
  block.timestamp
@@ -137,7 +136,6 @@ library MarketMathStatic {
137
136
  block.timestamp
138
137
  );
139
138
  (, netLpOut, , ) = state.addLiquidity(
140
- pyIndex(market),
141
139
  netScyIn - netScySwap,
142
140
  netPtFromSwap,
143
141
  block.timestamp
@@ -171,25 +169,25 @@ library MarketMathStatic {
171
169
  );
172
170
  }
173
171
 
174
- function removeLiquidityDualScyAndPtStatic(address market, uint256 lpToRemove)
172
+ function removeLiquidityDualScyAndPtStatic(address market, uint256 netLpToRemove)
175
173
  external
176
174
  view
177
175
  returns (uint256 netScyOut, uint256 netPtOut)
178
176
  {
179
177
  MarketState memory state = IPMarket(market).readState();
180
- (netScyOut, netPtOut) = state.removeLiquidity(lpToRemove);
178
+ (netScyOut, netPtOut) = state.removeLiquidity(netLpToRemove);
181
179
  }
182
180
 
183
181
  function removeLiquidityDualTokenAndPtStatic(
184
182
  address market,
185
- uint256 lpToRemove,
183
+ uint256 metLpToRemove,
186
184
  address tokenOut
187
185
  ) external view returns (uint256 netTokenOut, uint256 netPtOut) {
188
186
  (ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
189
187
 
190
188
  uint256 netScyOut;
191
189
  MarketState memory state = IPMarket(market).readState();
192
- (netScyOut, netPtOut) = state.removeLiquidity(lpToRemove);
190
+ (netScyOut, netPtOut) = state.removeLiquidity(metLpToRemove);
193
191
 
194
192
  netTokenOut = SCY.previewRedeem(tokenOut, netScyOut);
195
193
  }
@@ -197,7 +195,7 @@ library MarketMathStatic {
197
195
  /// @dev netPtFromSwap is the parameter to approx
198
196
  function removeLiquiditySinglePtStatic(
199
197
  address market,
200
- uint256 lpToRemove,
198
+ uint256 netLpToRemove,
201
199
  ApproxParams memory approxParams
202
200
  )
203
201
  external
@@ -210,7 +208,7 @@ library MarketMathStatic {
210
208
  {
211
209
  MarketState memory state = IPMarket(market).readState();
212
210
 
213
- (uint256 scyFromBurn, uint256 ptFromBurn) = state.removeLiquidity(lpToRemove);
211
+ (uint256 scyFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
214
212
  (netPtFromSwap, , netScyFee) = state.approxSwapExactScyForPt(
215
213
  pyIndex(market),
216
214
  scyFromBurn,
@@ -222,7 +220,7 @@ library MarketMathStatic {
222
220
  priceImpact = calcPriceImpact(market, netPtFromSwap.Int());
223
221
  }
224
222
 
225
- function removeLiquiditySingleScyStatic(address market, uint256 lpToRemove)
223
+ function removeLiquiditySingleScyStatic(address market, uint256 netLpToRemove)
226
224
  public
227
225
  returns (
228
226
  uint256 netScyOut,
@@ -232,12 +230,10 @@ library MarketMathStatic {
232
230
  {
233
231
  MarketState memory state = IPMarket(market).readState();
234
232
 
235
- (uint256 scyFromBurn, uint256 ptFromBurn) = state.removeLiquidity(lpToRemove);
233
+ (uint256 scyFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
236
234
 
237
235
  if (IPMarket(market).isExpired()) {
238
- (,, IPYieldToken YT) = IPMarket(market).readTokens();
239
- PYIndex index = PYIndex.wrap(YT.pyIndexCurrent());
240
- netScyOut = scyFromBurn + index.assetToScy(ptFromBurn);
236
+ netScyOut = scyFromBurn + pyIndex(market).assetToScy(ptFromBurn);
241
237
  } else {
242
238
  uint256 scyFromSwap;
243
239
  (scyFromSwap, netScyFee) = state.swapExactPtForScy(
@@ -253,7 +249,7 @@ library MarketMathStatic {
253
249
 
254
250
  function removeLiquiditySingleBaseTokenStatic(
255
251
  address market,
256
- uint256 lpToRemove,
252
+ uint256 netLpToRemove,
257
253
  address baseToken
258
254
  )
259
255
  external
@@ -264,7 +260,10 @@ library MarketMathStatic {
264
260
  )
265
261
  {
266
262
  uint256 netScyOut;
267
- (netScyOut, netScyFee, priceImpact) = removeLiquiditySingleScyStatic(market, lpToRemove);
263
+ (netScyOut, netScyFee, priceImpact) = removeLiquiditySingleScyStatic(
264
+ market,
265
+ netLpToRemove
266
+ );
268
267
 
269
268
  (ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
270
269
  netBaseTokenOut = SCY.previewRedeem(baseToken, netScyOut);
@@ -377,7 +376,7 @@ library MarketMathStatic {
377
376
 
378
377
  function swapExactPtForBaseTokenStatic(
379
378
  address market,
380
- uint256 exactYtIn,
379
+ uint256 exactPtIn,
381
380
  address baseToken
382
381
  )
383
382
  external
@@ -388,7 +387,7 @@ library MarketMathStatic {
388
387
  )
389
388
  {
390
389
  uint256 netScyOut;
391
- (netScyOut, netScyFee, priceImpact) = swapExactPtForScyStatic(market, exactYtIn);
390
+ (netScyOut, netScyFee, priceImpact) = swapExactPtForScyStatic(market, exactPtIn);
392
391
 
393
392
  (ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
394
393
  netBaseTokenOut = SCY.previewRedeem(baseToken, netScyOut);
@@ -603,7 +602,7 @@ library MarketMathStatic {
603
602
  public
604
603
  returns (uint256)
605
604
  {
606
- if (IPMarket(market).isExpired()) return Math.ONE;
605
+ if (IPMarket(market).isExpired()) return Math.ONE;
607
606
  int256 netPtToAccount = netPtOut;
608
607
  MarketState memory state = IPMarket(market).readState();
609
608
  MarketPreCompute memory comp = state.getMarketPreCompute(pyIndex(market), block.timestamp);
@@ -618,7 +617,8 @@ library MarketMathStatic {
618
617
 
619
618
  if (netPtToAccount > 0) {
620
619
  int256 postFeeExchangeRate = preFeeExchangeRate.divDown(comp.feeRate);
621
- require(postFeeExchangeRate >= Math.IONE, "exchange rate below 1");
620
+ if (postFeeExchangeRate < Math.IONE)
621
+ revert Errors.MarketExchangeRateBelowOne(postFeeExchangeRate);
622
622
  return postFeeExchangeRate.Uint();
623
623
  } else {
624
624
  return preFeeExchangeRate.mulDown(comp.feeRate).Uint();
@@ -3,13 +3,14 @@ pragma solidity 0.8.15;
3
3
 
4
4
  import "../interfaces/IPYieldContractFactory.sol";
5
5
  import "../interfaces/IPMarketFactory.sol";
6
- import "../interfaces/IPVotingEscrow.sol";
6
+ import "../interfaces/IPVotingEscrowMainchain.sol";
7
7
  import "../periphery/BoringOwnableUpgradeable.sol";
8
8
  import "./MarketMathStatic.sol";
9
9
  import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
10
10
  import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
11
11
  import "../periphery/BoringOwnableUpgradeable.sol";
12
12
  import "../libraries/math/WeekMath.sol";
13
+ import "../libraries/Errors.sol";
13
14
 
14
15
  /// EXCLUDED FROM ALL AUDITS, TO BE CALLED ONLY BY PENDLE's SDK
15
16
  contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeable {
@@ -18,7 +19,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
18
19
  using VeBalanceLib for LockedPosition;
19
20
 
20
21
  uint128 public constant MAX_LOCK_TIME = 104 weeks;
21
- uint128 public constant MIN_LOCK_TIME = 1 weeks;
22
+ uint128 public constant MIN_LOCK_TIME = 1 days;
22
23
 
23
24
  struct TokenAmount {
24
25
  address token;
@@ -55,12 +56,12 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
55
56
 
56
57
  IPYieldContractFactory internal immutable yieldContractFactory;
57
58
  IPMarketFactory internal immutable marketFactory;
58
- IPVotingEscrow internal immutable vePENDLE;
59
+ IPVotingEscrowMainchain internal immutable vePENDLE;
59
60
 
60
61
  constructor(
61
62
  IPYieldContractFactory _yieldContractFactory,
62
63
  IPMarketFactory _marketFactory,
63
- IPVotingEscrow _vePENDLE
64
+ IPVotingEscrowMainchain _vePENDLE
64
65
  ) initializer {
65
66
  yieldContractFactory = _yieldContractFactory;
66
67
  marketFactory = _marketFactory;
@@ -263,38 +264,41 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
263
264
 
264
265
  function addLiquidityDualScyAndPtStatic(
265
266
  address market,
266
- uint256 scyDesired,
267
- uint256 ptDesired
267
+ uint256 netScyDesired,
268
+ uint256 netPtDesired
268
269
  )
269
270
  external
271
+ view
270
272
  returns (
271
273
  uint256 netLpOut,
272
- uint256 scyUsed,
273
- uint256 ptUsed
274
+ uint256 netScyUsed,
275
+ uint256 netPtUsed
274
276
  )
275
277
  {
276
- return MarketMathStatic.addLiquidityDualScyAndPtStatic(market, scyDesired, ptDesired);
278
+ return
279
+ MarketMathStatic.addLiquidityDualScyAndPtStatic(market, netScyDesired, netPtDesired);
277
280
  }
278
281
 
279
282
  function addLiquidityDualTokenAndPtStatic(
280
283
  address market,
281
284
  address tokenIn,
282
- uint256 tokenDesired,
283
- uint256 ptDesired
285
+ uint256 netTokenDesired,
286
+ uint256 netPtDesired
284
287
  )
285
288
  external
289
+ view
286
290
  returns (
287
291
  uint256 netLpOut,
288
- uint256 tokenUsed,
289
- uint256 ptUsed
292
+ uint256 netTokenUsed,
293
+ uint256 netPtUsed
290
294
  )
291
295
  {
292
296
  return
293
297
  MarketMathStatic.addLiquidityDualTokenAndPtStatic(
294
298
  market,
295
299
  tokenIn,
296
- tokenDesired,
297
- ptDesired
300
+ netTokenDesired,
301
+ netPtDesired
298
302
  );
299
303
  }
300
304
 
@@ -350,23 +354,24 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
350
354
  );
351
355
  }
352
356
 
353
- function removeLiquidityDualScyAndPtStatic(address market, uint256 lpToRemove)
357
+ function removeLiquidityDualScyAndPt(address market, uint256 netLpToRemove)
354
358
  external
355
359
  view
356
360
  returns (uint256 netScyOut, uint256 netPtOut)
357
361
  {
358
- return MarketMathStatic.removeLiquidityDualScyAndPtStatic(market, lpToRemove);
362
+ return MarketMathStatic.removeLiquidityDualScyAndPtStatic(market, netLpToRemove);
359
363
  }
360
364
 
361
365
  function removeLiquidityDualTokenAndPtStatic(
362
366
  address market,
363
- uint256 lpToRemove,
367
+ uint256 netLpToRemove,
364
368
  address tokenOut
365
369
  ) external view returns (uint256 netTokenOut, uint256 netPtOut) {
366
- return MarketMathStatic.removeLiquidityDualTokenAndPtStatic(market, lpToRemove, tokenOut);
370
+ return
371
+ MarketMathStatic.removeLiquidityDualTokenAndPtStatic(market, netLpToRemove, tokenOut);
367
372
  }
368
373
 
369
- function removeLiquiditySinglePtStatic(address market, uint256 lpToRemove)
374
+ function removeLiquiditySinglePtStatic(address market, uint256 netLpToRemove)
370
375
  external
371
376
  returns (
372
377
  uint256 netPtOut,
@@ -378,12 +383,12 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
378
383
  return
379
384
  MarketMathStatic.removeLiquiditySinglePtStatic(
380
385
  market,
381
- lpToRemove,
386
+ netLpToRemove,
382
387
  getDefaultApproxParams()
383
388
  );
384
389
  }
385
390
 
386
- function removeLiquiditySingleScyStatic(address market, uint256 lpToRemove)
391
+ function removeLiquiditySingleScyStatic(address market, uint256 netLpToRemove)
387
392
  public
388
393
  returns (
389
394
  uint256 netScyOut,
@@ -391,12 +396,12 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
391
396
  uint256 priceImpact
392
397
  )
393
398
  {
394
- return MarketMathStatic.removeLiquiditySingleScyStatic(market, lpToRemove);
399
+ return MarketMathStatic.removeLiquiditySingleScyStatic(market, netLpToRemove);
395
400
  }
396
401
 
397
402
  function removeLiquiditySingleBaseTokenStatic(
398
403
  address market,
399
- uint256 lpToRemove,
404
+ uint256 netLpToRemove,
400
405
  address baseToken
401
406
  )
402
407
  external
@@ -407,7 +412,11 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
407
412
  )
408
413
  {
409
414
  return
410
- MarketMathStatic.removeLiquiditySingleBaseTokenStatic(market, lpToRemove, baseToken);
415
+ MarketMathStatic.removeLiquiditySingleBaseTokenStatic(
416
+ market,
417
+ netLpToRemove,
418
+ baseToken
419
+ );
411
420
  }
412
421
 
413
422
  function swapExactPtForScyStatic(address market, uint256 exactPtIn)
@@ -483,7 +492,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
483
492
 
484
493
  function swapExactPtForBaseTokenStatic(
485
494
  address market,
486
- uint256 exactYtIn,
495
+ uint256 exactPtIn,
487
496
  address baseToken
488
497
  )
489
498
  external
@@ -493,7 +502,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
493
502
  uint256 priceImpact
494
503
  )
495
504
  {
496
- return MarketMathStatic.swapExactPtForBaseTokenStatic(market, exactYtIn, baseToken);
505
+ return MarketMathStatic.swapExactPtForBaseTokenStatic(market, exactPtIn, baseToken);
497
506
  }
498
507
 
499
508
  function swapScyForExactYtStatic(address market, uint256 exactYtOut)
@@ -568,7 +577,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
568
577
  )
569
578
  external
570
579
  returns (
571
- uint256 netPtOut,
580
+ uint256 netYtOut,
572
581
  uint256 netScyFee,
573
582
  uint256 priceImpact
574
583
  )
@@ -613,13 +622,11 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
613
622
  uint128 additionalAmountToLock,
614
623
  uint128 newExpiry
615
624
  ) external view returns (uint128 newVeBalance) {
616
- require(
617
- WeekMath.isValidWTime(newExpiry) && !MiniHelpers.isTimeInThePast(newExpiry),
618
- "invalid newExpiry"
619
- );
625
+ if (!WeekMath.isValidWTime(newExpiry)) revert Errors.InvalidWTime(newExpiry);
626
+ if (MiniHelpers.isTimeInThePast(newExpiry)) revert Errors.ExpiryInThePast(newExpiry);
620
627
 
621
- require(newExpiry <= block.timestamp + MAX_LOCK_TIME, "max lock time exceeded");
622
- require(newExpiry >= block.timestamp + MIN_LOCK_TIME, "insufficient lock time");
628
+ if (newExpiry > block.timestamp + MAX_LOCK_TIME) revert Errors.VEExceededMaxLockTime();
629
+ if (newExpiry < block.timestamp + MIN_LOCK_TIME) revert Errors.VEInsufficientLockTime();
623
630
 
624
631
  LockedPosition memory oldPosition;
625
632
 
@@ -628,9 +635,10 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
628
635
  oldPosition = LockedPosition(amount, expiry);
629
636
  }
630
637
 
631
- require(oldPosition.expiry <= newExpiry, "new expiry must be after current expiry");
638
+ if (newExpiry < oldPosition.expiry) revert Errors.VENotAllowedReduceExpiry();
639
+
632
640
  uint128 newTotalAmountLocked = additionalAmountToLock + oldPosition.amount;
633
- require(newTotalAmountLocked > 0, "zero total amount locked");
641
+ if (newTotalAmountLocked == 0) revert Errors.VEZeroAmountLocked();
634
642
 
635
643
  uint128 additionalDurationToLock = newExpiry - oldPosition.expiry;
636
644
 
@@ -650,7 +658,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
650
658
  returns (uint256 amountPY)
651
659
  {
652
660
  IPYieldToken _YT = IPYieldToken(YT);
653
- require(!_YT.isExpired(), "YT is expired");
661
+ if (_YT.isExpired()) revert Errors.YCExpired();
654
662
  return amountScyToMint.mulDown(_YT.pyIndexCurrent());
655
663
  }
656
664
 
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "deployer": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
3
3
  "network": 43113,
4
+ "splitter": "0xbC52ed2c84C6961a8AdcdD83ADE91734324e4487",
4
5
  "celerBus": "0xE9533976C590200E32d95C53f06AE12d292cFc47",
5
- "treasury": "0xB4E292AD98Ba0D5531Ca573757f7b7d6c0C205d8",
6
- "PENDLE": "0x83B694f9Ef84D22BECe87257f0cd4513737A505e",
7
- "yieldContractFactory": "0x38E5A1D591553b5FF18b151B587745a4A9B206d2",
8
- "marketFactory": "0xE646E5425fD448b2f9dDF6de12383CcF5275143B",
9
- "router": "0xa4C21f51DE870a283f362A7331f0C4f8288c3e41",
10
- "routerStatic": "0x4ea00Cd73C773764A398e27ed2F789f50F168c52",
11
- "startTime": 1657756800,
12
- "vePendle": "0x3AE0fee115057cCF8A0B5255751027C26D83B912",
13
- "votingController": "0x76815E13679C7F18a406f5BA94E352E656BeE378",
14
- "gaugeController": "0xD9F5f311dA64645D4b38D055e1726D8B217272e7"
6
+ "treasury": "0xe85E709Fb8B058D6FC14d0fD00e9B1584f84A39b",
7
+ "PENDLE": "0x4726FCb2FBE4398449bB7CE44EB458Dbd7141191",
8
+ "yieldContractFactory": "0xcDBB6ba62ED5A53b3aF7725e488178396B4AF99B",
9
+ "marketFactory": "0xd353aE1FFAbd6647EE3bAcD92e93Af18c243dFde",
10
+ "router": "0xcB08757fF98d45AE90BF2aE627Faf9b34F2AF1f1",
11
+ "routerStatic": "0x66388B6E856E85879A81E7E05d9ac15fB7648858",
12
+ "vePendle": "0x8d70D6B9E7B046e31B2655eC1813f869C249DBe1",
13
+ "senderEndpoint": "0xEc535Ae692F414C45cc4E2610D66Ffd1CbdDB02b",
14
+ "votingController": "0xaf03f4bab10FbAc86A38f22629faA2783e376291",
15
+ "gaugeController": "0xdaEb4BD1b4745a9a93404316691D8729723FBBF5"
15
16
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "symbol": "SCY-qiUSDC",
3
+ "SCY": "0xb3B5B61E286d5eb55F6a1CC480F3ccD7B7f3a226",
4
+ "expiry": 1675382400,
5
+ "PT": "0x315E426817180810cd37Fe2571B530A33a10C430",
6
+ "YT": "0xa81868d07969d9AfaA740133Ffc3a9d50690B603",
7
+ "market": "0x94e1736480e875bfEAEe605D689be5D689C2B5e6"
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "symbol": "SCY-qiWETH",
3
+ "SCY": "0x04fC1747046F707cbFd597af2d8f07a1549b5df7",
4
+ "expiry": 1669852800,
5
+ "PT": "0xb0Cc44E3C4AeFccaA4c994b1FB9EC31166155Eef",
6
+ "YT": "0x249bFe2102533Dbb77d817992C9f28Be3eadFb09",
7
+ "market": "0x22D23Be351022EB457B4231Ad751285eb376c87e"
8
+ }
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "tokens": {
3
3
  "fundKeeper": "0x45e03eB183962884d50eC0Af39B03970333426cb",
4
- "faucet": "0x1A2775c9bEe6e798De971c369849CF9130D3e25a",
4
+ "faucet": "0xf9d2A793b446D200deC9FBB6f29a9DadcD0521cC",
5
5
  "WAVAX": "0xe43a7aD7C09d8fAE3ADe7361f0b847b23adD5094",
6
6
  "DAI": "0xCd3748CE3Bf75A01D99Bf301668E0748558a592C",
7
7
  "USDC": "0xc2A6b8d7d0FAB3749A6Bda84cEdb58D2d58f045e",
8
8
  "USDT": "0x9BE875cdBB8409DbC1a553c8ddc1FC05cdDF80Ce",
9
9
  "WBTC": "0x82c18D07253603D04d25C8B1F1E60134a59C39ce",
10
10
  "WETH": "0x1e2e40697603CA5b5ffc102c9D7A3310EA3f2Aa3",
11
- "qiUSDC": "0xde9825267dA9327C713220a2637c0e9D7AF1467D",
12
- "qiWETH": "0x1a7096563C94029DfD55E625A19F099726ac4f3F",
13
- "qiAVAX": "0xC014F3C50f4ef9195c2E95be2779B7D8ED2ac24F"
11
+ "qiUSDC": "0xEE3a174F1478198fBc669132B1e2cc13B5686F94",
12
+ "qiWETH": "0xE5710EC5e4CeB255fb14d2c2BFC93E64d0c30A2c",
13
+ "qiAVAX": "0xf9aEd3b927dce44C6d53B334Cb759f4D230D9b9c"
14
14
  },
15
15
  "benqi": {
16
- "comptroller": "0x1605A410c8480A18A3e958fAFF3b6D2834fbae22",
17
- "QI": "0x8661cad1586956B01813B4d03C6997719E0A616E",
18
- "interestRateModel": "0xad72ccCdD51dDf01Be699dF7bd144b7A1D5BB3D0",
19
- "qiErc20Impl": "0x3d99935C992CB9FB9d86ACf9082AaCF1bd5bCAE4",
20
- "oracle": "0xd29a7D69cF5f06CCd777e53d6E437032804aBf89"
16
+ "comptroller": "0x4Af3e9CA6f86E655C01f03C13519BcAF867286EE",
17
+ "QI": "0x63554C4d2038c9B7973190f3E41f5158939Fe972",
18
+ "interestRateModel": "0xd66C253151539b3bE0a0C11699fB024E054227d4",
19
+ "qiErc20Impl": "0x184622Dd7B63299F87CBf21f11FF25c9c302fd5d",
20
+ "oracle": "0x44b789cBC190b7888d438cEb58f1Eb8A3Ae2d897"
21
21
  }
22
22
  }
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "deployer": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
3
3
  "network": 80001,
4
+ "splitter": "0x329438B0c8260Da1F09a3723B57E51081E45d153",
4
5
  "celerBus": "0x7d43AABC515C356145049227CeE54B608342c0ad",
5
- "treasury": "0x1fAd3Ce1c1aB563441d58b79e49cb0ebC12C1Bd5",
6
- "PENDLE": "0x563f1e87a6a3Cb4A84F7D438fCF4882133e59d6d",
7
- "yieldContractFactory": "0x7Ff62939e06412eE0B2b0CB0682E9B29dEd23931",
8
- "marketFactory": "0xE05082B184a34668CD8A904D85FA815802BBb04c",
9
- "router": "0x124e2c48433aEe932B39D6aC897660be7A33B9D5",
10
- "routerStatic": "0xE1c4749b480baA22B070230Aa07a7fCEd4Fdbf0F",
11
- "startTime": 1657756800,
12
- "vePendle": "0xae3764a46934E2E32495bfA3B82d3E3Fdf51dF9F",
13
- "gaugeController": "0xf10e6Ac14Bc19D944233C64434D158a0b318F1fB"
6
+ "treasury": "0xba8cbdA438631aCFdf35635fE6528F54B7BC6e97",
7
+ "PENDLE": "0xbF565C105FEcd74e58FC3079bf7A7413fC0B0E4F",
8
+ "yieldContractFactory": "0xC9c034b19aB4ac0477D6AB95bE7A5327036650f4",
9
+ "marketFactory": "0x9c4059Ea7c9F71b1213216C40B84e78cCBDB2c2C",
10
+ "router": "0xADd76C6f7ebF81b2D7Aa08c9c7e68b7E9e37bD63",
11
+ "routerStatic": "0x320ebaa705A4a4575Ac2A2511D2aD9C0bA494A42",
12
+ "receiverEndpoint": "0x4911E7c5486E0d2744d816d3a34340cffadEa18c",
13
+ "vePendle": "0xDEdD5A8e5b9002552F86d43A581126e2091fe0a6",
14
+ "gaugeController": "0xECef172361F4B7447F323c2273d6d43b76A95bE0"
14
15
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "symbol": "SCY-qiUSDC",
3
+ "SCY": "0xC4ed348c56223C5953939e932E315F9d72Cd83fF",
4
+ "expiry": 1675382400,
5
+ "PT": "0x99db09898E78FEf401FB51A89c87aE9F10195848",
6
+ "YT": "0x2a84Ca9CF8aDCe4638e05ddf060D8F4A5B6c8d39",
7
+ "market": "0xF6a669cD1a02cf10fCdD3d5041992D54aD9E89Da"
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "symbol": "SCY-qiWETH",
3
+ "SCY": "0x0f6a5Dd34075619ee3Cba73b8dBb96e70149ef4f",
4
+ "expiry": 1669852800,
5
+ "PT": "0xB9C5B52cBC1929bCD1aE247B3eC6CF953A9CcD52",
6
+ "YT": "0xfE9147f18f16F84210A06d4662783E278aa9425d",
7
+ "market": "0x266a850F91A2F1462369e3910dE19786542AeAAF"
8
+ }
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "tokens": {
3
- "fundKeeper": "0x85c5d4F95d0d450928e9aA7672d22B8b65E0f82C",
4
- "faucet": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
5
- "WAVAX": "0x9bf1538c08f9973FA02C13c5E0DC0976422fB814",
6
- "DAI": "0x5954237dFE8748fb3CD9fE3dBb2e440c4F0FbD40",
7
- "USDC": "0x9c8dCAa6A3A9903434c260F38f594E4753C89409",
8
- "USDT": "0x3864Bb391c9ceFB4753d4cA8E7803c18965D386F",
9
- "WBTC": "0x0EA46a4C257071352b57E9F6d054fC137F6E14b9",
10
- "WETH": "0x20Ddd233c71D90C309B5A841359aaE7601004785",
11
- "qiUSDC": "0x5a978C49aC1B8ee36d2Ed24710fbc309177B4fA9",
12
- "qiWETH": "0xef6d062dE26BD12c6c3e1887C628c29ddB01825D",
13
- "qiAVAX": "0xF9DE108eBcbb2Ba2bC264Ea6b4F5E083C3A269D9"
3
+ "fundKeeper": "0x7D301Cc4F91A9eDd8EDE1801344bd6516b5FA3d2",
4
+ "faucet": "0x35AC4A286F1f1234f09Ff43f42B1f7767c6fAA91",
5
+ "WAVAX": "0xdF3601014686674e53d1Fa52F7602525483F9122",
6
+ "DAI": "0x829bF32457394D1f1fA8C1b151cE5017bb04C17D",
7
+ "USDC": "0x5Ea8c8e02c2D413165C1ADcBb6916B0851f6cd73",
8
+ "USDT": "0xAFC1ac698E9b54C240e6Ebc7d64200BB84f2E4cd",
9
+ "WBTC": "0x4d89990738A071B9E597Ea442f2ba58e6EA97184",
10
+ "WETH": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
11
+ "qiUSDC": "0x76818c92936662e9b24f74395f38634C35604720",
12
+ "qiWETH": "0x0b9d0756AeaD1cBc6bC4e9f30FeEa377a73d407F",
13
+ "qiAVAX": "0x98030D8f342aA21424B07059Cb1405A179A1F668"
14
14
  },
15
15
  "benqi": {
16
- "comptroller": "0x4Be23ec8592E890DE1C5Af14b95266d0c2060861",
17
- "QI": "0x7EB92A12a15E8a019A26A8b344F1e59b14cb8Ad3",
18
- "interestRateModel": "0xF586629188244C543BF87604e9189786179123ad",
19
- "qiErc20Impl": "0xeB259AAF297Bd149dB0d32b2d9666De17b3b8801",
20
- "oracle": "0x2018ecc38fbca2ce3A62f96f9F0D38F0DEE2f99D"
16
+ "comptroller": "0x0d18d7a0B27CB5C2F33cDc0a087B7182a72e0fAb",
17
+ "QI": "0x9F10C77EF63a5706e53D82B249D9195BeB5774fd",
18
+ "interestRateModel": "0xfF334644479e70ae5C9545218574B17e9aF7A5DD",
19
+ "qiErc20Impl": "0xA3972f97074552de27cF747A126b2c5F36935818",
20
+ "oracle": "0x324D838b26Eb73786bDBBc53bb0682F1EBB50603"
21
21
  }
22
22
  }
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.11-testnet",
5
+ "version": "0.12.0-testnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",