@pendle/core-v2 2.15.2 → 2.17.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 (322) 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/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +1189 -0
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +10 -0
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +322 -0
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +4 -0
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.json +24 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +4 -0
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.json +24 -0
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +4 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +10 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +4 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +234 -0
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +4 -0
  114. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.json +1172 -0
  115. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +4 -0
  208. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +10 -0
  209. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  216. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  219. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  220. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  221. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  222. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  224. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  225. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  226. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  231. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  232. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  233. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  234. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  235. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +4 -0
  238. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +60 -0
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IAggregationExecutor.sol → IAggregationExecutor.sol}/IAggregationExecutor.json +1 -1
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +4 -0
  242. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json → IExecutorHelper.sol/IExecutorHelper.json} +147 -2
  243. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +4 -0
  244. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{ethereum/IHashflow.sol → IHashflow.sol}/IHashflow.json +1 -1
  245. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  246. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/IMetaAggregationRouterV2.sol → IMetaAggregationRouterV2.sol}/IMetaAggregationRouterV2.json +1 -1
  247. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +4 -0
  248. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json → KyberInputScalingHelper.sol/KyberInputScalingHelper.json} +2 -2
  249. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +4 -0
  250. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +10 -0
  251. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol +153 -0
  252. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +289 -0
  253. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +629 -0
  254. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol +113 -0
  255. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol +381 -0
  256. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol +206 -0
  257. package/contracts/interfaces/Balancer/IERC4626LinearPool.sol +181 -0
  258. package/contracts/interfaces/Balancer/IVault.sol +13 -0
  259. package/deployments/1-markets/BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json +10 -0
  260. package/deployments/1-markets/STETH-DEC2027.json +10 -0
  261. package/deployments/merkle-distribution/2023-05-25.json +3749 -0
  262. package/package.json +1 -1
  263. package/typechain-types/BbAPoolHelper.ts +89 -0
  264. package/typechain-types/BbAWethHelper.ts +89 -0
  265. package/typechain-types/ComposableStablePreview.ts +501 -0
  266. package/typechain-types/IERC4626LinearPool.ts +1649 -0
  267. package/typechain-types/IExecutorHelper.ts +863 -0
  268. package/typechain-types/{CamelotV1PreviewHelper.ts → LinearPreview.ts} +49 -118
  269. package/typechain-types/{PendleCamelotV1SY.ts → PendleAuraBbAWethSwethSY.ts} +199 -383
  270. package/typechain-types/PendleSwap.ts +126 -0
  271. package/typechain-types/factories/BbAPoolHelper__factory.ts +36 -0
  272. package/typechain-types/factories/BbAWethHelper__factory.ts +36 -0
  273. package/typechain-types/factories/ComposableStablePreview__factory.ts +379 -0
  274. package/typechain-types/factories/IERC4626LinearPool__factory.ts +1187 -0
  275. package/typechain-types/factories/IExecutorHelper__factory.ts +548 -0
  276. package/typechain-types/factories/LinearPreview__factory.ts +284 -0
  277. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  278. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1266 -0
  279. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  280. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  281. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  282. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  283. package/typechain-types/factories/PendleSwap__factory.ts +110 -0
  284. package/typechain-types/hardhat.d.ts +99 -0
  285. package/typechain-types/index.ts +16 -0
  286. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
  287. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
  288. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
  289. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
  290. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +0 -4
  291. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +0 -76
  292. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +0 -4
  293. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +0 -76
  294. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  295. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +0 -4
  296. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +0 -4
  297. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json +0 -40
  298. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +0 -4
  299. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.json +0 -101
  300. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  301. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +0 -4
  302. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +0 -4
  303. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +0 -10
  304. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  305. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  306. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  307. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +0 -388
  308. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +0 -4
  309. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  310. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  311. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +0 -4
  312. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +0 -10
  313. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +0 -4
  314. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +0 -10
  315. package/typechain-types/IPVotingEscrowSidechain.ts +0 -155
  316. package/typechain-types/PendleCamelotRewardHelper.ts +0 -347
  317. package/typechain-types/PendleCamelotV1RouterHelper.ts +0 -133
  318. package/typechain-types/factories/CamelotV1PreviewHelper__factory.ts +0 -400
  319. package/typechain-types/factories/IPVotingEscrowSidechain__factory.ts +0 -112
  320. package/typechain-types/factories/PendleCamelotRewardHelper__factory.ts +0 -317
  321. package/typechain-types/factories/PendleCamelotV1RouterHelper__factory.ts +0 -95
  322. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1448
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IExecutorHelper1",
4
- "sourceName": "contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol",
3
+ "contractName": "IExecutorHelper",
4
+ "sourceName": "contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -119,6 +119,35 @@
119
119
  "stateMutability": "payable",
