@pendle/core-v2 6.1.3-sweed → 6.1.4-sweedtest

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 (49) hide show
  1. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  2. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +70 -2
  3. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.json +68 -0
  6. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  7. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  8. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  9. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  10. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  11. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  12. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -7
  13. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  14. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -13
  15. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  16. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -13
  17. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  18. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -13
  19. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  20. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -13
  21. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  22. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -13
  23. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +3 -15
  26. package/contracts/cross-chain/FixedPricePTAMM.sol +45 -3
  27. package/contracts/interfaces/IPFixedPricePTAMM.sol +14 -0
  28. package/contracts/offchain-helpers/MarketSweed.sol +1 -1
  29. package/contracts/router/ActionAddRemoveLiqV3.sol +0 -2
  30. package/contracts/router/ActionMiscV3.sol +0 -2
  31. package/contracts/router/ActionSimple.sol +0 -2
  32. package/contracts/router/ActionSwapPTV3.sol +0 -2
  33. package/contracts/router/ActionSwapYTV3.sol +0 -2
  34. package/contracts/router/base/ActionBase.sol +8 -16
  35. package/contracts/router/base/ActionDelegateBase.sol +0 -2
  36. package/package.json +1 -1
  37. package/typechain-types/FixedPricePTAMM.ts +98 -0
  38. package/typechain-types/IPFixedPricePTAMM.ts +98 -0
  39. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +3 -19
  40. package/typechain-types/factories/ActionMiscV3__factory.ts +3 -19
  41. package/typechain-types/factories/ActionSimple__factory.ts +3 -19
  42. package/typechain-types/factories/ActionSwapPTV3__factory.ts +3 -19
  43. package/typechain-types/factories/ActionSwapYTV3__factory.ts +3 -19
  44. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  45. package/typechain-types/factories/FixedPricePTAMM__factory.ts +69 -1
  46. package/typechain-types/factories/IPFixedPricePTAMM__factory.ts +68 -0
  47. package/typechain-types/factories/MarketSweed__factory.ts +3 -14
  48. package/typechain-types/hardhat.d.ts +0 -9
  49. package/typechain-types/index.ts +0 -2
@@ -19,11 +19,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
19
19
  using PYIndexLib for PYIndex;
20
20
 
21
21
  bytes internal constant EMPTY_BYTES = abi.encode();
22
- address internal immutable DUST_RECEIVER;
23
-
24
- constructor(address _dustReceiver) {
25
- DUST_RECEIVER = _dustReceiver;
26
- }
27
22
 
28
23
  // ----------------- MINT REDEEM SY PY -----------------
29
24
 
@@ -163,10 +158,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
163
158
  return IPMarket(market).readState(address(this));
164
159
  }
165
160
 
166
- function _sweepDust(address token) internal {
167
- _transferOut(token, DUST_RECEIVER, _selfBalance(token));
168
- }
169
-
170
161
  // ----------------- PT SWAP -----------------
171
162
 
172
163
  function _entry_swapExactPtForSy(address market, LimitOrderData calldata limit) internal view returns (address) {
@@ -193,6 +184,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
193
184
  (netPtLeft, netSyOut, netSyFee, doMarketOrder) = _fillLimit(receiver, PT, netPtLeft, limit);
194
185
  if (doMarketOrder) {
195
186
  _transferOut(address(PT), market, netPtLeft);
187
+ } else {
188
+ _transferOut(address(PT), receiver, netPtLeft);
196
189
  }
197
190
  }
198
191
 
@@ -207,8 +200,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
207
200
  netSyFee += netSyFeeMarket;
208
201
  }
209
202
 
210
- _sweepDust(address(PT));
211
-
212
203
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
213
204
  }
214
205
 
@@ -236,6 +227,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
236
227
  (netSyLeft, netPtOut, netSyFee, doMarketOrder) = _fillLimit(receiver, SY, netSyLeft, limit);
237
228
  if (doMarketOrder) {
238
229
  _transferOut(address(SY), market, netSyLeft);
230
+ } else {
231
+ _transferOut(address(SY), receiver, netSyLeft);
239
232
  }
