@pendle/core-v2 0.15.0-mainnet → 0.15.2-mainnet
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.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +110 -48
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +75 -21
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +39 -0
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +10 -0
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +10 -0
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +46 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +52 -8
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +15 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +699 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +515 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +4 -0
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +10 -0
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +77 -17
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +1003 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +1068 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/{ConvexCurveLP → base}/PendleConvexLPSY.sol/PendleConvexLPSY.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +856 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +85 -4
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +17 -4
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +3 -38
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +13 -0
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +319 -35
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +10 -0
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +39 -85
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.json +213 -0
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +119 -0
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.json +30 -0
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.json +76 -0
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +91 -17
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +50 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -0
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +181 -17
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +173 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +86 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +34 -0
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +2 -2
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +12 -2
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +45 -0
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +15 -2
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +35 -0
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -80
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +299 -60
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +118 -41
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +61 -24
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +31 -24
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +31 -24
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +15 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +191 -2
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +58 -27
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +46 -12
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +31 -7
- package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +133 -0
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +27 -0
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +9 -10
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +9 -23
- package/contracts/core/BulkSeller/BulkSeller.sol +259 -0
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +88 -0
- package/contracts/core/BulkSeller/BulkSellerMathCore.sol +143 -0
- package/contracts/core/Market/PendleMarket.sol +18 -7
- package/contracts/core/Market/PendleMarketFactory.sol +15 -5
- package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +102 -0
- package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +160 -0
- package/contracts/core/StandardizedYield/implementations/Convex/README.md +29 -0
- package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +215 -0
- package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +127 -0
- package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +152 -0
- package/contracts/core/StandardizedYield/implementations/Convex/{ConvexCurveLP → base}/PendleConvexLPSY.sol +2 -4
- package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +122 -0
- package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +17 -8
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +38 -11
- package/contracts/core/YieldContracts/PendleYieldToken.sol +54 -21
- package/contracts/core/erc20/PendleERC20.sol +4 -7
- package/contracts/core/libraries/BaseSplitCodeFactory.sol +1 -1
- package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -1
- package/contracts/core/libraries/Errors.sol +32 -4
- package/contracts/core/libraries/StringLib.sol +782 -0
- package/contracts/core/libraries/TokenHelper.sol +9 -0
- package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -1
- package/contracts/interfaces/Curve/ICrvPool.sol +12 -31
- package/contracts/interfaces/Curve/ITriCrvPool.sol +41 -0
- package/contracts/interfaces/ILayerZeroEndpoint.sol +39 -0
- package/contracts/interfaces/ILayerZeroReceiver.sol +12 -0
- package/contracts/interfaces/ILooksFeeSharing.sol +5 -0
- package/contracts/interfaces/ILooksStaking.sol +13 -0
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -5
- package/contracts/interfaces/IPActionMintRedeem.sol +2 -0
- package/contracts/interfaces/IPBulkSeller.sol +28 -0
- package/contracts/interfaces/IPBulkSellerFactory.sol +12 -0
- package/contracts/interfaces/IPBulkSellerSYCallback.sol +10 -0
- package/contracts/interfaces/IPMarketFactory.sol +1 -1
- package/contracts/interfaces/IPMsgSendEndpoint.sol +4 -2
- package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
- package/contracts/interfaces/IStETH.sol +6 -0
- package/contracts/interfaces/IStandardizedYield.sol +15 -10
- package/contracts/offchain-helpers/BulkSellerOffchain.sol +43 -0
- package/contracts/offchain-helpers/MarketMathStatic.sol +0 -173
- package/contracts/offchain-helpers/RouterStatic.sol +189 -50
- package/contracts/router/ActionAddRemoveLiq.sol +71 -52
- package/contracts/router/ActionCallback.sol +4 -8
- package/contracts/router/ActionMintRedeem.sol +27 -18
- package/contracts/router/ActionSwapPT.sol +8 -9
- package/contracts/router/ActionSwapPTYT.sol +3 -7
- package/contracts/router/ActionSwapYT.sol +15 -10
- package/contracts/router/PendleRouter.sol +3 -0
- package/contracts/router/base/ActionBaseMintRedeem.sol +78 -83
- package/contracts/router/base/MarketApproxLib.sol +1 -1
- package/contracts/router/kyberswap/AggregationRouterHelper.sol +17 -1
- package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
- package/contracts/router/kyberswap/KyberSwapHelper.sol +21 -8
- package/deployments/1-markets/FRAX_30_MAR_23.json +8 -0
- package/deployments/1-markets/LOOKS_30_MAR_23.json +8 -0
- package/deployments/1-markets/STETH_MARCH_30.json +1 -1
- package/deployments/1-markets/USDD_MARCH_30.json +8 -0
- package/deployments/1-offchain-helper.json +3 -0
- package/package.json +3 -2
- package/typechain-types/AccessControl.ts +360 -0
- package/typechain-types/AccessControlUpgradeable.ts +369 -0
- package/typechain-types/ActionAddRemoveLiq.ts +64 -52
- package/typechain-types/ActionBaseMintRedeem.ts +8 -8
- package/typechain-types/ActionMintRedeem.ts +48 -16
- package/typechain-types/ActionSwapPT.ts +34 -12
- package/typechain-types/ActionSwapYT.ts +34 -12
- package/typechain-types/AggregationRouterHelper.ts +287 -3
- package/typechain-types/BaseSplitCodeFactoryContract.ts +9 -0
- package/typechain-types/BeaconProxy.ts +97 -0
- package/typechain-types/BoringOwnableUpgradeable.ts +9 -0
- package/typechain-types/BulkSeller.ts +777 -0
- package/typechain-types/BulkSellerFactory.ts +707 -0
- package/typechain-types/BulkSellerOffchain.ts +117 -0
- package/typechain-types/ContextUpgradeable.ts +68 -0
- package/typechain-types/Curve3CrvPoolHelper.ts +236 -0
- package/typechain-types/CurveFraxUsdcPoolHelper.ts +158 -0
- package/typechain-types/CurveUsdd3CrvPoolHelper.ts +184 -0
- package/typechain-types/ERC165.ts +102 -0
- package/typechain-types/ERC165Upgradeable.ts +113 -0
- package/typechain-types/IAccessControl.ts +305 -0
- package/typechain-types/IAccessControlUpgradeable.ts +305 -0
- package/typechain-types/IAggregationRouterHelper.ts +108 -0
- package/typechain-types/IBooster.ts +9 -3
- package/typechain-types/ICrvPool.ts +69 -172
- package/typechain-types/IERC165.ts +102 -0
- package/typechain-types/IERC165Upgradeable.ts +102 -0
- package/typechain-types/ILayerZeroEndpoint.ts +256 -0
- package/typechain-types/ILayerZeroReceiver.ts +117 -0
- package/typechain-types/ILooksFeeSharing.ts +102 -0
- package/typechain-types/ILooksStaking.ts +189 -0
- package/typechain-types/IPActionAddRemoveLiq.ts +56 -44
- package/typechain-types/IPActionMintRedeem.ts +40 -8
- package/typechain-types/IPActionSwapPT.ts +26 -4
- package/typechain-types/IPActionSwapYT.ts +26 -4
- package/typechain-types/IPAllAction.ts +76 -54
- package/typechain-types/IPBulkSeller.ts +290 -0
- package/typechain-types/IPBulkSellerCallback.ts +115 -0
- package/typechain-types/IPBulkSellerFactory.ts +147 -0
- package/typechain-types/IPMarketFactory.ts +2 -2
- package/typechain-types/IPMsgSendEndpoint.ts +24 -14
- package/typechain-types/IPYieldContractFactory.ts +3 -3
- package/typechain-types/IStETH.ts +56 -0
- package/typechain-types/ITriCrvPool.ts +345 -0
- package/typechain-types/ImplicitSwapfeeContract.ts +9 -17
- package/typechain-types/Initializable.ts +68 -0
- package/typechain-types/KyberSwapHelper.ts +8 -8
- package/typechain-types/MarketMathStatic.ts +0 -117
- package/typechain-types/PendleConvex2TokensSY.ts +1215 -0
- package/typechain-types/PendleCurveFraxUsdcSY.ts +1228 -0
- package/typechain-types/PendleCurveUsdd3CrvSY.ts +1299 -0
- package/typechain-types/PendleFeeDistributor.ts +9 -0
- package/typechain-types/PendleFeeDistributorFactory.ts +9 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +9 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +9 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +9 -0
- package/typechain-types/PendleLooksStaking.ts +1052 -0
- package/typechain-types/PendleLooksStakingSY.ts +1052 -0
- package/typechain-types/PendleMarketFactory.ts +51 -2
- package/typechain-types/PendleMsgReceiveEndpointUpg.ts +135 -68
- package/typechain-types/PendleMsgSendEndpointUpg.ts +108 -39
- package/typechain-types/PendleMsgSenderAppUpg.ts +64 -0
- package/typechain-types/PendlePrincipalToken.ts +9 -0
- package/typechain-types/PendleRouter.ts +9 -0
- package/typechain-types/PendleVotingControllerUpg.ts +64 -0
- package/typechain-types/PendleYieldContractFactory.ts +57 -8
- package/typechain-types/PendleYieldToken.ts +21 -0
- package/typechain-types/ReentrancyGuardUpgradeable.ts +68 -0
- package/typechain-types/RouterStatic.ts +302 -20
- package/typechain-types/VotingEscrowPendleMainchain.ts +70 -6
- package/typechain-types/VotingEscrowPendleSidechain.ts +9 -0
- package/typechain-types/factories/AccessControlUpgradeable__factory.ts +247 -0
- package/typechain-types/factories/AccessControl__factory.ts +227 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +122 -59
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +65 -42
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +35 -42
- package/typechain-types/factories/ActionSwapYT__factory.ts +35 -42
- package/typechain-types/factories/AggregationRouterHelper__factory.ts +190 -1
- package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +14 -1
- package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
- package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
- package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
- package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +13 -0
- package/typechain-types/factories/BulkSellerFactory__factory.ts +568 -0
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +88 -0
- package/typechain-types/factories/BulkSeller__factory.ts +749 -0
- package/typechain-types/factories/ContextUpgradeable__factory.ts +39 -0
- package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +220 -0
- package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +146 -0
- package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +172 -0
- package/typechain-types/factories/ERC165Upgradeable__factory.ts +58 -0
- package/typechain-types/factories/ERC165__factory.ts +39 -0
- package/typechain-types/factories/ERC20__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +318 -34
- package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +202 -0
- package/typechain-types/factories/IAccessControl__factory.ts +198 -0
- package/typechain-types/factories/IAggregationRouterHelper__factory.ts +54 -0
- package/typechain-types/factories/IBooster__factory.ts +1 -1
- package/typechain-types/factories/ICrvPool__factory.ts +39 -85
- package/typechain-types/factories/IERC165Upgradeable__factory.ts +45 -0
- package/typechain-types/factories/IERC165__factory.ts +42 -0
- package/typechain-types/factories/ILayerZeroEndpoint__factory.ts +134 -0
- package/typechain-types/factories/ILayerZeroReceiver__factory.ts +54 -0
- package/typechain-types/factories/ILooksFeeSharing__factory.ts +45 -0
- package/typechain-types/factories/ILooksStaking__factory.ts +88 -0
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +91 -17
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +50 -0
- package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -0
- package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -0
- package/typechain-types/factories/IPAllAction__factory.ts +181 -17
- package/typechain-types/factories/IPBulkSellerCallback__factory.ts +53 -0
- package/typechain-types/factories/IPBulkSellerFactory__factory.ts +101 -0
- package/typechain-types/factories/IPBulkSeller__factory.ts +185 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +2 -2
- package/typechain-types/factories/IPMsgSendEndpoint__factory.ts +12 -2
- package/typechain-types/factories/IPYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/IStETH__factory.ts +45 -0
- package/typechain-types/factories/ITriCrvPool__factory.ts +225 -0
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +4 -12
- package/typechain-types/factories/Initializable__factory.ts +36 -0
- package/typechain-types/factories/KyberSwapHelper__factory.ts +1 -1
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -79
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +1093 -0
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1068 -0
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1133 -0
- package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +14 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +14 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +14 -1
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +937 -0
- package/typechain-types/factories/PendleLooksStaking__factory.ts +933 -0
- package/typechain-types/factories/PendleMarketFactory__factory.ts +76 -16
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +113 -51
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +84 -23
- package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +39 -0
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -1
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +14 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +57 -2
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +84 -3
- package/typechain-types/factories/PendleYieldToken__factory.ts +16 -3
- package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
- package/typechain-types/factories/RouterStatic__factory.ts +244 -1
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +63 -8
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +14 -1
- package/typechain-types/hardhat.d.ts +260 -35
- package/typechain-types/index.ts +56 -10
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +0 -1018
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +0 -76
- package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.json +0 -53
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +0 -45
- package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +0 -167
- package/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol +0 -83
- package/contracts/interfaces/ICelerMessageBus.sol +0 -28
- package/contracts/interfaces/ICelerMessageReceiverApp.sol +0 -25
|
@@ -17,6 +17,15 @@ abstract contract TokenHelper {
|
|
|
17
17
|
else if (amount != 0) IERC20(token).safeTransferFrom(from, address(this), amount);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
function _transferFrom(
|
|
21
|
+
IERC20 token,
|
|
22
|
+
address from,
|
|
23
|
+
address to,
|
|
24
|
+
uint256 amount
|
|
25
|
+
) internal {
|
|
26
|
+
if (amount != 0) token.safeTransferFrom(from, to, amount);
|
|
27
|
+
}
|
|
28
|
+
|
|
20
29
|
function _transferOut(
|
|
21
30
|
address token,
|
|
22
31
|
address to,
|
|
@@ -6,6 +6,12 @@ interface ICrvPool {
|
|
|
6
6
|
|
|
7
7
|
function get_virtual_price() external view returns (uint256);
|
|
8
8
|
|
|
9
|
+
function lp_token() external view returns (address);
|
|
10
|
+
|
|
11
|
+
function fee() external view returns (uint256);
|
|
12
|
+
|
|
13
|
+
function admin_fee() external view returns (uint256);
|
|
14
|
+
|
|
9
15
|
function get_dy(
|
|
10
16
|
int128 i,
|
|
11
17
|
int128 j,
|
|
@@ -16,56 +22,31 @@ interface ICrvPool {
|
|
|
16
22
|
int128 i,
|
|
17
23
|
int128 j,
|
|
18
24
|
uint256 dx,
|
|
19
|
-
uint256 min_dy
|
|
20
|
-
address _receiver
|
|
21
|
-
) external returns (uint256);
|
|
22
|
-
|
|
23
|
-
function add_liquidity(
|
|
24
|
-
uint256[] memory _deposit_amount,
|
|
25
|
-
uint256 _min_amount,
|
|
26
|
-
address _receiver
|
|
25
|
+
uint256 min_dy // The amount of i being exchanged.
|
|
27
26
|
) external returns (uint256);
|
|
28
27
|
|
|
29
28
|
function add_liquidity(
|
|
30
29
|
uint256[2] memory _deposit_amount,
|
|
31
30
|
uint256 _min_amount
|
|
32
|
-
) external;
|
|
33
|
-
|
|
34
|
-
function add_liquidity(
|
|
35
|
-
uint256[3] memory _deposit_amount,
|
|
36
|
-
uint256 _min_amount
|
|
37
|
-
) external;
|
|
38
|
-
|
|
39
|
-
function remove_liquidity(
|
|
40
|
-
uint256 _burn_amount,
|
|
41
|
-
uint256[] memory _min_amounts,
|
|
42
|
-
address _receiver
|
|
43
|
-
) external returns (uint256[] memory);
|
|
31
|
+
) external returns (uint256 lpOut);
|
|
44
32
|
|
|
45
33
|
function remove_liquidity_one_coin(
|
|
46
34
|
uint256 _burn_amount,
|
|
47
35
|
int128 i,
|
|
48
36
|
uint256 _min_amount
|
|
49
|
-
) external;
|
|
50
|
-
|
|
51
|
-
function calc_token_amount(uint256[] memory _amounts, bool _is_deposit)
|
|
52
|
-
external
|
|
53
|
-
view
|
|
54
|
-
returns (uint256);
|
|
37
|
+
) external returns (uint256 tokenOut);
|
|
55
38
|
|
|
56
39
|
function calc_token_amount(uint256[2] memory _amounts, bool _is_deposit)
|
|
57
40
|
external
|
|
58
41
|
view
|
|
59
42
|
returns (uint256);
|
|
60
43
|
|
|
61
|
-
function
|
|
44
|
+
function calc_withdraw_one_coin(uint256 _burn_amount, int128 i)
|
|
62
45
|
external
|
|
63
46
|
view
|
|
64
47
|
returns (uint256);
|
|
65
48
|
|
|
49
|
+
function balances(uint256 i) external view returns (uint256);
|
|
66
50
|
|
|
67
|
-
function
|
|
68
|
-
external
|
|
69
|
-
view
|
|
70
|
-
returns (uint256);
|
|
51
|
+
function A_precise() external view returns (uint256);
|
|
71
52
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
interface ITriCrvPool {
|
|
5
|
+
function coins(uint256 i) external view returns (address);
|
|
6
|
+
|
|
7
|
+
function get_virtual_price() external view returns (uint256);
|
|
8
|
+
|
|
9
|
+
function lp_token() external view returns (address);
|
|
10
|
+
|
|
11
|
+
function fee() external view returns (uint256);
|
|
12
|
+
|
|
13
|
+
function admin_fee() external view returns (uint256);
|
|
14
|
+
|
|
15
|
+
function exchange(
|
|
16
|
+
int128 i,
|
|
17
|
+
int128 j,
|
|
18
|
+
uint256 dx,
|
|
19
|
+
uint256 min_dy // The amount of i being exchanged.
|
|
20
|
+
) external returns (uint256);
|
|
21
|
+
|
|
22
|
+
function add_liquidity(
|
|
23
|
+
uint256[3] memory _deposit_amount,
|
|
24
|
+
uint256 _min_amount
|
|
25
|
+
) external;
|
|
26
|
+
|
|
27
|
+
function remove_liquidity_one_coin(
|
|
28
|
+
uint256 _burn_amount,
|
|
29
|
+
int128 i,
|
|
30
|
+
uint256 _min_amount
|
|
31
|
+
) external;
|
|
32
|
+
|
|
33
|
+
function calc_withdraw_one_coin(uint256 _burn_amount, int128 i)
|
|
34
|
+
external
|
|
35
|
+
view
|
|
36
|
+
returns (uint256);
|
|
37
|
+
|
|
38
|
+
function balances(uint256 i) external view returns (uint256);
|
|
39
|
+
|
|
40
|
+
function A() external view returns (uint256);
|
|
41
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity >=0.5.0;
|
|
4
|
+
|
|
5
|
+
interface ILayerZeroEndpoint {
|
|
6
|
+
// @notice send a LayerZero message to the specified address at a LayerZero endpoint.
|
|
7
|
+
// @param _dstChainId - the destination chain identifier
|
|
8
|
+
// @param _destination - the address on destination chain (in bytes). address length/format may vary by chains
|
|
9
|
+
// @param _payload - a custom bytes payload to send to the destination contract
|
|
10
|
+
// @param _refundAddress - if the source transaction is cheaper than the amount of value passed, refund the additional amount to this address
|
|
11
|
+
// @param _zroPaymentAddress - the address of the ZRO token holder who would pay for the transaction
|
|
12
|
+
// @param _adapterParams - parameters for custom functionality. e.g. receive airdropped native gas from the relayer on destination
|
|
13
|
+
function send(
|
|
14
|
+
uint16 _dstChainId,
|
|
15
|
+
bytes calldata _destination,
|
|
16
|
+
bytes calldata _payload,
|
|
17
|
+
address payable _refundAddress,
|
|
18
|
+
address _zroPaymentAddress,
|
|
19
|
+
bytes calldata _adapterParams
|
|
20
|
+
) external payable;
|
|
21
|
+
|
|
22
|
+
// @notice gets a quote in source native gas, for the amount that send() requires to pay for message delivery
|
|
23
|
+
// @param _dstChainId - the destination chain identifier
|
|
24
|
+
// @param _userApplication - the user app address on this EVM chain
|
|
25
|
+
// @param _payload - the custom message to send over LayerZero
|
|
26
|
+
// @param _payInZRO - if false, user app pays the protocol fee in native token
|
|
27
|
+
// @param _adapterParam - parameters for the adapter service, e.g. send some dust native token to dstChain
|
|
28
|
+
function estimateFees(
|
|
29
|
+
uint16 _dstChainId,
|
|
30
|
+
address _userApplication,
|
|
31
|
+
bytes calldata _payload,
|
|
32
|
+
bool _payInZRO,
|
|
33
|
+
bytes calldata _adapterParam
|
|
34
|
+
) external view returns (uint256 nativeFee, uint256 zroFee);
|
|
35
|
+
|
|
36
|
+
function setSendVersion(uint16 _newVersion) external;
|
|
37
|
+
|
|
38
|
+
function setReceiveVersion(uint16 _newVersion) external;
|
|
39
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
2
|
+
|
|
3
|
+
pragma solidity >=0.5.0;
|
|
4
|
+
|
|
5
|
+
interface ILayerZeroReceiver {
|
|
6
|
+
// @notice LayerZero endpoint will invoke this function to deliver the message on the destination
|
|
7
|
+
// @param _srcChainId - the source endpoint identifier
|
|
8
|
+
// @param _srcAddress - the source sending contract address from the source chain
|
|
9
|
+
// @param _nonce - the ordered message nonce
|
|
10
|
+
// @param _payload - the signed payload is the UA bytes has encoded to be sent
|
|
11
|
+
function lzReceive(uint16 _srcChainId, bytes calldata _srcAddress, uint64 _nonce, bytes calldata _payload) external;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
pragma solidity 0.8.17;
|
|
2
|
+
|
|
3
|
+
interface ILooksStaking {
|
|
4
|
+
function totalShares() external view returns (uint256);
|
|
5
|
+
|
|
6
|
+
function deposit(uint256 amount) external;
|
|
7
|
+
|
|
8
|
+
function userInfo(address user) external view returns (uint256);
|
|
9
|
+
|
|
10
|
+
function withdraw(uint256 shares) external;
|
|
11
|
+
|
|
12
|
+
function harvestAndSellAndCompound() external;
|
|
13
|
+
}
|
|
@@ -19,7 +19,7 @@ interface IPActionAddRemoveLiq {
|
|
|
19
19
|
address indexed market,
|
|
20
20
|
address indexed receiver,
|
|
21
21
|
address tokenIn,
|
|
22
|
-
uint256
|
|
22
|
+
uint256 netTokenUsed,
|
|
23
23
|
uint256 netPtUsed,
|
|
24
24
|
uint256 netLpOut
|
|
25
25
|
);
|
|
@@ -110,8 +110,7 @@ interface IPActionAddRemoveLiq {
|
|
|
110
110
|
function addLiquidityDualTokenAndPt(
|
|
111
111
|
address receiver,
|
|
112
112
|
address market,
|
|
113
|
-
|
|
114
|
-
uint256 netTokenDesired,
|
|
113
|
+
TokenInput calldata input,
|
|
115
114
|
uint256 netPtDesired,
|
|
116
115
|
uint256 minLpOut
|
|
117
116
|
)
|
|
@@ -159,8 +158,7 @@ interface IPActionAddRemoveLiq {
|
|
|
159
158
|
address receiver,
|
|
160
159
|
address market,
|
|
161
160
|
uint256 netLpToRemove,
|
|
162
|
-
|
|
163
|
-
uint256 minTokenOut,
|
|
161
|
+
TokenOutput calldata output,
|
|
164
162
|
uint256 minPtOut
|
|
165
163
|
) external returns (uint256 netTokenOut, uint256 netPtOut);
|
|
166
164
|
|
|
@@ -138,6 +138,7 @@ interface IPActionMintRedeem {
|
|
|
138
138
|
// key-value pair
|
|
139
139
|
address[] syAddrs;
|
|
140
140
|
address[] tokenRedeemSys;
|
|
141
|
+
address[] bulks;
|
|
141
142
|
//
|
|
142
143
|
}
|
|
143
144
|
|
|
@@ -146,6 +147,7 @@ interface IPActionMintRedeem {
|
|
|
146
147
|
address[] tokens;
|
|
147
148
|
bytes[] kybercalls;
|
|
148
149
|
//
|
|
150
|
+
address kyberRouter;
|
|
149
151
|
address outputToken;
|
|
150
152
|
uint256 minTokenOut;
|
|
151
153
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../core/BulkSeller/BulkSellerMathCore.sol";
|
|
5
|
+
|
|
6
|
+
interface IPBulkSeller {
|
|
7
|
+
function swapExactSyForToken(
|
|
8
|
+
address receiver,
|
|
9
|
+
uint256 exactSyIn,
|
|
10
|
+
uint256 minTokenOut
|
|
11
|
+
) external returns (uint256 netTokenOut);
|
|
12
|
+
|
|
13
|
+
function swapExactTokenForSy(
|
|
14
|
+
address receiver,
|
|
15
|
+
uint256 netTokenIn,
|
|
16
|
+
uint256 minSyOut
|
|
17
|
+
) external returns (uint256 netSyOut);
|
|
18
|
+
|
|
19
|
+
function calcSwapExactTokenForSy(uint256 netTokenIn) external view returns (uint256 netSyOut);
|
|
20
|
+
|
|
21
|
+
function calcSwapExactSyForToken(uint256 netSyIn) external view returns (uint256 netTokenOut);
|
|
22
|
+
|
|
23
|
+
function SY() external view returns (address);
|
|
24
|
+
|
|
25
|
+
function token() external view returns (address);
|
|
26
|
+
|
|
27
|
+
function readState() external view returns (BulkSellerState memory);
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
interface IPBulkSellerFactory {
|
|
5
|
+
event UpgradedBeacon(address indexed implementation);
|
|
6
|
+
|
|
7
|
+
function get(address token, address SY) external view returns (address);
|
|
8
|
+
|
|
9
|
+
function isMaintainer(address addr) external view returns (bool);
|
|
10
|
+
|
|
11
|
+
function isAdmin(address addr) external view returns (bool);
|
|
12
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
pragma solidity 0.8.17;
|
|
3
3
|
|
|
4
4
|
interface IPMarketFactory {
|
|
5
|
-
event NewMarketConfig(address indexed treasury,
|
|
5
|
+
event NewMarketConfig(address indexed treasury, uint88 lnFeeRateRoot, uint8 reserveFeePercent);
|
|
6
6
|
|
|
7
7
|
event CreateNewMarket(
|
|
8
8
|
address indexed market,
|
|
@@ -6,12 +6,14 @@ interface IPMsgSendEndpoint {
|
|
|
6
6
|
function calcFee(
|
|
7
7
|
address dstAddress,
|
|
8
8
|
uint256 dstChainId,
|
|
9
|
-
bytes
|
|
9
|
+
bytes memory payload,
|
|
10
|
+
uint256 estimatedGasAmount
|
|
10
11
|
) external view returns (uint256);
|
|
11
12
|
|
|
12
13
|
function sendMessage(
|
|
13
14
|
address dstAddress,
|
|
14
15
|
uint256 dstChainId,
|
|
15
|
-
bytes calldata
|
|
16
|
+
bytes calldata payload,
|
|
17
|
+
uint256 estimatedGasAmount
|
|
16
18
|
) external payable;
|
|
17
19
|
}
|
|
@@ -11,4 +11,10 @@ interface IStETH {
|
|
|
11
11
|
function burnShares(address _account, uint256 _sharesAmount)
|
|
12
12
|
external
|
|
13
13
|
returns (uint256 newTotalShares);
|
|
14
|
+
|
|
15
|
+
function sharesOf(address account) external view returns (uint256);
|
|
16
|
+
|
|
17
|
+
function getTotalShares() external view returns (uint256);
|
|
18
|
+
|
|
19
|
+
function getTotalPooledEther() external view returns (uint256);
|
|
14
20
|
}
|
|
@@ -43,7 +43,7 @@ interface IStandardizedYield is IERC20Metadata {
|
|
|
43
43
|
uint256 amountTokenOut
|
|
44
44
|
);
|
|
45
45
|
|
|
46
|
-
/// @dev check assetInfo for more information
|
|
46
|
+
/// @dev check `assetInfo()` for more information
|
|
47
47
|
enum AssetType {
|
|
48
48
|
TOKEN,
|
|
49
49
|
LIQUIDITY
|
|
@@ -74,9 +74,10 @@ interface IStandardizedYield is IERC20Metadata {
|
|
|
74
74
|
/**
|
|
75
75
|
* @notice redeems an amount of base tokens by burning some shares
|
|
76
76
|
* @param receiver recipient address
|
|
77
|
-
* @param amountSharesToRedeem amount of shares to be burned
|
|
77
|
+
* @param amountSharesToRedeem amount of shares to be burned
|
|
78
78
|
* @param tokenOut address of the base token to be redeemed
|
|
79
79
|
* @param minTokenOut reverts if amount of base token redeemed is lower than this
|
|
80
|
+
* @param burnFromInternalBalance if true, burns from balance of `address(this)`, otherwise burns from `msg.sender`
|
|
80
81
|
* @return amountTokenOut amount of base tokens redeemed
|
|
81
82
|
* @dev Emits a {Redeem} event
|
|
82
83
|
*
|
|
@@ -105,7 +106,7 @@ interface IStandardizedYield is IERC20Metadata {
|
|
|
105
106
|
* @param user the user receiving their rewards
|
|
106
107
|
* @return rewardAmounts an array of reward amounts in the same order as `getRewardTokens`
|
|
107
108
|
* @dev
|
|
108
|
-
* Emits a `
|
|
109
|
+
* Emits a `ClaimRewards` event
|
|
109
110
|
* See {getRewardTokens} for list of reward tokens
|
|
110
111
|
*/
|
|
111
112
|
function claimRewards(address user) external returns (uint256[] memory rewardAmounts);
|
|
@@ -131,8 +132,14 @@ interface IStandardizedYield is IERC20Metadata {
|
|
|
131
132
|
*/
|
|
132
133
|
function yieldToken() external view returns (address);
|
|
133
134
|
|
|
135
|
+
/**
|
|
136
|
+
* @notice returns all tokens that can mint this SY
|
|
137
|
+
*/
|
|
134
138
|
function getTokensIn() external view returns (address[] memory res);
|
|
135
139
|
|
|
140
|
+
/**
|
|
141
|
+
* @notice returns all tokens that can be redeemed by this SY
|
|
142
|
+
*/
|
|
136
143
|
function getTokensOut() external view returns (address[] memory res);
|
|
137
144
|
|
|
138
145
|
function isValidTokenIn(address token) external view returns (bool);
|
|
@@ -150,13 +157,11 @@ interface IStandardizedYield is IERC20Metadata {
|
|
|
150
157
|
returns (uint256 amountTokenOut);
|
|
151
158
|
|
|
152
159
|
/**
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
* @notice assetDecimals is the decimals of the asset
|
|
159
|
-
*/
|
|
160
|
+
* @notice This function contains information to interpret what the asset is
|
|
161
|
+
* @return assetType the type of the asset (0 for ERC20 tokens, 1 for AMM liquidity tokens)
|
|
162
|
+
* @return assetAddress the address of the asset
|
|
163
|
+
* @return assetDecimals the decimals of the asset
|
|
164
|
+
*/
|
|
160
165
|
function assetInfo()
|
|
161
166
|
external
|
|
162
167
|
view
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../core/BulkSeller/BulkSellerMathCore.sol";
|
|
5
|
+
import "../core/BulkSeller/BulkSeller.sol";
|
|
6
|
+
import "hardhat/console.sol";
|
|
7
|
+
|
|
8
|
+
// upgradable bla bla
|
|
9
|
+
contract BulkSellerOffchain {
|
|
10
|
+
using BulkSellerMathCore for BulkSellerState;
|
|
11
|
+
using Math for uint256;
|
|
12
|
+
|
|
13
|
+
// rmb to add fee here
|
|
14
|
+
function calcCurrentRates(IPBulkSeller bulk)
|
|
15
|
+
external
|
|
16
|
+
view
|
|
17
|
+
returns (uint256 rateTokenToSy, uint256 rateSyToToken)
|
|
18
|
+
{
|
|
19
|
+
BulkSellerState memory state = bulk.readState();
|
|
20
|
+
address SY = bulk.SY();
|
|
21
|
+
address token = bulk.token();
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
uint256 hypoTotalToken = state.totalToken +
|
|
25
|
+
state.totalSy.mulDown(state.rateSyToToken);
|
|
26
|
+
uint256 netSyFromToken = IStandardizedYield(SY).previewDeposit(token, hypoTotalToken);
|
|
27
|
+
|
|
28
|
+
rateTokenToSy = netSyFromToken.divDown(hypoTotalToken);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
{
|
|
32
|
+
uint256 hypoTotalSy = state.totalSy + state.totalToken.mulDown(state.rateTokenToSy);
|
|
33
|
+
uint256 netTokenFromSy = IStandardizedYield(SY).previewRedeem(token, hypoTotalSy);
|
|
34
|
+
rateSyToToken = netTokenFromSy.divDown(hypoTotalSy);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// TODO: pause contract when rate is bad compared to market
|
|
39
|
+
// TODO: Sound alarm if updates fail
|
|
40
|
+
// TODO: audit even the typescript code
|
|
41
|
+
// TODO: add a max with currentRate to guarantee no loss?
|
|
42
|
+
// TODO: pause immediately if lost enough money
|
|
43
|
+
}
|