120
120
  "type": "function"
121
121
  },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "uint256",
126
+ "name": "index",
127
+ "type": "uint256"
128
+ },
129
+ {
130
+ "internalType": "bytes",
131
+ "name": "data",
132
+ "type": "bytes"
133
+ },
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "previousAmountOut",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "executeFraxSwap",
141
+ "outputs": [
142
+ {
143
+ "internalType": "uint256",
144
+ "name": "",
145
+ "type": "uint256"
146
+ }
147
+ ],
148
+ "stateMutability": "payable",
149
+ "type": "function"
150
+ },
122
151
  {
123
152
  "inputs": [
124
153
  {
@@ -206,6 +235,93 @@
206
235
  "stateMutability": "payable",
207
236
  "type": "function"
208
237
  },
238
+ {
239
+ "inputs": [
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "index",
243
+ "type": "uint256"
244
+ },
245
+ {
246
+ "internalType": "bytes",
247
+ "name": "data",
248
+ "type": "bytes"
249
+ },
250
+ {
251
+ "internalType": "uint256",
252
+ "name": "previousAmountOut",
253
+ "type": "uint256"
254
+ }
255
+ ],
256
+ "name": "executeKyberLimitOrder",
257
+ "outputs": [
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "stateMutability": "payable",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [
269
+ {
270
+ "internalType": "uint256",
271
+ "name": "index",
272
+ "type": "uint256"
273
+ },
274
+ {
275
+ "internalType": "bytes",
276
+ "name": "data",
277
+ "type": "bytes"
278
+ },
279
+ {
280
+ "internalType": "uint256",
281
+ "name": "previousAmountOut",
282
+ "type": "uint256"
283
+ }
284
+ ],
285
+ "name": "executePSMSwap",
286
+ "outputs": [
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "stateMutability": "payable",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "index",
301
+ "type": "uint256"
302
+ },
303
+ {
304
+ "internalType": "bytes",
305
+ "name": "data",
306
+ "type": "bytes"
307
+ },
308
+ {
309
+ "internalType": "uint256",
310
+ "name": "previousAmountOut",
311
+ "type": "uint256"
312
+ }
313
+ ],
314
+ "name": "executePlatypusSwap",
315
+ "outputs": [
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "",
319
+ "type": "uint256"
320
+ }
321
+ ],
322
+ "stateMutability": "payable",
323
+ "type": "function"
324
+ },
209
325
  {
210
326
  "inputs": [
211
327
  {
@@ -379,6 +495,35 @@
379
495
  ],
380
496
  "stateMutability": "payable",
381
497
  "type": "function"
498
+ },
499
+ {
500
+ "inputs": [
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "index",
504
+ "type": "uint256"
505
+ },
506
+ {
507
+ "internalType": "bytes",
508
+ "name": "data",
509
+ "type": "bytes"
510
+ },
511
+ {
512
+ "internalType": "uint256",
513
+ "name": "previousAmountOut",
514
+ "type": "uint256"
515
+ }
516
+ ],
517
+ "name": "executeWrappedstETHSwap",
518
+ "outputs": [
519
+ {
520
+ "internalType": "uint256",
521
+ "name": "",
522
+ "type": "uint256"
523
+ }
524
+ ],
525
+ "stateMutability": "payable",
526
+ "type": "function"
382
527
  }
