@pendle/core-v2 5.4.2-beta-okx → 5.4.2-beta-okx-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 (72) hide show
  1. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  3. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  6. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  8. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  10. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  17. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  18. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  19. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  20. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  21. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  22. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  23. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  24. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  25. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  26. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  27. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  28. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  29. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  30. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  31. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  32. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  33. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  34. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  35. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  36. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  37. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  38. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  39. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +4 -0
  40. package/build/artifacts/contracts/router/swap-aggregator/{PendleSwap.sol → OKXScaleHelper.sol}/IOKXDexRouter.json +1 -1
  41. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +4 -0
  42. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.json +10 -0
  43. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.dbg.json +4 -0
  44. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.json +214 -0
  45. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.dbg.json +4 -0
  46. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.json +10 -0
  47. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.dbg.json +4 -0
  48. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.json +10 -0
  49. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  52. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  53. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +215 -0
  54. package/contracts/router/swap-aggregator/OneInchScaleHelper.sol +120 -0
  55. package/contracts/router/swap-aggregator/PendleSwap.sol +12 -200
  56. package/deployments/1-core.json +1 -1
  57. package/deployments/10-core.json +1 -1
  58. package/deployments/42161-core.json +1 -1
  59. package/deployments/5000-core.json +1 -1
  60. package/deployments/56-core.json +1 -1
  61. package/deployments/8453-core.json +1 -1
  62. package/package.json +1 -1
  63. package/typechain-types/I1inchAggregationRouterV6.ts +337 -0
  64. package/typechain-types/IPMultiTokenMerkleDistributor.ts +363 -0
  65. package/typechain-types/PendleMultiTokenMerkleDistributor.ts +677 -0
  66. package/typechain-types/factories/I1inchAggregationRouterV6__factory.ts +233 -0
  67. package/typechain-types/factories/IPMultiTokenMerkleDistributor__factory.ts +270 -0
  68. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +523 -0
  69. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  70. package/typechain-types/hardhat.d.ts +36 -9
  71. package/typechain-types/index.ts +8 -2
  72. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOKXDexRouter.dbg.json +0 -4
@@ -4,8 +4,10 @@ pragma solidity ^0.8.17;
4
4
  import "../../core/libraries/TokenHelper.sol";
5
5
  import "./IPSwapAggregator.sol";
6
6
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
7
+ import "./OKXScaleHelper.sol";
8
+ import "./OneInchScaleHelper.sol";
7
9
 
