@pendle/core-v2 2.29.1 → 2.29.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +4 -0
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +426 -0
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  31. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  34. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  39. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.json +927 -0
  45. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +4 -0
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.json +993 -0
  48. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +4 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +1162 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +4 -0
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.json +1139 -0
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +375 -0
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.json +82 -0
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +1238 -0
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.json +10 -0
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.json +10 -0
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.json +10 -0
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.dbg.json +4 -0
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.json +10 -0
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.dbg.json +4 -0
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.json +10 -0
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.dbg.json +4 -0
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.json +10 -0
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.dbg.json +4 -0
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.json +10 -0
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.dbg.json +4 -0
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.json +10 -0
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.dbg.json +4 -0
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.json +10 -0
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.dbg.json +4 -0
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.json +10 -0
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +4 -0
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +1112 -0
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  167. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  169. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  170. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  171. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  172. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  173. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  174. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  177. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  178. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  179. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  180. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +4 -0
  182. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +321 -0
  183. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +4 -0
  184. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +246 -0
  185. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  186. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  187. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  188. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  189. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  190. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  191. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  192. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  193. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  194. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  195. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  196. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  197. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  264. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  265. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  268. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  271. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  272. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  273. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  274. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  277. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  278. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  280. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +4 -0
  281. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.json +150 -0
  282. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  283. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  284. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  285. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  286. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  287. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  288. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  289. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  290. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  291. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  297. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  300. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  301. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  302. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  303. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  304. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  305. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  306. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  307. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  308. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.dbg.json +4 -0
  310. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.json +436 -0
  311. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.dbg.json +4 -0
  312. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.json +300 -0
  313. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.dbg.json +4 -0
  314. package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.json +225 -0
  315. package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.dbg.json +4 -0
  316. package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.json +894 -0
  317. package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.dbg.json +4 -0
  318. package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.json +128 -0
  319. package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.dbg.json +4 -0
  320. package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.json +614 -0
  321. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  322. package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.dbg.json +4 -0
  323. package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.json +837 -0
  324. package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.dbg.json +4 -0
  325. package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.json +48 -0
  326. package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.dbg.json +4 -0
  327. package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.json +35 -0
  328. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
  329. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  330. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  333. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  334. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  335. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  336. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  337. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  338. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  339. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  340. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  341. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  342. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  343. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +1 -1
  344. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +2 -2
  345. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
  346. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +2 -2
  347. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  348. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  349. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  350. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  351. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  352. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  353. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  354. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  355. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  356. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  357. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  358. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  359. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  360. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  361. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  362. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  363. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  364. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  365. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  366. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  367. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  368. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  369. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  370. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  371. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
  372. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  373. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  374. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  375. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  376. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  377. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  378. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  379. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  380. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  381. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  382. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  383. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  384. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  385. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  386. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  387. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  388. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  389. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  390. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  391. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  392. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  393. package/contracts/LiquidityMining/PendleMerkleDistributor.sol +95 -0
  394. package/contracts/core/StandardizedYield/SYBaseUpg.sol +224 -0
  395. package/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol +120 -0
  396. package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethVethSY.sol → AuraWethVethSYUpg.sol} +31 -33
  397. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol +363 -0
  398. package/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol +390 -0
  399. package/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol +411 -0
  400. package/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol +153 -0
  401. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol +132 -0
  402. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol +18 -0
  403. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol +75 -0
  404. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol +21 -0
  405. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol +117 -0
  406. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol +37 -0
  407. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol +31 -0
  408. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol +75 -0
  409. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol +338 -0
  410. package/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol +224 -0
  411. package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol +165 -0
  412. package/contracts/core/erc20/PendleERC20PermitUpg.sol +87 -0
  413. package/contracts/core/erc20/PendleERC20Upg.sol +340 -0
  414. package/contracts/core/libraries/ArrayLib.sol +5 -0
  415. package/contracts/interfaces/IPMerkleDistributor.sol +24 -0
  416. package/contracts/interfaces/Kyber/IKyberElasticFactory.sol +165 -0
  417. package/contracts/interfaces/Kyber/IKyberElasticPool.sol +112 -0
  418. package/contracts/interfaces/Kyber/IKyberElasticRouter.sol +110 -0
  419. package/contracts/interfaces/Kyber/IKyberLiquidityMining.sol +227 -0
  420. package/contracts/interfaces/Kyber/IKyberMathHelper.sol +28 -0
  421. package/contracts/interfaces/Kyber/IKyberPositionManager.sol +196 -0
  422. package/contracts/interfaces/Silo/ISilo.sol +317 -0
  423. package/contracts/interfaces/Silo/ISiloIncentiveController.sol +19 -0
  424. package/contracts/interfaces/Silo/ISiloLens.sol +9 -0
  425. package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +1 -1
  426. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +41 -49
  427. package/contracts/router/PendleRouterHelper2.sol +40 -0
  428. package/deployments/1-core.json +1 -0
  429. package/deployments/1-markets/EPENDLE-SEP2024.json +12 -0
  430. package/deployments/1-markets/SFRAX-MARCH2024.json +10 -0
  431. package/deployments/1-markets/SILO-CRVUSD-MARCH2024.json +10 -0
  432. package/deployments/10-core.json +1 -0
  433. package/deployments/42161-core.json +3 -1
  434. package/deployments/42161-markets/KYBER-AXLWSTETH-WSTETH-MARCH2024.json +10 -0
  435. package/deployments/56-core.json +1 -0
  436. package/deployments/core.ts +29 -0
  437. package/deployments/index.ts +4 -0
  438. package/deployments/markets/ape-june-29-2023.ts +3 -0
  439. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  440. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  441. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  442. package/deployments/markets/index.ts +17 -0
  443. package/deployments/markets/looks-march-30-2023.ts +3 -0
  444. package/deployments/markets/steth-june-29-2023.ts +3 -0
  445. package/deployments/markets/steth-march-30-2023.ts +3 -0
  446. package/deployments/markets/types.ts +9 -0
  447. package/deployments/merkle-distribution/2023-10-26.json +7300 -0
  448. package/deployments/misc.ts +23 -0
  449. package/package.json +8 -8
  450. package/typechain-types/AuraWethVethSYUpg.ts +1547 -0
  451. package/typechain-types/BotDecisionHelperBase.ts +508 -0
  452. package/typechain-types/EIP712Upgradeable.ts +68 -0
  453. package/typechain-types/IBotDecisionHelper.ts +476 -0
  454. package/typechain-types/IHashflow.ts +159 -0
  455. package/typechain-types/IInterestUSTP.ts +156 -0
  456. package/typechain-types/IKyberElasticFactory.ts +734 -0
  457. package/typechain-types/IKyberElasticPool.ts +514 -0
  458. package/typechain-types/IKyberElasticRouter.ts +315 -0
  459. package/typechain-types/IKyberLiquidityMining.ts +968 -0
  460. package/typechain-types/IKyberMathHelper.ts +231 -0
  461. package/typechain-types/IKyberPositionManager.ts +773 -0
  462. package/typechain-types/ILongYieldDecisionHelper.ts +512 -0
  463. package/typechain-types/ILongYieldTradingBot.ts +703 -0
  464. package/typechain-types/IMUXRewardRouter.ts +1599 -0
  465. package/typechain-types/IPMerkleDistributor.ts +241 -0
  466. package/typechain-types/IPOffchainStorage.ts +129 -0
  467. package/typechain-types/IPPriceFeed.ts +81 -0
  468. package/typechain-types/IRebasingUSTP.ts +133 -0
  469. package/typechain-types/IShortYieldDecisionHelper.ts +476 -0
  470. package/typechain-types/IShortYieldTradingBot.ts +574 -0
  471. package/typechain-types/ISilo.ts +1093 -0
  472. package/typechain-types/ISiloIncentiveController.ts +129 -0
  473. package/typechain-types/{IERC1271.ts → ISiloLens.ts} +27 -27
  474. package/typechain-types/IStellaLendingPool.ts +87 -0
  475. package/typechain-types/IStellaLendingProxy.ts +144 -0
  476. package/typechain-types/ITradingBotBase.ts +373 -0
  477. package/typechain-types/IUSTP.ts +127 -0
  478. package/typechain-types/KyberMathHelper.ts +604 -0
  479. package/typechain-types/KyberNftManagerBase.ts +364 -0
  480. package/typechain-types/KyberNftManagerBaseUpg.ts +148 -0
  481. package/typechain-types/{AllErrorsDirectory.ts → LongYieldActionLib.ts} +5 -5
  482. package/typechain-types/LongYieldDecisionHelper.ts +682 -0
  483. package/typechain-types/LongYieldTradingBot.ts +2299 -0
  484. package/typechain-types/MarketExtLib.ts +81 -0
  485. package/typechain-types/MlpPricingHelper.ts +384 -0
  486. package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +1512 -0
  487. package/typechain-types/PendleERC20PermitUpg.ts +452 -0
  488. package/typechain-types/PendleERC20Upg.ts +348 -0
  489. package/typechain-types/PendleHyperStellaETH.ts +1248 -0
  490. package/typechain-types/PendleIUSTPSY.ts +1255 -0
  491. package/typechain-types/PendleKyberElasticSY.ts +1803 -0
  492. package/typechain-types/PendleKyberElasticSYUpg.ts +1583 -0
  493. package/typechain-types/PendleMerkleDistributor.ts +616 -0
  494. package/typechain-types/PendleMlpSY.ts +1522 -0
  495. package/typechain-types/PendleOffchainStorage.ts +651 -0
  496. package/typechain-types/PendleSiloWithIncentiveSY.ts +1390 -0
  497. package/typechain-types/PendleStellaHyperETH.ts +1235 -0
  498. package/typechain-types/SYBaseUpg.ts +1205 -0
  499. package/typechain-types/SYBaseWithDecimals.ts +1205 -0
  500. package/typechain-types/SYBaseWithRewardsUpg.ts +1298 -0
  501. package/typechain-types/TradingBotBase.ts +1861 -0
  502. package/typechain-types/TvlLib.ts +215 -0
  503. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  504. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  505. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  506. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1215 -0
  507. package/typechain-types/factories/AutomationBase__factory.ts +1 -1
  508. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +835 -0
  509. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +1 -1
  510. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +1 -1
  511. package/typechain-types/factories/EIP712Upgradeable__factory.ts +39 -0
  512. package/typechain-types/factories/IBotDecisionHelper__factory.ts +694 -0
  513. package/typechain-types/factories/IHashflow__factory.ts +113 -0
  514. package/typechain-types/factories/IInterestUSTP__factory.ts +75 -0
  515. package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
  516. package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
  517. package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
  518. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
  519. package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
  520. package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
  521. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +717 -0
  522. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +764 -0
  523. package/typechain-types/factories/IMUXRewardRouter__factory.ts +885 -0
  524. package/typechain-types/factories/IPMerkleDistributor__factory.ts +165 -0
  525. package/typechain-types/factories/IPOffchainStorage__factory.ts +63 -0
  526. package/typechain-types/factories/IPPriceFeed__factory.ts +36 -0
  527. package/typechain-types/factories/IRebasingUSTP__factory.ts +49 -0
  528. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +698 -0
  529. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +813 -0
  530. package/typechain-types/factories/ISiloIncentiveController__factory.ts +67 -0
  531. package/typechain-types/factories/ISiloLens__factory.ts +47 -0
  532. package/typechain-types/factories/ISilo__factory.ts +846 -0
  533. package/typechain-types/factories/IStellaLendingPool__factory.ts +39 -0
  534. package/typechain-types/factories/IStellaLendingProxy__factory.ts +74 -0
  535. package/typechain-types/factories/ITradingBotBase__factory.ts +366 -0
  536. package/typechain-types/factories/IUSTP__factory.ts +46 -0
  537. package/typechain-types/factories/KyberMathHelper__factory.ts +430 -0
  538. package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +101 -0
  539. package/typechain-types/factories/KyberNftManagerBase__factory.ts +279 -0
  540. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  541. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1481 -0
  542. package/typechain-types/factories/LongYieldTradingBot__factory.ts +2159 -0
  543. package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
  544. package/typechain-types/factories/MlpPricingHelper__factory.ts +290 -0
  545. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  546. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +1160 -0
  547. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  548. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  549. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  550. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  551. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  552. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  553. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  554. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  555. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  556. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
  557. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  558. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  559. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +340 -0
  560. package/typechain-types/factories/PendleERC20Upg__factory.ts +261 -0
  561. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  562. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  563. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  564. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  565. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  566. package/typechain-types/factories/PendleHyperStellaETH__factory.ts +1060 -0
  567. package/typechain-types/factories/PendleIUSTPSY__factory.ts +1061 -0
  568. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1302 -0
  569. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1505 -0
  570. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  571. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  572. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +488 -0
  573. package/typechain-types/factories/PendleMlpSY__factory.ts +1230 -0
  574. package/typechain-types/factories/PendleOffchainStorage__factory.ts +468 -0
  575. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  576. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  577. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1201 -0
  578. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  579. package/typechain-types/factories/PendleStellaHyperETH__factory.ts +1034 -0
  580. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  581. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  582. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  583. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  584. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  585. package/typechain-types/factories/SYBaseUpg__factory.ts +939 -0
  586. package/typechain-types/factories/SYBaseWithDecimals__factory.ts +942 -0
  587. package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +1012 -0
  588. package/typechain-types/factories/TradingBotBase__factory.ts +1663 -0
  589. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  590. package/typechain-types/hardhat.d.ts +207 -27
  591. package/typechain-types/index.ts +46 -6
  592. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +0 -4
  593. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +0 -1166
  594. package/deployments/1-markets/BALANCER-LP-AURA-VETH-WETH-SEP2024.json +0 -8
  595. package/typechain-types/factories/AllErrorsDirectory__factory.ts +0 -1596
  596. package/typechain-types/factories/IERC1271__factory.ts +0 -47
  597. /package/deployments/1-markets/{BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json} +0 -0
  598. /package/deployments/1-markets/{BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json} +0 -0