383
528
  ],
384
529
  "bytecode": "0x",
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/3583488c4e04d32822c2a989cc7cff96.json"
4
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "IHashflow",
4
- "sourceName": "contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol",
4
+ "sourceName": "contracts/router/swap-aggregator/kyberswap/IHashflow.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/3583488c4e04d32822c2a989cc7cff96.json"
4
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "IMetaAggregationRouterV2",
4
- "sourceName": "contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol",
4
+ "sourceName": "contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/3583488c4e04d32822c2a989cc7cff96.json"
4
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "KyberHelperArbitrum",
4
- "sourceName": "contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol",
3
+ "contractName": "KyberInputScalingHelper",
4
+ "sourceName": "contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol",
5
5
  "abi": [],
6
6
  "bytecode": "0x",
7
7
  "deployedBytecode": "0x",
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/3583488c4e04d32822c2a989cc7cff96.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ScalingDataLib",
4
+ "sourceName": "contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cfba1793d0bf2005e9ec0047b2572c3062305c74344dcf37d39ad9fc7600e96b64736f6c63430008110033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cfba1793d0bf2005e9ec0047b2572c3062305c74344dcf37d39ad9fc7600e96b64736f6c63430008110033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,153 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "./base/PendleAuraBalancerStableLPSYV2.sol";
5
+ import "./base/ComposableStable/ComposableStablePreview.sol";
6
+ import "./base/Linear/BbAPoolHelper.sol";
7
+
8
+ contract PendleAuraBbAWethSwethSY is PendleAuraBalancerStableLPSYV2, BbAWethHelper {
9
+ uint256 internal constant AURA_PID = 86;
10
+ address internal constant LP = 0x02D928E68D8F10C0358566152677Db51E1e2Dc8C;
11
+ address internal constant SWETH = 0xf951E335afb289353dc249e82926178EaC7DEd78;
12
+
13
+ bool internal constant NO_TOKENS_EXEMPT = true;
14
+ bool internal constant ALL_TOKENS_EXEMPT = false;
15
+
16
+ constructor(
17
+ string memory _name,
18
+ string memory _symbol,
19
+ LinearPreview _linearPreviewHelper,
20
+ ComposableStablePreview _composablePreviewHelper
21
+ )
22
+ BbAWethHelper(_linearPreviewHelper)
23
+ PendleAuraBalancerStableLPSYV2(_name, _symbol, LP, AURA_PID, _composablePreviewHelper)
24
+ //solhint-disable-next-line
25
+ {
26
+
27
+ }
28
+
29
+ function _deposit(address tokenIn, uint256 amount)
30
+ internal
31
+ override
32
+ returns (uint256 amountSharesOut)
33
+ {
34
+ if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == WA_WETH) {
35
+ uint256 amountBbAWeth = _depositBbAWeth(tokenIn, amount);
36
+ amountSharesOut = super._deposit(BB_A_WETH, amountBbAWeth);
37
+ } else {
38
+ amountSharesOut = super._deposit(tokenIn, amount);
39
+ }
40
+ }
41
+
42
+ function _redeem(
43
+ address receiver,
44
+ address tokenOut,
45
+ uint256 amountSharesToRedeem
46
+ ) internal override returns (uint256 amountTokenOut) {
47
+ if (tokenOut == NATIVE || tokenOut == WETH || tokenOut == WA_WETH) {
48
+ uint256 amountBbAWeth = super._redeem(address(this), BB_A_WETH, amountSharesToRedeem);
49
+ amountTokenOut = _redeemBbAWeth(receiver, tokenOut, amountBbAWeth);
50
+ } else {
51
+ return super._redeem(receiver, tokenOut, amountSharesToRedeem);
52
+ }
53
+ }
54
+
55
+ function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
56
+ internal
57
+ view
58
+ override
59
+ returns (uint256 amountSharesOut)
60
+ {
61
+ if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == WA_WETH) {
62
+ uint256 amountBbAWeth = _previewDepositBbAWeth(tokenIn, amountTokenToDeposit);
63
+ amountSharesOut = super._previewDeposit(BB_A_WETH, amountBbAWeth);
64
+ } else {
65
+ amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
66
+ }
67
+ }
68
+
69
+ function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
70
+ internal
71
+ view
72
+ override
73
+ returns (uint256 amountTokenOut)
74
+ {
75
+ if (tokenOut == NATIVE || tokenOut == WETH || tokenOut == WA_WETH) {
76
+ uint256 amountBbAWeth = super._previewRedeem(BB_A_WETH, amountSharesToRedeem);
77
+ amountTokenOut = _previewRedeemBbAWeth(tokenOut, amountBbAWeth);
78
+ } else {
79
+ return super._previewRedeem(tokenOut, amountSharesToRedeem);
80
+ }
81
+ }
82
+
83
+ function _getImmutablePoolData() internal pure override returns (bytes memory ret) {
84
+ ComposableStablePreview.ImmutableData memory res;
85
+ res.poolTokens = _getPoolTokenAddresses();
86
+ res.rateProviders = _getRateProviders();
87
+ res.rawScalingFactors = _getRawScalingFactors();
88
+ res.isExemptFromYieldProtocolFee = _getExemption();
89
+ res.LP = LP;
90
+ res.noTokensExempt = NO_TOKENS_EXEMPT;
91
+ res.allTokensExempt = ALL_TOKENS_EXEMPT;
92
+ res.bptIndex = _getBPTIndex();
93
+ res.totalTokens = res.poolTokens.length;
94
+
95
+ return abi.encode(res);
96
+ }
97
+
98
+ // --------------------------------- POOL CONSTANTS ---------------------------------
99
+ function _getPoolTokenAddresses() internal pure override returns (address[] memory res) {
100
+ res = new address[](3);
101
+ res[0] = LP;
102
+ res[1] = BB_A_WETH;
103
+ res[2] = SWETH;
104
+ }
105
+
106
+ function _getBPTIndex() internal pure override returns (uint256) {
107
+ return 0;
108
+ }
109
+
110
+ function _getRateProviders() internal pure returns (address[] memory res) {
111
+ res = new address[](3);
112
+ res[0] = 0x0000000000000000000000000000000000000000;
113
+ res[1] = 0x60D604890feaa0b5460B28A424407c24fe89374a;
114
+ res[2] = 0xf951E335afb289353dc249e82926178EaC7DEd78;
115
+ }
116
+
117
+ function _getRawScalingFactors() internal pure returns (uint256[] memory res) {
118
+ res = new uint256[](3);
119
+ res[0] = res[1] = res[2] = 1e18;
120
+ }
121
+
122
+ function _getExemption() internal pure returns (bool[] memory res) {
123
+ res = new bool[](3);
124
+ res[0] = res[1] = res[2] = false;
125
+ }
126
+
127
+ function getTokensIn() public pure override returns (address[] memory res) {
128
+ res = new address[](6);
129
+ res[0] = NATIVE;
130
+ res[1] = WETH;
131
+ res[2] = WA_WETH;
132
+ res[3] = BB_A_WETH;
133
+ res[4] = SWETH;
134
+ res[5] = LP;
135
+ }
136
+
137
+ function getTokensOut() public pure override returns (address[] memory res) {
138
+ return getTokensIn();
139
+ }
140
+
141
+ function isValidTokenIn(address token) public pure override returns (bool) {
142
+ return (token == NATIVE ||
143
+ token == WETH ||
144
+ token == WA_WETH ||
145
+ token == BB_A_WETH ||
146
+ token == SWETH ||
147
+ token == LP);
148
+ }
149
+
150
+ function isValidTokenOut(address token) public pure override returns (bool) {
151
+ return isValidTokenIn(token);
152
+ }
153
+ }
@@ -0,0 +1,289 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../FixedPoint.sol";
5
+
6
+ // almost copy-paste from https://etherscan.io/token/0x1e19cf2d73a72ef1332c882f20534b6519be0276#code
7
+ library ComposableStableMath {
8
+ using FixedPoint for uint256;
9
+
10
+ uint256 internal constant _MIN_AMP = 1;
11
+ uint256 internal constant _MAX_AMP = 5000;
12
+ uint256 internal constant _AMP_PRECISION = 1e3;
13
+
14
+ function _calculateInvariant(uint256 amplificationParameter, uint256[] memory balances)
15
+ internal
16
+ pure
17
+ returns (uint256)
18
+ {
19
+ unchecked {
20
+ /**********************************************************************************************
21
+ // invariant //
22
+ // D = invariant D^(n+1) //
23
+ // A = amplification coefficient A n^n S + D = A D n^n + ----------- //
24
+ // S = sum of balances n^n P //
25
+ // P = product of balances //
26
+ // n = number of tokens //
27
+ **********************************************************************************************/
28
+
29
+ // Always round down, to match Vyper's arithmetic (which always truncates).
30
+
31
+ uint256 sum = 0; // S in the Curve version
32
+ uint256 numTokens = balances.length;
33
+ for (uint256 i = 0; i < numTokens; i++) {
34
+ sum = sum.add(balances[i]);
35
+ }
36
+ if (sum == 0) {
37
+ return 0;
38
+ }
39
+
40
+ uint256 prevInvariant; // Dprev in the Curve version
41
+ uint256 invariant = sum; // D in the Curve version
42
+ uint256 ampTimesTotal = amplificationParameter * numTokens; // Ann in the Curve version
43
+
44
+ for (uint256 i = 0; i < 255; i++) {
45
+ uint256 D_P = invariant;
46
+
47
+ for (uint256 j = 0; j < numTokens; j++) {
48
+ // (D_P * invariant) / (balances[j] * numTokens)
49
+ D_P = divDown(mul(D_P, invariant), mul(balances[j], numTokens));
50
+ }
51
+
52
+ prevInvariant = invariant;
53
+
54
+ invariant = divDown(
55
+ mul(
56
+ // (ampTimesTotal * sum) / AMP_PRECISION + D_P * numTokens
57
+ (
58
+ divDown(mul(ampTimesTotal, sum), _AMP_PRECISION).add(
59
+ mul(D_P, numTokens)
60
+ )
61
+ ),
62
+ invariant
63
+ ),
64
+ // ((ampTimesTotal - _AMP_PRECISION) * invariant) / _AMP_PRECISION + (numTokens + 1) * D_P
65
+ (
66
+ divDown(mul((ampTimesTotal - _AMP_PRECISION), invariant), _AMP_PRECISION)
67
+ .add(mul((numTokens + 1), D_P))
68
+ )
69
+ );
70
+
71
+ if (invariant > prevInvariant) {
72
+ if (invariant - prevInvariant <= 1) {
73
+ return invariant;
74
+ }
75
+ } else if (prevInvariant - invariant <= 1) {
76
+ return invariant;
77
+ }
78
+ }
79
+
80
+ revert("Stable Invariant did not converge");
81
+ }
82
+ }
83
+
84
+ function _calcBptOutGivenExactTokensIn(
85
+ uint256 amp,
86
+ uint256[] memory balances,
87
+ uint256[] memory amountsIn,
88
+ uint256 bptTotalSupply,
89
+ uint256 currentInvariant,
90
+ uint256 swapFeePercentage
91
+ ) internal pure returns (uint256) {
92
+ unchecked {
93
+ // BPT out, so we round down overall.
94
+
95
+ // First loop calculates the sum of all token balances, which will be used to calculate
96
+ // the current weights of each token, relative to this sum
97
+ uint256 sumBalances = 0;
98
+ for (uint256 i = 0; i < balances.length; i++) {
99
+ sumBalances = sumBalances.add(balances[i]);
100
+ }
101
+
102
+ // Calculate the weighted balance ratio without considering fees
103
+ uint256[] memory balanceRatiosWithFee = new uint256[](amountsIn.length);
104
+ // The weighted sum of token balance ratios with fee
105
+ uint256 invariantRatioWithFees = 0;
106
+ for (uint256 i = 0; i < balances.length; i++) {
107
+ uint256 currentWeight = balances[i].divDown(sumBalances);
108
+ balanceRatiosWithFee[i] = balances[i].add(amountsIn[i]).divDown(balances[i]);
109
+ invariantRatioWithFees = invariantRatioWithFees.add(
110
+ balanceRatiosWithFee[i].mulDown(currentWeight)
111
+ );
112
+ }
113
+
114
+ // Second loop calculates new amounts in, taking into account the fee on the percentage excess
115
+ uint256[] memory newBalances = new uint256[](balances.length);
116
+ for (uint256 i = 0; i < balances.length; i++) {
117
+ uint256 amountInWithoutFee;
118
+
119
+ // Check if the balance ratio is greater than the ideal ratio to charge fees or not
120
+ if (balanceRatiosWithFee[i] > invariantRatioWithFees) {
121
+ uint256 nonTaxableAmount = balances[i].mulDown(
122
+ invariantRatioWithFees.sub(FixedPoint.ONE)
123
+ );
124
+ uint256 taxableAmount = amountsIn[i].sub(nonTaxableAmount);
125
+ // No need to use checked arithmetic for the swap fee, it is guaranteed to be lower than 50%
126
+ amountInWithoutFee = nonTaxableAmount.add(
127
+ taxableAmount.mulDown(FixedPoint.ONE - swapFeePercentage)
128
+ );
129
+ } else {
130
+ amountInWithoutFee = amountsIn[i];
131
+ }
132
+
133
+ newBalances[i] = balances[i].add(amountInWithoutFee);
134
+ }
135
+
136
+ uint256 newInvariant = _calculateInvariant(amp, newBalances);
137
+ uint256 invariantRatio = newInvariant.divDown(currentInvariant);
138
+
139
+ // If the invariant didn't increase for any reason, we simply don't mint BPT
140
+ if (invariantRatio > FixedPoint.ONE) {
141
+ return bptTotalSupply.mulDown(invariantRatio - FixedPoint.ONE);
142
+ } else {
143
+ return 0;
144
+ }
145
+ }
146
+ }
147
+
148
+ function _calcTokenOutGivenExactBptIn(
149
+ uint256 amp,
150
+ uint256[] memory balances,
151
+ uint256 tokenIndex,
152
+ uint256 bptAmountIn,
153
+ uint256 bptTotalSupply,
154
+ uint256 currentInvariant,
155
+ uint256 swapFeePercentage
156
+ ) internal pure returns (uint256) {
157
+ unchecked {
158
+ // Token out, so we round down overall.
159
+
160
+ uint256 newInvariant = bptTotalSupply.sub(bptAmountIn).divUp(bptTotalSupply).mulUp(
161
+ currentInvariant
162
+ );
163
+
164
+ // Calculate amount out without fee
165
+ uint256 newBalanceTokenIndex = _getTokenBalanceGivenInvariantAndAllOtherBalances(
166
+ amp,
167
+ balances,
168
+ newInvariant,
169
+ tokenIndex
170
+ );
171
+ uint256 amountOutWithoutFee = balances[tokenIndex].sub(newBalanceTokenIndex);
172
+
173
+ // First calculate the sum of all token balances, which will be used to calculate
174
+ // the current weight of each token
175
+ uint256 sumBalances = 0;
176
+ for (uint256 i = 0; i < balances.length; i++) {
177
+ sumBalances = sumBalances.add(balances[i]);
178
+ }
179
+
180
+ // We can now compute how much excess balance is being withdrawn as a result of the virtual swaps, which result
181
+ // in swap fees.
182
+ uint256 currentWeight = balances[tokenIndex].divDown(sumBalances);
183
+ uint256 taxablePercentage = currentWeight.complement();
184
+
185
+ // Swap fees are typically charged on 'token in', but there is no 'token in' here, so we apply it
186
+ // to 'token out'. This results in slightly larger price impact. Fees are rounded up.
187
+ uint256 taxableAmount = amountOutWithoutFee.mulUp(taxablePercentage);
188
+ uint256 nonTaxableAmount = amountOutWithoutFee.sub(taxableAmount);
189
+
190
+ // No need to use checked arithmetic for the swap fee, it is guaranteed to be lower than 50%
191
+ return nonTaxableAmount.add(taxableAmount.mulDown(FixedPoint.ONE - swapFeePercentage));
192
+ }
193
+ }
194
+
195
+ // This function calculates the balance of a given token (tokenIndex)
196
+ // given all the other balances and the invariant
197
+ function _getTokenBalanceGivenInvariantAndAllOtherBalances(
198
+ uint256 amplificationParameter,
199
+ uint256[] memory balances,
200
+ uint256 invariant,
201
+ uint256 tokenIndex
202
+ ) internal pure returns (uint256) {
203
+ unchecked {
204
+ // Rounds result up overall
205
+
206
+ uint256 ampTimesTotal = amplificationParameter * balances.length;
207
+ uint256 sum = balances[0];
208
+ uint256 P_D = balances[0] * balances.length;
209
+ for (uint256 j = 1; j < balances.length; j++) {
210
+ P_D = divDown(mul(mul(P_D, balances[j]), balances.length), invariant);
211
+ sum = sum.add(balances[j]);
212
+ }
213
+ // No need to use safe math, based on the loop above `sum` is greater than or equal to `balances[tokenIndex]`
214
+ sum = sum - balances[tokenIndex];
215
+
216
+ uint256 inv2 = mul(invariant, invariant);
217
+ // We remove the balance from c by multiplying it
218
+ uint256 c = mul(
219
+ mul(divUp(inv2, mul(ampTimesTotal, P_D)), _AMP_PRECISION),
220
+ balances[tokenIndex]
221
+ );
222
+ uint256 b = sum.add(mul(divDown(invariant, ampTimesTotal), _AMP_PRECISION));
223
+
224
+ // We iterate to find the balance
225
+ uint256 prevTokenBalance = 0;
226
+ // We multiply the first iteration outside the loop with the invariant to set the value of the
227
+ // initial approximation.
228
+ uint256 tokenBalance = divUp(inv2.add(c), invariant.add(b));
229
+
230
+ for (uint256 i = 0; i < 255; i++) {
231
+ prevTokenBalance = tokenBalance;
232
+
233
+ tokenBalance = divUp(
234
+ mul(tokenBalance, tokenBalance).add(c),
235
+ mul(tokenBalance, 2).add(b).sub(invariant)
236
+ );
237
+
238
+ if (tokenBalance > prevTokenBalance) {
239
+ if (tokenBalance - prevTokenBalance <= 1) {
240
+ return tokenBalance;
241
+ }
242
+ } else if (prevTokenBalance - tokenBalance <= 1) {
243
+ return tokenBalance;
244
+ }
245
+ }
246
+
247
+ revert("Stable get balance did not converge");
248
+ }
249
+ }
250
+
251
+ /*///////////////////////////////////////////////////////////////
252
+ LEGACY MATH FUNCTIONS
253
+ //////////////////////////////////////////////////////////////*/
254
+
255
+ function mul(uint256 a, uint256 b) internal pure returns (uint256) {
256
+ unchecked {
257
+ uint256 c = a * b;
258
+ require(a == 0 || c / a == b);
259
+ return c;
260
+ }
261
+ }
262
+
263
+ function div(
264
+ uint256 a,
265
+ uint256 b,
266
+ bool roundUp
267
+ ) private pure returns (uint256) {
268
+ return roundUp ? divUp(a, b) : divDown(a, b);
269
+ }
270
+
271
+ function divDown(uint256 a, uint256 b) private pure returns (uint256) {
272
+ unchecked {
273
+ require(b != 0);
274
+ return a / b;
275
+ }
276
+ }
277
+
278
+ function divUp(uint256 a, uint256 b) private pure returns (uint256) {
279
+ unchecked {
280
+ require(b != 0);
281
+
282
+ if (a == 0) {
283
+ return 0;
284
+ } else {
285
+ return 1 + (a - 1) / b;
286
+ }
287
+ }
288
+ }
289
+ }