@pendle/core-v2 2.21.0 → 2.22.0

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 (454) 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/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  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/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.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/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.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/Ape/sAPE.sol/sAPE.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +1266 -0
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.json +128 -0
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.json +24 -0
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.json +24 -0
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +267 -0
  125. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  129. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  131. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  135. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  137. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  152. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.json +13 -0
  169. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.json +13 -0
  171. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.json +26 -0
  174. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +4 -0
  238. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.json +59 -0
  239. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +4 -0
  251. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.json +152 -0
  252. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +4 -0
  253. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.json +71 -0
  254. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +4 -0
  255. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.json +409 -0
  256. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +4 -0
  257. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.json +188 -0
  258. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  260. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  262. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  264. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  268. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  269. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  270. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  272. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  273. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  274. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  275. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  276. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  277. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  281. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  285. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  288. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  289. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  290. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  291. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  292. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  293. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  294. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  295. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  296. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  297. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  298. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  299. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
  300. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  301. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  302. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  303. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  304. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  305. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  306. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  307. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  309. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  311. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  313. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  318. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  320. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  328. package/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol +163 -0
  329. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol +153 -0
  330. package/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol +110 -0
  331. package/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol +202 -0
  332. package/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol +156 -0
  333. package/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol +128 -0
  334. package/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol +193 -0
  335. package/contracts/core/libraries/math/Math.sol +4 -0
  336. package/contracts/interfaces/Ankr/IAnkrBNB.sol +11 -0
  337. package/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol +21 -0
  338. package/contracts/interfaces/Camelot/ICamelotNFTPool.sol +2 -0
  339. package/contracts/interfaces/Camelot/ICamelotNitroPool.sol +3 -0
  340. package/contracts/interfaces/Camelot/ICamelotPair.sol +4 -0
  341. package/contracts/interfaces/IPendlePreviewHelper.sol +14 -0
  342. package/contracts/interfaces/ISwETH.sol +10 -0
  343. package/contracts/interfaces/Thena/IThenaFactory.sol +23 -0
  344. package/contracts/interfaces/Thena/IThenaGaugeV2.sol +18 -0
  345. package/contracts/interfaces/Thena/IThenaPair.sol +30 -0
  346. package/contracts/interfaces/Thena/IThenaRouter.sol +38 -0
  347. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +45 -0
  348. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +67 -0
  349. package/contracts/router/swap-aggregator/PendleSwap.sol +3 -2
  350. package/deployments/1-markets/BALANCER-LP-AURA-WSTETH-ANKRETH-JUNE-27-2024.json +10 -0
  351. package/deployments/56-core.json +2 -2
  352. package/deployments/56-markets/ANKRBNB-26JUN2025.json +10 -0
  353. package/deployments/56-offchain-helper.json +1 -1
  354. package/package.json +1 -1
  355. package/typechain-types/{CamelotV1Preview.ts → CamelotV1PreviewHelper.ts} +63 -23
  356. package/typechain-types/ICamelotNFTPool.ts +19 -0
  357. package/typechain-types/ICamelotNitroPool.ts +19 -0
  358. package/typechain-types/ICamelotPair.ts +42 -0
  359. package/typechain-types/IPVotingEscrowSidechain.ts +155 -0
  360. package/typechain-types/PendleCamelotRewardHelper.ts +347 -0
  361. package/typechain-types/{CamelotV1LpHelper.ts → PendleCamelotV1RouterHelper.ts} +5 -75
  362. package/typechain-types/PendleCamelotV1SY.ts +0 -245
  363. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  364. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  365. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  366. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  367. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  368. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  369. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  370. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  371. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  372. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  373. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  374. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  375. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  376. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  377. package/typechain-types/factories/CamelotV1PreviewHelper__factory.ts +400 -0
  378. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  379. package/typechain-types/factories/ICamelotNFTPool__factory.ts +13 -0
  380. package/typechain-types/factories/ICamelotNitroPool__factory.ts +13 -0
  381. package/typechain-types/factories/ICamelotPair__factory.ts +26 -0
  382. package/typechain-types/factories/IPVotingEscrowSidechain__factory.ts +112 -0
  383. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  384. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  385. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  386. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  387. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  388. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  389. package/typechain-types/factories/PendleCamelotRewardHelper__factory.ts +317 -0
  390. package/typechain-types/factories/{CamelotV1LpHelper__factory.ts → PendleCamelotV1RouterHelper__factory.ts} +12 -60
  391. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +9 -156
  392. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  393. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  394. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  395. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  396. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  397. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  398. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  399. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  400. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  401. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  402. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  403. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  404. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  405. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  406. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  407. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  409. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  410. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  411. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  412. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  413. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  414. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  415. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  416. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  417. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  418. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  419. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  420. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  421. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  422. package/typechain-types/factories/SAPE__factory.ts +1 -1
  423. package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
  424. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  425. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  426. package/typechain-types/hardhat.d.ts +0 -144
  427. package/typechain-types/index.ts +2 -22
  428. package/typechain-types/BotActionCallback.ts +0 -763
  429. package/typechain-types/BotActionHelper.ts +0 -763
  430. package/typechain-types/BotDecisionHelper.ts +0 -527
  431. package/typechain-types/BotDecisionLib.ts +0 -335
  432. package/typechain-types/IBotDecisionHelper.ts +0 -507
  433. package/typechain-types/ICamelotSY.ts +0 -100
  434. package/typechain-types/ILongYieldTradingBot.ts +0 -1008
  435. package/typechain-types/ITradingBotBase.ts +0 -523
  436. package/typechain-types/LongYieldTradingBot.ts +0 -1468
  437. package/typechain-types/MarketExtLib.ts +0 -81
  438. package/typechain-types/PendleBinanceEth.ts +0 -1229
  439. package/typechain-types/TradingBotBase.ts +0 -719
  440. package/typechain-types/TradingBotOffchain.ts +0 -568
  441. package/typechain-types/factories/BotActionCallback__factory.ts +0 -678
  442. package/typechain-types/factories/BotActionHelper__factory.ts +0 -678
  443. package/typechain-types/factories/BotDecisionHelper__factory.ts +0 -1123
  444. package/typechain-types/factories/BotDecisionLib__factory.ts +0 -642
  445. package/typechain-types/factories/CamelotV1Preview__factory.ts +0 -309
  446. package/typechain-types/factories/IBotDecisionHelper__factory.ts +0 -932
  447. package/typechain-types/factories/ICamelotSY__factory.ts +0 -49
  448. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +0 -1172
  449. package/typechain-types/factories/ITradingBotBase__factory.ts +0 -455
  450. package/typechain-types/factories/LongYieldTradingBot__factory.ts +0 -1836
  451. package/typechain-types/factories/MarketExtLib__factory.ts +0 -74
  452. package/typechain-types/factories/PendleBinanceEth__factory.ts +0 -1052
  453. package/typechain-types/factories/TradingBotBase__factory.ts +0 -628
  454. package/typechain-types/factories/TradingBotOffchain__factory.ts +0 -1133
