@pendle/core-v2 0.16.3-testnet → 0.16.4-testnet
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 +2 -2
- 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 +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- 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 +2 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -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 +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -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/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +3 -19
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
- 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 +2 -2
- 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/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/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- 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 +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.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 +3 -19
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +20 -20
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +23 -23
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +10 -10
- 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 +10 -10
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +63 -63
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.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/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +133 -99
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +22 -40
- 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 +25 -43
- 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 +12 -30
- 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 +12 -30
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +0 -13
- 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/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -2
- package/contracts/core/libraries/Errors.sol +1 -2
- package/contracts/core/libraries/TokenHelper.sol +9 -0
- package/contracts/interfaces/IPActionMintRedeem.sol +1 -1
- package/contracts/offchain-helpers/RouterStatic.sol +45 -30
- package/contracts/router/ActionAddRemoveLiq.sol +12 -13
- package/contracts/router/ActionCallback.sol +4 -8
- package/contracts/router/ActionMintRedeem.sol +16 -11
- package/contracts/router/ActionSwapPT.sol +7 -8
- package/contracts/router/ActionSwapPTYT.sol +3 -7
- package/contracts/router/ActionSwapYT.sol +6 -8
- package/contracts/router/PendleRouter.sol +3 -0
- package/contracts/router/base/ActionBaseMintRedeem.sol +29 -33
- package/contracts/router/kyberswap/KyberSwapHelper.sol +8 -4
- package/package.json +1 -1
- package/typechain-types/ActionAddRemoveLiq.ts +10 -29
- package/typechain-types/ActionBaseMintRedeem.ts +0 -19
- package/typechain-types/ActionMintRedeem.ts +14 -33
- package/typechain-types/ActionSwapPT.ts +8 -27
- package/typechain-types/ActionSwapYT.ts +8 -27
- package/typechain-types/IPActionAddRemoveLiq.ts +10 -10
- package/typechain-types/IPActionMintRedeem.ts +14 -14
- package/typechain-types/IPActionSwapPT.ts +8 -8
- package/typechain-types/IPActionSwapYT.ts +8 -8
- package/typechain-types/IPAllAction.ts +22 -22
- package/typechain-types/RouterStatic.ts +148 -91
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +22 -47
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -13
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +25 -50
- 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 +12 -37
- package/typechain-types/factories/ActionSwapYT__factory.ts +12 -37
- package/typechain-types/factories/BulkSellerFactory__factory.ts +2 -18
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +2 -18
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +20 -20
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +23 -23
- package/typechain-types/factories/IPActionSwapPT__factory.ts +10 -10
- package/typechain-types/factories/IPActionSwapYT__factory.ts +10 -10
- package/typechain-types/factories/IPAllAction__factory.ts +63 -63
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +1 -1
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -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 +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +74 -40
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
|
@@ -5,23 +5,15 @@ import "../kyberswap/KyberSwapHelper.sol";
|
|
|
5
5
|
import "../../core/libraries/TokenHelper.sol";
|
|
6
6
|
import "../../interfaces/IStandardizedYield.sol";
|
|
7
7
|
import "../../interfaces/IPYieldToken.sol";
|
|
8
|
-
import "../../interfaces/IPBulkSellerFactory.sol";
|
|
9
8
|
import "../../interfaces/IPBulkSeller.sol";
|
|
10
9
|
import "../../core/libraries/Errors.sol";
|
|
11
10
|
|
|
12
11
|
// solhint-disable no-empty-blocks
|
|
13
12
|
abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
14
|
-
using SafeERC20 for IERC20;
|
|
15
|
-
|
|
16
13
|
bytes internal constant EMPTY_BYTES = abi.encode();
|
|
17
|
-
IPBulkSellerFactory public immutable bulkFactory;
|
|
18
14
|
|
|
19
15
|
/// @dev since this contract will be proxied, it must not contains non-immutable variables
|
|
20
|
-
constructor(address _kyberScalingLib
|
|
21
|
-
KyberSwapHelper(_kyberScalingLib)
|
|
22
|
-
{
|
|
23
|
-
bulkFactory = IPBulkSellerFactory(_bulkSellerDirectory);
|
|
24
|
-
}
|
|
16
|
+
constructor(address _kyberScalingLib) KyberSwapHelper(_kyberScalingLib) {}
|
|
25
17
|
|
|
26
18
|
function _mintSyFromToken(
|
|
27
19
|
address receiver,
|
|
@@ -32,26 +24,33 @@ abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
|
32
24
|
_transferIn(input.tokenIn, msg.sender, input.netTokenIn);
|
|
33
25
|
|
|
34
26
|
bool requireSwap = input.tokenIn != input.tokenMintSy;
|
|
27
|
+
|
|
28
|
+
uint256 netTokenMintSy;
|
|
29
|
+
|
|
35
30
|
if (requireSwap) {
|
|
36
31
|
_kyberswap(input.tokenIn, input.netTokenIn, input.kyberRouter, input.kybercall);
|
|
32
|
+
netTokenMintSy = _selfBalance(input.tokenMintSy);
|
|
33
|
+
} else {
|
|
34
|
+
netTokenMintSy = input.netTokenIn;
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
address bulk = bulkFactory.get(input.tokenMintSy, SY);
|
|
37
|
+
if (input.bulk != address(0)) {
|
|
38
|
+
_transferOut(input.tokenMintSy, input.bulk, netTokenMintSy);
|
|
42
39
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
netSyOut = IPBulkSeller(input.bulk).swapExactTokenForSy(
|
|
41
|
+
receiver,
|
|
42
|
+
netTokenMintSy,
|
|
43
|
+
minSyOut
|
|
44
|
+
);
|
|
46
45
|
} else {
|
|
47
|
-
uint256 netNative = input.tokenMintSy == NATIVE ?
|
|
46
|
+
uint256 netNative = input.tokenMintSy == NATIVE ? netTokenMintSy : 0;
|
|
48
47
|
|
|
49
48
|
_safeApproveInf(input.tokenMintSy, SY);
|
|
50
49
|
|
|
51
50
|
netSyOut = IStandardizedYield(SY).deposit{ value: netNative }(
|
|
52
51
|
receiver,
|
|
53
52
|
input.tokenMintSy,
|
|
54
|
-
|
|
53
|
+
netTokenMintSy,
|
|
55
54
|
minSyOut
|
|
56
55
|
);
|
|
57
56
|
}
|
|
@@ -65,16 +64,15 @@ abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
|
65
64
|
bool doPull
|
|
66
65
|
) internal returns (uint256 netTokenOut) {
|
|
67
66
|
if (doPull) {
|
|
68
|
-
IERC20(SY)
|
|
67
|
+
_transferFrom(IERC20(SY), msg.sender, _syOrBulk(SY, output), netSyIn);
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
bool requireSwap = output.tokenRedeemSy != output.tokenOut;
|
|
72
71
|
address receiverRedeemSy = requireSwap ? address(this) : receiver;
|
|
73
72
|
uint256 netTokenRedeemed;
|
|
74
73
|
|
|
75
|
-
if (output.
|
|
76
|
-
|
|
77
|
-
netTokenRedeemed = IPBulkSeller(bulk).swapExactSyForToken(
|
|
74
|
+
if (output.bulk != address(0)) {
|
|
75
|
+
netTokenRedeemed = IPBulkSeller(output.bulk).swapExactSyForToken(
|
|
78
76
|
receiverRedeemSy,
|
|
79
77
|
netSyIn,
|
|
80
78
|
0
|
|
@@ -119,7 +117,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
|
119
117
|
address SY = IPYieldToken(YT).SY();
|
|
120
118
|
|
|
121
119
|
if (doPull) {
|
|
122
|
-
IERC20(SY)
|
|
120
|
+
_transferFrom(IERC20(SY), msg.sender, YT, netSyIn);
|
|
123
121
|
}
|
|
124
122
|
|
|
125
123
|
netPyOut = IPYieldToken(YT).mintPY(receiver, receiver);
|
|
@@ -130,16 +128,14 @@ abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
|
130
128
|
address receiver,
|
|
131
129
|
address YT,
|
|
132
130
|
uint256 netPyIn,
|
|
133
|
-
uint256 minSyOut
|
|
134
|
-
bool doPull
|
|
131
|
+
uint256 minSyOut
|
|
135
132
|
) internal returns (uint256 netSyOut) {
|
|
136
133
|
address PT = IPYieldToken(YT).PT();
|
|
137
134
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
135
|
+
_transferFrom(IERC20(PT), msg.sender, YT, netPyIn);
|
|
136
|
+
|
|
137
|
+
bool needToBurnYt = (!IPYieldToken(YT).isExpired());
|
|
138
|
+
if (needToBurnYt) _transferFrom(IERC20(YT), msg.sender, YT, netPyIn);
|
|
143
139
|
|
|
144
140
|
netSyOut = IPYieldToken(YT).redeemPY(receiver);
|
|
145
141
|
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
@@ -147,17 +143,17 @@ abstract contract ActionBaseMintRedeem is TokenHelper, KyberSwapHelper {
|
|
|
147
143
|
|
|
148
144
|
function _syOrBulk(address SY, TokenOutput memory output)
|
|
149
145
|
internal
|
|
150
|
-
|
|
146
|
+
pure
|
|
151
147
|
returns (address addr)
|
|
152
148
|
{
|
|
153
|
-
return
|
|
149
|
+
return output.bulk != address(0) ? output.bulk : SY;
|
|
154
150
|
}
|
|
155
151
|
|
|
156
152
|
function _wrapTokenOutput(
|
|
157
153
|
address tokenOut,
|
|
158
154
|
uint256 minTokenOut,
|
|
159
|
-
|
|
155
|
+
address bulk
|
|
160
156
|
) internal pure returns (TokenOutput memory) {
|
|
161
|
-
return TokenOutput(tokenOut, minTokenOut, tokenOut, address(0), EMPTY_BYTES
|
|
157
|
+
return TokenOutput(tokenOut, minTokenOut, tokenOut, bulk, address(0), EMPTY_BYTES);
|
|
162
158
|
}
|
|
163
159
|
}
|
|
@@ -29,21 +29,25 @@ import "./IAggregatorRouterHelper.sol";
|
|
|
29
29
|
import "../../core/libraries/Errors.sol";
|
|
30
30
|
|
|
31
31
|
struct TokenInput {
|
|
32
|
+
// Token/Sy data
|
|
32
33
|
address tokenIn;
|
|
33
34
|
uint256 netTokenIn;
|
|
34
35
|
address tokenMintSy;
|
|
36
|
+
address bulk;
|
|
37
|
+
// Kyber data
|
|
35
38
|
address kyberRouter;
|
|
36
39
|
bytes kybercall;
|
|
37
|
-
bool useBulk;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
struct TokenOutput {
|
|
43
|
+
// Token/Sy data
|
|
41
44
|
address tokenOut;
|
|
42
45
|
uint256 minTokenOut;
|
|
43
46
|
address tokenRedeemSy;
|
|
47
|
+
address bulk;
|
|
48
|
+
// Kyber data
|
|
44
49
|
address kyberRouter;
|
|
45
50
|
bytes kybercall;
|
|
46
|
-
bool useBulk;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
abstract contract KyberSwapHelper is TokenHelper {
|
|
@@ -61,9 +65,9 @@ abstract contract KyberSwapHelper is TokenHelper {
|
|
|
61
65
|
address kyberRouter,
|
|
62
66
|
bytes memory rawKybercall
|
|
63
67
|
) internal {
|
|
64
|
-
if (kyberRouter == address(0) || rawKybercall.length == 0)
|
|
68
|
+
if (kyberRouter == address(0) || rawKybercall.length == 0)
|
|
65
69
|
revert Errors.RouterKyberSwapDataZero();
|
|
66
|
-
|
|
70
|
+
|
|
67
71
|
_safeApproveInf(tokenIn, kyberRouter);
|
|
68
72
|
|
|
69
73
|
bytes memory kybercall = IAggregationRouterHelper(kyberScalingLib).getScaledInputData(
|
package/package.json
CHANGED
|
@@ -27,9 +27,9 @@ export type TokenInputStruct = {
|
|
|
27
27
|
tokenIn: string;
|
|
28
28
|
netTokenIn: BigNumberish;
|
|
29
29
|
tokenMintSy: string;
|
|
30
|
+
bulk: string;
|
|
30
31
|
kyberRouter: string;
|
|
31
32
|
kybercall: BytesLike;
|
|
32
|
-
useBulk: boolean;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export type TokenInputStructOutput = [
|
|
@@ -38,14 +38,14 @@ export type TokenInputStructOutput = [
|
|
|
38
38
|
string,
|
|
39
39
|
string,
|
|
40
40
|
string,
|
|
41
|
-
|
|
41
|
+
string
|
|
42
42
|
] & {
|
|
43
43
|
tokenIn: string;
|
|
44
44
|
netTokenIn: BigNumber;
|
|
45
45
|
tokenMintSy: string;
|
|
46
|
+
bulk: string;
|
|
46
47
|
kyberRouter: string;
|
|
47
48
|
kybercall: string;
|
|
48
|
-
useBulk: boolean;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export type ApproxParamsStruct = {
|
|
@@ -74,9 +74,9 @@ export type TokenOutputStruct = {
|
|
|
74
74
|
tokenOut: string;
|
|
75
75
|
minTokenOut: BigNumberish;
|
|
76
76
|
tokenRedeemSy: string;
|
|
77
|
+
bulk: string;
|
|
77
78
|
kyberRouter: string;
|
|
78
79
|
kybercall: BytesLike;
|
|
79
|
-
useBulk: boolean;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
export type TokenOutputStructOutput = [
|
|
@@ -85,31 +85,30 @@ export type TokenOutputStructOutput = [
|
|
|
85
85
|
string,
|
|
86
86
|
string,
|
|
87
87
|
string,
|
|
88
|
-
|
|
88
|
+
string
|
|
89
89
|
] & {
|
|
90
90
|
tokenOut: string;
|
|
91
91
|
minTokenOut: BigNumber;
|
|
92
92
|
tokenRedeemSy: string;
|
|
93
|
+
bulk: string;
|
|
93
94
|
kyberRouter: string;
|
|
94
95
|
kybercall: string;
|
|
95
|
-
useBulk: boolean;
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
export interface ActionAddRemoveLiqInterface extends utils.Interface {
|
|
99
99
|
contractName: "ActionAddRemoveLiq";
|
|
100
100
|
functions: {
|
|
101
101
|
"addLiquidityDualSyAndPt(address,address,uint256,uint256,uint256)": FunctionFragment;
|
|
102
|
-
"addLiquidityDualTokenAndPt(address,address,(address,uint256,address,address,bytes
|
|
102
|
+
"addLiquidityDualTokenAndPt(address,address,(address,uint256,address,address,address,bytes),uint256,uint256)": FunctionFragment;
|
|
103
103
|
"addLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
|
|
104
104
|
"addLiquiditySingleSy(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
|
|
105
|
-
"addLiquiditySingleToken(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,bytes
|
|
106
|
-
"bulkFactory()": FunctionFragment;
|
|
105
|
+
"addLiquiditySingleToken(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
107
106
|
"kyberScalingLib()": FunctionFragment;
|
|
108
107
|
"removeLiquidityDualSyAndPt(address,address,uint256,uint256,uint256)": FunctionFragment;
|
|
109
|
-
"removeLiquidityDualTokenAndPt(address,address,uint256,(address,uint256,address,address,bytes
|
|
108
|
+
"removeLiquidityDualTokenAndPt(address,address,uint256,(address,uint256,address,address,address,bytes),uint256)": FunctionFragment;
|
|
110
109
|
"removeLiquiditySinglePt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
|
|
111
110
|
"removeLiquiditySingleSy(address,address,uint256,uint256)": FunctionFragment;
|
|
112
|
-
"removeLiquiditySingleToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
111
|
+
"removeLiquiditySingleToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
113
112
|
};
|
|
114
113
|
|
|
115
114
|
encodeFunctionData(
|
|
@@ -132,10 +131,6 @@ export interface ActionAddRemoveLiqInterface extends utils.Interface {
|
|
|
132
131
|
functionFragment: "addLiquiditySingleToken",
|
|
133
132
|
values: [string, string, BigNumberish, ApproxParamsStruct, TokenInputStruct]
|
|
134
133
|
): string;
|
|
135
|
-
encodeFunctionData(
|
|
136
|
-
functionFragment: "bulkFactory",
|
|
137
|
-
values?: undefined
|
|
138
|
-
): string;
|
|
139
134
|
encodeFunctionData(
|
|
140
135
|
functionFragment: "kyberScalingLib",
|
|
141
136
|
values?: undefined
|
|
@@ -181,10 +176,6 @@ export interface ActionAddRemoveLiqInterface extends utils.Interface {
|
|
|
181
176
|
functionFragment: "addLiquiditySingleToken",
|
|
182
177
|
data: BytesLike
|
|
183
178
|
): Result;
|
|
184
|
-
decodeFunctionResult(
|
|
185
|
-
functionFragment: "bulkFactory",
|
|
186
|
-
data: BytesLike
|
|
187
|
-
): Result;
|
|
188
179
|
decodeFunctionResult(
|
|
189
180
|
functionFragment: "kyberScalingLib",
|
|
190
181
|
data: BytesLike
|
|
@@ -458,8 +449,6 @@ export interface ActionAddRemoveLiq extends BaseContract {
|
|
|
458
449
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
459
450
|
): Promise<ContractTransaction>;
|
|
460
451
|
|
|
461
|
-
bulkFactory(overrides?: CallOverrides): Promise<[string]>;
|
|
462
|
-
|
|
463
452
|
kyberScalingLib(overrides?: CallOverrides): Promise<[string]>;
|
|
464
453
|
|
|
465
454
|
removeLiquidityDualSyAndPt(
|
|
@@ -551,8 +540,6 @@ export interface ActionAddRemoveLiq extends BaseContract {
|
|
|
551
540
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
552
541
|
): Promise<ContractTransaction>;
|
|
553
542
|
|
|
554
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
555
|
-
|
|
556
543
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
557
544
|
|
|
558
545
|
removeLiquidityDualSyAndPt(
|
|
@@ -662,8 +649,6 @@ export interface ActionAddRemoveLiq extends BaseContract {
|
|
|
662
649
|
[BigNumber, BigNumber] & { netLpOut: BigNumber; netSyFee: BigNumber }
|
|
663
650
|
>;
|
|
664
651
|
|
|
665
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
666
|
-
|
|
667
652
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
668
653
|
|
|
669
654
|
removeLiquidityDualSyAndPt(
|
|
@@ -934,8 +919,6 @@ export interface ActionAddRemoveLiq extends BaseContract {
|
|
|
934
919
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
935
920
|
): Promise<BigNumber>;
|
|
936
921
|
|
|
937
|
-
bulkFactory(overrides?: CallOverrides): Promise<BigNumber>;
|
|
938
|
-
|
|
939
922
|
kyberScalingLib(overrides?: CallOverrides): Promise<BigNumber>;
|
|
940
923
|
|
|
941
924
|
removeLiquidityDualSyAndPt(
|
|
@@ -1028,8 +1011,6 @@ export interface ActionAddRemoveLiq extends BaseContract {
|
|
|
1028
1011
|
overrides?: PayableOverrides & { from?: string | Promise<string> }
|
|
1029
1012
|
): Promise<PopulatedTransaction>;
|
|
1030
1013
|
|
|
1031
|
-
bulkFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1032
|
-
|
|
1033
1014
|
kyberScalingLib(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1034
1015
|
|
|
1035
1016
|
removeLiquidityDualSyAndPt(
|
|
@@ -22,23 +22,14 @@ import type {
|
|
|
22
22
|
export interface ActionBaseMintRedeemInterface extends utils.Interface {
|
|
23
23
|
contractName: "ActionBaseMintRedeem";
|
|
24
24
|
functions: {
|
|
25
|
-
"bulkFactory()": FunctionFragment;
|
|
26
25
|
"kyberScalingLib()": FunctionFragment;
|
|
27
26
|
};
|
|
28
27
|
|
|
29
|
-
encodeFunctionData(
|
|
30
|
-
functionFragment: "bulkFactory",
|
|
31
|
-
values?: undefined
|
|
32
|
-
): string;
|
|
33
28
|
encodeFunctionData(
|
|
34
29
|
functionFragment: "kyberScalingLib",
|
|
35
30
|
values?: undefined
|
|
36
31
|
): string;
|
|
37
32
|
|
|
38
|
-
decodeFunctionResult(
|
|
39
|
-
functionFragment: "bulkFactory",
|
|
40
|
-
data: BytesLike
|
|
41
|
-
): Result;
|
|
42
33
|
decodeFunctionResult(
|
|
43
34
|
functionFragment: "kyberScalingLib",
|
|
44
35
|
data: BytesLike
|
|
@@ -75,32 +66,22 @@ export interface ActionBaseMintRedeem extends BaseContract {
|
|
|
75
66
|
removeListener: OnEvent<this>;
|
|
76
67
|
|
|
77
68
|
functions: {
|
|
78
|
-
bulkFactory(overrides?: CallOverrides): Promise<[string]>;
|
|
79
|
-
|
|
80
69
|
kyberScalingLib(overrides?: CallOverrides): Promise<[string]>;
|
|
81
70
|
};
|
|
82
71
|
|
|
83
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
84
|
-
|
|
85
72
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
86
73
|
|
|
87
74
|
callStatic: {
|
|
88
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
89
|
-
|
|
90
75
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
91
76
|
};
|
|
92
77
|
|
|
93
78
|
filters: {};
|
|
94
79
|
|
|
95
80
|
estimateGas: {
|
|
96
|
-
bulkFactory(overrides?: CallOverrides): Promise<BigNumber>;
|
|
97
|
-
|
|
98
81
|
kyberScalingLib(overrides?: CallOverrides): Promise<BigNumber>;
|
|
99
82
|
};
|
|
100
83
|
|
|
101
84
|
populateTransaction: {
|
|
102
|
-
bulkFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
103
|
-
|
|
104
85
|
kyberScalingLib(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
105
86
|
};
|
|
106
87
|
}
|
|
@@ -27,9 +27,9 @@ export type TokenInputStruct = {
|
|
|
27
27
|
tokenIn: string;
|
|
28
28
|
netTokenIn: BigNumberish;
|
|
29
29
|
tokenMintSy: string;
|
|
30
|
+
bulk: string;
|
|
30
31
|
kyberRouter: string;
|
|
31
32
|
kybercall: BytesLike;
|
|
32
|
-
useBulk: boolean;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export type TokenInputStructOutput = [
|
|
@@ -38,23 +38,23 @@ export type TokenInputStructOutput = [
|
|
|
38
38
|
string,
|
|
39
39
|
string,
|
|
40
40
|
string,
|
|
41
|
-
|
|
41
|
+
string
|
|
42
42
|
] & {
|
|
43
43
|
tokenIn: string;
|
|
44
44
|
netTokenIn: BigNumber;
|
|
45
45
|
tokenMintSy: string;
|
|
46
|
+
bulk: string;
|
|
46
47
|
kyberRouter: string;
|
|
47
48
|
kybercall: string;
|
|
48
|
-
useBulk: boolean;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export type TokenOutputStruct = {
|
|
52
52
|
tokenOut: string;
|
|
53
53
|
minTokenOut: BigNumberish;
|
|
54
54
|
tokenRedeemSy: string;
|
|
55
|
+
bulk: string;
|
|
55
56
|
kyberRouter: string;
|
|
56
57
|
kybercall: BytesLike;
|
|
57
|
-
useBulk: boolean;
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
export type TokenOutputStructOutput = [
|
|
@@ -63,14 +63,14 @@ export type TokenOutputStructOutput = [
|
|
|
63
63
|
string,
|
|
64
64
|
string,
|
|
65
65
|
string,
|
|
66
|
-
|
|
66
|
+
string
|
|
67
67
|
] & {
|
|
68
68
|
tokenOut: string;
|
|
69
69
|
minTokenOut: BigNumber;
|
|
70
70
|
tokenRedeemSy: string;
|
|
71
|
+
bulk: string;
|
|
71
72
|
kyberRouter: string;
|
|
72
73
|
kybercall: string;
|
|
73
|
-
useBulk: boolean;
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
export declare namespace IPActionMintRedeem {
|
|
@@ -78,19 +78,19 @@ export declare namespace IPActionMintRedeem {
|
|
|
78
78
|
yts: string[];
|
|
79
79
|
syAddrs: string[];
|
|
80
80
|
tokenRedeemSys: string[];
|
|
81
|
-
|
|
81
|
+
bulks: string[];
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
export type RouterYtRedeemStructStructOutput = [
|
|
85
85
|
string[],
|
|
86
86
|
string[],
|
|
87
87
|
string[],
|
|
88
|
-
|
|
88
|
+
string[]
|
|
89
89
|
] & {
|
|
90
90
|
yts: string[];
|
|
91
91
|
syAddrs: string[];
|
|
92
92
|
tokenRedeemSys: string[];
|
|
93
|
-
|
|
93
|
+
bulks: string[];
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export type RouterSwapAllStructStruct = {
|
|
@@ -119,22 +119,17 @@ export declare namespace IPActionMintRedeem {
|
|
|
119
119
|
export interface ActionMintRedeemInterface extends utils.Interface {
|
|
120
120
|
contractName: "ActionMintRedeem";
|
|
121
121
|
functions: {
|
|
122
|
-
"bulkFactory()": FunctionFragment;
|
|
123
122
|
"kyberScalingLib()": FunctionFragment;
|
|
124
123
|
"mintPyFromSy(address,address,uint256,uint256)": FunctionFragment;
|
|
125
|
-
"mintPyFromToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
126
|
-
"mintSyFromToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
124
|
+
"mintPyFromToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
125
|
+
"mintSyFromToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
127
126
|
"redeemDueInterestAndRewards(address,address[],address[],address[])": FunctionFragment;
|
|
128
|
-
"redeemDueInterestAndRewardsThenSwapAll(address[],(address[],address[],address[],
|
|
127
|
+
"redeemDueInterestAndRewardsThenSwapAll(address[],(address[],address[],address[],address[]),address[],(address[],bytes[],address,address,uint256))": FunctionFragment;
|
|
129
128
|
"redeemPyToSy(address,address,uint256,uint256)": FunctionFragment;
|
|
130
|
-
"redeemPyToToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
131
|
-
"redeemSyToToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
129
|
+
"redeemPyToToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
130
|
+
"redeemSyToToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
132
131
|
};
|
|
133
132
|
|
|
134
|
-
encodeFunctionData(
|
|
135
|
-
functionFragment: "bulkFactory",
|
|
136
|
-
values?: undefined
|
|
137
|
-
): string;
|
|
138
133
|
encodeFunctionData(
|
|
139
134
|
functionFragment: "kyberScalingLib",
|
|
140
135
|
values?: undefined
|
|
@@ -177,10 +172,6 @@ export interface ActionMintRedeemInterface extends utils.Interface {
|
|
|
177
172
|
values: [string, string, BigNumberish, TokenOutputStruct]
|
|
178
173
|
): string;
|
|
179
174
|
|
|
180
|
-
decodeFunctionResult(
|
|
181
|
-
functionFragment: "bulkFactory",
|
|
182
|
-
data: BytesLike
|
|
183
|
-
): Result;
|
|
184
175
|
decodeFunctionResult(
|
|
185
176
|
functionFragment: "kyberScalingLib",
|
|
186
177
|
data: BytesLike
|
|
@@ -394,8 +385,6 @@ export interface ActionMintRedeem extends BaseContract {
|
|
|
394
385
|
removeListener: OnEvent<this>;
|
|
395
386
|
|
|
396
387
|
functions: {
|
|
397
|
-
bulkFactory(overrides?: CallOverrides): Promise<[string]>;
|
|
398
|
-
|
|
399
388
|
kyberScalingLib(overrides?: CallOverrides): Promise<[string]>;
|
|
400
389
|
|
|
401
390
|
mintPyFromSy(
|
|
@@ -463,8 +452,6 @@ export interface ActionMintRedeem extends BaseContract {
|
|
|
463
452
|
): Promise<ContractTransaction>;
|
|
464
453
|
};
|
|
465
454
|
|
|
466
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
467
|
-
|
|
468
455
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
469
456
|
|
|
470
457
|
mintPyFromSy(
|
|
@@ -532,8 +519,6 @@ export interface ActionMintRedeem extends BaseContract {
|
|
|
532
519
|
): Promise<ContractTransaction>;
|
|
533
520
|
|
|
534
521
|
callStatic: {
|
|
535
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
536
|
-
|
|
537
522
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
538
523
|
|
|
539
524
|
mintPyFromSy(
|
|
@@ -752,8 +737,6 @@ export interface ActionMintRedeem extends BaseContract {
|
|
|
752
737
|
};
|
|
753
738
|
|
|
754
739
|
estimateGas: {
|
|
755
|
-
bulkFactory(overrides?: CallOverrides): Promise<BigNumber>;
|
|
756
|
-
|
|
757
740
|
kyberScalingLib(overrides?: CallOverrides): Promise<BigNumber>;
|
|
758
741
|
|
|
759
742
|
mintPyFromSy(
|
|
@@ -822,8 +805,6 @@ export interface ActionMintRedeem extends BaseContract {
|
|
|
822
805
|
};
|
|
823
806
|
|
|
824
807
|
populateTransaction: {
|
|
825
|
-
bulkFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
826
|
-
|
|
827
808
|
kyberScalingLib(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
828
809
|
|
|
829
810
|
mintPyFromSy(
|
|
@@ -27,9 +27,9 @@ export type TokenOutputStruct = {
|
|
|
27
27
|
tokenOut: string;
|
|
28
28
|
minTokenOut: BigNumberish;
|
|
29
29
|
tokenRedeemSy: string;
|
|
30
|
+
bulk: string;
|
|
30
31
|
kyberRouter: string;
|
|
31
32
|
kybercall: BytesLike;
|
|
32
|
-
useBulk: boolean;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export type TokenOutputStructOutput = [
|
|
@@ -38,14 +38,14 @@ export type TokenOutputStructOutput = [
|
|
|
38
38
|
string,
|
|
39
39
|
string,
|
|
40
40
|
string,
|
|
41
|
-
|
|
41
|
+
string
|
|
42
42
|
] & {
|
|
43
43
|
tokenOut: string;
|
|
44
44
|
minTokenOut: BigNumber;
|
|
45
45
|
tokenRedeemSy: string;
|
|
46
|
+
bulk: string;
|
|
46
47
|
kyberRouter: string;
|
|
47
48
|
kybercall: string;
|
|
48
|
-
useBulk: boolean;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export type ApproxParamsStruct = {
|
|
@@ -74,9 +74,9 @@ export type TokenInputStruct = {
|
|
|
74
74
|
tokenIn: string;
|
|
75
75
|
netTokenIn: BigNumberish;
|
|
76
76
|
tokenMintSy: string;
|
|
77
|
+
bulk: string;
|
|
77
78
|
kyberRouter: string;
|
|
78
79
|
kybercall: BytesLike;
|
|
79
|
-
useBulk: boolean;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
export type TokenInputStructOutput = [
|
|
@@ -85,33 +85,28 @@ export type TokenInputStructOutput = [
|
|
|
85
85
|
string,
|
|
86
86
|
string,
|
|
87
87
|
string,
|
|
88
|
-
|
|
88
|
+
string
|
|
89
89
|
] & {
|
|
90
90
|
tokenIn: string;
|
|
91
91
|
netTokenIn: BigNumber;
|
|
92
92
|
tokenMintSy: string;
|
|
93
|
+
bulk: string;
|
|
93
94
|
kyberRouter: string;
|
|
94
95
|
kybercall: string;
|
|
95
|
-
useBulk: boolean;
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
export interface ActionSwapPTInterface extends utils.Interface {
|
|
99
99
|
contractName: "ActionSwapPT";
|
|
100
100
|
functions: {
|
|
101
|
-
"bulkFactory()": FunctionFragment;
|
|
102
101
|
"kyberScalingLib()": FunctionFragment;
|
|
103
102
|
"swapExactPtForSy(address,address,uint256,uint256)": FunctionFragment;
|
|
104
|
-
"swapExactPtForToken(address,address,uint256,(address,uint256,address,address,bytes
|
|
103
|
+
"swapExactPtForToken(address,address,uint256,(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
105
104
|
"swapExactSyForPt(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
|
|
106
|
-
"swapExactTokenForPt(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,bytes
|
|
105
|
+
"swapExactTokenForPt(address,address,uint256,(uint256,uint256,uint256,uint256,uint256),(address,uint256,address,address,address,bytes))": FunctionFragment;
|
|
107
106
|
"swapPtForExactSy(address,address,uint256,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
|
|
108
107
|
"swapSyForExactPt(address,address,uint256,uint256)": FunctionFragment;
|
|
109
108
|
};
|
|
110
109
|
|
|
111
|
-
encodeFunctionData(
|
|
112
|
-
functionFragment: "bulkFactory",
|
|
113
|
-
values?: undefined
|
|
114
|
-
): string;
|
|
115
110
|
encodeFunctionData(
|
|
116
111
|
functionFragment: "kyberScalingLib",
|
|
117
112
|
values?: undefined
|
|
@@ -141,10 +136,6 @@ export interface ActionSwapPTInterface extends utils.Interface {
|
|
|
141
136
|
values: [string, string, BigNumberish, BigNumberish]
|
|
142
137
|
): string;
|
|
143
138
|
|
|
144
|
-
decodeFunctionResult(
|
|
145
|
-
functionFragment: "bulkFactory",
|
|
146
|
-
data: BytesLike
|
|
147
|
-
): Result;
|
|
148
139
|
decodeFunctionResult(
|
|
149
140
|
functionFragment: "kyberScalingLib",
|
|
150
141
|
data: BytesLike
|
|
@@ -238,8 +229,6 @@ export interface ActionSwapPT extends BaseContract {
|
|
|
238
229
|
removeListener: OnEvent<this>;
|
|
239
230
|
|
|
240
231
|
functions: {
|
|
241
|
-
bulkFactory(overrides?: CallOverrides): Promise<[string]>;
|
|
242
|
-
|
|
243
232
|
kyberScalingLib(overrides?: CallOverrides): Promise<[string]>;
|
|
244
233
|
|
|
245
234
|
swapExactPtForSy(
|
|
@@ -294,8 +283,6 @@ export interface ActionSwapPT extends BaseContract {
|
|
|
294
283
|
): Promise<ContractTransaction>;
|
|
295
284
|
};
|
|
296
285
|
|
|
297
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
298
|
-
|
|
299
286
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
300
287
|
|
|
301
288
|
swapExactPtForSy(
|
|
@@ -350,8 +337,6 @@ export interface ActionSwapPT extends BaseContract {
|
|
|
350
337
|
): Promise<ContractTransaction>;
|
|
351
338
|
|
|
352
339
|
callStatic: {
|
|
353
|
-
bulkFactory(overrides?: CallOverrides): Promise<string>;
|
|
354
|
-
|
|
355
340
|
kyberScalingLib(overrides?: CallOverrides): Promise<string>;
|
|
356
341
|
|
|
357
342
|
swapExactPtForSy(
|
|
@@ -453,8 +438,6 @@ export interface ActionSwapPT extends BaseContract {
|
|
|
453
438
|
};
|
|
454
439
|
|
|
455
440
|
estimateGas: {
|
|
456
|
-
bulkFactory(overrides?: CallOverrides): Promise<BigNumber>;
|
|
457
|
-
|
|
458
441
|
kyberScalingLib(overrides?: CallOverrides): Promise<BigNumber>;
|
|
459
442
|
|
|
460
443
|
swapExactPtForSy(
|
|
@@ -510,8 +493,6 @@ export interface ActionSwapPT extends BaseContract {
|
|
|
510
493
|
};
|
|
511
494
|
|
|
512
495
|
populateTransaction: {
|
|
513
|
-
bulkFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
514
|
-
|
|
515
496
|
kyberScalingLib(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
516
497
|
|
|
517
498
|
swapExactPtForSy(
|