240
233
  }
241
234
 
@@ -253,8 +246,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
253
246
  netSyFee += netSyFeeMarket;
254
247
  }
255
248
 
256
- _sweepDust(address(SY));
257
-
258
249
  if (netPtOut < minPtOut) revert("Slippage: INSUFFICIENT_PT_OUT");
259
250
  }
260
251
 
@@ -284,6 +275,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
284
275
  (netYtLeft, netSyOut, netSyFee, doMarketOrder) = _fillLimit(receiver, YT, netYtLeft, limit);
285
276
  if (doMarketOrder) {
286
277
  _transferOut(address(YT), address(YT), netYtLeft);
278
+ } else {
279
+ _transferOut(address(YT), receiver, netYtLeft);
287
280
  }
288
281
  }
289
282
 
@@ -301,8 +294,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
301
294
  netSyOut += SY.balanceOf(receiver) - preSyBalance;
302
295
  }
303
296
 
304
- _sweepDust(address(YT));
305
-
306
297
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
307
298
  }
308
299
 
@@ -331,6 +322,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
331
322
  (netSyLeft, netYtOut, netSyFee, doMarketOrder) = _fillLimit(receiver, SY, netSyLeft, limit);
332
323
  if (doMarketOrder) {
333
324
  _transferOut(address(SY), address(YT), netSyLeft);
325
+ } else {
326
+ _transferOut(address(SY), receiver, netSyLeft);
334
327
  }
335
328
  }
336
329
 
@@ -351,7 +344,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
351
344
  netYtOut += netYtOutMarket;
352
345
  netSyFee += netSyFeeMarket;
353
346
  }
354
- _sweepDust(address(SY));
355
347
 
356
348
  if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
357
349
  }
@@ -6,8 +6,6 @@ import {IPActionSimple} from "../../interfaces/IPActionSimple.sol";
6
6
  import {ApproxParams, TokenInput, LimitOrderData} from "../../interfaces/IPAllActionTypeV3.sol";
7
7
 
