@pendle/core-v2 0.2.3 → 0.4.0

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 (87) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +15 -5
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +2 -2
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +23 -3
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +4 -7
  5. package/contracts/core/PendleMarket.sol +24 -22
  6. package/contracts/core/PendleMarketFactory.sol +7 -6
  7. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +1 -1
  8. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +2 -7
  9. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +2 -7
  10. package/contracts/core/PendleYieldContractFactory.sol +12 -7
  11. package/contracts/core/PendleYieldToken.sol +93 -55
  12. package/contracts/core/router/PendleRouterCoreUpg.sol +35 -21
  13. package/contracts/core/router/PendleRouterProxy.sol +12 -6
  14. package/contracts/core/router/PendleRouterStaticUpg.sol +43 -18
  15. package/contracts/core/router/PendleRouterYTUpg.sol +47 -13
  16. package/contracts/core/router/base/PendleRouterOTBaseUpg.sol +22 -32
  17. package/contracts/core/router/base/PendleRouterSCYAndForgeBaseUpg.sol +4 -4
  18. package/contracts/core/router/base/PendleRouterYTBaseUpg.sol +62 -43
  19. package/contracts/interfaces/IPMarket.sol +4 -2
  20. package/contracts/interfaces/{IPPermissionsV2.sol → IPPermissionsV2Upg.sol} +1 -1
  21. package/contracts/interfaces/IPRouterCore.sol +24 -21
  22. package/contracts/interfaces/IPRouterStatic.sol +10 -1
  23. package/contracts/interfaces/IPRouterYT.sol +16 -4
  24. package/contracts/interfaces/IPYieldContractFactory.sol +4 -0
  25. package/contracts/interfaces/IPYieldToken.sol +2 -4
  26. package/contracts/libraries/SCYIndex.sol +3 -3
  27. package/contracts/libraries/math/LogExpMath.sol +1 -90
  28. package/contracts/libraries/math/MarketApproxLib.sol +336 -94
  29. package/contracts/libraries/math/MarketMathAux.sol +101 -0
  30. package/contracts/libraries/math/MarketMathCore.sol +423 -0
  31. package/contracts/libraries/math/Math.sol +144 -0
  32. package/contracts/{core/misc → periphery}/PendleJoeSwapHelperUpg.sol +2 -2
  33. package/contracts/periphery/{PermissionsV2.sol → PermissionsV2Upg.sol} +2 -2
  34. package/package.json +1 -1
  35. package/typechain-types/IPMarket.ts +22 -11
  36. package/typechain-types/IPRouterCore.ts +68 -58
  37. package/typechain-types/IPRouterStatic.ts +52 -0
  38. package/typechain-types/IPRouterYT.ts +96 -12
  39. package/typechain-types/IPYieldContractFactory.ts +32 -0
  40. package/typechain-types/IPYieldToken.ts +14 -48
  41. package/typechain-types/IPermissionsV2Upg.ts +87 -0
  42. package/typechain-types/ISuperComposableYield.ts +98 -11
  43. package/typechain-types/OwnableUpgradeable.ts +165 -0
  44. package/typechain-types/PendleAaveV3SCY.ts +98 -11
  45. package/typechain-types/PendleBenQiErc20SCY.ts +98 -11
  46. package/typechain-types/PendleBtrflyScy.ts +98 -11
  47. package/typechain-types/PendleMarket.ts +22 -11
  48. package/typechain-types/PendleRouterCoreUpg.ts +66 -48
  49. package/typechain-types/PendleRouterProxy.ts +15 -118
  50. package/typechain-types/PendleRouterStaticUpg.ts +92 -0
  51. package/typechain-types/PendleRouterYTUpg.ts +96 -12
  52. package/typechain-types/PendleYearnVaultScy.ts +98 -11
  53. package/typechain-types/PendleYieldContractFactory.ts +40 -113
  54. package/typechain-types/PendleYieldToken.ts +106 -7
  55. package/typechain-types/PermissionsV2Upg.ts +87 -0
  56. package/typechain-types/SCYBase.ts +98 -11
  57. package/typechain-types/SCYBaseWithRewards.ts +98 -11
  58. package/typechain-types/factories/IPMarket__factory.ts +8 -2
  59. package/typechain-types/factories/IPRouterCore__factory.ts +38 -23
  60. package/typechain-types/factories/IPRouterStatic__factory.ts +29 -0
  61. package/typechain-types/factories/IPRouterYT__factory.ts +65 -6
  62. package/typechain-types/factories/IPYieldContractFactory__factory.ts +38 -0
  63. package/typechain-types/factories/IPYieldToken__factory.ts +1 -20
  64. package/typechain-types/factories/IPermissionsV2Upg__factory.ts +39 -0
  65. package/typechain-types/factories/ISuperComposableYield__factory.ts +65 -2
  66. package/typechain-types/factories/OwnableUpgradeable__factory.ts +78 -0
  67. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +66 -3
  68. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +66 -3
  69. package/typechain-types/factories/PendleBtrflyScy__factory.ts +66 -3
  70. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  71. package/typechain-types/factories/PendleMarket__factory.ts +9 -3
  72. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +26 -11
  73. package/typechain-types/factories/PendleRouterProxy__factory.ts +14 -67
  74. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +63 -17
  75. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +66 -7
  76. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +66 -3
  77. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +39 -54
  78. package/typechain-types/factories/PendleYieldToken__factory.ts +53 -2
  79. package/typechain-types/factories/PermissionsV2Upg__factory.ts +39 -0
  80. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +65 -2
  81. package/typechain-types/factories/SCYBase__factory.ts +65 -2
  82. package/typechain-types/hardhat.d.ts +26 -53
  83. package/typechain-types/index.ts +8 -14
  84. package/contracts/core/misc/BoringOwnable.sol +0 -62
  85. package/contracts/core/misc/BoringOwnableUpg.sol +0 -64
  86. package/contracts/libraries/math/FixedPoint.sol +0 -205
  87. package/contracts/libraries/math/MarketMathLib.sol +0 -614
