@pendle/core-v2 0.11.0-testnet → 0.11.1-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 (192) 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/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  13. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  15. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/FeeDistributorVePendle.sol/FeeDistributorVePendle.dbg.json +4 -0
  18. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/FeeDistributorVePendle.sol/FeeDistributorVePendle.json +188 -0
  19. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorAbstract.sol/PendleFeeDistributorAbstract.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorAbstract.sol/PendleFeeDistributorAbstract.json +164 -0
  21. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVoting.sol/PendleFeeDistributorVoting.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVoting.sol/PendleFeeDistributorVoting.json +206 -0
  23. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVotingFactory.sol/PendleFeeDistributorVotingFactory.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorVotingFactory.sol/PendleFeeDistributorVotingFactory.json +149 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  30. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +62 -14
  33. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +192 -12
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +51 -8
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  56. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  58. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +4 -0
  73. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +151 -0
  74. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +124 -0
  85. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +86 -0
  87. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  104. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +1 -1
  105. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  106. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  107. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  108. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  109. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  110. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  111. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  112. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  113. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  114. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  115. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  116. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  117. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  118. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  119. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  123. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  125. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  126. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  128. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  129. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  130. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +1 -1
  131. package/contracts/core/LiquidityMining/PendleGauge.sol +1 -1
  132. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +1 -2
  133. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +2 -2
  134. package/contracts/core/Market/PendleMarketFactory.sol +11 -16
  135. package/contracts/core/PendleRouter.sol +1 -3
  136. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +1 -1
  137. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +5 -5
  138. package/contracts/interfaces/IPGauge.sol +2 -0
  139. package/contracts/interfaces/IPGaugeController.sol +1 -1
  140. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  141. package/contracts/interfaces/ISJoe.sol +3 -6
  142. package/contracts/libraries/kyberswap/AggregationRouterHelper.sol +308 -0
  143. package/contracts/libraries/kyberswap/IMultihopRouter.sol +139 -0
  144. package/contracts/libraries/kyberswap/KyberSwapHelper.sol +7 -1
  145. package/contracts/libraries/math/WeekMath.sol +1 -1
  146. package/contracts/offchain-helpers/RouterStatic.sol +5 -5
  147. package/contracts/offchain-helpers/SSTORE2DeployerContract.sol +21 -0
  148. package/contracts/periphery/BoringOwnableUpgradeable.sol +2 -2
  149. package/deployments/43113-core.json +8 -7
  150. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  151. package/deployments/43113-markets/benqi-market-QI-USDC-SEP-22TH.json +8 -0
  152. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  153. package/deployments/43113-testenv.json +1 -1
  154. package/package.json +4 -5
  155. package/typechain-types/FeeDistributorAbstract.ts +240 -0
  156. package/typechain-types/FeeDistributorVePendle.ts +302 -0
  157. package/typechain-types/FeeDistributorVoting.ts +272 -0
  158. package/typechain-types/FeeDistributorVotingFactory.ts +293 -0
  159. package/typechain-types/IPFeeDistributor.ts +270 -0
  160. package/typechain-types/IPVotingController.ts +205 -7
  161. package/typechain-types/IPVotingControllerStorage.ts +169 -0
  162. package/typechain-types/IPVotingEscrow.ts +117 -0
  163. package/typechain-types/PendleFeeDistributorAbstract.ts +289 -0
  164. package/typechain-types/PendleFeeDistributorVoting.ts +321 -0
  165. package/typechain-types/PendleFeeDistributorVotingFactory.ts +294 -0
  166. package/typechain-types/PendleVotingControllerUpg.ts +73 -24
  167. package/typechain-types/VotingControllerStorageUpg.ts +207 -27
  168. package/typechain-types/VotingEscrowPendleMainchain.ts +57 -13
  169. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +127 -0
  170. package/typechain-types/factories/FeeDistributorVePendle__factory.ts +250 -0
  171. package/typechain-types/factories/FeeDistributorVotingFactory__factory.ts +211 -0
  172. package/typechain-types/factories/FeeDistributorVoting__factory.ts +219 -0
  173. package/typechain-types/factories/IPFeeDistributor__factory.ts +166 -0
  174. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +107 -0
  175. package/typechain-types/factories/IPVotingController__factory.ts +124 -0
  176. package/typechain-types/factories/IPVotingEscrow__factory.ts +86 -0
  177. package/typechain-types/factories/PendleFeeDistributorAbstract__factory.ts +183 -0
  178. package/typechain-types/factories/PendleFeeDistributorVotingFactory__factory.ts +213 -0
  179. package/typechain-types/factories/PendleFeeDistributorVoting__factory.ts +275 -0
  180. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  181. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  182. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +61 -13
  183. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +192 -12
  184. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +50 -7
  185. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  186. package/typechain-types/hardhat.d.ts +54 -0
  187. package/typechain-types/index.ts +12 -0
  188. package/contracts/periphery/PendleGovernanceManager.sol +0 -38
  189. package/contracts/periphery/PermissionsV2Upg.sol +0 -29
  190. package/deployments/43113-markets/benqi-market-10D931.json +0 -8
  191. package/deployments/43113-markets/benqi-market-9fbD64.json +0 -8
  192. package/deployments/43113-markets/benqi-market-A12361.json +0 -8
