@pendle/core-v2 4.7.2 → 4.7.3-beta

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 (512) hide show
  1. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +32 -0
  3. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +39 -2
  5. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +39 -2
  7. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  25. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.json +2 -2
  28. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  30. package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  32. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
  35. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  37. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
  39. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
  41. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +2 -2
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +2 -2
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +1097 -0
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +1097 -0
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +2 -2
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +2 -2
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.json +59 -2
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +4 -0
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +1184 -0
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.dbg.json +4 -0
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.json +1114 -0
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.json +2 -2
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.json +2 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.dbg.json +1 -1
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.json +2 -2
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  175. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.json +2 -2
  177. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  178. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  179. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  180. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  181. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  182. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  183. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  184. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  185. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  186. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  187. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  188. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  189. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  190. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  191. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  192. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  193. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.dbg.json +1 -1
  194. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.json +2 -2
  195. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.dbg.json +1 -1
  196. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.json +2 -2
  197. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.dbg.json +4 -0
  198. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.json +1023 -0
  199. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.dbg.json +1 -1
  200. package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.json +2 -2
  201. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
  202. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
  203. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  204. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  205. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.dbg.json +1 -1
  206. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.json +2 -2
  207. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  208. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  209. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.dbg.json +1 -1
  210. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.json +2 -2
  211. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.dbg.json +1 -1
  212. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.json +2 -2
  213. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.dbg.json +1 -1
  214. package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.json +2 -2
  215. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  216. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  217. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  218. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  219. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  220. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  221. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
  222. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.dbg.json +1 -1
  223. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.json +2 -2
  224. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.dbg.json +1 -1
  225. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.json +2 -2
  226. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.dbg.json +1 -1
  227. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.json +2 -2
  228. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.dbg.json +1 -1
  229. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.json +2 -2
  230. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.dbg.json +1 -1
  231. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.json +2 -2
  232. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  233. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  234. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  235. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  236. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  237. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  238. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  239. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  240. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  241. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  242. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  243. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  244. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  245. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  246. package/build/artifacts/contracts/interfaces/EtherFi/IVedaAccountant.sol/IVedaAccountant.dbg.json +4 -0
  247. package/build/artifacts/contracts/interfaces/EtherFi/IVedaAccountant.sol/IVedaAccountant.json +30 -0
  248. package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.dbg.json +4 -0
  249. package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.json +87 -0
  250. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  264. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  265. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/Renzo/IRenzoReztake.sol/IRenzoReztake.dbg.json +4 -0
  268. package/build/artifacts/contracts/interfaces/Renzo/IRenzoReztake.sol/IRenzoReztake.json +69 -0
  269. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  270. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  271. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  272. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  273. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  278. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  279. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  280. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  281. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  282. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  283. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  284. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  285. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  286. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  290. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  291. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  292. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  299. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  300. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  301. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  302. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  303. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  304. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  305. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  306. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  307. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  308. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  309. package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  310. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  311. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  312. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  313. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  314. package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  317. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  318. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  319. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  320. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  321. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  322. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  323. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  324. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  325. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  327. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  329. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  330. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  331. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  332. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +12 -4
  333. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +3 -2
  334. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +2 -1
  335. package/contracts/core/Market/MarketMathCore.sol +2 -2
  336. package/contracts/core/RewardManager/RewardManager.sol +17 -6
  337. package/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol +3 -13
  338. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol +63 -0
  339. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol +63 -0
  340. package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol +71 -75
  341. package/contracts/core/StandardizedYield/implementations/Mellow/{PendleMellowVaultWstETHSY.sol → PendleMellowVaultERC4626SYUpg.sol} +42 -18
  342. package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol +119 -0
  343. package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol +3 -3
  344. package/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol +2 -3
  345. package/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol +77 -0
  346. package/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol +1 -1
  347. package/contracts/core/libraries/ArrayLib.sol +15 -0
  348. package/contracts/core/libraries/math/PMath.sol +4 -0
  349. package/contracts/interfaces/EtherFi/IVedaAccountant.sol +6 -0
  350. package/contracts/interfaces/EtherFi/IVedaTeller.sol +19 -0
  351. package/contracts/interfaces/Renzo/IRenzoReztake.sol +12 -0
  352. package/contracts/router/Reflector.sol +3 -1
  353. package/deployments/1-core.json +1 -1
  354. package/deployments/1-markets/MELLOW-ENA-MAINNET-SEP2024.json +14 -0
  355. package/deployments/1-markets/MELLOW-PZETH-MAINNET-SEP2024.json +14 -0
  356. package/deployments/1-markets/MELLOW-SUSDE-MAINNET-SEP2024.json +14 -0
  357. package/deployments/1-markets/REZ-STAKING-MAINNET-SEP2024.json +14 -0
  358. package/deployments/1-markets/RSWETH-MAINNET-SEP2024.json +14 -0
  359. package/deployments/1-markets/WEETHK-MAINNET-SEP2024.json +15 -0
  360. package/deployments/1-markets/ZIRCUIT-EZETH-MAINNET-AUG2024.json +14 -0
  361. package/deployments/1-markets/ZIRCUIT-RSETH-MAINNET-AUG2024.json +14 -0
  362. package/deployments/1-markets/ZIRCUIT-USDE-MAINNET-AUG2024.json +14 -0
  363. package/deployments/1-markets/ZIRCUIT-WEETH-MAINNET-AUG2024.json +14 -0
  364. package/deployments/10-core.json +1 -1
  365. package/deployments/42161-core.json +1 -1
  366. package/deployments/5000-core.json +1 -1
  367. package/deployments/56-core.json +1 -1
  368. package/deployments/merkle-distribution/2024-06-27.json +18995 -0
  369. package/package.json +1 -1
  370. package/typechain-types/IRenzoReztake.ts +162 -0
  371. package/typechain-types/IVedaAccountant.ts +102 -0
  372. package/typechain-types/IVedaTeller.ts +178 -0
  373. package/typechain-types/PendleGaugeControllerBaseUpg.ts +41 -0
  374. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +41 -0
  375. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +41 -0
  376. package/typechain-types/PendleMellowVaultERC20SYUpg.ts +38 -0
  377. package/typechain-types/PendleMellowVaultERC4626SYUpg.ts +1512 -0
  378. package/typechain-types/PendleMellowVaultSYBaseUpg.ts +1466 -0
  379. package/typechain-types/PendleREZtakeSY.ts +1290 -0
  380. package/typechain-types/PendleWEEthkSY.ts +1433 -0
  381. package/typechain-types/PendleWEEthsSY.ts +1433 -0
  382. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  383. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  384. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  385. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  386. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  387. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  388. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  389. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  390. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  391. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  392. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  393. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  394. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  395. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
  396. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  397. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  398. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  399. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  400. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  401. package/typechain-types/factories/IRenzoReztake__factory.ts +81 -0
  402. package/typechain-types/factories/IVedaAccountant__factory.ts +45 -0
  403. package/typechain-types/factories/IVedaTeller__factory.ts +99 -0
  404. package/typechain-types/factories/KyberMathHelper__factory.ts +1 -1
  405. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  406. package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
  407. package/typechain-types/factories/PendleAaveV3WithRewardsSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  409. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  410. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  411. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  413. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  414. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  415. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  416. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  417. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  418. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  419. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  420. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  421. package/typechain-types/factories/PendleDolomiteSY__factory.ts +1 -1
  422. package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
  423. package/typechain-types/factories/PendleERC20SY__factory.ts +1 -1
  424. package/typechain-types/factories/PendleERC20WithSupplyCapSY__factory.ts +1 -1
  425. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  426. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  427. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  428. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  429. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  430. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  431. package/typechain-types/factories/PendleEzETHL2SY__factory.ts +1 -1
  432. package/typechain-types/factories/PendleEzETHSY__factory.ts +1 -1
  433. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  434. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  435. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  436. package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
  437. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +32 -0
  438. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +42 -1
  439. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +42 -1
  440. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  441. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  442. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
  443. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
  444. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
  445. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
  446. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
  447. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
  448. package/typechain-types/factories/PendleL2LRTSY__factory.ts +1 -1
  449. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  450. package/typechain-types/factories/PendleLinearDistributor__factory.ts +1 -1
  451. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  452. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  453. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  454. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
  455. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  456. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  457. package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
  458. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  459. package/typechain-types/factories/PendleMellowVaultERC20SYUpg__factory.ts +78 -3
  460. package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1264 -0
  461. package/typechain-types/factories/PendleMellowVaultSYBaseUpg__factory.ts +1176 -0
  462. package/typechain-types/factories/PendleMellowVaultWstETHSYUpg__factory.ts +1 -1
  463. package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
  464. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  465. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  466. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  467. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  468. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  469. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  470. package/typechain-types/factories/PendleREZtakeSY__factory.ts +1076 -0
  471. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  472. package/typechain-types/factories/PendleRenzoPreviewHelper__factory.ts +1 -1
  473. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  474. package/typechain-types/factories/PendleRsETHSY__factory.ts +1 -1
  475. package/typechain-types/factories/PendleRswETHSY__factory.ts +1 -1
  476. package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
  477. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  478. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  479. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
  480. package/typechain-types/factories/PendleStTAOSY__factory.ts +1 -1
  481. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  482. package/typechain-types/factories/PendleSwellRswETHStakingSY__factory.ts +1 -1
  483. package/typechain-types/factories/PendleSwellStakingERC20SY__factory.ts +1 -1
  484. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  485. package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
  486. package/typechain-types/factories/PendleUSDESY__factory.ts +1 -1
  487. package/typechain-types/factories/PendleUniETHSY__factory.ts +1 -1
  488. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  489. package/typechain-types/factories/PendleWEEthSY__factory.ts +1 -1
  490. package/typechain-types/factories/PendleWEEthkSY__factory.ts +1150 -0
  491. package/typechain-types/factories/PendleWEEthsSY__factory.ts +1150 -0
  492. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  493. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  494. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  495. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  496. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  497. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  498. package/typechain-types/factories/PendleZtakeERC20SY__factory.ts +1 -1
  499. package/typechain-types/factories/PendleZtakeEzETHSY__factory.ts +1 -1
  500. package/typechain-types/factories/PendleZtakeRsETHSY__factory.ts +1 -1
  501. package/typechain-types/factories/PendleZtakeUSDESY__factory.ts +1 -1
  502. package/typechain-types/factories/PendleZtakeWeETHSY__factory.ts +1 -1
  503. package/typechain-types/factories/Reflector__factory.ts +1 -1
  504. package/typechain-types/factories/SAPE__factory.ts +1 -1
  505. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  506. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  507. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  508. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  509. package/typechain-types/hardhat.d.ts +72 -0
  510. package/typechain-types/index.ts +16 -0
  511. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSY.sol/PendleMellowVaultWstETHSYUpg.dbg.json +0 -4
  512. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSY.sol/PendleMellowVaultWstETHSYUpg.json +0 -1153