@@ -29,11 +29,12 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
29
29
  "joeRouter()": FunctionFragment;
30
30
  "marketFactory()": FunctionFragment;
31
31
  "swapCallback(int256,int256,bytes)": FunctionFragment;
32
- "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256)": FunctionFragment;
33
- "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256)": FunctionFragment;
32
+ "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256,uint256)": FunctionFragment;
33
+ "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
34
34
  "swapExactYtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
35
35
  "swapExactYtForScy(address,address,uint256,uint256)": FunctionFragment;
36
36
  "swapScyForExactYt(address,address,uint256,uint256)": FunctionFragment;
37
+ "swapYtForExactScy(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
37
38
  };
38
39
 
39
40
  encodeFunctionData(
@@ -58,6 +59,7 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
58
59
  string,
59
60
  BigNumberish,
60
61
  BigNumberish,
62
+ BigNumberish,
61
63
  BigNumberish
62
64
  ]
63
65
  ): string;
@@ -69,6 +71,7 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
69
71
  BigNumberish,
70
72
  BigNumberish,
71
73
  BigNumberish,
74
+ BigNumberish,
72
75
  BigNumberish
73
76
  ]
74
77
  ): string;
@@ -84,6 +87,18 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
84
87
  functionFragment: "swapScyForExactYt",
85
88
  values: [string, string, BigNumberish, BigNumberish]
86
89
  ): string;
90
+ encodeFunctionData(
91
+ functionFragment: "swapYtForExactScy",
92
+ values: [
93
+ string,
94
+ string,
95
+ BigNumberish,
96
+ BigNumberish,
97
+ BigNumberish,
98
+ BigNumberish,
99
+ BigNumberish
100
+ ]
101
+ ): string;
87
102
 
88
103
  decodeFunctionResult(functionFragment: "joeFactory", data: BytesLike): Result;
89
104
  decodeFunctionResult(functionFragment: "joeRouter", data: BytesLike): Result;
@@ -115,6 +130,10 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
115
130
  functionFragment: "swapScyForExactYt",
116
131
  data: BytesLike