@@ -97,6 +97,73 @@
97
97
  "name": "Withdraw",
98
98
  "type": "event"
99
99
  },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "user",
105
+ "type": "address"
106
+ },
107
+ {
108
+ "internalType": "uint256",
109
+ "name": "index",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "name": "getUserHistoryAt",
114
+ "outputs": [
115
+ {
116
+ "components": [
117
+ {
118
+ "internalType": "uint128",
119
+ "name": "timestamp",
120
+ "type": "uint128"
121
+ },
122
+ {
123
+ "components": [
124
+ {
125
+ "internalType": "uint128",
126
+ "name": "bias",
127
+ "type": "uint128"
128
+ },
129
+ {
130
+ "internalType": "uint128",
131
+ "name": "slope",
132
+ "type": "uint128"
133
+ }
134
+ ],
135
+ "internalType": "struct VeBalance",
136
+ "name": "value",
137
+ "type": "tuple"
138
+ }
139
+ ],
140
+ "internalType": "struct Checkpoint",
141
+ "name": "",
142
+ "type": "tuple"
143
+ }
144
+ ],
145
+ "stateMutability": "view",
146
+ "type": "function"
147
+ },
148
+ {
149
+ "inputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "user",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "getUserHistoryLength",
157
+ "outputs": [
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "",
161
+ "type": "uint256"
162
+ }
163
+ ],
164
+ "stateMutability": "view",
165
+ "type": "function"
166
+ },
100
167
  {
101
168
  "inputs": [
102
169
  {
@@ -121,6 +188,25 @@
121
188
  "stateMutability": "nonpayable",
122
189
  "type": "function"
123
190
  },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "uint128",
195
+ "name": "timestamp",
196
+ "type": "uint128"
197
+ }
198
+ ],
199
+ "name": "totalSupplyAt",
200
+ "outputs": [
201
+ {
202
+ "internalType": "uint128",
203
+ "name": "",
204
+ "type": "uint128"
205
+ }
206
+ ],
207
+ "stateMutability": "view",
208
+ "type": "function"
209
+ },
124
210
  {
125
211
  "inputs": [],
126
212
  "name": "withdraw",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "Checkpoints",
4
4
  "sourceName": "contracts/libraries/VeHistoryLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220954ba157665eb6da065a8b029e557191a74018b9b1dcc35a4f36f8d652c7c5ba64736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220954ba157665eb6da065a8b029e557191a74018b9b1dcc35a4f36f8d652c7c5ba64736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122059abf4679dbabe2731e7c535e441fae48a4f62bcb49d4c84711ed960194566e164736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122059abf4679dbabe2731e7c535e441fae48a4f62bcb49d4c84711ed960194566e164736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "WeekMath",
4
4
  "sourceName": "contracts/libraries/math/WeekMath.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220feca72209eabdab60f47bf50f564a07b586488d6335fdb8a157af50a67f20f1f64736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220feca72209eabdab60f47bf50f564a07b586488d6335fdb8a157af50a67f20f1f64736f6c634300080f0033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220548e053af2291f293c6be42b33522def7ba9f2cc91d81bfd7aa06dd63e5d2e0f64736f6c634300080f0033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220548e053af2291f293c6be42b33522def7ba9f2cc91d81bfd7aa06dd63e5d2e0f64736f6c634300080f0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/2702b906f892994ea36461e9f3e86f89.json"
3
+ "buildInfo": "../../../build-info/680fcfa2ffdc1307cb9af365e9ab480a.json"
4
4
  }
@@ -62,7 +62,7 @@ abstract contract PendleGaugeControllerBaseUpg is IPGaugeController, BoringOwnab
62
62
  - rewardData[market] is updated with the data up to now
