@pendle/core-v2 5.4.2-beta-okx-2 → 5.4.3

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 (115) hide show
  1. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +4 -0
  2. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +462 -0
  3. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  6. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  8. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  10. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  18. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +4 -0
  19. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.json +190 -0
  20. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  21. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  22. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  23. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  24. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  25. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  26. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  27. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  28. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  29. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  31. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  42. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  43. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  44. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  45. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  46. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  47. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  48. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  49. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  50. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  52. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  54. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  56. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  58. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  60. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  61. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  62. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  63. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  64. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  65. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  66. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  67. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  69. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  71. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +40 -0
  73. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  75. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +55 -2
  77. package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +117 -0
  78. package/contracts/interfaces/IPMultiTokenMerkleDistributor.sol +27 -0
  79. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +2 -0
  80. package/contracts/router/swap-aggregator/PendleSwap.sol +6 -213
  81. package/deployments/1-core.json +2 -1
  82. package/deployments/10-core.json +7 -6
  83. package/deployments/42161-core.json +7 -6
  84. package/deployments/5000-core.json +7 -6
  85. package/deployments/56-core.json +7 -6
  86. package/deployments/8453-core.json +7 -6
  87. package/package.json +1 -1
  88. package/typechain-types/IPMultiTokenMerkleDistributor.ts +275 -0
  89. package/typechain-types/IPSwapAggregator.ts +39 -0
  90. package/typechain-types/PendleMultiTokenMerkleDistributor.ts +677 -0
  91. package/typechain-types/PendleSwap.ts +60 -0
  92. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  93. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  94. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  95. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  96. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  97. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  98. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  99. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  100. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  101. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  102. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  103. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  104. package/typechain-types/factories/IPMultiTokenMerkleDistributor__factory.ts +209 -0
  105. package/typechain-types/factories/IPSwapAggregator__factory.ts +40 -0
  106. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +523 -0
  107. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  108. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  109. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  110. package/typechain-types/factories/PendleSwap__factory.ts +54 -1
  111. package/typechain-types/factories/Reflector__factory.ts +1 -1
  112. package/typechain-types/hardhat.d.ts +18 -0
  113. package/typechain-types/index.ts +4 -0
  114. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOKXDexRouter.dbg.json +0 -4
  115. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOKXDexRouter.json +0 -407
@@ -3,16 +3,14 @@ pragma solidity ^0.8.17;
3
3
 
4
4
  import "../../core/libraries/TokenHelper.sol";
5
5
  import "./IPSwapAggregator.sol";
6
- import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
7
6
 