117
132
  ): Result;
133
+ decodeFunctionResult(
134
+ functionFragment: "swapYtForExactScy",
135
+ data: BytesLike
136
+ ): Result;
118
137
 
119
138
  events: {};
120
139
  }
@@ -165,9 +184,10 @@ export interface PendleRouterYTUpg extends BaseContract {
165
184
  receiver: string,
166
185
  path: string[],
167
186
  market: string,
168
- minYtOut: BigNumberish,
169
187
  netYtOutGuessMin: BigNumberish,
170
188
  netYtOutGuessMax: BigNumberish,
189
+ maxIteration: BigNumberish,
190
+ eps: BigNumberish,
171
191
  overrides?: Overrides & { from?: string | Promise<string> }
172
192
  ): Promise<ContractTransaction>;
173
193
 
@@ -175,9 +195,10 @@ export interface PendleRouterYTUpg extends BaseContract {
175
195
  receiver: string,
176
196
  market: string,
177
197
  exactScyIn: BigNumberish,
178
- minYtOut: BigNumberish,
179
198
  netYtOutGuessMin: BigNumberish,
180
199
  netYtOutGuessMax: BigNumberish,
200
+ maxIteration: BigNumberish,
201
+ eps: BigNumberish,
181
202
  overrides?: Overrides & { from?: string | Promise<string> }
182
203
  ): Promise<ContractTransaction>;
183
204
 
@@ -205,6 +226,17 @@ export interface PendleRouterYTUpg extends BaseContract {
205
226
  maxScyIn: BigNumberish,
206
227
  overrides?: Overrides & { from?: string | Promise<string> }
207
228
  ): Promise<ContractTransaction>;
229
+
230
+ swapYtForExactScy(
231
+ receiver: string,
232
+ market: string,
233
+ exactScyOut: BigNumberish,
234
+ netYtInGuessMin: BigNumberish,
235
+ netYtInGuessMax: BigNumberish,
236
+ maxIteration: BigNumberish,
237
+ eps: BigNumberish,
238
+ overrides?: Overrides & { from?: string | Promise<string> }
239
+ ): Promise<ContractTransaction>;
208
240
  };
209
241
 
210
242
  joeFactory(overrides?: CallOverrides): Promise<string>;
@@ -225,9 +257,10 @@ export interface PendleRouterYTUpg extends BaseContract {
225
257
  receiver: string,
226
258
  path: string[],
227
259
  market: string,
228
- minYtOut: BigNumberish,
229
260
  netYtOutGuessMin: BigNumberish,
230
261
  netYtOutGuessMax: BigNumberish,
262
+ maxIteration: BigNumberish,
263
+ eps: BigNumberish,
231
264
  overrides?: Overrides & { from?: string | Promise<string> }
232
265
  ): Promise<ContractTransaction>;
233
266
 
@@ -235,9 +268,10 @@ export interface PendleRouterYTUpg extends BaseContract {
235
268
  receiver: string,
236
269
  market: string,
237
270
  exactScyIn: BigNumberish,
238
- minYtOut: BigNumberish,
239
271
  netYtOutGuessMin: BigNumberish,
240
272
  netYtOutGuessMax: BigNumberish,
273
+ maxIteration: BigNumberish,
274
+ eps: BigNumberish,
241
275
  overrides?: Overrides & { from?: string | Promise<string> }
242
276
  ): Promise<ContractTransaction>;
243
277
 
@@ -266,6 +300,17 @@ export interface PendleRouterYTUpg extends BaseContract {
266
300
  overrides?: Overrides & { from?: string | Promise<string> }
267
301
  ): Promise<ContractTransaction>;
268
302
 