@@ -0,0 +1,193 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ import "./ThenaMath.sol";
6
+
7
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
8
+ import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
9
+ import "../../../libraries/BoringOwnableUpgradeable.sol";
10
+ import "../../../../interfaces/IPendlePreviewHelper.sol";
11
+ import "../../../../interfaces/Thena/IThenaFactory.sol";
12
+
13
+ interface IThenaSY {
14
+ function pair() external view returns (address);
15
+ }
16
+
17
+ contract ThenaPreview is
18
+ IPendlePreviewHelper,
19
+ ThenaMath,
20
+ BoringOwnableUpgradeable,
21
+ UUPSUpgradeable
22
+ {
23
+ using Math for uint256;
24
+
25
+ address internal immutable factory;
26
+
27
+ constructor(address _factory) initializer {
28
+ factory = _factory;
29
+ }
30
+
31
+ function initialize() external initializer {
32
+ __BoringOwnable_init();
33
+ }
34
+
35
+ // solhint-disable-next-line
36
+ function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
37
+
38
+ function previewDeposit(
39
+ address tokenIn,
40
+ uint256 amountTokenIn
41
+ ) external view returns (uint256 amountLpOut) {
42
+ address pair = IThenaSY(msg.sender).pair();
43
+
44
+ ThenaData memory data = _getNormalizedPairData(pair, tokenIn);
45
+
46
+ uint256 amountToSwap = _getZapInSwapAmount(data, tokenIn, amountTokenIn);
47
+ uint256 amountSwapOut = _getSwapAmountOut(data, amountToSwap);
48
+
49
+ uint256 amount0ToAddLiq;
50
+ uint256 amount1ToAddLiq;
51
+
52
+ data.reserve0 = _getReserveAfterSwap(amountToSwap, data.reserve0, data.fee); // no need getBalance here since we dont need 100% accuracy
53
+ data.reserve1 -= amountSwapOut;
54
+
55
+ amount0ToAddLiq = amountTokenIn - amountToSwap;
56
+ amount1ToAddLiq = amountSwapOut;
57
+
58
+ return _calcAmountLpOut(data, amount0ToAddLiq, amount1ToAddLiq);
59
+ }
60
+
61
+ function previewRedeem(address tokenOut, uint256 amountLpIn) external view returns (uint256) {
62
+ address pair = IThenaSY(msg.sender).pair();
63
+
64
+ // Token1 = tokenOut
65
+ address token0 = IThenaPair(pair).token0();
66
+ address token1 = IThenaPair(pair).token1();
67
+
68
+ ThenaData memory data = _getNormalizedPairData(pair, tokenOut == token0 ? token1 : token0);
69
+
70
+ uint256 totalSupply = IThenaPair(data.pair).totalSupply();
71
+
72
+ uint256 amount0Removed = (data.reserve0 * amountLpIn) / totalSupply;
73
+ uint256 amount1Removed = (data.reserve1 * amountLpIn) / totalSupply;
74
+
75
+ data.reserve0 -= amount0Removed;
76
+ data.reserve1 -= amount1Removed;
77
+
78
+ return amount1Removed + _getSwapAmountOut(data, amount0Removed);
79
+ }
80
+
81
+ // @reference: Camelot
82
+ function _getSwapAmountOut(
83
+ ThenaData memory data,
84
+ uint256 amountIn
85
+ ) internal pure returns (uint256) {
86
+ if (!data.isStable) {
87
+ amountIn = amountIn * (FEE_DENOMINATOR - data.fee);
88
+ return (amountIn * data.reserve1) / (data.reserve0 * FEE_DENOMINATOR + amountIn);
89
+ } else {
90
+ amountIn = (amountIn - (amountIn * data.fee) / FEE_DENOMINATOR).divDown(
91
+ data.decimals0
92
+ );
93
+ uint256 reserveA = data.reserve0.divDown(data.decimals0);
94
+ uint256 reserveB = data.reserve1.divDown(data.decimals1);
95
+ uint256 xy = reserveA.mulDown(reserveB).mulDown(
96
+ reserveA.squareDown() + reserveB.squareDown()
97
+ );
98
+ uint256 y = reserveB - _get_y(amountIn + reserveA, xy, reserveB);
99
+ return y.mulDown(data.decimals1);
100
+ }
101
+ }
102
+
103
+ /**
104
+ * @notice This function simulates Camelot router so any precision issues from their calculation
105
+ * is preserved in preview functions...
106
+ */
107
+ function _calcAmountLpOut(
108
+ ThenaData memory data,
109
+ uint256 amount0ToAddLiq,
110
+ uint256 amount1ToAddLiq
111
+ ) private view returns (uint256 amountLpOut) {
112
+ uint256 amount1Optimal = _quote(amount0ToAddLiq, data.reserve0, data.reserve1);
113
+ if (amount1Optimal <= amount1ToAddLiq) {
114
+ amount1ToAddLiq = amount1Optimal;
115
+ } else {
116
+ amount0ToAddLiq = _quote(amount1ToAddLiq, data.reserve1, data.reserve0);
117
+ }
118
+
119
+ uint256 supply = IThenaPair(data.pair).totalSupply();
120
+ return
121
+ Math.min(
122
+ (amount0ToAddLiq * supply) / data.reserve0,
123
+ (amount1ToAddLiq * supply) / data.reserve1
124
+ );
125
+ }
126
+
127
+ function _quote(
128
+ uint256 amountA,
129
+ uint256 reserveA,
130
+ uint256 reserveB
131
+ ) private pure returns (uint256 amountB) {
132
+ amountB = (amountA * reserveB) / reserveA;
133
+ }
134
+
135
+ function _getNormalizedPairData(
136
+ address pair,
137
+ address pivotToken
138
+ ) internal view returns (ThenaData memory data) {
139
+ data.pair = pair;
140
+ data.isStable = IThenaPair(pair).isStable();
141
+ data.fee = IThenaFactory(factory).getFee(data.isStable);
142
+ (data.reserve0, data.reserve1, ) = IThenaPair(pair).getReserves();
143
+
144
+ if (data.isStable) {
145
+ // if not stable, skip readding these datas
146
+ data.decimals0 = 10 ** IERC20Metadata(IThenaPair(pair).token0()).decimals();
147
+ data.decimals1 = 10 ** IERC20Metadata(IThenaPair(pair).token1()).decimals();
148
+ }
149
+
150
+ // Normalize token order
151
+ if (pivotToken == IThenaPair(pair).token1()) {
152
+ (data.reserve0, data.reserve1) = (data.reserve1, data.reserve0);
153
+ (data.decimals0, data.decimals1) = (data.decimals1, data.decimals0);
154
+ }
155
+ }
156
+
157
+ // Camelot copied math functions
158
+ function _get_y(uint256 x0, uint256 xy, uint256 y) internal pure returns (uint256) {
159
+ for (uint256 i = 0; i < 255; i++) {
160
+ uint256 y_prev = y;
161
+ uint256 k = _f(x0, y);
162
+ if (k < xy) {
163
+ uint256 dy = ((xy - k) * 1e18) / _d(x0, y);
164
+ y = y + dy;
165
+ } else {
166
+ uint256 dy = ((k - xy) * 1e18) / _d(x0, y);
167
+ y = y - dy;
168
+ }
169
+ if (y > y_prev) {
170
+ if (y - y_prev <= 1) {
171
+ return y;
172
+ }
173
+ } else {
174
+ if (y_prev - y <= 1) {
175
+ return y;
176
+ }
177
+ }
178
+ }
179
+ return y;
180
+ }
181
+
182
+ function _f(uint256 x0, uint256 y) internal pure returns (uint256) {
183
+ return
184
+ (x0 * ((((y * y) / 1e18) * y) / 1e18)) /
185
+ 1e18 +
186
+ (((((x0 * x0) / 1e18) * x0) / 1e18) * y) /
187
+ 1e18;
188
+ }
189
+
190
+ function _d(uint256 x0, uint256 y) internal pure returns (uint256) {
191
+ return (3 * x0 * ((y * y) / 1e18)) / 1e18 + ((((x0 * x0) / 1e18) * x0) / 1e18);
192
+ }
193
+ }
@@ -81,6 +81,10 @@ library Math {
81
81
  return x * x;
82
82
  }