@@ -0,0 +1,120 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../RewardManager/RewardManager.sol";
5
+ import "./SYBaseUpg.sol";
6
+
7
+ /// NOTE: yieldToken MUST NEVER BE a rewardToken, else the rewardManager will behave erroneously
8
+ abstract contract SYBaseWithRewardsUpg is SYBaseUpg, RewardManager {
9
+ using PMath for uint256;
10
+ using ArrayLib for address[];
11
+
12
+ uint256[100] private __gap;
13
+
14
+ /*///////////////////////////////////////////////////////////////
15
+ REWARDS-RELATED
16
+ //////////////////////////////////////////////////////////////*/
17
+
18
+ /**
19
+ * @dev See {IStandardizedYield-claimRewards}
20
+ */
21
+ function claimRewards(address user)
22
+ external
23
+ virtual
24
+ override
25
+ nonReentrant
26
+ returns (uint256[] memory rewardAmounts)
27
+ {
28
+ _updateAndDistributeRewards(user);
29
+ rewardAmounts = _doTransferOutRewards(user, user);
30
+
31
+ emit ClaimRewards(user, _getRewardTokens(), rewardAmounts);
32
+ }
33
+
34
+ /**
35
+ * @dev See {IStandardizedYield-getRewardTokens}
36
+ */
37
+ function getRewardTokens()
38
+ external
39
+ view
40
+ virtual
41
+ override
42
+ returns (address[] memory rewardTokens)
43
+ {
44
+ rewardTokens = _getRewardTokens();
45
+ }
46
+
47
+ /**
48
+ * @dev See {IStandardizedYield-accruedRewards}
49
+ */
50
+ function accruedRewards(address user)
51
+ external
52
+ view
53
+ virtual
54
+ override
55
+ returns (uint256[] memory rewardAmounts)
56
+ {
57
+ address[] memory rewardTokens = _getRewardTokens();
58
+ rewardAmounts = new uint256[](rewardTokens.length);
59
+ for (uint256 i = 0; i < rewardTokens.length; ) {
60
+ rewardAmounts[i] = userReward[rewardTokens[i]][user].accrued;
61
+ unchecked {
62
+ i++;
63
+ }
64
+ }
65
+ }
66
+
67
+ function rewardIndexesCurrent()
68
+ external
69
+ override
70
+ nonReentrant
71
+ returns (uint256[] memory indexes)
72
+ {
73
+ _updateRewardIndex();
74
+ return rewardIndexesStored();
75
+ }
76
+
77
+ function rewardIndexesStored()
78
+ public
79
+ view
80
+ virtual
81
+ override
82
+ returns (uint256[] memory indexes)
83
+ {
84
+ address[] memory rewardTokens = _getRewardTokens();
85
+ indexes = new uint256[](rewardTokens.length);
86
+ for (uint256 i = 0; i < rewardTokens.length; ) {
87
+ indexes[i] = rewardState[rewardTokens[i]].index;
88
+ unchecked {
89
+ i++;
90
+ }
91
+ }
92
+ }
93
+
94
+ /**
95
+ * @notice returns the total number of reward shares
96
+ * @dev this is simply the total supply of shares, as rewards shares are equivalent to SY shares
97
+ */
98
+ function _rewardSharesTotal() internal view virtual override returns (uint256) {
99
+ return totalSupply();
100
+ }
101
+
102
+ /**
103
+ * @notice returns the reward shares of (`user`)
104
+ * @dev this is simply the SY balance of (`user`), as rewards shares are equivalent to SY shares
105
+ */
106
+ function _rewardSharesUser(address user) internal view virtual override returns (uint256) {
107
+ return balanceOf(user);
108
+ }
109
+
110
+ /*///////////////////////////////////////////////////////////////
111
+ TRANSFER HOOKS
112
+ //////////////////////////////////////////////////////////////*/
113
+ function _beforeTokenTransfer(
114
+ address from,
115
+ address to,
116
+ uint256
117
+ ) internal virtual override whenNotPaused {
118
+ _updateAndDistributeRewardsForTwo(from, to);
119
+ }
120
+ }
@@ -1,10 +1,10 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.17;
3
3
 
