@pendle/core-v2 0.2.2 → 0.3.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 +1 -5
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +2 -2
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +2 -2
  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/{PendleRouterStatic.sol → 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 +1 -1
  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 +3 -11
  43. package/typechain-types/OwnableUpgradeable.ts +165 -0
  44. package/typechain-types/PendleAaveV3SCY.ts +3 -11
  45. package/typechain-types/PendleBenQiErc20SCY.ts +3 -11
  46. package/typechain-types/PendleBtrflyScy.ts +3 -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 +3 -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 +3 -11
  57. package/typechain-types/SCYBaseWithRewards.ts +3 -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 +0 -5
  66. package/typechain-types/factories/OwnableUpgradeable__factory.ts +78 -0
  67. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -6
  68. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +1 -6
  69. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -6
  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 +1 -6
  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 +0 -5
  81. package/typechain-types/factories/SCYBase__factory.ts +0 -5
  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
@@ -27,10 +27,13 @@ export interface PendleRouterStaticUpgInterface extends utils.Interface {
27
27
  functions: {
28
28
  "addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
29
29
  "getOtImpliedYield(address)": FunctionFragment;
30
+ "getPendleTokenType(address)": FunctionFragment;
31
+ "marketFactory()": FunctionFragment;
30
32
  "removeLiquidityStatic(address,uint256)": FunctionFragment;
31
33
  "scyIndex(address)": FunctionFragment;
32
34
  "swapOtForScyStatic(address,uint256)": FunctionFragment;
33
35
  "swapScyForOtStatic(address,uint256)": FunctionFragment;
36
+ "yieldContractFactory()": FunctionFragment;
34
37
  };
35
38
 
36
39
  encodeFunctionData(
@@ -41,6 +44,14 @@ export interface PendleRouterStaticUpgInterface extends utils.Interface {
41
44
  functionFragment: "getOtImpliedYield",
42
45
  values: [string]
43
46
  ): string;
47
+ encodeFunctionData(
48
+ functionFragment: "getPendleTokenType",
49
+ values: [string]
50
+ ): string;
51
+ encodeFunctionData(
52
+ functionFragment: "marketFactory",
53
+ values?: undefined
54
+ ): string;
44
55
  encodeFunctionData(
45
56
  functionFragment: "removeLiquidityStatic",
46
57
  values: [string, BigNumberish]
@@ -54,6 +65,10 @@ export interface PendleRouterStaticUpgInterface extends utils.Interface {
54
65
  functionFragment: "swapScyForOtStatic",
55
66
  values: [string, BigNumberish]
56
67
  ): string;
68
+ encodeFunctionData(
69
+ functionFragment: "yieldContractFactory",
70
+ values?: undefined
71
+ ): string;
57
72
 
58
73
  decodeFunctionResult(
59
74
  functionFragment: "addLiquidityStatic",
@@ -63,6 +78,14 @@ export interface PendleRouterStaticUpgInterface extends utils.Interface {
63
78
  functionFragment: "getOtImpliedYield",
64
79
  data: BytesLike
65
80
  ): Result;
81
+ decodeFunctionResult(
82
+ functionFragment: "getPendleTokenType",
83
+ data: BytesLike
84
+ ): Result;
85
+ decodeFunctionResult(
86
+ functionFragment: "marketFactory",
87
+ data: BytesLike
88
+ ): Result;
66
89
  decodeFunctionResult(
67
90
  functionFragment: "removeLiquidityStatic",
68
91
  data: BytesLike
@@ -76,6 +99,10 @@ export interface PendleRouterStaticUpgInterface extends utils.Interface {
76
99
  functionFragment: "swapScyForOtStatic",
77
100
  data: BytesLike
78
101
  ): Result;
102
+ decodeFunctionResult(
103
+ functionFragment: "yieldContractFactory",
104
+ data: BytesLike
105
+ ): Result;
79
106
 
80
107
  events: {};
81
108
  }
@@ -120,6 +147,19 @@ export interface PendleRouterStaticUpg extends BaseContract {
120
147
  overrides?: CallOverrides
121
148
  ): Promise<[BigNumber]>;
122
149
 
150
+ getPendleTokenType(
151
+ token: string,
152
+ overrides?: CallOverrides
153
+ ): Promise<
154
+ [boolean, boolean, boolean] & {
155
+ isOT: boolean;
156
+ isYT: boolean;
157
+ isMarket: boolean;
158
+ }
159
+ >;
160
+
161
+ marketFactory(overrides?: CallOverrides): Promise<[string]>;
162
+
123
163
  removeLiquidityStatic(
124
164
  market: string,
125
165
  lpToRemove: BigNumberish,
@@ -144,6 +184,8 @@ export interface PendleRouterStaticUpg extends BaseContract {
144
184
  exactOtOut: BigNumberish,
145
185
  overrides?: Overrides & { from?: string | Promise<string> }
146
186
  ): Promise<ContractTransaction>;
187
+
188
+ yieldContractFactory(overrides?: CallOverrides): Promise<[string]>;
147
189
  };
148
190
 
149
191
  addLiquidityStatic(
@@ -158,6 +200,19 @@ export interface PendleRouterStaticUpg extends BaseContract {
158
200
  overrides?: CallOverrides
159
201
  ): Promise<BigNumber>;
160
202
 
203
+ getPendleTokenType(
204
+ token: string,
205
+ overrides?: CallOverrides
206
+ ): Promise<
207
+ [boolean, boolean, boolean] & {
208
+ isOT: boolean;
209
+ isYT: boolean;
210
+ isMarket: boolean;
211
+ }
212
+ >;
213
+
214
+ marketFactory(overrides?: CallOverrides): Promise<string>;
215
+
161
216
  removeLiquidityStatic(
162
217
  market: string,
163
218
  lpToRemove: BigNumberish,
@@ -183,6 +238,8 @@ export interface PendleRouterStaticUpg extends BaseContract {
183
238
  overrides?: Overrides & { from?: string | Promise<string> }
184
239
  ): Promise<ContractTransaction>;
185
240
 
241
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
242
+
186
243
  callStatic: {
187
244
  addLiquidityStatic(
188
245
  market: string,
@@ -202,6 +259,19 @@ export interface PendleRouterStaticUpg extends BaseContract {
202
259
  overrides?: CallOverrides
203
260
  ): Promise<BigNumber>;
204
261
 
262
+ getPendleTokenType(
263
+ token: string,
264
+ overrides?: CallOverrides
265
+ ): Promise<
266
+ [boolean, boolean, boolean] & {
267
+ isOT: boolean;
268
+ isYT: boolean;
269
+ isMarket: boolean;
270
+ }
271
+ >;
272
+
273
+ marketFactory(overrides?: CallOverrides): Promise<string>;
274
+
205
275
  removeLiquidityStatic(
206
276
  market: string,
207
277
  lpToRemove: BigNumberish,
@@ -227,6 +297,8 @@ export interface PendleRouterStaticUpg extends BaseContract {
227
297
  ): Promise<
228
298
  [BigNumber, BigNumber] & { netScyIn: BigNumber; netScyFee: BigNumber }
229
299
  >;
300
+
301
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
230
302
  };
231
303
 
232
304
  filters: {};
@@ -244,6 +316,13 @@ export interface PendleRouterStaticUpg extends BaseContract {
244
316
  overrides?: CallOverrides
245
317
  ): Promise<BigNumber>;
246
318
 
319
+ getPendleTokenType(
320
+ token: string,
321
+ overrides?: CallOverrides
322
+ ): Promise<BigNumber>;
323
+
324
+ marketFactory(overrides?: CallOverrides): Promise<BigNumber>;
325
+
247
326
  removeLiquidityStatic(
248
327
  market: string,
249
328
  lpToRemove: BigNumberish,
@@ -266,6 +345,8 @@ export interface PendleRouterStaticUpg extends BaseContract {
266
345
  exactOtOut: BigNumberish,
267
346
  overrides?: Overrides & { from?: string | Promise<string> }
268
347
  ): Promise<BigNumber>;
348
+
349
+ yieldContractFactory(overrides?: CallOverrides): Promise<BigNumber>;
269
350
  };
270
351
 
271
352
  populateTransaction: {
@@ -281,6 +362,13 @@ export interface PendleRouterStaticUpg extends BaseContract {
281
362
  overrides?: CallOverrides
282
363
  ): Promise<PopulatedTransaction>;
283
364
 
365
+ getPendleTokenType(
366
+ token: string,
367
+ overrides?: CallOverrides
368
+ ): Promise<PopulatedTransaction>;
369
+
370
+ marketFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
371
+
284
372
  removeLiquidityStatic(
285
373
  market: string,
286
374
  lpToRemove: BigNumberish,
@@ -303,5 +391,9 @@ export interface PendleRouterStaticUpg extends BaseContract {
303
391
  exactOtOut: BigNumberish,
304
392
  overrides?: Overrides & { from?: string | Promise<string> }
305
393
  ): Promise<PopulatedTransaction>;
394
+
395
+ yieldContractFactory(
396
+ overrides?: CallOverrides
397
+ ): Promise<PopulatedTransaction>;
306
398
  };
307
399
  }
@@ -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
  }
@@ -39,7 +39,7 @@ export interface PendleYearnVaultScyInterface extends utils.Interface {
39
39
  "mint(address,address,uint256)": FunctionFragment;
40
40
  "name()": FunctionFragment;
41
41
  "redeem(address,address,uint256)": FunctionFragment;
42
- "redeemReward(address,address)": FunctionFragment;
42
+ "redeemReward(address)": FunctionFragment;
43
43
  "scyIndexCurrent()": FunctionFragment;
44
44
  "scyIndexStored()": FunctionFragment;
45
45
  "symbol()": FunctionFragment;
@@ -101,7 +101,7 @@ export interface PendleYearnVaultScyInterface extends utils.Interface {
101
101
  ): string;
102
102
  encodeFunctionData(
103
103
  functionFragment: "redeemReward",
104
- values: [string, string]
104
+ values: [string]
105
105
  ): string;
106
106
  encodeFunctionData(
107
107
  functionFragment: "scyIndexCurrent",
@@ -320,7 +320,6 @@ export interface PendleYearnVaultScy extends BaseContract {
320
320
 
321
321
  redeemReward(
322
322
  user: string,
323
- receiver: string,
324
323
  overrides?: Overrides & { from?: string | Promise<string> }
325
324
  ): Promise<ContractTransaction>;
326
325
 
@@ -419,7 +418,6 @@ export interface PendleYearnVaultScy extends BaseContract {
419
418
 
420
419
  redeemReward(
421
420
  user: string,
422
- receiver: string,
423
421
  overrides?: Overrides & { from?: string | Promise<string> }
424
422
  ): Promise<ContractTransaction>;
425
423
 
@@ -517,11 +515,7 @@ export interface PendleYearnVaultScy extends BaseContract {
517
515
  overrides?: CallOverrides
518
516
  ): Promise<BigNumber>;
519
517
 
520
- redeemReward(
521
- user: string,
522
- receiver: string,
523
- overrides?: CallOverrides
524
- ): Promise<BigNumber[]>;
518
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
525
519
 
526
520
  scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
527
521
 
@@ -637,7 +631,6 @@ export interface PendleYearnVaultScy extends BaseContract {
637
631
 
638
632
  redeemReward(
639
633
  user: string,
640
- receiver: string,
641
634
  overrides?: Overrides & { from?: string | Promise<string> }
642
635
  ): Promise<BigNumber>;
643
636
 
@@ -741,7 +734,6 @@ export interface PendleYearnVaultScy extends BaseContract {
741
734
 
742
735
  redeemReward(
743
736
  user: string,
744
- receiver: string,
745
737
  overrides?: Overrides & { from?: string | Promise<string> }
746
738
  ): Promise<PopulatedTransaction>;
747
739