@@ -11,9 +11,10 @@ contract PendleGaugeControllerSidechainUpg is PendleGaugeControllerBaseUpg, Pend
11
11
  address _pendle,
12
12
  address _marketFactory,
13
13
  address _marketFactory2,
14
+ address _marketFactory3,
14
15
  address _PendleMsgReceiveEndpointUpg
15
16
  )
16
- PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2)
17
+ PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3)
17
18
  PendleMsgReceiverAppUpg(_PendleMsgReceiveEndpointUpg)
18
19
  {
19
20
  _disableInitializers();
@@ -147,11 +147,11 @@ library MarketMathCore {
147
147
  if (netLpByPt < netLpBySy) {
148
148
  lpToAccount = netLpByPt;
149
149
  ptUsed = ptDesired;
150
- syUsed = (market.totalSy * lpToAccount) / market.totalLp;
150
+ syUsed = (market.totalSy * lpToAccount).rawDivUp(market.totalLp);
151
151
  } else {
152
152
  lpToAccount = netLpBySy;
153
153
  syUsed = syDesired;
154
- ptUsed = (market.totalPt * lpToAccount) / market.totalLp;
154
+ ptUsed = (market.totalPt * lpToAccount).rawDivUp(market.totalLp);
155
155
  }
156
156
  }
157
157
 
@@ -39,15 +39,12 @@ abstract contract RewardManager is RewardManagerAbstract {
39
39
 
40
40
  RewardState memory _state = rewardState[token];
41
41
  (uint256 lastBalance, uint256 index) = (_state.lastBalance, _state.index);
42
-
43
- uint256 accrued = _selfBalance(tokens[i]) - lastBalance;
44
-
45
42
  if (index == 0) index = INITIAL_REWARD_INDEX;
46
- if (totalShares != 0) index += accrued.divDown(totalShares);
47
43
 
44
+ (uint256 consumedIndex, uint256 consumedReward) = _getConsumedReward(token, lastBalance, totalShares);
48
45
  rewardState[token] = RewardState({
49
- index: index.Uint128(),
50
- lastBalance: (lastBalance + accrued).Uint128()
46
+ index: (index + consumedIndex).Uint128(),
47
+ lastBalance: (lastBalance + consumedReward).Uint128()
51
48
  });
52
49
  indexes[i] = index;
53
50
  }
@@ -58,6 +55,20 @@ abstract contract RewardManager is RewardManagerAbstract {
58
55
  }
59
56
  }