8
7
  contract PendleSwap is IPSwapAggregator, TokenHelper {
9
8
  using Address for address;
10
- using SafeERC20 for IERC20;
11
9
 
12
- address private constant KYBER_SCALING_HELPER = 0x2f577A41BeC1BE1152AeEA12e73b7391d15f655D;
10
+ address public immutable KYBER_SCALING_HELPER = 0x2f577A41BeC1BE1152AeEA12e73b7391d15f655D;
13
11
 
14
12
  function swap(address tokenIn, uint256 amountIn, SwapData calldata data) external payable {
15
- _approveForExtRouter(tokenIn, data);
13
+ _safeApproveInf(tokenIn, data.extRouter);
16
14
  data.extRouter.functionCallWithValue(
17
15
  data.needScale ? _getScaledInputData(data.swapType, data.extCalldata, amountIn) : data.extCalldata,
18
16
  tokenIn == NATIVE ? amountIn : 0
@@ -21,20 +19,11 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
21
19
  emit SwapSingle(data.swapType, tokenIn, amountIn);
22
20
  }
23
21
 
24
- function _approveForExtRouter(address token, SwapData calldata data) internal {
25
- if (token == NATIVE) return;
26
-
27
- if (data.swapType == SwapType.OKX) {
28
- _safeApproveInfV2(IERC20(token), _okx_getTokenApprove());
29
- } else {
30
- _safeApproveInfV2(IERC20(token), data.extRouter);
31
- }
32
- }
33
-
34
- function _safeApproveInfV2(IERC20 token, address spender) internal {
35
- if (token.allowance(address(this), spender) < type(uint256).max) {
36
- token.forceApprove(spender, type(uint256).max);
22
+ function swapMultiOdos(address[] calldata tokensIn, SwapData calldata data) external payable {
23
+ for (uint256 i = 0; i < tokensIn.length; ++i) {
24
+ _safeApproveInf(tokensIn[i], data.extRouter);
37
25
  }
26
+ data.extRouter.functionCallWithValue(data.extCalldata, msg.value);
38
27
  }
39
28
 
40
29
  function _getScaledInputData(
@@ -52,8 +41,6 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
52
41
  require(isSuccess, "PendleSwap: Kyber scaling failed");
53
42
  } else if (swapType == SwapType.ODOS) {
54
43
  scaledCallData = _odosScaling(rawCallData, amountIn);
55
- } else if (swapType == SwapType.OKX) {
56
- scaledCallData = _okxScaling(rawCallData, amountIn);
57
44
  } else {
58
45
  assert(false);
59
46
  }
@@ -81,115 +68,6 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
81
68
  return abi.encodeWithSelector(selector, tokenInfo, pathDefinition, executor, referralCode);
82
69
  }
83
70
 
84
- function _okx_getTokenApprove() internal view returns (address) {
85
- if (block.chainid == 1) {
86
- return 0x40aA958dd87FC8305b97f2BA922CDdCa374bcD7f;
87
- }
88
- if (block.chainid == 10) {
89
- return 0x68D6B739D2020067D1e2F713b999dA97E4d54812;
90
- }
91
- if (block.chainid == 56) {
92
- return 0x2c34A2Fb1d0b4f55de51E1d0bDEfaDDce6b7cDD6;
93
- }
94
- if (block.chainid == 42161) {
95
- return 0x70cBb871E8f30Fc8Ce23609E9E0Ea87B6b222F58;
96
- }
97
- if (block.chainid == 8453) {
98
- return 0x57df6092665eb6058DE53939612413ff4B09114E;
99
- }
100
- if (block.chainid == 5000) {
101
- return 0x57df6092665eb6058DE53939612413ff4B09114E;
102
- }
103
-
104
- revert("PendleSwap: OKX Chain not supported");
105
- }
106
-
107
- function _okxScaling(
108
- bytes calldata rawCallData,
109
- uint256 actualAmount
110
- ) internal pure returns (bytes memory scaledCallData) {
111
- bytes4 selector = bytes4(rawCallData[:4]);
112
- bytes calldata dataToDecode = rawCallData[4:];
113
-
114
- if (selector == IOKXDexRouter.uniswapV3SwapTo.selector) {
115
- (uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) = abi.decode(
116
- dataToDecode,
117
- (uint256, uint256, uint256, uint256[])
118
- );
119
-
120
- minReturn = (minReturn * actualAmount) / amount;
121
- amount = actualAmount;
122
-
123
- return abi.encodeWithSelector(selector, receiver, amount, minReturn, pools);
124
- } else if (selector == IOKXDexRouter.smartSwapTo.selector) {
125
- (
126
- uint256 orderId,
127
- address receiver,
128
- IOKXDexRouter.BaseRequest memory baseRequest,
129
- uint256[] memory batchesAmount,
130
- IOKXDexRouter.RouterPath[][] memory batches,
131
- IOKXDexRouter.PMMSwapRequest[] memory extraData
132
- ) = abi.decode(
133
- dataToDecode,
134
- (
135
- uint256,
136
- address,
137
- IOKXDexRouter.BaseRequest,
138
- uint256[],
139
- IOKXDexRouter.RouterPath[][],
140
- IOKXDexRouter.PMMSwapRequest[]
141
- )
142
- );
143
-
144
- baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
145
- baseRequest.fromTokenAmount = actualAmount;
146
-
147
- return abi.encodeWithSelector(selector, orderId, receiver, baseRequest, batchesAmount, batches, extraData);
148
- } else if (selector == IOKXDexRouter.unxswapTo.selector) {
149
- (uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) = abi
150
- .decode(dataToDecode, (uint256, uint256, uint256, address, bytes32[]));
151
-
152
- minReturn = (minReturn * actualAmount) / amount;
153
- amount = actualAmount;
154
-
155
- return abi.encodeWithSelector(selector, srcToken, amount, minReturn, receiver, pools);
156
- } else if (selector == IOKXDexRouter.unxswapByOrderId.selector) {
157
- (uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) = abi.decode(
158
- dataToDecode,
159
- (uint256, uint256, uint256, bytes32[])
160
- );
161
-
162
- minReturn = (minReturn * actualAmount) / amount;
163
- amount = actualAmount;
164
-
165
- return abi.encodeWithSelector(selector, srcToken, amount, minReturn, pools);
166
- } else if (selector == IOKXDexRouter.smartSwapByOrderId.selector) {
167
- (
168
- uint256 orderId,
169
- IOKXDexRouter.BaseRequest memory baseRequest,
170
- uint256[] memory batchesAmount,
171
- IOKXDexRouter.RouterPath[][] memory batches,
172
- IOKXDexRouter.PMMSwapRequest[] memory extraData
173
- ) = abi.decode(
174
- dataToDecode,
175
- (
176
- uint256,
177
- IOKXDexRouter.BaseRequest,
178
- uint256[],
179
- IOKXDexRouter.RouterPath[][],
180
- IOKXDexRouter.PMMSwapRequest[]
181
- )
182
- );
183
-
184
- baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
185
- baseRequest.fromTokenAmount = actualAmount;
186
-
187
- return abi.encodeWithSelector(selector, orderId, baseRequest, batchesAmount, batches, extraData);
188
- } else {
189
- revert("PendleSwap: OKX selector not supported");
190
- }
191
- }
192
-
193
71
  receive() external payable {}
194
72
  }
195
73
 
@@ -218,88 +96,3 @@ interface IOdosRouterV2 {
218
96
  uint32 referralCode
219
97
  ) external payable returns (uint256 amountOut);
220
98
  }
221
-
222
- interface IOKXDexRouter {
223
- struct BaseRequest {
224
- uint256 fromToken;
225
- address toToken;
226
- uint256 fromTokenAmount;
227
- uint256 minReturnAmount;
228
- uint256 deadLine;
229
- }
230
-
231
- struct RouterPath {
232
- address[] mixAdapters;
233
- address[] assetTo;
234
- uint256[] rawData;
235
- bytes[] extraData;
236
- uint256 fromToken;
237
- }
238
-
239
- struct PMMSwapRequest {
240
- uint256 pathIndex;
241
- address payer;
242
- address fromToken;
243
- address toToken;
244
- uint256 fromTokenAmountMax;
245
- uint256 toTokenAmountMax;
246
- uint256 salt;
247
- uint256 deadLine;
248
- bool isPushOrder;
249
- bytes extension;
250
- }
251
-
252
- // // address marketMaker;
253
- // // uint256 subIndex;
254
- // // bytes signature;
255
- // // uint256 source; 1byte type + 1byte bool(reverse) + 0...0 + 20 bytes address
256
-
257
- // function smartSwapByInvest(
258
- // BaseRequest calldata baseRequest,
259
- // uint256[] calldata batchesAmount,
260
- // RouterPath[][] calldata batches,
261
- // PMMSwapRequest[] calldata extraData,
262
- // address to
263
- // ) external payable;
264
-
265
- function uniswapV3SwapTo(
266
- uint256 receiver,
267
- uint256 amount,
268
- uint256 minReturn,
269
- uint256[] calldata pools
270
- ) external payable returns (uint256 returnAmount);
271
-
272
- function smartSwapTo(
273
- uint256 orderId,
274
- address receiver,
275
- BaseRequest calldata baseRequest,
276
- uint256[] calldata batchesAmount,
277
- RouterPath[][] calldata batches,
278
- PMMSwapRequest[] calldata extraData
279
- ) external payable;
280
-
281
- function unxswapTo(
282
- uint256 srcToken,
283
- uint256 amount,
284
- uint256 minReturn,
285
- address receiver,
286
- // solhint-disable-next-line no-unused-vars
287
- bytes32[] calldata pools
288
- ) external payable returns (uint256 returnAmount);
289
-
290
- function unxswapByOrderId(
291
- uint256 srcToken,
292
- uint256 amount,
293
- uint256 minReturn,
294
- // solhint-disable-next-line no-unused-vars
295
- bytes32[] calldata pools
296
- ) external payable returns (uint256 returnAmount);
297
-
298
- function smartSwapByOrderId(
299
- uint256 orderId,
300
- BaseRequest calldata baseRequest,
301
- uint256[] calldata batchesAmount,
302
- RouterPath[][] calldata batches,
303
- PMMSwapRequest[] calldata extraData
304
- ) external payable returns (uint256 returnAmount);
305
- }
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
34
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
34
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
37
37
  "marketFactoryV3": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
@@ -49,6 +49,7 @@
49
49
  "gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
50
50
  "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
51
51
  "feeDistributorV2": "0x8C237520a8E14D658170A633D96F8e80764433b9",
52
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
52
53
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
53
54
  "beta": {
54
55
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
@@ -21,16 +21,16 @@
21
21
  "marketFactory": "0x17F100fB4bE2707675c6439468d38249DD993d58",
22
22
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
23
  "routerFacets": {
24
- "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
25
- "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
26
- "ActionSwapYTV3": "0x9b1Fe315614C2888b5151B4C2efc53878f01652b",
27
- "ActionMiscV3": "0x294965CEa8FECd76a910338D2CB2b75245BE5203",
28
- "ActionSimple": "0x5eBD8cfDc82Fb95488eB16881a6dBc1feD598a7a",
24
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
25
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
26
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
27
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
28
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
29
29
  "ActionCallbackV3": "0x997FBC511a8Ad11F84a400feACD66E2A3fa805d2",
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
33
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xfa6B22FC4c3Ad88B68c16b3061a16b1714F6Bd57",
36
36
  "marketFactoryV3": "0x4A2B38b9cBd83c86F261a4d64c243795D4d44aBC",
@@ -46,6 +46,7 @@
46
46
  "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
47
47
  "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
48
48
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
49
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
49
50
  "beta": {
50
51
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
51
52
  }
@@ -21,16 +21,16 @@
21
21
  "marketFactory": "0xf5a7De2D276dbda3EEf1b62A9E718EFf4d29dDC8",
22
22
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
23
  "routerFacets": {
24
- "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
25
- "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
26
- "ActionSwapYTV3": "0x9b1Fe315614C2888b5151B4C2efc53878f01652b",
27
- "ActionMiscV3": "0x294965CEa8FECd76a910338D2CB2b75245BE5203",
28
- "ActionSimple": "0x5eBD8cfDc82Fb95488eB16881a6dBc1feD598a7a",
24
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
25
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
26
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
27
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
28
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
29
29
  "ActionCallbackV3": "0x997FBC511a8Ad11F84a400feACD66E2A3fa805d2",
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
33
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
36
36
  "marketFactoryV3": "0x2FCb47B58350cD377f94d3821e7373Df60bD9Ced",
@@ -48,6 +48,7 @@
48
48
  "arbMerkleDistribution": "0x23a102e78D1FF1645a3666691495174764a5FCAF",
49
49
  "linearDistributor": "0x83d85AEDD308261d847C3eb8d7146457bD8F38E8",
50
50
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
51
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
51
52
  "beta": {
52
53
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
53
54
  }
@@ -19,16 +19,16 @@
19
19
  "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e",
20
20
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
21
21
  "routerFacets": {
22
- "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
23
- "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
24
- "ActionSwapYTV3": "0x9b1Fe315614C2888b5151B4C2efc53878f01652b",
25
- "ActionMiscV3": "0x294965CEa8FECd76a910338D2CB2b75245BE5203",
26
- "ActionSimple": "0x5eBD8cfDc82Fb95488eB16881a6dBc1feD598a7a",
22
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
23
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
24
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
25
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
26
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
27
27
  "ActionCallbackV3": "0x997FBC511a8Ad11F84a400feACD66E2A3fa805d2",
28
28
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
29
29
  },
30
30
  "routerStatic": "0xCAd502Bb55d1A3F79952F969BFF3f011CF30a94a",
31
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
31
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV3": "0x964840644B88C583500F473E4B829Ab629aF96A8",
34
34
  "marketFactoryV3": "0xD228EC1f7D4313fe321fab511A872475D07F5bA6",
@@ -44,6 +44,7 @@
44
44
  "vePendle": "0x30c6d4e892871220B5Ab66c10db577da96Fb974b",
45
45
  "gaugeController": "0x428f2f93afAc3F96B0DE59854038c585e06165C8",
46
46
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
47
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
47
48
  "beta": {
48
49
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
49
50
  }
@@ -21,16 +21,16 @@
21
21
  "marketFactory": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
22
22
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
23
  "routerFacets": {
24
- "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
25
- "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
26
- "ActionSwapYTV3": "0x9b1Fe315614C2888b5151B4C2efc53878f01652b",
27
- "ActionMiscV3": "0x294965CEa8FECd76a910338D2CB2b75245BE5203",
28
- "ActionSimple": "0x5eBD8cfDc82Fb95488eB16881a6dBc1feD598a7a",
24
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
25
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
26
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
27
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
28
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
29
29
  "ActionCallbackV3": "0x997FBC511a8Ad11F84a400feACD66E2A3fa805d2",
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
33
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0x40Ae6da2d92aa3DCb7f8d7a7209FD12BDfcb7C85",
36
36
  "marketFactoryV3": "0xC40fEbF5A33b8C92B187d9be0fD3fe0ac2E4B07c",
@@ -46,6 +46,7 @@
46
46
  "vePendle": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
47
47
  "gaugeController": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
48
48
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
49
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
49
50
  "beta": {
50
51
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
51
52
  }
@@ -21,16 +21,16 @@
21
21
  "marketFactoryV5": "0x59968008a703dC13E6beaECed644bdCe4ee45d13",
22
22
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
23
  "routerFacets": {
24
- "ActionAddRemoveLiqV3": "0x07d16A6D334133039A84271d30b7317DCbd1170D",
25
- "ActionSwapPTV3": "0xC3B17AbC54d6Ef30500630A776392b9aF1c5e0c0",
26
- "ActionSwapYTV3": "0x9b1Fe315614C2888b5151B4C2efc53878f01652b",
27
- "ActionMiscV3": "0x294965CEa8FECd76a910338D2CB2b75245BE5203",
28
- "ActionSimple": "0x5eBD8cfDc82Fb95488eB16881a6dBc1feD598a7a",
24
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
25
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
26
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
27
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
28
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
29
29
  "ActionCallbackV3": "0x997FBC511a8Ad11F84a400feACD66E2A3fa805d2",
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0xB4205a645c7e920BD8504181B1D7f2c5C955C3e7",
33
- "pendleSwap": "0x58b7f8608CA73Fd594779c2493FdAdED4996D5b0",
33
+ "pendleSwap": "0x7aE5C4Cf5CddFbda870a80D021997d8A04f4Ff11",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
36
36
  "receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
@@ -39,6 +39,7 @@
39
39
  "vePendle": "0x051dcd6a80f11fE68F77Fb0EBdE03853FA96B1fD",
40
40
  "gaugeController": "0x17F100fB4bE2707675c6439468d38249DD993d58",
41
41
  "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
42
+ "multiTokenDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
42
43
  "beta": {
43
44
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
44
45
  }
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": "5.4.2-beta-okx-2",
5
+ "version": "5.4.3",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",