8
- contract PendleSwap is IPSwapAggregator, TokenHelper {
10
+ contract PendleSwap is IPSwapAggregator, TokenHelper, OKXScaleHelper, OneInchScaleHelper {
9
11
  using Address for address;
10
12
  using SafeERC20 for IERC20;
11
13
 
@@ -22,16 +24,18 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
22
24
  }
23
25
 
24
26
  function _approveForExtRouter(address token, SwapData calldata data) internal {
27
+ if (token == NATIVE) return;
28
+
25
29
  if (data.swapType == SwapType.OKX) {
26
- _safeApproveInfV2(token, _okx_getTokenApprove());
30
+ _safeApproveInfV2(IERC20(token), _okx_getTokenApprove());
27
31
  } else {
28
- _safeApproveInfV2(token, data.extRouter);
32
+ _safeApproveInfV2(IERC20(token), data.extRouter);
29
33
  }
30
34
  }
31
35
 
32
- function _safeApproveInfV2(address token, address spender) internal {
33
- if (IERC20(token).allowance(address(this), spender) < type(uint256).max) {
34
- IERC20(token).forceApprove(spender, type(uint256).max);
36
+ function _safeApproveInfV2(IERC20 token, address spender) internal {
37
+ if (token.allowance(address(this), spender) < type(uint256).max) {
38
+ token.forceApprove(spender, type(uint256).max);
35
39
  }
36
40
  }
37
41
 
@@ -52,6 +56,8 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
52
56
  scaledCallData = _odosScaling(rawCallData, amountIn);
53
57
  } else if (swapType == SwapType.OKX) {
54
58
  scaledCallData = _okxScaling(rawCallData, amountIn);
59
+ } else if (swapType == SwapType.ONE_INCH) {
60
+ scaledCallData = _oneInchScaling(rawCallData, amountIn);
55
61
  } else {
56
62
  assert(false);
57
63
  }
@@ -79,115 +85,6 @@ contract PendleSwap is IPSwapAggregator, TokenHelper {
79
85
  return abi.encodeWithSelector(selector, tokenInfo, pathDefinition, executor, referralCode);
80
86
  }
81
87
 
82
- function _okx_getTokenApprove() internal view returns (address) {
83
- if (block.chainid == 1) {
84
- return 0x40aA958dd87FC8305b97f2BA922CDdCa374bcD7f;
85
- }
86
- if (block.chainid == 10) {
87
- return 0x68D6B739D2020067D1e2F713b999dA97E4d54812;
88
- }
89
- if (block.chainid == 56) {
90
- return 0x2c34A2Fb1d0b4f55de51E1d0bDEfaDDce6b7cDD6;
91
- }
92
- if (block.chainid == 42161) {
93
- return 0x70cBb871E8f30Fc8Ce23609E9E0Ea87B6b222F58;
94
- }
95
- if (block.chainid == 8453) {
96
- return 0x57df6092665eb6058DE53939612413ff4B09114E;
97
- }
98
- if (block.chainid == 5000) {
99
- return 0x57df6092665eb6058DE53939612413ff4B09114E;
100
- }
101
-
102
- revert("PendleSwap: OKX Chain not supported");
103
- }
104
-
105
- function _okxScaling(
106
- bytes calldata rawCallData,
107
- uint256 actualAmount
108
- ) internal pure returns (bytes memory scaledCallData) {
109
- bytes4 selector = bytes4(rawCallData[:4]);
110
- bytes calldata dataToDecode = rawCallData[4:];
111
-
112
- if (selector == IOKXDexRouter.uniswapV3SwapTo.selector) {
113
- (uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) = abi.decode(
114
- dataToDecode,
115
- (uint256, uint256, uint256, uint256[])
116
- );
117
-
118
- minReturn = (minReturn * actualAmount) / amount;
119
- amount = actualAmount;
120
-
121
- return abi.encodeWithSelector(selector, receiver, amount, minReturn, pools);
122
- } else if (selector == IOKXDexRouter.smartSwapTo.selector) {
123
- (
124
- uint256 orderId,
125
- address receiver,
126
- IOKXDexRouter.BaseRequest memory baseRequest,
127
- uint256[] memory batchesAmount,
128
- IOKXDexRouter.RouterPath[][] memory batches,
129
- IOKXDexRouter.PMMSwapRequest[] memory extraData
130
- ) = abi.decode(
131
- dataToDecode,
132
- (
133
- uint256,
134
- address,
135
- IOKXDexRouter.BaseRequest,
136
- uint256[],
137
- IOKXDexRouter.RouterPath[][],
138
- IOKXDexRouter.PMMSwapRequest[]
139
- )
140
- );
141
-
142
- baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
143
- baseRequest.fromTokenAmount = actualAmount;
144
-
145
- return abi.encodeWithSelector(selector, orderId, receiver, baseRequest, batchesAmount, batches, extraData);
146
- } else if (selector == IOKXDexRouter.unxswapTo.selector) {
147
- (uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) = abi
148
- .decode(dataToDecode, (uint256, uint256, uint256, address, bytes32[]));
149
-
150
- minReturn = (minReturn * actualAmount) / amount;
151
- amount = actualAmount;
152
-
153
- return abi.encodeWithSelector(selector, srcToken, amount, minReturn, receiver, pools);
154
- } else if (selector == IOKXDexRouter.unxswapByOrderId.selector) {
155
- (uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) = abi.decode(
156
- dataToDecode,
157
- (uint256, uint256, uint256, bytes32[])
158
- );
159
-
160
- minReturn = (minReturn * actualAmount) / amount;
161
- amount = actualAmount;
162
-
163
- return abi.encodeWithSelector(selector, srcToken, amount, minReturn, pools);
164
- } else if (selector == IOKXDexRouter.smartSwapByOrderId.selector) {
165
- (
166
- uint256 orderId,
167
- IOKXDexRouter.BaseRequest memory baseRequest,
168
- uint256[] memory batchesAmount,
169
- IOKXDexRouter.RouterPath[][] memory batches,
170
- IOKXDexRouter.PMMSwapRequest[] memory extraData
171
- ) = abi.decode(
172
- dataToDecode,
173
- (
174
- uint256,
175
- IOKXDexRouter.BaseRequest,
176
- uint256[],
177
- IOKXDexRouter.RouterPath[][],
178
- IOKXDexRouter.PMMSwapRequest[]
179
- )
180
- );
181
-
182
- baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
183
- baseRequest.fromTokenAmount = actualAmount;
184
-
185
- return abi.encodeWithSelector(selector, orderId, baseRequest, batchesAmount, batches, extraData);
186
- } else {
187
- revert("PendleSwap: OKX selector not supported");
188
- }
189
- }
190
-
191
88
  receive() external payable {}
192
89
  }
193
90
 
@@ -216,88 +113,3 @@ interface IOdosRouterV2 {
216
113
  uint32 referralCode
217
114
  ) external payable returns (uint256 amountOut);
218
115
  }