4
- import "./base/PendleAuraBalancerStableLPSYV2.sol";
4
+ import "./base/PendleAuraBalancerStableLPSYV3Upg.sol";
5
5
  import "./base/ComposableStable/ComposableStablePreview.sol";
6
6
 
7
- contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
7
+ contract AuraWethVethSYUpg is PendleAuraBalancerStableLPSYV3Upg {
8
8
  address internal constant VETH = 0x4Bc3263Eb5bb2Ef7Ad9aB6FB68be80E43b43801F;
9
9
  address internal constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
10
10
 
@@ -16,39 +16,31 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
16
16
  bool internal constant NO_TOKENS_EXEMPT = true;
17
17
  bool internal constant ALL_TOKENS_EXEMPT = false;
18
18
 
19
- constructor(
20
- string memory _name,
21
- string memory _symbol
22
- )
23
- PendleAuraBalancerStableLPSYV2(
24
- _name,
25
- _symbol,
26
- LP,
27
- AURA_PID,
28
- ComposableStablePreview(COMPOSABLE_PREVIEW)
29
- )
19
+ constructor()
20
+ PendleAuraBalancerStableLPSYV3Upg(LP, AURA_PID, ComposableStablePreview(COMPOSABLE_PREVIEW))
21
+ initializer
30
22
  //solhint-disable-next-line
31
- {
23
+ {}
32
24
 
25
+ function initialize(string memory _name, string memory _symbol) external initializer {
26
+ __PendleAuraBalancerStableLPSYV3Upg_init(_name, _symbol);
33
27
  }
34
28
 
35
- function _deposit(
36
- address tokenIn,
37
- uint256 amount
38
- ) internal virtual override returns (uint256 amountSharesOut) {
29
+ function _deposit(address tokenIn, uint256 amount) internal virtual override returns (uint256 amountSharesOut) {
39
30
  if (tokenIn == NATIVE) {
40
- IWETH(WETH).deposit{ value: amount }();
31
+ IWETH(WETH).deposit{value: amount}();
41
32
  amountSharesOut = super._deposit(WETH, amount);
42
33
  } else {
43
34
  amountSharesOut = super._deposit(tokenIn, amount);
44
35
  }
45
36
  }
46
37
 
47
- function _redeem(
48
- address receiver,
49
- address tokenOut,
50
- uint256 amountSharesToRedeem
51
- ) internal virtual override returns (uint256) {
38
+ function _redeem(address receiver, address tokenOut, uint256 amountSharesToRedeem)
39
+ internal
40
+ virtual
41
+ override
42
+ returns (uint256)
43
+ {
52
44
  if (tokenOut == NATIVE) {
53
45
  uint256 amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
54
46
  IWETH(WETH).withdraw(amountTokenOut);
@@ -59,10 +51,13 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
59
51
  }
60
52
  }
61
53
 
62
- function _previewDeposit(
63
- address tokenIn,
64
- uint256 amountTokenToDeposit
65
- ) internal view virtual override returns (uint256 amountSharesOut) {
54
+ function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
55
+ internal
56
+ view
57
+ virtual
58
+ override
59
+ returns (uint256 amountSharesOut)
60
+ {
66
61
  if (tokenIn == NATIVE) {
67
62
  amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
68
63
  } else {
@@ -70,10 +65,13 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
70
65
  }
71
66
  }
72
67
 
73
- function _previewRedeem(
74
- address tokenOut,
75
- uint256 amountSharesToRedeem
76
- ) internal view virtual override returns (uint256 amountTokenOut) {
68
+ function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
69
+ internal
70
+ view
71
+ virtual
72
+ override
73
+ returns (uint256 amountTokenOut)
74
+ {
77
75
  if (tokenOut == NATIVE) {
78
76
  amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
79
77
  } else {
@@ -144,4 +142,4 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
144
142
  function isValidTokenOut(address token) public view virtual override returns (bool) {
145
143
  return isValidTokenIn(token);
146
144
  }
147
- }
145
+ }
@@ -0,0 +1,363 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5
+
6
+ import "../../../../../interfaces/Balancer/IVault.sol";
7
+ import "../../../../../interfaces/Balancer/IRateProvider.sol";
8
+ import "../../../../../interfaces/Balancer/IBasePool.sol";
9
+ import "../../../../../interfaces/Balancer/IBalancerStablePreview.sol";
10
+ import "../../../../../interfaces/ConvexCurve/IBooster.sol";
11
+ import "../../../../../interfaces/ConvexCurve/IRewards.sol";
12
+
13
+ import "./StablePoolUserData.sol";
14
+ import "../../../../libraries/ArrayLib.sol";
15
+ import "../../../SYBaseWithRewardsUpg.sol";
16
+
17
+ abstract contract PendleAuraBalancerStableLPSYV3Upg is SYBaseWithRewardsUpg {
18
+ using ArrayLib for address[];
19
+
20
+ address internal constant BAL_TOKEN = 0xba100000625a3754423978a60c9317c58a424e3D;
21
+ address internal constant AURA_TOKEN = 0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF;
22
+ address internal constant AURA_BOOSTER = 0xA57b8d98dAE62B26Ec3bcC4a365338157060B234;
23
+ address internal constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
24
+ uint256 internal constant DEFAULT_GAS_REENTRANCY_CHECK = 7000;
25
+
26
+ address public immutable balLp;
27
+ bytes32 public immutable balPoolId;
28
+
29
+ uint256 public immutable auraPid;
30
+ address public immutable auraRewardManager;
31
+
32
+ IBalancerStablePreview public immutable previewHelper;
33
+
34
+ uint256 public gasForReentrancyCheck;
35
+ address[] public extraRewards;
36
+
37
+ uint256[100] private __gap;
38
+
39
+ constructor(address _balLp, uint256 _auraPid, IBalancerStablePreview _previewHelper)
40
+ SYBaseUpg(_balLp)
41
+ {
42
+ balPoolId = IBasePool(_balLp).getPoolId();
43
+ auraPid = _auraPid;
44
+
45
+ (balLp, auraRewardManager) = _getPoolInfo(_auraPid);
46
+ if (balLp != _balLp) revert Errors.SYBalancerInvalidPid();
47
+
48
+ previewHelper = _previewHelper;
49
+ }
50
+
51
+ function __PendleAuraBalancerStableLPSYV3Upg_init(string memory _name, string memory _symbol)
52
+ internal
53
+ onlyInitializing
54
+ {
55
+ __SYBaseUpg_init(_name, _symbol);
56
+
57
+ _safeApproveInf(balLp, AURA_BOOSTER);
58
+ address[] memory tokens = _getPoolTokenAddresses();
59
+ for (uint256 i = 0; i < tokens.length; ++i) {
60
+ _safeApproveInf(tokens[i], BALANCER_VAULT);
61
+ }
62
+ gasForReentrancyCheck = DEFAULT_GAS_REENTRANCY_CHECK;
63
+ }
64
+
65
+ function _getPoolInfo(uint256 _auraPid)
66
+ internal
67
+ view
68
+ returns (address _auraLp, address _auraRewardManager)
69
+ {
70
+ if (_auraPid > IBooster(AURA_BOOSTER).poolLength()) revert Errors.SYBalancerInvalidPid();
71
+ (_auraLp, , , _auraRewardManager, , ) = IBooster(AURA_BOOSTER).poolInfo(_auraPid);
72
+ }
73
+
74
+ /*///////////////////////////////////////////////////////////////
75
+ DEPOSIT/REDEEM USING BASE TOKENS
76
+ //////////////////////////////////////////////////////////////*/
77
+
78
+ /**
79
+ * @notice Either wraps LP, or also joins pool using exact tokenIn
80
+ */
81
+ function _deposit(address tokenIn, uint256 amount)
82
+ internal
83
+ virtual
84
+ override
85
+ returns (uint256 amountSharesOut)
86
+ {
87
+ if (tokenIn == balLp) {
88
+ amountSharesOut = amount;
89
+ } else {
90
+ amountSharesOut = _depositToBalancer(tokenIn, amount);
91
+ }
92
+ IBooster(AURA_BOOSTER).deposit(auraPid, amountSharesOut, true);
93
+ }
94
+
95
+ /**
96
+ * @notice Either unwraps LP, or also exits pool using exact LP for only `tokenOut`
97
+ */
98
+ function _redeem(
99
+ address receiver,
100
+ address tokenOut,
101
+ uint256 amountSharesToRedeem
102
+ ) internal virtual override returns (uint256 amountTokenOut) {
103
+ IRewards(auraRewardManager).withdrawAndUnwrap(amountSharesToRedeem, false);
104
+
105
+ if (tokenOut == balLp) {
106
+ amountTokenOut = amountSharesToRedeem;
107
+ _transferOut(tokenOut, receiver, amountTokenOut);
108
+ } else {
109
+ amountTokenOut = _redeemFromBalancer(receiver, tokenOut, amountSharesToRedeem);
110
+ }
111
+ }
112
+
113
+ function exchangeRate() external view override returns (uint256) {
114
+ _checkBalancerReadOnlyReentrancy();
115
+ return IRateProvider(balLp).getRate();
116
+ }
117
+
118
+ /*
119
+ * The `manageUserBalance` function is a non-view function that includes a reentrancy guard
120
+ in the form of `_require(_status != _ENTERED, Errors.REENTRANCY);`. To prevent
121
+ read-only reentrancy, it's important to ensure that our `manageUserBalance` has enough gas
122
+ to reach this check, so that it can fail if necessary.
123
+
124
+ * On the way to the check, there's at most one `COLD_SLOAD` plus miscellaneous decoding &
125
+ require, which we've found through testing to cost no more than 3200 gas. Therefore,
126
+ attaching 7000 gas should guarantee that it's always possible to reach the check.
127
+
128
+ * Once we've reached the check, one of two scenarios can occur:
129
+ 1. The call doesn't pass the check, and reverts with error `BAL#400` ⇒ `response.length = 100`.
130
+ 2. The call passes the check. Then, the call can either:
131
+ a. continue on to set the `status` variable to 2, causing the EVM to revert (since
132
+ the sub-call is a `staticcall`), and `response.length == 0`
133
+ b. run out of gas, which will also lead to a revert with `response.length == 0`
134
+ In both cases, to differentiate between 1 and 2, we check `response.length != 0`. If it's
135
+ true, then it's a read-only reentrancy. Otherwise, we're good (and we can ignore
136
+ differentiating between 2a and 2b).
137
+ */
138
+ function _checkBalancerReadOnlyReentrancy() internal view {
139
+ IVault.UserBalanceOp[] memory noop = new IVault.UserBalanceOp[](0);
140
+
141
+ (bool isSuccess, bytes memory response) = BALANCER_VAULT.staticcall{
142
+ gas: gasForReentrancyCheck
143
+ }(
144
+ abi.encodeWithSignature(
145
+ "manageUserBalance((uint8,address,uint256,address,address)[])",
146
+ noop
147
+ )
148
+ );
149
+
150
+ assert(!isSuccess);
151
+ if (response.length != 0) revert Errors.SYBalancerReentrancy();
152
+ }
153
+
154
+ function setGasForReentrancyCheck(uint256 newGas) external onlyOwner {
155
+ require(newGas >= DEFAULT_GAS_REENTRANCY_CHECK, "lower than default");
156
+ gasForReentrancyCheck = newGas;
157
+ }
158
+
159
+ /*///////////////////////////////////////////////////////////////
160
+ BALANCER-RELATED FUNCTIONS
161
+ //////////////////////////////////////////////////////////////*/
162
+
163
+ function _depositToBalancer(address tokenIn, uint256 amountTokenToDeposit)
164
+ internal
165
+ virtual
166
+ returns (uint256)
167
+ {
168
+ IVault.JoinPoolRequest memory request = _assembleJoinRequest(
169
+ tokenIn,
170
+ amountTokenToDeposit
171
+ );
172
+ IVault(BALANCER_VAULT).joinPool(balPoolId, address(this), address(this), request);
173
+
174
+ // amount shares out = amount LP received
175
+ return _selfBalance(balLp);
176
+ }
177
+
178
+ function _assembleJoinRequest(address tokenIn, uint256 amountTokenToDeposit)
179
+ internal
180
+ view
181
+ virtual
182
+ returns (IVault.JoinPoolRequest memory request)
183
+ {
184
+ // max amounts in
185
+ address[] memory assets = _getPoolTokenAddresses();
186
+
187
+ uint256 amountsLength = _getBPTIndex() < type(uint256).max
188
+ ? assets.length - 1
189
+ : assets.length;
190
+
191
+ uint256[] memory amountsIn = new uint256[](amountsLength);
192
+ uint256[] memory maxAmountsIn = new uint256[](assets.length);
193
+
194
+ uint256 index = assets.find(tokenIn);
195
+ uint256 indexSkipBPT = index > _getBPTIndex() ? index - 1 : index;
196
+ maxAmountsIn[index] = amountsIn[indexSkipBPT] = amountTokenToDeposit;
197
+
198
+ // encode user data
199
+ StablePoolUserData.JoinKind joinKind = StablePoolUserData
200
+ .JoinKind
201
+ .EXACT_TOKENS_IN_FOR_BPT_OUT;
202
+ uint256 minimumBPT = 0;
203
+
204
+ bytes memory userData = abi.encode(joinKind, amountsIn, minimumBPT);
205
+
206
+ // assemble joinpoolrequest
207
+ request = IVault.JoinPoolRequest(assets, maxAmountsIn, userData, false);
208
+ }
209
+
210
+ function _redeemFromBalancer(
211
+ address receiver,
212
+ address tokenOut,
213
+ uint256 amountLpToRedeem
214
+ ) internal virtual returns (uint256) {
215
+ uint256 balanceBefore = IERC20(tokenOut).balanceOf(receiver);
216
+
217
+ IVault.ExitPoolRequest memory request = _assembleExitRequest(tokenOut, amountLpToRedeem);
218
+ IVault(BALANCER_VAULT).exitPool(balPoolId, address(this), payable(receiver), request);
219
+
220
+ // calculate amount of tokens out
221
+ uint256 balanceAfter = IERC20(tokenOut).balanceOf(receiver);
222
+ return balanceAfter - balanceBefore;
223
+ }
224
+
225
+ function _assembleExitRequest(address tokenOut, uint256 amountLpToRedeem)
226
+ internal
227
+ view
228
+ virtual
229
+ returns (IVault.ExitPoolRequest memory request)
230
+ {
231
+ address[] memory assets = _getPoolTokenAddresses();
232
+ uint256[] memory minAmountsOut = new uint256[](assets.length);
233
+
234
+ // encode user data
235
+ StablePoolUserData.ExitKind exitKind = StablePoolUserData
236
+ .ExitKind
237
+ .EXACT_BPT_IN_FOR_ONE_TOKEN_OUT;
238
+ uint256 bptAmountIn = amountLpToRedeem;
239
+ uint256 exitTokenIndex = assets.find(tokenOut);
240
+
241
+ // must drop BPT index as well
242
+ exitTokenIndex = _getBPTIndex() < exitTokenIndex ? exitTokenIndex - 1 : exitTokenIndex;
243
+
244
+ bytes memory userData = abi.encode(exitKind, bptAmountIn, exitTokenIndex);
245
+
246
+ // assemble exitpoolrequest
247
+ request = IVault.ExitPoolRequest(assets, minAmountsOut, userData, false);
248
+ }
249
+
250
+ /// @dev this should return tokens in the same order as `IVault.getPoolTokens()`
251
+ function _getPoolTokenAddresses() internal view virtual returns (address[] memory res);
252
+
253
+ /// @dev should be overriden if and only if BPT is one of the pool tokens
254
+ function _getBPTIndex() internal view virtual returns (uint256) {
255
+ return type(uint256).max;
256
+ }
257
+
258
+ /*///////////////////////////////////////////////////////////////
259
+ PREVIEW FUNCTIONS
260
+ //////////////////////////////////////////////////////////////*/
261
+
262
+ function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
263
+ internal
264
+ view
265
+ virtual
266
+ override
267
+ returns (uint256 amountSharesOut)
268
+ {
269
+ if (tokenIn == balLp) {
270
+ amountSharesOut = amountTokenToDeposit;
271
+ } else {
272
+ IVault.JoinPoolRequest memory request = _assembleJoinRequest(
273
+ tokenIn,
274
+ amountTokenToDeposit
275
+ );
276
+ amountSharesOut = previewHelper.joinPoolPreview(
277
+ balPoolId,
278
+ address(this),
279
+ address(this),
280
+ request,
281
+ _getImmutablePoolData()
282
+ );
283
+ }
284
+ }
285
+
286
+ function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
287
+ internal
288
+ view
289
+ virtual
290
+ override
291
+ returns (uint256 amountTokenOut)
292
+ {
293
+ if (tokenOut == balLp) {
294
+ amountTokenOut = amountSharesToRedeem;
295
+ } else {
296
+ IVault.ExitPoolRequest memory request = _assembleExitRequest(
297
+ tokenOut,
298
+ amountSharesToRedeem
299
+ );
300
+
301
+ amountTokenOut = previewHelper.exitPoolPreview(
302
+ balPoolId,
303
+ address(this),
304
+ address(this),
305
+ request,
306
+ _getImmutablePoolData()
307
+ );
308
+ }
309
+ }
310
+
311
+ function _getImmutablePoolData() internal view virtual returns (bytes memory);
312
+
313
+ /*///////////////////////////////////////////////////////////////
314
+ REWARDS-RELATED
315
+ //////////////////////////////////////////////////////////////*/
316
+
317
+ /// @notice allows owner to add new reward tokens in in case Aura does so with their pools
318
+ function addRewardTokens(address token) external virtual onlyOwner {
319
+ extraRewards.push(token);
320
+ }
321
+
322
+ function extraRewardsLength() external view virtual returns (uint256) {
323
+ return extraRewards.length;
324
+ }
325
+
326
+ function _getRewardTokens() internal view virtual override returns (address[] memory res) {
327
+ uint256 extraRewardsLen = extraRewards.length;
328
+ res = new address[](2 + extraRewardsLen);
329
+ res[0] = BAL_TOKEN;
330
+ res[1] = AURA_TOKEN;
331
+ for (uint256 i = 0; i < extraRewardsLen; i++) {
332
+ res[2 + i] = extraRewards[i];
333
+ }
334
+ }
335
+
336
+ function _redeemExternalReward() internal virtual override {
337
+ IRewards(auraRewardManager).getReward(address(this), true);
338
+ }
339
+
340
+ /*///////////////////////////////////////////////////////////////
341
+ MISC FUNCTIONS FOR METADATA
342
+ //////////////////////////////////////////////////////////////*/
343
+
344
+ function getTokensIn() public view virtual override returns (address[] memory res);
345
+
346
+ function getTokensOut() public view virtual override returns (address[] memory res);
347
+
348
+ function isValidTokenIn(address token) public view virtual override returns (bool);
349
+
350
+ function isValidTokenOut(address token) public view virtual override returns (bool);
351
+
352
+ function assetInfo()
353
+ external
354
+ view
355
+ returns (
356
+ AssetType assetType,
357
+ address assetAddress,
358
+ uint8 assetDecimals
359
+ )
360
+ {
361
+ return (AssetType.LIQUIDITY, balLp, IERC20Metadata(balLp).decimals());
362
+ }
363
+ }