60
57
 
58
+ function _getConsumedReward(
59
+ address token,
60
+ uint256 lastBalance,
61
+ uint256 totalShares
62
+ ) private view returns (uint256 consumedIndex, uint256 consumedReward) {
63
+ if (totalShares == 0) {
64
+ return (0, 0);
65
+ }
66
+
67
+ uint256 accrued = _selfBalance(token) - lastBalance;
68
+ consumedIndex = accrued.divDown(totalShares);
69
+ consumedReward = (consumedIndex * totalShares) / PMath.ONE;
70
+ }
71
+
61
72
  /// @dev this function doesn't need redeemExternal since redeemExternal is bundled in updateRewardIndex
62
73
  /// @dev this function also has to update rewardState.lastBalance
63
74
  function _doTransferOutRewards(
@@ -12,11 +12,7 @@ contract PendleDolomiteSY is SYBase {
12
12
  address public immutable marginContract;
13
13
  address public immutable dToken;
14
14
 
15
- constructor(
16
- string memory _name,
17
- string memory _symbol,
18
- address _dToken
19
- ) SYBase(_name, _symbol, _dToken) {
15
+ constructor(string memory _name, string memory _symbol, address _dToken) SYBase(_name, _symbol, _dToken) {
20
16
  asset = IDolomiteDToken(_dToken).underlyingToken();
21
17
  marketId = IDolomiteDToken(_dToken).marketId();
22
18
  marginContract = IDolomiteDToken(_dToken).DOLOMITE_MARGIN();
@@ -69,10 +65,7 @@ contract PendleDolomiteSY is SYBase {
69
65
  MISC FUNCTIONS FOR METADATA
70
66
  //////////////////////////////////////////////////////////////*/
71
67
 
72
- function _previewDeposit(
73
- address tokenIn,
74
- uint256 amountTokenToDeposit
75
- ) internal view override returns (uint256) {
68
+ function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit) internal view override returns (uint256) {
76
69
  if (tokenIn == dToken) {
77
70
  return amountTokenToDeposit;
78
71
  }
@@ -80,10 +73,7 @@ contract PendleDolomiteSY is SYBase {
80
73
  return (amountTokenToDeposit * PMath.ONE) / index;
81
74
  }
82
75
 
83
- function _previewRedeem(
84
- address tokenOut,
85
- uint256 amountSharesToRedeem
86
- ) internal view override returns (uint256) {
76
+ function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem) internal view override returns (uint256) {
87
77
  if (tokenOut == dToken) {
88
78
  return amountSharesToRedeem;
89
79
  }
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.23;
3
+
4
+ import "../PendleERC20SYUpg.sol";
5
+ import "../../../../interfaces/EtherFi/IVedaTeller.sol";
6
+ import "../../../../interfaces/EtherFi/IVedaAccountant.sol";
7
+
8
+ contract PendleWEEthkSY is PendleERC20SYUpg {
9
+ using PMath for uint256;
10
+
11
+ // solhint-disable immutable-vars-naming
12
+ // solhint-disable const-name-snakecase
13
+ // solhint-disable ordering
14
+
15
+ address public constant weETHk = 0x7223442cad8e9cA474fC40109ab981608F8c4273;
16
+ address public constant vedaTeller = 0x929B44db23740E65dF3A81eA4aAB716af1b88474;
17
+ address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
18
+ address public constant WEETH = 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee;
19
+ address public constant EETH = 0x35fA164735182de50811E8e2E824cFb9B6118ac2;
20
+ address public constant WSTETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0;
21
+
22
+ address public immutable vedaAccountant;
23
+
24
+ constructor() PendleERC20SYUpg(weETHk) {
25
+ vedaAccountant = IVedaTeller(vedaTeller).accountant();
26
+ }
27
+
28
+ function approveAllForTeller() external {
29
+ _safeApproveInf(WETH, weETHk);
30
+ _safeApproveInf(WEETH, weETHk);
31
+ _safeApproveInf(EETH, weETHk);
32
+ _safeApproveInf(WSTETH, weETHk);
33
+ }
34
+
35
+ function _deposit(
36
+ address tokenIn,
37
+ uint256 amountDeposited
38
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
39
+ if (tokenIn == weETHk) {
40
+ return amountDeposited;
41
+ }
42
+ return IVedaTeller(vedaTeller).bulkDeposit(tokenIn, amountDeposited, 0, address(this));
43
+ }
44
+
45
+ function _previewDeposit(
46
+ address tokenIn,
47
+ uint256 amountTokenToDeposit
48
+ ) internal view virtual override returns (uint256 amountSharesOut) {
49
+ if (tokenIn == weETHk) {
50
+ return amountTokenToDeposit;
51
+ }
52
+ uint256 rate = IVedaAccountant(vedaAccountant).getRateInQuoteSafe(tokenIn);
53
+ amountSharesOut = amountTokenToDeposit.divDown(rate);
54
+ }
55
+
56
+ function isValidTokenIn(address token) public pure override returns (bool) {
57
+ return token == weETHk || token == WETH || token == WEETH || token == EETH || token == WSTETH;
58
+ }
59
+
60
+ function getTokensIn() public pure override returns (address[] memory res) {
61
+ return ArrayLib.create(weETHk, WETH, WEETH, EETH, WSTETH);
62
+ }
63
+ }
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.23;
3
+
4
+ import "../PendleERC20SYUpg.sol";
5
+ import "../../../../interfaces/EtherFi/IVedaTeller.sol";
6
+ import "../../../../interfaces/EtherFi/IVedaAccountant.sol";
7
+
8
+ contract PendleWEEthsSY is PendleERC20SYUpg {
9
+ using PMath for uint256;
10
+
11
+ // solhint-disable immutable-vars-naming
12
+ // solhint-disable const-name-snakecase
13
+ // solhint-disable ordering
14
+
15
+ address public constant weETHs = 0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88;
16
+ address public constant vedaTeller = 0x99dE9e5a3eC2750a6983C8732E6e795A35e7B861;
17
+ address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
18
+ address public constant WEETH = 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee;
19
+ address public constant EETH = 0x35fA164735182de50811E8e2E824cFb9B6118ac2;
20
+ address public constant WSTETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0;
21
+
22
+ address public immutable vedaAccountant;
23
+
24
+ constructor() PendleERC20SYUpg(weETHs) {
25
+ vedaAccountant = IVedaTeller(vedaTeller).accountant();
26
+ }
27
+
28
+ function approveAllForTeller() external {
29
+ _safeApproveInf(WETH, weETHs);
30
+ _safeApproveInf(WEETH, weETHs);
31
+ _safeApproveInf(EETH, weETHs);
32
+ _safeApproveInf(WSTETH, weETHs);
33
+ }
34
+
35
+ function _deposit(
36
+ address tokenIn,
37
+ uint256 amountDeposited
38
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
39
+ if (tokenIn == weETHs) {
40
+ return amountDeposited;
41
+ }
42
+ return IVedaTeller(vedaTeller).bulkDeposit(tokenIn, amountDeposited, 0, address(this));
43
+ }
44
+
45
+ function _previewDeposit(
46
+ address tokenIn,
47
+ uint256 amountTokenToDeposit
48
+ ) internal view virtual override returns (uint256 amountSharesOut) {
49
+ if (tokenIn == weETHs) {
50
+ return amountTokenToDeposit;
51
+ }
52
+ uint256 rate = IVedaAccountant(vedaAccountant).getRateInQuoteSafe(tokenIn);
53
+ amountSharesOut = amountTokenToDeposit.divDown(rate);
54
+ }
55
+
56
+ function isValidTokenIn(address token) public pure override returns (bool) {
57
+ return token == weETHs || token == WETH || token == WEETH || token == EETH || token == WSTETH;
58
+ }
59
+
60
+ function getTokensIn() public pure override returns (address[] memory res) {
61
+ return ArrayLib.create(weETHs, WETH, WEETH, EETH, WSTETH);
62
+ }
63
+ }
@@ -1,119 +1,115 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.0;
2
+ pragma solidity ^0.8.17;
3
3
 
4
- import "../../SYBaseUpg.sol";
5
- import "../../StEthHelper.sol";
6
- import "../../../../interfaces/IPTokenWithSupplyCap.sol";
7
- import "../../../../interfaces/Mellow/IMellowVault.sol";
8
- import "../../../../interfaces/Mellow/IMellowVaultConfigurator.sol";
9
- import "../../../../interfaces/IPPriceFeed.sol";
4
+ import "./PendleMellowVaultSYBaseUpg.sol";
10
5
 
11
- /// @dev This SY implementation intends to ignore native interest from Mellow Vault's underlying
12
- contract PendleMellowVaultERC20SYUpg is SYBaseUpg, IPTokenWithSupplyCap {
13
- event SetPricingHelper(address newPricingHelper);
6
+ contract PendleMellowVaultERC20SYUpg is PendleMellowVaultSYBaseUpg {
7
+ error MellowVaultHasInvalidAssets();
8
+ error SupplyCapExceeded(uint256 totalSupply, uint256 supplyCap);
9
+
10
+ using PMath for uint256;
11
+
12
+ // solhint-disable immutable-vars-naming
13
+ address public immutable depositToken;
14
14
 
15
15
  // solhint-disable immutable-vars-naming
16
- address public immutable vault;
17
- address public immutable configurator;
18
- address public pricingHelper;
19
-
20
- constructor(address _vault) SYBaseUpg(_vault) {
21
- vault = _vault;
22
- configurator = IMellowVault(_vault).configurator();
23
- _disableInitializers();
16
+ uint256 public immutable interfaceVersion;
17
+
18
+ // [ERC20 deposit of the vault, vault address, interface version (0 = referral, 1 = non referral)]
19
+ constructor(address _depositToken, address _vault, uint256 _interfaceVersion) PendleMellowVaultSYBaseUpg(_vault) {
20
+ depositToken = _depositToken;
21
+ if (_interfaceVersion > 1) {
22
+ revert("invalid interface version");
23
+ }
24
+ interfaceVersion = _interfaceVersion;
24
25
  }
25
26
 
26
27
  function initialize(
27
28
  string memory _name,
28
29
  string memory _symbol,
29
30
  address _pricingHelper
30
- ) external virtual initializer {
31
+ ) external override initializer {
31
32
  __SYBaseUpg_init(_name, _symbol);
33
+ _safeApproveInf(depositToken, vault);
32
34
  _setPricingHelper(_pricingHelper);
33
35
  }
34
36
 
35
37
  function _deposit(
36
- address /*tokenIn*/,
38
+ address tokenIn,
37
39
  uint256 amountDeposited
38
40
  ) internal virtual override returns (uint256 amountSharesOut) {
39
- return amountDeposited;
40
- }
41
-
42
- function _redeem(
43
- address receiver,
44
- address /*tokenOut*/,
45
- uint256 amountSharesToRedeem
46
- ) internal virtual override returns (uint256) {
47
- _transferOut(vault, receiver, amountSharesToRedeem);
48
- return amountSharesToRedeem;
41
+ if (tokenIn == vault) {
42
+ return amountDeposited;
43
+ }
44
+
45
+ if (interfaceVersion == 0) {
46
+ (, amountSharesOut) = IMellowVault(vault).deposit(
47
+ address(this),
48
+ ArrayLib.create(amountDeposited),
49
+ 0,
50
+ type(uint256).max,
51
+ 0
52
+ );
53
+ } else if (interfaceVersion == 1) {
54
+ (, amountSharesOut) = IMellowVault(vault).deposit(
55
+ address(this),
56
+ ArrayLib.create(amountDeposited),
57
+ 0,
58
+ type(uint256).max
59
+ );
60
+ }
49
61
  }
50
62
 
51
63
  function exchangeRate() public view virtual override returns (uint256 res) {
52
- return PMath.ONE;
64
+ (uint256 tvl, uint256 supply) = _getMellowVaultTvl();
65
+ return tvl * PMath.ONE / supply;
53
66
  }
54
67
 
55
68
  function _previewDeposit(
56
- address /*tokenIn*/,
69
+ address tokenIn,
57
70
  uint256 amountTokenToDeposit
58
- ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
59
- return amountTokenToDeposit;
60
- }
71
+ ) internal view virtual override returns (uint256 amountSharesOut) {
72
+ if (tokenIn == vault) {
73
+ return amountTokenToDeposit;
74
+ }
61
75
 
62
- function _previewRedeem(
63
- address /*tokenOut*/,
64
- uint256 amountSharesToRedeem
65
- ) internal view virtual override returns (uint256 /*amountTokenOut*/) {
66
- return amountSharesToRedeem;
67
- }
76
+ (uint256 tvl, uint256 supply) = _getMellowVaultTvl();
77
+ amountSharesOut = (amountTokenToDeposit * supply) / tvl;
68
78
 
69
- function getTokensIn() public view virtual override returns (address[] memory res) {
70
- return ArrayLib.create(vault);
79
+ uint256 supplyCap = IMellowVaultConfigurator(configurator).maximalTotalSupply();
80
+ uint256 newSupply = supply + amountSharesOut;
81
+ if (newSupply > supplyCap) {
82
+ revert SupplyCapExceeded(newSupply, supplyCap);
83
+ }
71
84
  }
72
85
 
73
- function getTokensOut() public view virtual override returns (address[] memory res) {
74
- return ArrayLib.create(vault);
86
+ function getTokensIn() public view virtual override returns (address[] memory res) {
87
+ return ArrayLib.create(depositToken, vault);
75
88
  }
76
89
 
77
90
  function isValidTokenIn(address token) public view virtual override returns (bool) {
78
- return token == vault;
91
+ return token == depositToken || token == vault;
79
92
  }
80
93
 
81
- function isValidTokenOut(address token) public view virtual override returns (bool) {
82
- return token == vault;
94
+ /// @dev returns mellow TVL in depositToken
95
+ /// @dev reverts if the vault contains more than 1 token
96
+ function _getMellowVaultTvl() internal view returns (uint256 tvl, uint256 supply) {
97
+ (address[] memory tokens, uint256[] memory amounts) = IMellowVault(vault).underlyingTvl();
98
+ if (tokens.length > 1 || tokens[0] != depositToken) {
99
+ revert MellowVaultHasInvalidAssets();
100
+ }
101
+
102
+ tvl = amounts[0];
103
+ supply = IERC20(vault).totalSupply();
83
104
  }
84
105
 
85
106
  function assetInfo()
86
107
  external
87
108
  view
88
109
  virtual
110
+ override
89
111
  returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
90
112
  {
91
- return (AssetType.TOKEN, vault, IERC20Metadata(vault).decimals());
92
- }
93
-
94
- function getAbsoluteSupplyCap() external view virtual returns (uint256) {
95
- return IMellowVaultConfigurator(configurator).maximalTotalSupply();
96
- }
97
-
98
- function getAbsoluteTotalSupply() external view virtual returns (uint256) {
99
- return IERC20(vault).totalSupply();
100
- }
101
-
102
- /*///////////////////////////////////////////////////////////////
103
- OFF-CHAIN USAGE ONLY
104
- (NO SECURITY RELATED && CAN BE LEFT UNAUDITED)
105
- //////////////////////////////////////////////////////////////*/
106
-
107
- function setPricingHelper(address _pricingHelper) external onlyOwner {
108
- _setPricingHelper(_pricingHelper);
109
- }
110
-
111
- function _setPricingHelper(address _pricingHelper) internal {
112
- pricingHelper = _pricingHelper;
113
- emit SetPricingHelper(_pricingHelper);
114
- }
115
-
116
- function getPrice() external view returns (uint256) {
117
- return IPPriceFeed(pricingHelper).getPrice();
113
+ return (AssetType.TOKEN, depositToken, IERC20Metadata(depositToken).decimals());
118
114
  }
119
115
  }
@@ -1,17 +1,26 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
3
 
4
- import "./PendleMellowVaultERC20SYUpg.sol";
4
+ import "./PendleMellowVaultSYBaseUpg.sol";
5
+ import "../../../../interfaces/IERC4626.sol";
5
6
 
6
- /// @dev This SY implementation intends to ignore native interest from Mellow Vault's underlying
7
- contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelper {
7
+ contract PendleMellowVaultERC4626SYUpg is PendleMellowVaultSYBaseUpg {
8
8
  error MellowVaultHasInvalidAssets();
9
9
  error SupplyCapExceeded(uint256 totalSupply, uint256 supplyCap);
10
10
 
11
+ using PMath for uint256;
12
+
13
+ // solhint-disable immutable-vars-naming
14
+ address public immutable erc4626;
15
+ address public immutable asset;
16
+
11
17
  // solhint-disable immutable-vars-naming
12
18
  uint256 public immutable interfaceVersion;
13
19
 
14
- constructor(address _vault, uint256 _interfaceVersion) PendleMellowVaultERC20SYUpg(_vault) {
20
+ constructor(address _erc4626, address _vault, uint256 _interfaceVersion) PendleMellowVaultSYBaseUpg(_vault) {
21
+ erc4626 = _erc4626;
22
+ asset = IERC4626(_erc4626).asset();
23
+
15
24
  if (_interfaceVersion > 1) {
16
25
  revert("invalid interface version");
17
26
  }
@@ -24,8 +33,8 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
24
33
  address _pricingHelper
25
34
  ) external override initializer {
26
35
  __SYBaseUpg_init(_name, _symbol);
27
- _safeApproveInf(STETH, WSTETH);
28
- _safeApproveInf(WSTETH, vault);
36
+ _safeApproveInf(asset, erc4626);
37
+ _safeApproveInf(erc4626, vault);
29
38
  _setPricingHelper(_pricingHelper);
30
39
  }
31
40
 
@@ -36,8 +45,8 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
36
45
  if (tokenIn == vault) {
37
46
  return amountDeposited;
38
47
  }
39
- if (tokenIn != WSTETH) {
40
- (tokenIn, amountDeposited) = (WSTETH, _depositWstETH(tokenIn, amountDeposited));
48
+ if (tokenIn != erc4626) {
49
+ (tokenIn, amountDeposited) = (erc4626, IERC4626(erc4626).deposit(amountDeposited, address(this)));
41
50
  }
42
51
 
43
52
  if (interfaceVersion == 0) {
@@ -58,8 +67,11 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
58
67
  }
59
68
  }
60
69
 
61
- /// @dev Mellow uses math calculations under 2**96 base. Also they are taking into account oracle prices
62
- /// even with one asset. So a discrepancy of 1e-6 in the result should be expected.
70
+ function exchangeRate() public view virtual override returns (uint256 res) {
71
+ (uint256 tvl, uint256 supply) = _getMellowVaultTvl();
72
+ return IERC4626(erc4626).convertToAssets(tvl * PMath.ONE / supply);
73
+ }
74
+
63
75
  function _previewDeposit(
64
76
  address tokenIn,
65
77
  uint256 amountTokenToDeposit
@@ -67,9 +79,11 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
67
79
  if (tokenIn == vault) {
68
80
  return amountTokenToDeposit;
69
81
  }
70
- if (tokenIn != WSTETH) {
71
- (tokenIn, amountTokenToDeposit) = (WSTETH, _previewDepositWstETH(tokenIn, amountTokenToDeposit));
82
+
83
+ if (tokenIn != erc4626) {
84
+ (tokenIn, amountTokenToDeposit) = (erc4626, IERC4626(erc4626).previewDeposit(amountTokenToDeposit));
72
85
  }
86
+
73
87
  (uint256 tvl, uint256 supply) = _getMellowVaultTvl();
74
88
  amountSharesOut = (amountTokenToDeposit * supply) / tvl;
75
89
 
@@ -80,23 +94,33 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
80
94
  }
81
95
  }
82
96
 
83
- function getTokensIn() public view override returns (address[] memory res) {
84
- return ArrayLib.create(NATIVE, STETH, WSTETH, vault);
97
+ function getTokensIn() public view virtual override returns (address[] memory res) {
98
+ return ArrayLib.create(asset, erc4626, vault);
85
99
  }
86
100
 
87
- function isValidTokenIn(address token) public view override returns (bool) {
88
- return token == NATIVE || token == STETH || token == WSTETH || token == vault;
101
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
102
+ return token == asset || token == erc4626 || token == vault;
89
103
  }
90
104
 
91
- /// @dev returns mellow TVL in WSTETH
105
+ /// @dev returns mellow TVL in erc4626
92
106
  /// @dev reverts if the vault contains more than 1 token
93
107
  function _getMellowVaultTvl() internal view returns (uint256 tvl, uint256 supply) {
94
108
  (address[] memory tokens, uint256[] memory amounts) = IMellowVault(vault).underlyingTvl();
95
- if (tokens.length > 1 || tokens[0] != WSTETH) {
109
+ if (tokens.length > 1 || tokens[0] != erc4626) {
96
110
  revert MellowVaultHasInvalidAssets();
97
111
  }
98
112
 
99
113
  tvl = amounts[0];
100
114
  supply = IERC20(vault).totalSupply();
101
115
  }
116
+
117
+ function assetInfo()
118
+ external
119
+ view
120
+ virtual
121
+ override
122
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
123
+ {
124
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
125
+ }
102
126
  }
@@ -0,0 +1,119 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../../SYBaseUpg.sol";
5
+ import "../../StEthHelper.sol";
6
+ import "../../../../interfaces/IPTokenWithSupplyCap.sol";
7
+ import "../../../../interfaces/Mellow/IMellowVault.sol";
8
+ import "../../../../interfaces/Mellow/IMellowVaultConfigurator.sol";
9
+ import "../../../../interfaces/IPPriceFeed.sol";
10
+
11
+ /// @dev This SY implementation intends to ignore native interest from Mellow Vault's underlying
12
+ contract PendleMellowVaultSYBaseUpg is SYBaseUpg, IPTokenWithSupplyCap {
13
+ event SetPricingHelper(address newPricingHelper);
14
+
15
+ // solhint-disable immutable-vars-naming
16
+ address public immutable vault;
17
+ address public immutable configurator;
18
+ address public pricingHelper;
19
+
20
+ constructor(address _vault) SYBaseUpg(_vault) {
21
+ vault = _vault;
22
+ configurator = IMellowVault(_vault).configurator();
23
+ _disableInitializers();
24
+ }
25
+
26
+ function initialize(
27
+ string memory _name,
28
+ string memory _symbol,
29
+ address _pricingHelper
30
+ ) external virtual initializer {
31
+ __SYBaseUpg_init(_name, _symbol);
32
+ _setPricingHelper(_pricingHelper);
33
+ }
34
+
35
+ function _deposit(
36
+ address /*tokenIn*/,
37
+ uint256 amountDeposited
38
+ ) internal virtual override returns (uint256 amountSharesOut) {
39
+ return amountDeposited;
40
+ }
41
+
42
+ function _redeem(
43
+ address receiver,
44
+ address /*tokenOut*/,
45
+ uint256 amountSharesToRedeem
46
+ ) internal virtual override returns (uint256) {
47
+ _transferOut(vault, receiver, amountSharesToRedeem);
48
+ return amountSharesToRedeem;
49
+ }
50
+
51
+ function exchangeRate() public view virtual override returns (uint256 res) {
52
+ return PMath.ONE;
53
+ }
54
+
55
+ function _previewDeposit(
56
+ address /*tokenIn*/,
57
+ uint256 amountTokenToDeposit
58
+ ) internal view virtual override returns (uint256 /*amountSharesOut*/) {
59
+ return amountTokenToDeposit;
60
+ }
61
+
62
+ function _previewRedeem(
63
+ address /*tokenOut*/,
64
+ uint256 amountSharesToRedeem
65
+ ) internal view virtual override returns (uint256 /*amountTokenOut*/) {
66
+ return amountSharesToRedeem;
67
+ }
68
+
69
+ function getTokensIn() public view virtual override returns (address[] memory res) {
70
+ return ArrayLib.create(vault);
71
+ }
72
+
73
+ function getTokensOut() public view virtual override returns (address[] memory res) {
74
+ return ArrayLib.create(vault);
75
+ }
76
+
77
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
78
+ return token == vault;
79
+ }
80
+
81
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
82
+ return token == vault;
83
+ }
84
+
85
+ function assetInfo()
86
+ external
87
+ view
88
+ virtual
89
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
90
+ {
91
+ return (AssetType.TOKEN, vault, IERC20Metadata(vault).decimals());
92
+ }
93
+
94
+ function getAbsoluteSupplyCap() external view virtual returns (uint256) {
95
+ return IMellowVaultConfigurator(configurator).maximalTotalSupply();
96
+ }
97
+
98
+ function getAbsoluteTotalSupply() external view virtual returns (uint256) {
99
+ return IERC20(vault).totalSupply();
100
+ }
101
+
102
+ /*///////////////////////////////////////////////////////////////
103
+ OFF-CHAIN USAGE ONLY
104
+ (NO SECURITY RELATED && CAN BE LEFT UNAUDITED)
105
+ //////////////////////////////////////////////////////////////*/
106
+
107
+ function setPricingHelper(address _pricingHelper) external onlyOwner {
108
+ _setPricingHelper(_pricingHelper);
109
+ }
110
+
111
+ function _setPricingHelper(address _pricingHelper) internal {
112
+ pricingHelper = _pricingHelper;
113
+ emit SetPricingHelper(_pricingHelper);
114
+ }
115
+
116
+ function getPrice() external view returns (uint256) {
117
+ return IPPriceFeed(pricingHelper).getPrice();
118
+ }
119
+ }