219
-
220
- interface IOKXDexRouter {
221
- struct BaseRequest {
222
- uint256 fromToken;
223
- address toToken;
224
- uint256 fromTokenAmount;
225
- uint256 minReturnAmount;
226
- uint256 deadLine;
227
- }
228
-
229
- struct RouterPath {
230
- address[] mixAdapters;
231
- address[] assetTo;
232
- uint256[] rawData;
233
- bytes[] extraData;
234
- uint256 fromToken;
235
- }
236
-
237
- struct PMMSwapRequest {
238
- uint256 pathIndex;
239
- address payer;
240
- address fromToken;
241
- address toToken;
242
- uint256 fromTokenAmountMax;
243
- uint256 toTokenAmountMax;
244
- uint256 salt;
245
- uint256 deadLine;
246
- bool isPushOrder;
247
- bytes extension;
248
- }
249
-
250
- // // address marketMaker;
251
- // // uint256 subIndex;
252
- // // bytes signature;
253
- // // uint256 source; 1byte type + 1byte bool(reverse) + 0...0 + 20 bytes address
254
-
255
- // function smartSwapByInvest(
256
- // BaseRequest calldata baseRequest,
257
- // uint256[] calldata batchesAmount,
258
- // RouterPath[][] calldata batches,
259
- // PMMSwapRequest[] calldata extraData,
260
- // address to
261
- // ) external payable;
262
-
263
- function uniswapV3SwapTo(
264
- uint256 receiver,
265
- uint256 amount,
266
- uint256 minReturn,
267
- uint256[] calldata pools
268
- ) external payable returns (uint256 returnAmount);
269
-
270
- function smartSwapTo(
271
- uint256 orderId,
272
- address receiver,
273
- BaseRequest calldata baseRequest,
274
- uint256[] calldata batchesAmount,
275
- RouterPath[][] calldata batches,
276
- PMMSwapRequest[] calldata extraData
277
- ) external payable;
278
-
279
- function unxswapTo(
280
- uint256 srcToken,
281
- uint256 amount,
282
- uint256 minReturn,
283
- address receiver,
284
- // solhint-disable-next-line no-unused-vars
285
- bytes32[] calldata pools
286
- ) external payable returns (uint256 returnAmount);
287
-
288
- function unxswapByOrderId(
289
- uint256 srcToken,
290
- uint256 amount,
291
- uint256 minReturn,
292
- // solhint-disable-next-line no-unused-vars
293
- bytes32[] calldata pools
294
- ) external payable returns (uint256 returnAmount);
295
-
296
- function smartSwapByOrderId(
297
- uint256 orderId,
298
- BaseRequest calldata baseRequest,
299
- uint256[] calldata batchesAmount,
300
- RouterPath[][] calldata batches,
301
- PMMSwapRequest[] calldata extraData
302
- ) external payable returns (uint256 returnAmount);
303
- }
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
34
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
34
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
37
37
  "marketFactoryV3": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
33
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
33
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xfa6B22FC4c3Ad88B68c16b3061a16b1714F6Bd57",
36
36
  "marketFactoryV3": "0x4A2B38b9cBd83c86F261a4d64c243795D4d44aBC",
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
33
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
33
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
36
36
  "marketFactoryV3": "0x2FCb47B58350cD377f94d3821e7373Df60bD9Ced",
@@ -28,7 +28,7 @@
28
28
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
29
29
  },
30
30
  "routerStatic": "0xCAd502Bb55d1A3F79952F969BFF3f011CF30a94a",
