@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.
Files changed (177) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +3 -19
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  57. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  64. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +3 -19
  66. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +20 -20
  69. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +23 -23
  71. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +10 -10
  73. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +10 -10
  76. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +63 -63
  78. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  82. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  83. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  84. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +1 -1
  85. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +2 -2
  86. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  87. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  88. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +133 -99
  90. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  91. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +22 -40
  92. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  93. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  94. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  95. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +25 -43
  96. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  97. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  98. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  99. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +12 -30
  100. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  102. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  103. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +12 -30
  104. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  105. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  106. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  107. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +0 -13
  108. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  109. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  110. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  112. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  113. package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -2
  114. package/contracts/core/libraries/Errors.sol +1 -2
  115. package/contracts/core/libraries/TokenHelper.sol +9 -0
  116. package/contracts/interfaces/IPActionMintRedeem.sol +1 -1
  117. package/contracts/offchain-helpers/RouterStatic.sol +45 -30
  118. package/contracts/router/ActionAddRemoveLiq.sol +12 -13
  119. package/contracts/router/ActionCallback.sol +4 -8
  120. package/contracts/router/ActionMintRedeem.sol +16 -11
  121. package/contracts/router/ActionSwapPT.sol +7 -8
  122. package/contracts/router/ActionSwapPTYT.sol +3 -7
  123. package/contracts/router/ActionSwapYT.sol +6 -8
  124. package/contracts/router/PendleRouter.sol +3 -0
  125. package/contracts/router/base/ActionBaseMintRedeem.sol +29 -33
  126. package/contracts/router/kyberswap/KyberSwapHelper.sol +8 -4
  127. package/package.json +1 -1
  128. package/typechain-types/ActionAddRemoveLiq.ts +10 -29
  129. package/typechain-types/ActionBaseMintRedeem.ts +0 -19
  130. package/typechain-types/ActionMintRedeem.ts +14 -33
  131. package/typechain-types/ActionSwapPT.ts +8 -27
  132. package/typechain-types/ActionSwapYT.ts +8 -27
  133. package/typechain-types/IPActionAddRemoveLiq.ts +10 -10
  134. package/typechain-types/IPActionMintRedeem.ts +14 -14
  135. package/typechain-types/IPActionSwapPT.ts +8 -8
  136. package/typechain-types/IPActionSwapYT.ts +8 -8
  137. package/typechain-types/IPAllAction.ts +22 -22
  138. package/typechain-types/RouterStatic.ts +148 -91
  139. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +22 -47
  140. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -13
  141. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  142. package/typechain-types/factories/ActionMintRedeem__factory.ts +25 -50
  143. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  144. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  145. package/typechain-types/factories/ActionSwapPT__factory.ts +12 -37
  146. package/typechain-types/factories/ActionSwapYT__factory.ts +12 -37
  147. package/typechain-types/factories/BulkSellerFactory__factory.ts +2 -18
  148. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  149. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  150. package/typechain-types/factories/Errors__factory.ts +2 -18
  151. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +20 -20
  152. package/typechain-types/factories/IPActionMintRedeem__factory.ts +23 -23
  153. package/typechain-types/factories/IPActionSwapPT__factory.ts +10 -10
  154. package/typechain-types/factories/IPActionSwapYT__factory.ts +10 -10
  155. package/typechain-types/factories/IPAllAction__factory.ts +63 -63
  156. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +1 -1
  157. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  158. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  159. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  160. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  161. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  162. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  163. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  164. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  165. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  166. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  167. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  168. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  169. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  170. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  171. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  172. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  173. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  174. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  175. package/typechain-types/factories/RouterStatic__factory.ts +74 -40
  176. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  177. 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, address _bulkSellerDirectory)
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
- uint256 tokenMintSyBal = _selfBalance(input.tokenMintSy);
40
- if (input.useBulk) {
41
- address bulk = bulkFactory.get(input.tokenMintSy, SY);
37
+ if (input.bulk != address(0)) {
38
+ _transferOut(input.tokenMintSy, input.bulk, netTokenMintSy);
42
39
 
43
- _transferOut(input.tokenMintSy, bulk, tokenMintSyBal);
44
-
45
- netSyOut = IPBulkSeller(bulk).swapExactTokenForSy(receiver, tokenMintSyBal, minSyOut);
40
+ netSyOut = IPBulkSeller(input.bulk).swapExactTokenForSy(
41
+ receiver,
42
+ netTokenMintSy,
43
+ minSyOut
44
+ );
46
45
  } else {
47
- uint256 netNative = input.tokenMintSy == NATIVE ? tokenMintSyBal : 0;
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
- tokenMintSyBal,
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).safeTransferFrom(msg.sender, _syOrBulk(SY, output), netSyIn);
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.useBulk) {
76
- address bulk = bulkFactory.get(output.tokenRedeemSy, SY);
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).safeTransferFrom(msg.sender, YT, netSyIn);
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
- if (doPull) {
139
- bool needToBurnYt = (!IPYieldToken(YT).isExpired());
140
- IERC20(PT).safeTransferFrom(msg.sender, YT, netPyIn);
141
- if (needToBurnYt) IERC20(YT).safeTransferFrom(msg.sender, YT, netPyIn);
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
- view
146
+ pure
151
147
  returns (address addr)
152
148
  {
153
- return (output.useBulk ? bulkFactory.get(output.tokenRedeemSy, SY) : SY);
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
- bool useBulk
155
+ address bulk
160
156
  ) internal pure returns (TokenOutput memory) {
161
- return TokenOutput(tokenOut, minTokenOut, tokenOut, address(0), EMPTY_BYTES, useBulk);
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
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "0.16.3-testnet",
5
+ "version": "0.16.4-testnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -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
- boolean
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
- boolean
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,bool),uint256,uint256)": FunctionFragment;
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,bool))": FunctionFragment;
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,bool),uint256)": FunctionFragment;
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,bool))": FunctionFragment;
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
- boolean
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
- boolean
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
- useBulks: boolean[];
81
+ bulks: string[];
82
82
  };
83
83
 
84
84
  export type RouterYtRedeemStructStructOutput = [
85
85
  string[],
86
86
  string[],
87
87
  string[],
88
- boolean[]
88
+ string[]
89
89
  ] & {
90
90
  yts: string[];
91
91
  syAddrs: string[];
92
92
  tokenRedeemSys: string[];
93
- useBulks: boolean[];
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,bool))": FunctionFragment;
126
- "mintSyFromToken(address,address,uint256,(address,uint256,address,address,bytes,bool))": FunctionFragment;
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[],bool[]),address[],(address[],bytes[],address,address,uint256))": FunctionFragment;
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,bool))": FunctionFragment;
131
- "redeemSyToToken(address,address,uint256,(address,uint256,address,address,bytes,bool))": FunctionFragment;
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
- boolean
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
- boolean
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,bool))": FunctionFragment;
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,bool))": FunctionFragment;
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(