63
63
  - all accumulatedPendle is transferred out & the accumulatedPendle is set to 0
64
64
  */
65
- function claimMarketReward() external onlyPendleMarket {
65
+ function redeemMarketReward() external onlyPendleMarket {
66
66
  address market = msg.sender;
67
67
  rewardData[market] = _getUpdatedMarketReward(market);
68
68
 
@@ -97,7 +97,7 @@ abstract contract PendleGauge is RewardManager, IPGauge {
97
97
 
98
98
  function _redeemExternalReward() internal virtual override {
99
99
  ISuperComposableYield(SCY).claimRewards(address(this));
100
- IPGaugeController(gaugeController).claimMarketReward();
100
+ IPGaugeController(gaugeController).redeemMarketReward();
101
101
  }
102
102
 
103
103
  function _stakedBalance(address user) internal view virtual returns (uint256);
@@ -7,8 +7,7 @@ import "../../../libraries/VeBalanceLib.sol";
7
7
  import "../../../libraries/math/Math.sol";
8
8
  import "../../../interfaces/IPGaugeControllerMainchain.sol";
9
9
  import "../../../interfaces/IPVotingController.sol";
10
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
11
- import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
10
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
12
11
 
13
12
  /*
14
13
  Voting accounting:
@@ -23,9 +23,9 @@ abstract contract VotingEscrowTokenBase is IPVeToken {
23
23
  using VeBalanceLib for VeBalance;
24
24
  using VeBalanceLib for LockedPosition;
25
25
 
26
- uint128 public constant WEEK = 1 weeks;
26
+ uint128 public constant WEEK = 2 hours;
27
27
  uint128 public constant MAX_LOCK_TIME = 104 weeks;
28
- uint128 public constant MIN_LOCK_TIME = 1 weeks;
28
+ uint128 public constant MIN_LOCK_TIME = 1 hours;
29
29
 
30
30
  VeBalance internal _totalSupply;
31
31
  uint128 public lastSlopeChangeAppliedAt;
@@ -17,52 +17,47 @@ contract PendleMarketFactory is BoringOwnableUpgradeable, IPMarketFactory {
17
17
 
18
18
  struct MarketConfig {
19
19
  address treasury;
20
- uint96 lnFeeRateRoot;
21
- // 1 SLOT = 256 bits
20
+ uint88 lnFeeRateRoot;
22
21
  uint8 reserveFeePercent;
23
- // 1 SLOT = 8 bits
22
+ // 1 SLOT = 256 bits
24
23
  }
25
24
 
26
- uint256 private constant MIN_RATE_ORACLE_TIME_WINDOW = 300 seconds;
27
-
28
25
  address public immutable yieldContractFactory;
29
- address public marketCreationCodePointer;
26
+ address public immutable marketCreationCodePointer;
30
27
  uint256 public immutable maxLnFeeRateRoot;
31
28
 
32
29
  // PT -> scalarRoot -> initialAnchor
33
30
  mapping(address => mapping(int256 => mapping(int256 => address))) internal markets;
34
31
  EnumerableSet.AddressSet internal allMarkets;
35
-
36
32
  address public vePendle;
37
33
  address public gaugeController;
38
34
 
39
35
  MarketConfig public marketConfig;
40
36
 
41
- constructor(
42
- address _yieldContractFactory
43
- ) {
37
+ constructor(address _yieldContractFactory, address _marketCreationCodePointer) {
44
38
  require(_yieldContractFactory != address(0), "zero address");
45
39
  yieldContractFactory = _yieldContractFactory;
46
40
  maxLnFeeRateRoot = uint256(LogExpMath.ln(int256((105 * Math.IONE) / 100))); // ln(1.05)
41
+
42
+ marketCreationCodePointer = _marketCreationCodePointer;
47
43
  }
48
44
 
49
45
  function initialize(
50
46
  address _treasury,
51
- uint96 _lnFeeRateRoot,
47
+ uint88 _lnFeeRateRoot,
52
48
  uint8 _reserveFeePercent,
53
49
  address newVePendle,
54
- address newGaugeController,
55
- bytes memory _marketCreationCode
50
+ address newGaugeController
56
51
  ) external initializer {
52
+ require(newVePendle != address(0) && newGaugeController != address(0), "zero address");
53
+
57
54
  __BoringOwnable_init();
58
55
  setTreasury(_treasury);
59
56
  setlnFeeRateRoot(_lnFeeRateRoot);
60
57
  setReserveFeePercent(_reserveFeePercent);
61
58
 
62
- require(newVePendle != address(0) && newGaugeController != address(0), "zero address");
63
59
  vePendle = newVePendle;
64
60
  gaugeController = newGaugeController;
65
- marketCreationCodePointer = SSTORE2Deployer.setCreationCode(_marketCreationCode);
66
61
  }
67
62
 
68
63
  /**
@@ -106,7 +101,7 @@ contract PendleMarketFactory is BoringOwnableUpgradeable, IPMarketFactory {
106
101
  _emitNewMarketConfigEvent();
107
102
  }
108
103
 
109
- function setlnFeeRateRoot(uint96 newlnFeeRateRoot) public onlyOwner {
104
+ function setlnFeeRateRoot(uint88 newlnFeeRateRoot) public onlyOwner {
110
105
  require(newlnFeeRateRoot <= maxLnFeeRateRoot, "invalid fee rate root");
111
106
  marketConfig.lnFeeRateRoot = newlnFeeRateRoot;
112
107
  _emitNewMarketConfigEvent();
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.15;
3
3
 
4
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
- import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
4
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
6
5
  import "@openzeppelin/contracts/proxy/Proxy.sol";
7
6
  import "../interfaces/IPAllAction.sol";
8
7
  import "../interfaces/IPMarketSwapCallback.sol";
@@ -38,7 +37,6 @@ contract PendleRouter is Proxy, Initializable, UUPSUpgradeable, BoringOwnableUpg
38
37
  }
39
38
 
40
39
  function initialize() external initializer {
41
- __UUPSUpgradeable_init();
42
40
  __BoringOwnable_init();
43
41
  }
44
42
 
@@ -6,7 +6,7 @@ import "../../interfaces/IPYieldToken.sol";
6
6
 
7
7
  import "../PendleERC20.sol";
8
8
  import "../../libraries/helpers/MiniHelpers.sol";
9
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
9
+ import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
10
10
 
11
11
  contract PendlePrincipalToken is PendleERC20, Initializable, IPPrincipalToken {
12
12
  address public immutable SCY;
@@ -44,7 +44,7 @@ contract PendleYieldContractFactory is BoringOwnableUpgradeable, IPYieldContract
44
44
  string private constant PT_PREFIX = "PT";
45
45
  string private constant YT_PREFIX = "YT";
46
46
 
47
- address public pendleYtCreationCodePointer;
47
+ address public immutable pendleYtCreationCodePointer;
48
48
 
49
49
  // 1 SLOT
50
50
  uint128 public interestFeeRate; // a fixed point number
@@ -60,21 +60,21 @@ contract PendleYieldContractFactory is BoringOwnableUpgradeable, IPYieldContract
60
60
  mapping(address => bool) public isPT;
61
61
  mapping(address => bool) public isYT;
62
62
 
63
- constructor() {}
63
+ constructor(address _pendleYtCreationCodePointer) {
64
+ pendleYtCreationCodePointer = _pendleYtCreationCodePointer;
65
+ }
64
66
 
65
67
  function initialize(
66
68
  uint96 _expiryDivisor,
67
69
  uint128 _interestFeeRate,
68
70
  uint128 _rewardFeeRate,
69
- address _treasury,
70
- bytes memory _pendleYtCreationCode
71
+ address _treasury
71
72
  ) external initializer {
72
73
  __BoringOwnable_init();
73
74
  setExpiryDivisor(_expiryDivisor);
74
75
  setInterestFeeRate(_interestFeeRate);
75
76
  setRewardFeeRate(_rewardFeeRate);
76
77
  setTreasury(_treasury);
77
- pendleYtCreationCodePointer = SSTORE2Deployer.setCreationCode(_pendleYtCreationCode);
78
78
  }
79
79
 
80
80
  /**
@@ -3,4 +3,6 @@ pragma solidity 0.8.15;
3
3
 
4
4
  interface IPGauge {
5
5
  function totalActiveSupply() external view returns (uint256);
6
+
7
+ function activeBalance(address user) external view returns (uint256);
6
8
  }
@@ -12,7 +12,7 @@ interface IPGaugeController {
12
12
 
13
13
  function pendle() external returns (address);
14
14
 
15
- function claimMarketReward() external;
15
+ function redeemMarketReward() external;
16
16
 
17
17
  function rewardData(address pool)
18
18
  external