303
+ swapYtForExactScy(
304
+ receiver: string,
305
+ market: string,
306
+ exactScyOut: BigNumberish,
307
+ netYtInGuessMin: BigNumberish,
308
+ netYtInGuessMax: BigNumberish,
309
+ maxIteration: BigNumberish,
310
+ eps: BigNumberish,
311
+ overrides?: Overrides & { from?: string | Promise<string> }
312
+ ): Promise<ContractTransaction>;
313
+
269
314
  callStatic: {
270
315
  joeFactory(overrides?: CallOverrides): Promise<string>;
271
316
 
@@ -285,9 +330,10 @@ export interface PendleRouterYTUpg extends BaseContract {
285
330
  receiver: string,
286
331
  path: string[],
287
332
  market: string,
288
- minYtOut: BigNumberish,
289
333
  netYtOutGuessMin: BigNumberish,
290
334
  netYtOutGuessMax: BigNumberish,
335
+ maxIteration: BigNumberish,
336
+ eps: BigNumberish,
291
337
  overrides?: CallOverrides
292
338
  ): Promise<BigNumber>;
293
339
 
@@ -295,9 +341,10 @@ export interface PendleRouterYTUpg extends BaseContract {
295
341
  receiver: string,
296
342
  market: string,
297
343
  exactScyIn: BigNumberish,
298
- minYtOut: BigNumberish,
299
344
  netYtOutGuessMin: BigNumberish,
300
345
  netYtOutGuessMax: BigNumberish,
346
+ maxIteration: BigNumberish,
347
+ eps: BigNumberish,
301
348
  overrides?: CallOverrides
302
349
  ): Promise<BigNumber>;
303
350
 
@@ -325,6 +372,17 @@ export interface PendleRouterYTUpg extends BaseContract {
325
372
  maxScyIn: BigNumberish,
326
373
  overrides?: CallOverrides
327
374
  ): Promise<BigNumber>;
375
+
376
+ swapYtForExactScy(
377
+ receiver: string,
378
+ market: string,
379
+ exactScyOut: BigNumberish,
380
+ netYtInGuessMin: BigNumberish,
381
+ netYtInGuessMax: BigNumberish,
382
+ maxIteration: BigNumberish,
383
+ eps: BigNumberish,
384
+ overrides?: CallOverrides
385
+ ): Promise<BigNumber>;
328
386
  };
329
387
 
330
388
  filters: {};
@@ -348,9 +406,10 @@ export interface PendleRouterYTUpg extends BaseContract {
348
406
  receiver: string,
349
407
  path: string[],
350
408
  market: string,
351
- minYtOut: BigNumberish,
352
409
  netYtOutGuessMin: BigNumberish,
353
410
  netYtOutGuessMax: BigNumberish,
411
+ maxIteration: BigNumberish,
412
+ eps: BigNumberish,
354
413
  overrides?: Overrides & { from?: string | Promise<string> }
355
414
  ): Promise<BigNumber>;
356
415
 
@@ -358,9 +417,10 @@ export interface PendleRouterYTUpg extends BaseContract {
358
417
  receiver: string,
359
418
  market: string,
360
419
  exactScyIn: BigNumberish,
361
- minYtOut: BigNumberish,
362
420
  netYtOutGuessMin: BigNumberish,
363
421
  netYtOutGuessMax: BigNumberish,
422
+ maxIteration: BigNumberish,
423
+ eps: BigNumberish,
364
424
  overrides?: Overrides & { from?: string | Promise<string> }
365
425
  ): Promise<BigNumber>;
366
426
 
@@ -388,6 +448,17 @@ export interface PendleRouterYTUpg extends BaseContract {
388
448
  maxScyIn: BigNumberish,
389
449
  overrides?: Overrides & { from?: string | Promise<string> }
390
450
  ): Promise<BigNumber>;
451
+
452
+ swapYtForExactScy(
453
+ receiver: string,
454
+ market: string,
455
+ exactScyOut: BigNumberish,
456
+ netYtInGuessMin: BigNumberish,
457
+ netYtInGuessMax: BigNumberish,
458
+ maxIteration: BigNumberish,
459
+ eps: BigNumberish,
460
+ overrides?: Overrides & { from?: string | Promise<string> }
461
+ ): Promise<BigNumber>;
391
462
  };
392
463
 