83
83
 
84
+ function squareDown(uint256 x) internal pure returns (uint256) {
85
+ return mulDown(x, x);
86
+ }
87
+
84
88
  function abs(int256 x) internal pure returns (uint256) {
85
89
  return uint256(x > 0 ? x : -x);
86
90
  }
@@ -0,0 +1,11 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ interface IAnkrBNB {
6
+ function ratio() external view returns (uint256);
7
+
8
+ function bondsToShares(uint256 amount) external view returns (uint256);
9
+
10
+ function sharesToBonds(uint256 amount) external view returns (uint256);
11
+ }
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ interface IAnkrLiquidStaking {
6
+ function swap(uint256 shares, address receiverAddress) external;
7
+
8
+ function stakeBonds() external payable;
9
+
10
+ function stakeCerts() external payable;
11
+
12
+ function getFreeBalance() external view returns (uint256);
13
+
14
+ function getMinStake() external view returns (uint256);
15
+
16
+ function getMinUnstake() external view returns (uint256);
17
+
18
+ function flashPoolCapacity() external view returns (uint256);
19
+
20
+ function getFlashUnstakeFee() external view returns (uint256);
21
+ }
@@ -17,6 +17,8 @@ interface ICamelotNFTPool is IERC721 {
17
17
 
18
18
  function emergencyWithdraw(uint256 tokenId) external;
19
19
 
20
+ function emergencyUnlock() external view returns (bool);
21
+
20
22
  function getPoolInfo()
21
23
  external
22
24
  view
@@ -18,6 +18,7 @@ interface ICamelotNitroPool is IERC721 {
18
18
 
19
19
  function nftPool() external view returns (address);
20
20
 
21
+
21
22
  function harvest() external;
22
23
 
23
24
  function rewardsToken1() external view returns (RewardsToken calldata);
@@ -25,4 +26,6 @@ interface ICamelotNitroPool is IERC721 {
25
26
  function rewardsToken2() external view returns (RewardsToken calldata);
26
27
 
27
28
  function emergencyWithdraw(uint256 tokenId) external;
29
+
30
+ function emergencyClose() external view returns (bool);
28
31
  }
@@ -56,6 +56,10 @@ interface ICamelotPair {
56
56
  );
57
57
  event Sync(uint112 reserve0, uint112 reserve1);
58
58
 
59
+ function precisionMultiplier0() external pure returns (uint256);
60
+
61
+ function precisionMultiplier1() external pure returns (uint256);
62
+
59
63
  function MINIMUM_LIQUIDITY() external pure returns (uint256);
60
64
 
61
65
  function factory() external view returns (address);
@@ -0,0 +1,14 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IPendlePreviewHelper {
5
+ function previewDeposit(
6
+ address tokenIn,
7
+ uint256 amountTokenIn
8
+ ) external view returns (uint256 amountSharesOut);
9
+
10
+ function previewRedeem(
11
+ address tokenOut,
12
+ uint256 amountSharesToBurn
13
+ ) external view returns (uint256 amountTokenOut);
14
+ }
@@ -0,0 +1,10 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface ISwETH {
5
+ function deposit() external payable;
6
+
7
+ function getRate() external view returns (uint256);
8
+
9
+ function ethToSwETHRate() external view returns (uint256);
10
+ }
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ interface IThenaFactory {
6
+ function allPairsLength() external view returns (uint);
7
+
8
+ function isPair(address pair) external view returns (bool);
9
+
10
+ function allPairs(uint index) external view returns (address);
11
+
12
+ function pairCodeHash() external pure returns (bytes32);
13
+
14
+ function getPair(address tokenA, address token, bool stable) external view returns (address);
15
+
16
+ function createPair(
17
+ address tokenA,
18
+ address tokenB,
19
+ bool stable
20
+ ) external returns (address pair);
21
+
22
+ function getFee(bool _stable) external view returns (uint256);
23
+ }
@@ -0,0 +1,18 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+
6
+ interface IThenaGaugeV2 {
7
+ function emergency() external returns (bool);
8
+
9
+ function depositAll() external;
10
+
11
+ function withdrawAll() external;
12
+
13
+ function emergencyWithdraw() external;
14
+
15
+ function getReward() external;
16
+
17
+ function balanceOf(address account) external view returns (uint256);
18
+ }
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ interface IThenaPair {
6
+ function metadata() external view returns (uint dec0, uint dec1, uint r0, uint r1, bool st, address t0, address t1);
7
+ function claimFees() external returns (uint, uint);
8
+ function tokens() external view returns (address, address);
9
+ function token0() external view returns (address);
10
+ function token1() external view returns (address);
11
+ function transferFrom(address src, address dst, uint amount) external returns (bool);
12
+ function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
13
+ function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
14
+ function burn(address to) external returns (uint amount0, uint amount1);
15
+ function mint(address to) external returns (uint liquidity);
16
+ function getReserves() external view returns (uint _reserve0, uint _reserve1, uint _blockTimestampLast);
17
+ function getAmountOut(uint, address) external view returns (uint);
18
+
19
+ function name() external view returns(string memory);
20
+ function symbol() external view returns(string memory);
21
+ function totalSupply() external view returns (uint);
22
+ function decimals() external view returns (uint8);
23
+
24
+ function claimable0(address _user) external view returns (uint);
25
+ function claimable1(address _user) external view returns (uint);
26
+
27
+ function isStable() external view returns(bool);
28
+
29
+
30
+ }
@@ -0,0 +1,38 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ interface IThenaRouter {
6
+ function swapExactTokensForTokensSimple(
7
+ uint amountIn,
8
+ uint amountOutMin,
9
+ address tokenFrom,
10
+ address tokenTo,
11
+ bool stable,
12
+ address to,
13
+ uint deadline
14
+ ) external returns (uint[] memory amounts);
15
+
16
+ function addLiquidity(
17
+ address tokenA,
18
+ address tokenB,
19
+ bool stable,
20
+ uint amountADesired,
21
+ uint amountBDesired,
22
+ uint amountAMin,
23
+ uint amountBMin,
24
+ address to,
25
+ uint deadline
26
+ ) external returns (uint amountA, uint amountB, uint liquidity);
27
+
28
+ function removeLiquidity(
29
+ address tokenA,
30
+ address tokenB,
31
+ bool stable,
32
+ uint liquidity,
33
+ uint amountAMin,
34
+ uint amountBMin,
35
+ address to,
36
+ uint deadline
37
+ ) external returns (uint amountA, uint amountB);
38
+ }
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
6
+
7
+ interface I1inchAggregationRouterV5 {
8
+ struct SwapDescription {
9
+ IERC20 srcToken;
10
+ IERC20 dstToken;
11
+ address payable srcReceiver;
12
+ address payable dstReceiver;
13
+ uint256 amount;
14
+ uint256 minReturnAmount;
15
+ uint256 flags;
16
+ }
17
+
18
+ function uniswapV3SwapTo(
19
+ address payable recipient,
20
+ uint256 amount,
21
+ uint256 minReturn,
22
+ uint256[] calldata pools
23
+ ) external payable returns(uint256 returnAmount);
24
+
25
+ function swap(
26
+ address executor,
27
+ SwapDescription calldata desc,
28
+ bytes calldata permit,
29
+ bytes calldata data
30
+ )
31
+ external
32
+ payable
33
+ returns (
34
+ uint256 returnAmount,
35
+ uint256 spentAmount
36
+ );
37
+
38
+ function unoswapTo(
39
+ address payable recipient,
40
+ address srcToken,
41
+ uint256 amount,
42
+ uint256 minReturn,
43
+ uint256[] calldata pools
44
+ ) external payable returns(uint256 returnAmount);
45
+ }
@@ -0,0 +1,67 @@
1
+ // SPDX-License-Identifier: MIT
2
+
3
+ pragma solidity 0.8.17;
4
+
5
+ import "./I1inchAggregationRouterV5.sol";
6
+ import "../../../core/libraries/Errors.sol";
7
+
8
+ abstract contract OneInchAggregationRouterHelper {
9
+ function _rescaleMinAmount(
10
+ uint256 minAmount,
11
+ uint256 oldAmount,
12
+ uint256 newAmount
13
+ ) internal pure returns (uint256) {
14
+ return (minAmount * newAmount) / oldAmount;
15
+ }
16
+
17
+ function _get1inchScaledInputData(bytes calldata rawCallData, uint256 newAmount)
18
+ internal
19
+ pure
20
+ returns (bytes memory)
21
+ {
22
+ bytes4 selector = bytes4(rawCallData[:4]);
23
+ bytes memory args = rawCallData[4:];
24
+
25
+ if (selector == I1inchAggregationRouterV5.uniswapV3SwapTo.selector) {
26
+ (
27
+ address payable recipient,
28
+ uint256 amount,
29
+ uint256 minReturn,
30
+ uint256[] memory pools
31
+ ) = abi.decode(args, (address, uint256, uint256, uint256[]));
32
+
33
+ amount = newAmount;
34
+ return abi.encodeWithSelector(selector, recipient, amount, minReturn, pools);
35
+ }
36
+
37
+ if (selector == I1inchAggregationRouterV5.swap.selector) {
38
+ (
39
+ address executor,
40
+ I1inchAggregationRouterV5.SwapDescription memory desc,
41
+ bytes memory permit,
42
+ bytes memory data
43
+ ) = abi.decode(
44
+ args,
45
+ (address, I1inchAggregationRouterV5.SwapDescription, bytes, bytes)
46
+ );
47
+
48
+ desc.amount = newAmount;
49
+ return abi.encodeWithSelector(selector, executor, desc, permit, data);
50
+ }
51
+
52
+ if (selector == I1inchAggregationRouterV5.unoswapTo.selector) {
53
+ (
54
+ address payable recipient,
55
+ address srcToken,
56
+ uint256 amount,
57
+ uint256 minReturn,
58
+ uint256[] memory pools
59
+ ) = abi.decode(args, (address, address, uint256, uint256, uint256[]));
60
+
61
+ amount = newAmount;
62
+ return abi.encodeWithSelector(selector, recipient, srcToken, amount, minReturn, pools);
63
+ }
64
+
65
+ revert Errors.UnsupportedSelector(1, selector);
66
+ }
67
+ }
@@ -4,8 +4,9 @@ pragma solidity 0.8.17;
4
4
  import "../../core/libraries/TokenHelper.sol";
5
5
  import "./IPSwapAggregator.sol";
6
6
  import "./kyberswap/KyberInputScalingHelper.sol";
7
+ import "./1inch/OneInchAggregationRouterHelper.sol";
7
8
 
8
- contract PendleSwap is IPSwapAggregator, TokenHelper, KyberInputScalingHelper {
9
+ contract PendleSwap is IPSwapAggregator, TokenHelper, KyberInputScalingHelper, OneInchAggregationRouterHelper {
9
10
  using Address for address;
10
11
 
11
12
  function swap(
@@ -30,7 +31,7 @@ contract PendleSwap is IPSwapAggregator, TokenHelper, KyberInputScalingHelper {
30
31
  if (swapType == SwapType.KYBERSWAP) {
31
32
  scaledCallData = _getKyberScaledInputData(rawCallData, amountIn);
32
33
  } else if (swapType == SwapType.ONE_INCH) {
33
- revert("not supported");
34
+ scaledCallData = _get1inchScaledInputData(rawCallData, amountIn);
34
35
  } else {
35
36
  assert(false);
36
37
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY wstETH-ankrETH_BalancerLP Aura",
3
+ "SY": "0xb5Cd090010D4735f18306EB680D898eF9F36F044",
4
+ "YT": "0xcE0BD0De35A39508916e1f63fBdaf15221c66d18",
5
+ "PT": "0x86a0ADF389Ba99006633978dDd43c5aa711DDF3E",
6
+ "market": "0xD547d9C74314F787aFFc587d101146e1663d046e",
7
+ "expiry": 1719446400,
8
+ "scalarRoot": "87995560000000000000",
9
+ "initAnchor": "1033722000000000000"
10
+ }
@@ -19,10 +19,10 @@
19
19
  "marketFactory": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
20
20
  "router": "0x00000000025EFaDc0b8d17d3d87aB5056e3D2510",
21
21
  "routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
22
- "pendleSwap": "0x6f41855CdF6861a1F8A017e8bB0F90927582cCf6",
22
+ "pendleSwap": "0x5D6357710b44f740Af20bD66F05e48DF59be7DD2",
23
23
  "routerHelper": "0x09D65812dCD0f276e052583d41885cA5C7Dd0086",
24
24
  "ptOracle": "0x4d717868F4Bd14ac8B29Bb6361901e30Ae05e340",
25
25
  "receiverEndpoint": "0x998CF52b2585e05494BF9F2bF502351a9C7FdA8f",
26
26
  "vePendle": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
27
27
  "gaugeController": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0"
28
- }
28
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "SY ankrBNB",
3
+ "SY": "0x58732F1C1243A0D5876a601FB8D1Ee508B21580D",
4
+ "YT": "0x269f3E230C90C0a29140106D4cFB5860aF6F6827",
5
+ "PT": "0x04eb6B56ff53f457c8E857ca8D4fbC8d9a531c0C",
6
+ "market": "0xEDa1D0e1681D59dea451702963d6287b844Cb94C",
7
+ "expiry": 1750896000,
8
+ "scalarRoot": "71188500000000000000",
9
+ "initAnchor": "1060546000000000000"
10
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
- "multicall": "0x9C5F6Be9A6E625b0DF5F9F97a5850a41f933434C",
2
+ "multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
3
3
  "implicitSwapfeeContract": "0xed18de5442297a4ec1ce59c7c7d9427adc2a012b"
4
4
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "2.21.0",
5
+ "version": "2.22.0",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",