31
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
31
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV3": "0x964840644B88C583500F473E4B829Ab629aF96A8",
34
34
  "marketFactoryV3": "0xD228EC1f7D4313fe321fab511A872475D07F5bA6",
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
33
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
33
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "yieldContractFactoryV3": "0x40Ae6da2d92aa3DCb7f8d7a7209FD12BDfcb7C85",
36
36
  "marketFactoryV3": "0xC40fEbF5A33b8C92B187d9be0fD3fe0ac2E4B07c",
@@ -30,7 +30,7 @@
30
30
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
31
31
  },
32
32
  "routerStatic": "0xB4205a645c7e920BD8504181B1D7f2c5C955C3e7",
33
- "pendleSwap": "0xA657929F1C79d93d33494e56D55200aEE86FeeFd",
33
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
34
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
35
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
36
36
  "receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
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",
5
+ "version": "5.4.2-beta-okx-3",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -0,0 +1,337 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PayableOverrides,
13
+ PopulatedTransaction,
14
+ Signer,
15
+ utils,
16
+ } from "ethers";
17
+ import { FunctionFragment, Result } from "@ethersproject/abi";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import type {
20
+ TypedEventFilter,
21
+ TypedEvent,
22
+ TypedListener,
23
+ OnEvent,
24
+ } from "./common";
25
+
26
+ export declare namespace I1inchAggregationRouterV6 {
27
+ export type SwapDescriptionStruct = {
28
+ srcToken: string;
29
+ dstToken: string;
30
+ srcReceiver: string;
31
+ dstReceiver: string;
32
+ amount: BigNumberish;
33
+ minReturnAmount: BigNumberish;
34
+ flags: BigNumberish;
35
+ };
36
+
37
+ export type SwapDescriptionStructOutput = [
38
+ string,
39
+ string,
40
+ string,
41
+ string,
42
+ BigNumber,
43
+ BigNumber,
44
+ BigNumber
45
+ ] & {
46
+ srcToken: string;
47
+ dstToken: string;
48
+ srcReceiver: string;
49
+ dstReceiver: string;
50
+ amount: BigNumber;
51
+ minReturnAmount: BigNumber;
52
+ flags: BigNumber;
53
+ };
54
+ }
55
+
56
+ export interface I1inchAggregationRouterV6Interface extends utils.Interface {
57
+ contractName: "I1inchAggregationRouterV6";
58
+ functions: {
59
+ "swap(address,(address,address,address,address,uint256,uint256,uint256),bytes)": FunctionFragment;
60
+ "unoswapTo(uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
61
+ "unoswapTo2(uint256,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
62
+ "unoswapTo3(uint256,uint256,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
63
+ };
64
+
65
+ encodeFunctionData(
66
+ functionFragment: "swap",
67
+ values: [string, I1inchAggregationRouterV6.SwapDescriptionStruct, BytesLike]
68
+ ): string;
69
+ encodeFunctionData(
70
+ functionFragment: "unoswapTo",
71
+ values: [
72
+ BigNumberish,
73
+ BigNumberish,
74
+ BigNumberish,
75
+ BigNumberish,
76
+ BigNumberish
77
+ ]
78
+ ): string;
79
+ encodeFunctionData(
80
+ functionFragment: "unoswapTo2",
81
+ values: [
82
+ BigNumberish,
83
+ BigNumberish,
84
+ BigNumberish,
85
+ BigNumberish,
86
+ BigNumberish,
87
+ BigNumberish
88
+ ]
89
+ ): string;
90
+ encodeFunctionData(
91
+ functionFragment: "unoswapTo3",
92
+ values: [
93
+ BigNumberish,
94
+ BigNumberish,
95
+ BigNumberish,
96
+ BigNumberish,
97
+ BigNumberish,
98
+ BigNumberish,
99
+ BigNumberish
100
+ ]
101
+ ): string;
102
+
103
+ decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
104
+ decodeFunctionResult(functionFragment: "unoswapTo", data: BytesLike): Result;
105
+ decodeFunctionResult(functionFragment: "unoswapTo2", data: BytesLike): Result;
106
+ decodeFunctionResult(functionFragment: "unoswapTo3", data: BytesLike): Result;
107
+
108
+ events: {};
109
+ }
110
+
111
+ export interface I1inchAggregationRouterV6 extends BaseContract {
112
+ contractName: "I1inchAggregationRouterV6";
113
+ connect(signerOrProvider: Signer | Provider | string): this;
114
+ attach(addressOrName: string): this;
115
+ deployed(): Promise<this>;
116
+
117
+ interface: I1inchAggregationRouterV6Interface;
118
+
119
+ queryFilter<TEvent extends TypedEvent>(
120
+ event: TypedEventFilter<TEvent>,
121
+ fromBlockOrBlockhash?: string | number | undefined,
122
+ toBlock?: string | number | undefined
123
+ ): Promise<Array<TEvent>>;
124
+
125
+ listeners<TEvent extends TypedEvent>(
126
+ eventFilter?: TypedEventFilter<TEvent>
127
+ ): Array<TypedListener<TEvent>>;
128
+ listeners(eventName?: string): Array<Listener>;
129
+ removeAllListeners<TEvent extends TypedEvent>(
130
+ eventFilter: TypedEventFilter<TEvent>
131
+ ): this;
132
+ removeAllListeners(eventName?: string): this;
133
+ off: OnEvent<this>;
134
+ on: OnEvent<this>;
135
+ once: OnEvent<this>;
136
+ removeListener: OnEvent<this>;
137
+
138
+ functions: {
139
+ swap(
140
+ executor: string,
141
+ desc: I1inchAggregationRouterV6.SwapDescriptionStruct,
142
+ data: BytesLike,
143
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
144
+ ): Promise<ContractTransaction>;
145
+
146
+ unoswapTo(
147
+ to: BigNumberish,
148
+ token: BigNumberish,
149
+ amount: BigNumberish,
150
+ minReturn: BigNumberish,
151
+ dex: BigNumberish,
152
+ overrides?: Overrides & { from?: string | Promise<string> }
153
+ ): Promise<ContractTransaction>;
154
+
155
+ unoswapTo2(
156
+ to: BigNumberish,
157
+ token: BigNumberish,
158
+ amount: BigNumberish,
159
+ minReturn: BigNumberish,
160
+ dex: BigNumberish,
161
+ dex2: BigNumberish,
162
+ overrides?: Overrides & { from?: string | Promise<string> }
163
+ ): Promise<ContractTransaction>;
164
+
165
+ unoswapTo3(
166
+ to: BigNumberish,
167
+ token: BigNumberish,
168
+ amount: BigNumberish,
169
+ minReturn: BigNumberish,
170
+ dex: BigNumberish,
171
+ dex2: BigNumberish,
172
+ dex3: BigNumberish,
173
+ overrides?: Overrides & { from?: string | Promise<string> }
174
+ ): Promise<ContractTransaction>;
175
+ };
176
+
177
+ swap(
178
+ executor: string,
179
+ desc: I1inchAggregationRouterV6.SwapDescriptionStruct,
180
+ data: BytesLike,
181
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
182
+ ): Promise<ContractTransaction>;
183
+
184
+ unoswapTo(
185
+ to: BigNumberish,
186
+ token: BigNumberish,
187
+ amount: BigNumberish,
188
+ minReturn: BigNumberish,
189
+ dex: BigNumberish,
190
+ overrides?: Overrides & { from?: string | Promise<string> }
191
+ ): Promise<ContractTransaction>;
192
+
193
+ unoswapTo2(
194
+ to: BigNumberish,
195
+ token: BigNumberish,
196
+ amount: BigNumberish,
197
+ minReturn: BigNumberish,
198
+ dex: BigNumberish,
199
+ dex2: BigNumberish,
200
+ overrides?: Overrides & { from?: string | Promise<string> }
201
+ ): Promise<ContractTransaction>;
202
+
203
+ unoswapTo3(
204
+ to: BigNumberish,
205
+ token: BigNumberish,
206
+ amount: BigNumberish,
207
+ minReturn: BigNumberish,
208
+ dex: BigNumberish,
209
+ dex2: BigNumberish,
210
+ dex3: BigNumberish,
211
+ overrides?: Overrides & { from?: string | Promise<string> }
212
+ ): Promise<ContractTransaction>;
213
+
214
+ callStatic: {
215
+ swap(
216
+ executor: string,
217
+ desc: I1inchAggregationRouterV6.SwapDescriptionStruct,
218
+ data: BytesLike,
219
+ overrides?: CallOverrides
220
+ ): Promise<
221
+ [BigNumber, BigNumber] & {
222
+ returnAmount: BigNumber;
223
+ spentAmount: BigNumber;
224
+ }
225
+ >;
226
+
227
+ unoswapTo(
228
+ to: BigNumberish,
229
+ token: BigNumberish,
230
+ amount: BigNumberish,
231
+ minReturn: BigNumberish,
232
+ dex: BigNumberish,
233
+ overrides?: CallOverrides
234
+ ): Promise<BigNumber>;
235
+
236
+ unoswapTo2(
237
+ to: BigNumberish,
238
+ token: BigNumberish,
239
+ amount: BigNumberish,
240
+ minReturn: BigNumberish,
241
+ dex: BigNumberish,
242
+ dex2: BigNumberish,
243
+ overrides?: CallOverrides
244
+ ): Promise<BigNumber>;
245
+
246
+ unoswapTo3(
247
+ to: BigNumberish,
248
+ token: BigNumberish,
249
+ amount: BigNumberish,
250
+ minReturn: BigNumberish,
251
+ dex: BigNumberish,
252
+ dex2: BigNumberish,
253
+ dex3: BigNumberish,
254
+ overrides?: CallOverrides
255
+ ): Promise<BigNumber>;
256
+ };
257
+
258
+ filters: {};
259
+
260
+ estimateGas: {
261
+ swap(
262
+ executor: string,
263
+ desc: I1inchAggregationRouterV6.SwapDescriptionStruct,
264
+ data: BytesLike,
265
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
266
+ ): Promise<BigNumber>;
267
+
268
+ unoswapTo(
269
+ to: BigNumberish,
270
+ token: BigNumberish,
271
+ amount: BigNumberish,
272
+ minReturn: BigNumberish,
273
+ dex: BigNumberish,
274
+ overrides?: Overrides & { from?: string | Promise<string> }
275
+ ): Promise<BigNumber>;
276
+
277
+ unoswapTo2(
278
+ to: BigNumberish,
279
+ token: BigNumberish,
280
+ amount: BigNumberish,
281
+ minReturn: BigNumberish,
282
+ dex: BigNumberish,
283
+ dex2: BigNumberish,
284
+ overrides?: Overrides & { from?: string | Promise<string> }
285
+ ): Promise<BigNumber>;
286
+
287
+ unoswapTo3(
288
+ to: BigNumberish,
289
+ token: BigNumberish,
290
+ amount: BigNumberish,
291
+ minReturn: BigNumberish,
292
+ dex: BigNumberish,
293
+ dex2: BigNumberish,
294
+ dex3: BigNumberish,
295
+ overrides?: Overrides & { from?: string | Promise<string> }
296
+ ): Promise<BigNumber>;
297
+ };
298
+
299
+ populateTransaction: {
300
+ swap(
301
+ executor: string,
302
+ desc: I1inchAggregationRouterV6.SwapDescriptionStruct,
303
+ data: BytesLike,
304
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
305
+ ): Promise<PopulatedTransaction>;
306
+
307
+ unoswapTo(
308
+ to: BigNumberish,
309
+ token: BigNumberish,
310
+ amount: BigNumberish,
311
+ minReturn: BigNumberish,
312
+ dex: BigNumberish,
313
+ overrides?: Overrides & { from?: string | Promise<string> }
314
+ ): Promise<PopulatedTransaction>;
315
+
316
+ unoswapTo2(
317
+ to: BigNumberish,
318
+ token: BigNumberish,
319
+ amount: BigNumberish,
320
+ minReturn: BigNumberish,
321
+ dex: BigNumberish,
322
+ dex2: BigNumberish,
323
+ overrides?: Overrides & { from?: string | Promise<string> }
324
+ ): Promise<PopulatedTransaction>;
325
+
326
+ unoswapTo3(
327
+ to: BigNumberish,
328
+ token: BigNumberish,
329
+ amount: BigNumberish,
330
+ minReturn: BigNumberish,
331
+ dex: BigNumberish,
332
+ dex2: BigNumberish,
333
+ dex3: BigNumberish,
334
+ overrides?: Overrides & { from?: string | Promise<string> }
335
+ ): Promise<PopulatedTransaction>;
336
+ };
337
+ }