393
464
  populateTransaction: {
@@ -409,9 +480,10 @@ export interface PendleRouterYTUpg extends BaseContract {
409
480
  receiver: string,
410
481
  path: string[],
411
482
  market: string,
412
- minYtOut: BigNumberish,
413
483
  netYtOutGuessMin: BigNumberish,
414
484
  netYtOutGuessMax: BigNumberish,
485
+ maxIteration: BigNumberish,
486
+ eps: BigNumberish,
415
487
  overrides?: Overrides & { from?: string | Promise<string> }
416
488
  ): Promise<PopulatedTransaction>;
417
489
 
@@ -419,9 +491,10 @@ export interface PendleRouterYTUpg extends BaseContract {
419
491
  receiver: string,
420
492
  market: string,
421
493
  exactScyIn: BigNumberish,
422
- minYtOut: BigNumberish,
423
494
  netYtOutGuessMin: BigNumberish,
424
495
  netYtOutGuessMax: BigNumberish,
496
+ maxIteration: BigNumberish,
497
+ eps: BigNumberish,
425
498
  overrides?: Overrides & { from?: string | Promise<string> }
426
499
  ): Promise<PopulatedTransaction>;
427
500
 
@@ -449,5 +522,16 @@ export interface PendleRouterYTUpg extends BaseContract {
449
522
  maxScyIn: BigNumberish,
450
523
  overrides?: Overrides & { from?: string | Promise<string> }
451
524
  ): Promise<PopulatedTransaction>;
525
+
526
+ swapYtForExactScy(
527
+ receiver: string,
528
+ market: string,
529
+ exactScyOut: BigNumberish,
530
+ netYtInGuessMin: BigNumberish,
531
+ netYtInGuessMax: BigNumberish,
532
+ maxIteration: BigNumberish,
533
+ eps: BigNumberish,
534
+ overrides?: Overrides & { from?: string | Promise<string> }
535
+ ): Promise<PopulatedTransaction>;
452
536
  };
453
537
  }