8
8
  contract ActionDelegateBase is ActionBase {
9
- constructor(address _dustReceiver) ActionBase(_dustReceiver) {}
10
-
11
9
  function delegateToAddLiquiditySinglePtSimple(
12
10
  address receiver,
13
11
  address market,
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": "6.1.3-sweed",
5
+ "version": "6.1.4-sweedtest",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -39,6 +39,8 @@ export interface FixedPricePTAMMInterface extends utils.Interface {
39
39
  "setPriceOracle(address,address,address,uint256)": FunctionFragment;
40
40
  "swapExactPtForToken(address,address,uint256,address,bytes)": FunctionFragment;
41
41
  "swapPtForExactToken(address,address,address,uint256,bytes)": FunctionFragment;
42
+ "transferInThenSwapExactPtForToken(address,address,uint256,address)": FunctionFragment;
43
+ "transferInThenSwapPtForExactToken(address,address,address,uint256)": FunctionFragment;
42
44
  "transferOwnership(address,bool,bool)": FunctionFragment;
43
45
  "upgradeTo(address)": FunctionFragment;
44
46
  "upgradeToAndCall(address,bytes)": FunctionFragment;
@@ -90,6 +92,14 @@ export interface FixedPricePTAMMInterface extends utils.Interface {
90
92
  functionFragment: "swapPtForExactToken",
91
93
  values: [string, string, string, BigNumberish, BytesLike]
92
94
  ): string;
95
+ encodeFunctionData(
96
+ functionFragment: "transferInThenSwapExactPtForToken",
97
+ values: [string, string, BigNumberish, string]
98
+ ): string;
99
+ encodeFunctionData(
100
+ functionFragment: "transferInThenSwapPtForExactToken",
101
+ values: [string, string, string, BigNumberish]
102
+ ): string;
93
103
  encodeFunctionData(
94
104
  functionFragment: "transferOwnership",
95
105
  values: [string, boolean, boolean]
@@ -140,6 +150,14 @@ export interface FixedPricePTAMMInterface extends utils.Interface {
140
150
  functionFragment: "swapPtForExactToken",
141
151
  data: BytesLike
142
152
  ): Result;
153
+ decodeFunctionResult(
154
+ functionFragment: "transferInThenSwapExactPtForToken",
155
+ data: BytesLike
156
+ ): Result;
157
+ decodeFunctionResult(
158
+ functionFragment: "transferInThenSwapPtForExactToken",
159
+ data: BytesLike
160
+ ): Result;
143
161
  decodeFunctionResult(
144
162
  functionFragment: "transferOwnership",
145
163
  data: BytesLike
@@ -337,6 +355,22 @@ export interface FixedPricePTAMM extends BaseContract {
337
355
  overrides?: Overrides & { from?: string | Promise<string> }
338
356
  ): Promise<ContractTransaction>;
339
357
 
358
+ transferInThenSwapExactPtForToken(
359
+ receiver: string,
360
+ PT: string,
361
+ exactPtIn: BigNumberish,
362
+ token: string,
363
+ overrides?: Overrides & { from?: string | Promise<string> }
364
+ ): Promise<ContractTransaction>;
365
+
366
+ transferInThenSwapPtForExactToken(
367
+ receiver: string,
368
+ PT: string,
369
+ token: string,
370
+ exactTokenOut: BigNumberish,
371
+ overrides?: Overrides & { from?: string | Promise<string> }
372
+ ): Promise<ContractTransaction>;
373
+
340
374
  transferOwnership(
341
375
  newOwner: string,
342
376
  direct: boolean,
@@ -429,6 +463,22 @@ export interface FixedPricePTAMM extends BaseContract {
429
463
  overrides?: Overrides & { from?: string | Promise<string> }
430
464
  ): Promise<ContractTransaction>;
431
465
 
466
+ transferInThenSwapExactPtForToken(
467
+ receiver: string,
468
+ PT: string,
469
+ exactPtIn: BigNumberish,
470
+ token: string,
471
+ overrides?: Overrides & { from?: string | Promise<string> }
472
+ ): Promise<ContractTransaction>;
473
+
474
+ transferInThenSwapPtForExactToken(
475
+ receiver: string,
476
+ PT: string,
477
+ token: string,
478
+ exactTokenOut: BigNumberish,
479
+ overrides?: Overrides & { from?: string | Promise<string> }
480
+ ): Promise<ContractTransaction>;
481
+
432
482
  transferOwnership(
433
483
  newOwner: string,
434
484
  direct: boolean,
@@ -516,6 +566,22 @@ export interface FixedPricePTAMM extends BaseContract {
516
566
  overrides?: CallOverrides
517
567
  ): Promise<BigNumber>;
518
568
 
569
+ transferInThenSwapExactPtForToken(
570
+ receiver: string,
571
+ PT: string,
572
+ exactPtIn: BigNumberish,
573
+ token: string,
574
+ overrides?: CallOverrides
575
+ ): Promise<BigNumber>;
576
+
577
+ transferInThenSwapPtForExactToken(
578
+ receiver: string,
579
+ PT: string,
580
+ token: string,
581
+ exactTokenOut: BigNumberish,
582
+ overrides?: CallOverrides
583
+ ): Promise<BigNumber>;
584
+
519
585
  transferOwnership(
520
586
  newOwner: string,
521
587
  direct: boolean,
@@ -680,6 +746,22 @@ export interface FixedPricePTAMM extends BaseContract {
680
746
  overrides?: Overrides & { from?: string | Promise<string> }
681
747
  ): Promise<BigNumber>;
682
748
 
749
+ transferInThenSwapExactPtForToken(
750
+ receiver: string,
751
+ PT: string,
752
+ exactPtIn: BigNumberish,
753
+ token: string,
754
+ overrides?: Overrides & { from?: string | Promise<string> }
755
+ ): Promise<BigNumber>;
756
+
757
+ transferInThenSwapPtForExactToken(
758
+ receiver: string,
759
+ PT: string,
760
+ token: string,
761
+ exactTokenOut: BigNumberish,
762
+ overrides?: Overrides & { from?: string | Promise<string> }
763
+ ): Promise<BigNumber>;
764
+
683
765
  transferOwnership(
684
766
  newOwner: string,
685
767
  direct: boolean,
@@ -773,6 +855,22 @@ export interface FixedPricePTAMM extends BaseContract {
773
855
  overrides?: Overrides & { from?: string | Promise<string> }
774
856
  ): Promise<PopulatedTransaction>;
775
857
 
858
+ transferInThenSwapExactPtForToken(
859
+ receiver: string,
860
+ PT: string,
861
+ exactPtIn: BigNumberish,
862
+ token: string,
863
+ overrides?: Overrides & { from?: string | Promise<string> }
864
+ ): Promise<PopulatedTransaction>;
865
+
866
+ transferInThenSwapPtForExactToken(
867
+ receiver: string,
868
+ PT: string,
869
+ token: string,
870
+ exactTokenOut: BigNumberish,
871
+ overrides?: Overrides & { from?: string | Promise<string> }
872
+ ): Promise<PopulatedTransaction>;
873
+
776
874
  transferOwnership(
777
875
  newOwner: string,
778
876
  direct: boolean,
@@ -34,6 +34,8 @@ export interface IPFixedPricePTAMMInterface extends utils.Interface {
34
34
  "setPriceOracle(address,address,address,uint256)": FunctionFragment;
35
35
  "swapExactPtForToken(address,address,uint256,address,bytes)": FunctionFragment;
36
36
  "swapPtForExactToken(address,address,address,uint256,bytes)": FunctionFragment;
37
+ "transferInThenSwapExactPtForToken(address,address,uint256,address)": FunctionFragment;
38
+ "transferInThenSwapPtForExactToken(address,address,address,uint256)": FunctionFragment;
37
39
  };
38
40
 
39
41
  encodeFunctionData(
@@ -68,6 +70,14 @@ export interface IPFixedPricePTAMMInterface extends utils.Interface {
68
70
  functionFragment: "swapPtForExactToken",
69
71
  values: [string, string, string, BigNumberish, BytesLike]
70
72
  ): string;
73
+ encodeFunctionData(
74
+ functionFragment: "transferInThenSwapExactPtForToken",
75
+ values: [string, string, BigNumberish, string]
76
+ ): string;
77
+ encodeFunctionData(
78
+ functionFragment: "transferInThenSwapPtForExactToken",
79
+ values: [string, string, string, BigNumberish]
80
+ ): string;
71
81
 
72
82
  decodeFunctionResult(functionFragment: "addFund", data: BytesLike): Result;
73
83
  decodeFunctionResult(
@@ -95,6 +105,14 @@ export interface IPFixedPricePTAMMInterface extends utils.Interface {
95
105
  functionFragment: "swapPtForExactToken",
96
106
  data: BytesLike
97
107
  ): Result;
108
+ decodeFunctionResult(
109
+ functionFragment: "transferInThenSwapExactPtForToken",
110
+ data: BytesLike
111
+ ): Result;
112
+ decodeFunctionResult(
113
+ functionFragment: "transferInThenSwapPtForExactToken",
114
+ data: BytesLike
115
+ ): Result;
98
116
 
99
117
  events: {
100
118
  "PriceOracleUpdated(address,address,address)": EventFragment;
@@ -230,6 +248,22 @@ export interface IPFixedPricePTAMM extends BaseContract {
230
248
  data: BytesLike,
231
249
  overrides?: Overrides & { from?: string | Promise<string> }
232
250
  ): Promise<ContractTransaction>;
251
+
252
+ transferInThenSwapExactPtForToken(
253
+ receiver: string,
254
+ PT: string,
255
+ exactPtIn: BigNumberish,
256
+ token: string,
257
+ overrides?: Overrides & { from?: string | Promise<string> }
258
+ ): Promise<ContractTransaction>;
259
+
260
+ transferInThenSwapPtForExactToken(
261
+ receiver: string,
262
+ PT: string,
263
+ token: string,
264
+ exactTokenOut: BigNumberish,
265
+ overrides?: Overrides & { from?: string | Promise<string> }
266
+ ): Promise<ContractTransaction>;
233
267
  };
234
268
 
235
269
  addFund(
@@ -290,6 +324,22 @@ export interface IPFixedPricePTAMM extends BaseContract {
290
324
  overrides?: Overrides & { from?: string | Promise<string> }
291
325
  ): Promise<ContractTransaction>;
292
326
 
327
+ transferInThenSwapExactPtForToken(
328
+ receiver: string,
329
+ PT: string,
330
+ exactPtIn: BigNumberish,
331
+ token: string,
332
+ overrides?: Overrides & { from?: string | Promise<string> }
333
+ ): Promise<ContractTransaction>;
334
+
335
+ transferInThenSwapPtForExactToken(
336
+ receiver: string,
337
+ PT: string,
338
+ token: string,
339
+ exactTokenOut: BigNumberish,
340
+ overrides?: Overrides & { from?: string | Promise<string> }
341
+ ): Promise<ContractTransaction>;
342
+
293
343
  callStatic: {
294
344
  addFund(
295
345
  token: string,
@@ -348,6 +398,22 @@ export interface IPFixedPricePTAMM extends BaseContract {
348
398
  data: BytesLike,
349
399
  overrides?: CallOverrides
350
400
  ): Promise<BigNumber>;
401
+
402
+ transferInThenSwapExactPtForToken(
403
+ receiver: string,
404
+ PT: string,
405
+ exactPtIn: BigNumberish,
406
+ token: string,
407
+ overrides?: CallOverrides
408
+ ): Promise<BigNumber>;
409
+
410
+ transferInThenSwapPtForExactToken(
411
+ receiver: string,
412
+ PT: string,
413
+ token: string,
414
+ exactTokenOut: BigNumberish,
415
+ overrides?: CallOverrides
416
+ ): Promise<BigNumber>;
351
417
  };
352
418
 
353
419
  filters: {
@@ -450,6 +516,22 @@ export interface IPFixedPricePTAMM extends BaseContract {
450
516
  data: BytesLike,
451
517
  overrides?: Overrides & { from?: string | Promise<string> }
452
518
  ): Promise<BigNumber>;
519
+
520
+ transferInThenSwapExactPtForToken(
521
+ receiver: string,
522
+ PT: string,
523
+ exactPtIn: BigNumberish,
524
+ token: string,
525
+ overrides?: Overrides & { from?: string | Promise<string> }
526
+ ): Promise<BigNumber>;
527
+
528
+ transferInThenSwapPtForExactToken(
529
+ receiver: string,
530
+ PT: string,
531
+ token: string,
532
+ exactTokenOut: BigNumberish,
533
+ overrides?: Overrides & { from?: string | Promise<string> }
534
+ ): Promise<BigNumber>;
453
535
  };
454
536
 
455
537
  populateTransaction: {
@@ -510,5 +592,21 @@ export interface IPFixedPricePTAMM extends BaseContract {
510
592
  data: BytesLike,
511
593
  overrides?: Overrides & { from?: string | Promise<string> }
512
594
  ): Promise<PopulatedTransaction>;
595
+
596
+ transferInThenSwapExactPtForToken(
597
+ receiver: string,
598
+ PT: string,
599
+ exactPtIn: BigNumberish,
600
+ token: string,
601
+ overrides?: Overrides & { from?: string | Promise<string> }
602
+ ): Promise<PopulatedTransaction>;
603
+
604
+ transferInThenSwapPtForExactToken(
605
+ receiver: string,
606
+ PT: string,
607
+ token: string,
608
+ exactTokenOut: BigNumberish,
609
+ overrides?: Overrides & { from?: string | Promise<string> }
610
+ ): Promise<PopulatedTransaction>;
513
611
  };
514
612
  }