@@ -36,10 +36,12 @@ export interface PendleYearnVaultScyInterface extends utils.Interface {
36
36
  "increaseAllowance(address,uint256)": FunctionFragment;
37
37
  "isValidBaseToken(address)": FunctionFragment;
38
38
  "lastScyIndex()": FunctionFragment;
39
- "mint(address,address,uint256)": FunctionFragment;
39
+ "mint(address,address,uint256,uint256)": FunctionFragment;
40
+ "mintNoPull(address,address,uint256)": FunctionFragment;
40
41
  "name()": FunctionFragment;
41
- "redeem(address,address,uint256)": FunctionFragment;
42
- "redeemReward(address,address)": FunctionFragment;
42
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
43
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
44
+ "redeemReward(address)": FunctionFragment;
43
45
  "scyIndexCurrent()": FunctionFragment;
44
46
  "scyIndexStored()": FunctionFragment;
45
47
  "symbol()": FunctionFragment;
@@ -92,16 +94,24 @@ export interface PendleYearnVaultScyInterface extends utils.Interface {
92
94
  ): string;
93
95
  encodeFunctionData(
94
96
  functionFragment: "mint",
97
+ values: [string, string, BigNumberish, BigNumberish]
98
+ ): string;
99
+ encodeFunctionData(
100
+ functionFragment: "mintNoPull",
95
101
  values: [string, string, BigNumberish]
96
102
  ): string;
97
103
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
98
104
  encodeFunctionData(
99
105
  functionFragment: "redeem",
106
+ values: [string, string, BigNumberish, BigNumberish]
107
+ ): string;
108
+ encodeFunctionData(
109
+ functionFragment: "redeemNoPull",
100
110
  values: [string, string, BigNumberish]
101
111
  ): string;
102
112
  encodeFunctionData(
103
113
  functionFragment: "redeemReward",
104
- values: [string, string]
114
+ values: [string]
105
115
  ): string;
106
116
  encodeFunctionData(
107
117
  functionFragment: "scyIndexCurrent",
@@ -171,8 +181,13 @@ export interface PendleYearnVaultScyInterface extends utils.Interface {
171
181
  data: BytesLike
172
182
  ): Result;
173
183
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
184
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
174
185
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
175
186
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
187
+ decodeFunctionResult(
188
+ functionFragment: "redeemNoPull",
189
+ data: BytesLike
190
+ ): Result;
176
191
  decodeFunctionResult(
177
192
  functionFragment: "redeemReward",
178
193
  data: BytesLike
@@ -303,6 +318,14 @@ export interface PendleYearnVaultScy extends BaseContract {
303
318
  lastScyIndex(overrides?: CallOverrides): Promise<[BigNumber]>;
304
319
 
305
320
  mint(
321
+ receiver: string,
322
+ baseTokenIn: string,
323
+ amountBaseToPull: BigNumberish,
324
+ minAmountScyOut: BigNumberish,
325
+ overrides?: Overrides & { from?: string | Promise<string> }
326
+ ): Promise<ContractTransaction>;
327
+
328
+ mintNoPull(
306
329
  receiver: string,
307
330
  baseTokenIn: string,
308
331
  minAmountScyOut: BigNumberish,
@@ -312,6 +335,14 @@ export interface PendleYearnVaultScy extends BaseContract {
312
335
  name(overrides?: CallOverrides): Promise<[string]>;
313
336
 
314
337
  redeem(
338
+ receiver: string,
339
+ baseTokenOut: string,
340
+ amountScyToPull: BigNumberish,
341
+ minAmountBaseOut: BigNumberish,
342
+ overrides?: Overrides & { from?: string | Promise<string> }
343
+ ): Promise<ContractTransaction>;
344
+
345
+ redeemNoPull(
315
346
  receiver: string,
316
347
  baseTokenOut: string,
317
348
  minAmountBaseOut: BigNumberish,
@@ -320,7 +351,6 @@ export interface PendleYearnVaultScy extends BaseContract {
320
351
 
321
352
  redeemReward(
322
353
  user: string,
323
- receiver: string,
324
354
  overrides?: Overrides & { from?: string | Promise<string> }
325
355
  ): Promise<ContractTransaction>;
326
356
 
@@ -402,6 +432,14 @@ export interface PendleYearnVaultScy extends BaseContract {
402
432
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
403
433
 
404
434
  mint(
435
+ receiver: string,
436
+ baseTokenIn: string,
437
+ amountBaseToPull: BigNumberish,
438
+ minAmountScyOut: BigNumberish,
439
+ overrides?: Overrides & { from?: string | Promise<string> }
440
+ ): Promise<ContractTransaction>;
441
+
442
+ mintNoPull(
405
443
  receiver: string,
406
444
  baseTokenIn: string,
407
445
  minAmountScyOut: BigNumberish,
@@ -411,6 +449,14 @@ export interface PendleYearnVaultScy extends BaseContract {
411
449
  name(overrides?: CallOverrides): Promise<string>;
412
450
 
413
451
  redeem(
452
+ receiver: string,
453
+ baseTokenOut: string,
454
+ amountScyToPull: BigNumberish,
455
+ minAmountBaseOut: BigNumberish,
456
+ overrides?: Overrides & { from?: string | Promise<string> }
457
+ ): Promise<ContractTransaction>;
458
+
459
+ redeemNoPull(
414
460
  receiver: string,
415
461
  baseTokenOut: string,
416
462
  minAmountBaseOut: BigNumberish,
@@ -419,7 +465,6 @@ export interface PendleYearnVaultScy extends BaseContract {
419
465
 
420
466
  redeemReward(
421
467
  user: string,
422
- receiver: string,
423
468
  overrides?: Overrides & { from?: string | Promise<string> }
424
469
  ): Promise<ContractTransaction>;
425
470
 
@@ -502,6 +547,14 @@ export interface PendleYearnVaultScy extends BaseContract {
502
547
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
503
548
 
504
549
  mint(
550
+ receiver: string,
551
+ baseTokenIn: string,
552
+ amountBaseToPull: BigNumberish,
553
+ minAmountScyOut: BigNumberish,
554
+ overrides?: CallOverrides
555
+ ): Promise<BigNumber>;
556
+
557
+ mintNoPull(
505
558
  receiver: string,
506
559
  baseTokenIn: string,
507
560
  minAmountScyOut: BigNumberish,
@@ -513,15 +566,19 @@ export interface PendleYearnVaultScy extends BaseContract {
513
566
  redeem(
514
567
  receiver: string,
515
568
  baseTokenOut: string,
569
+ amountScyToPull: BigNumberish,
516
570
  minAmountBaseOut: BigNumberish,
517
571
  overrides?: CallOverrides
518
572
  ): Promise<BigNumber>;
519
573
 
520
- redeemReward(
521
- user: string,
574
+ redeemNoPull(
522
575
  receiver: string,
576
+ baseTokenOut: string,
577
+ minAmountBaseOut: BigNumberish,
523
578
  overrides?: CallOverrides
524
- ): Promise<BigNumber[]>;
579
+ ): Promise<BigNumber>;
580
+
581
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
525
582
 
526
583
  scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
527
584
 
@@ -620,6 +677,14 @@ export interface PendleYearnVaultScy extends BaseContract {
620
677
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
621
678
 
622
679
  mint(
680
+ receiver: string,
681
+ baseTokenIn: string,
682
+ amountBaseToPull: BigNumberish,
683
+ minAmountScyOut: BigNumberish,
684
+ overrides?: Overrides & { from?: string | Promise<string> }
685
+ ): Promise<BigNumber>;
686
+
687
+ mintNoPull(
623
688
  receiver: string,
624
689
  baseTokenIn: string,
625
690
  minAmountScyOut: BigNumberish,
@@ -629,6 +694,14 @@ export interface PendleYearnVaultScy extends BaseContract {
629
694
  name(overrides?: CallOverrides): Promise<BigNumber>;
630
695
 
631
696
  redeem(
697
+ receiver: string,
698
+ baseTokenOut: string,
699
+ amountScyToPull: BigNumberish,
700
+ minAmountBaseOut: BigNumberish,
701
+ overrides?: Overrides & { from?: string | Promise<string> }
702
+ ): Promise<BigNumber>;
703
+
704
+ redeemNoPull(
632
705
  receiver: string,
633
706
  baseTokenOut: string,
634
707
  minAmountBaseOut: BigNumberish,
@@ -637,7 +710,6 @@ export interface PendleYearnVaultScy extends BaseContract {
637
710
 
638
711
  redeemReward(
639
712
  user: string,
640
- receiver: string,
641
713
  overrides?: Overrides & { from?: string | Promise<string> }
642
714
  ): Promise<BigNumber>;
643
715
 
@@ -724,6 +796,14 @@ export interface PendleYearnVaultScy extends BaseContract {
724
796
  lastScyIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>;
725
797
 
726
798
  mint(
799
+ receiver: string,
800
+ baseTokenIn: string,
801
+ amountBaseToPull: BigNumberish,
802
+ minAmountScyOut: BigNumberish,
803
+ overrides?: Overrides & { from?: string | Promise<string> }
804
+ ): Promise<PopulatedTransaction>;
805
+
806
+ mintNoPull(
727
807
  receiver: string,
728
808
  baseTokenIn: string,
729
809
  minAmountScyOut: BigNumberish,
@@ -733,6 +813,14 @@ export interface PendleYearnVaultScy extends BaseContract {
733
813
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
734
814
 
735
815
  redeem(
816
+ receiver: string,
817
+ baseTokenOut: string,
818
+ amountScyToPull: BigNumberish,
819
+ minAmountBaseOut: BigNumberish,
820
+ overrides?: Overrides & { from?: string | Promise<string> }
821
+ ): Promise<PopulatedTransaction>;
822
+
823
+ redeemNoPull(
736
824
  receiver: string,
737
825
  baseTokenOut: string,
738
826
  minAmountBaseOut: BigNumberish,
@@ -741,7 +829,6 @@ export interface PendleYearnVaultScy extends BaseContract {
741
829
 
742
830
  redeemReward(
743
831
  user: string,
744
- receiver: string,
745
832
  overrides?: Overrides & { from?: string | Promise<string> }
746
833
  ): Promise<PopulatedTransaction>;
747
834