@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
@@ -13,7 +13,7 @@ import {
13
13
  Signer,
14
14
  utils,
15
15
  } from "ethers";
16
- import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
17
  import { Listener, Provider } from "@ethersproject/providers";
18
18
  import type {
19
19
  TypedEventFilter,
@@ -27,27 +27,22 @@ export interface PendleYieldContractFactoryInterface extends utils.Interface {
27
27
  functions: {
28
28
  "OT_PREFIX()": FunctionFragment;
29
29
  "YT_PREFIX()": FunctionFragment;
30
- "claimOwnership()": FunctionFragment;
31
30
  "createYieldContract(address,uint256)": FunctionFragment;
32
31
  "expiryDivisor()": FunctionFragment;
33
32
  "getOT(address,uint256)": FunctionFragment;
34
33
  "getYT(address,uint256)": FunctionFragment;
34
+ "governanceManager()": FunctionFragment;
35
35
  "interestFeeRate()": FunctionFragment;
36
- "owner()": FunctionFragment;
37
- "pendingOwner()": FunctionFragment;
36
+ "isOT(address)": FunctionFragment;
37
+ "isYT(address)": FunctionFragment;
38
38
  "setExpiryDivisor(uint256)": FunctionFragment;
39
39
  "setInterestFeeRate(uint256)": FunctionFragment;
40
40
  "setTreasury(address)": FunctionFragment;
41
- "transferOwnership(address,bool,bool)": FunctionFragment;
42
41
  "treasury()": FunctionFragment;
43
42
  };
44
43
 
45
44
  encodeFunctionData(functionFragment: "OT_PREFIX", values?: undefined): string;
46
45
  encodeFunctionData(functionFragment: "YT_PREFIX", values?: undefined): string;
47
- encodeFunctionData(
48
- functionFragment: "claimOwnership",
49
- values?: undefined
50
- ): string;
51
46
  encodeFunctionData(
52
47
  functionFragment: "createYieldContract",
53
48
  values: [string, BigNumberish]
@@ -65,14 +60,15 @@ export interface PendleYieldContractFactoryInterface extends utils.Interface {
65
60
  values: [string, BigNumberish]
66
61
  ): string;
67
62
  encodeFunctionData(
68
- functionFragment: "interestFeeRate",
63
+ functionFragment: "governanceManager",
69
64
  values?: undefined
70
65
  ): string;
71
- encodeFunctionData(functionFragment: "owner", values?: undefined): string;
72
66
  encodeFunctionData(
73
- functionFragment: "pendingOwner",
67
+ functionFragment: "interestFeeRate",
74
68
  values?: undefined
75
69
  ): string;
70
+ encodeFunctionData(functionFragment: "isOT", values: [string]): string;
71
+ encodeFunctionData(functionFragment: "isYT", values: [string]): string;
76
72
  encodeFunctionData(
77
73
  functionFragment: "setExpiryDivisor",
78
74
  values: [BigNumberish]
@@ -82,18 +78,10 @@ export interface PendleYieldContractFactoryInterface extends utils.Interface {
82
78
  values: [BigNumberish]
83
79
  ): string;
84
80
  encodeFunctionData(functionFragment: "setTreasury", values: [string]): string;
85
- encodeFunctionData(
86
- functionFragment: "transferOwnership",
87
- values: [string, boolean, boolean]
88
- ): string;
89
81
  encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
90
82
 
91
83
  decodeFunctionResult(functionFragment: "OT_PREFIX", data: BytesLike): Result;
92
84
  decodeFunctionResult(functionFragment: "YT_PREFIX", data: BytesLike): Result;
93
- decodeFunctionResult(
94
- functionFragment: "claimOwnership",
95
- data: BytesLike
96
- ): Result;
97
85
  decodeFunctionResult(
98
86
  functionFragment: "createYieldContract",
99
87
  data: BytesLike
@@ -105,14 +93,15 @@ export interface PendleYieldContractFactoryInterface extends utils.Interface {
105
93
  decodeFunctionResult(functionFragment: "getOT", data: BytesLike): Result;
106
94
  decodeFunctionResult(functionFragment: "getYT", data: BytesLike): Result;
107
95
  decodeFunctionResult(
108
- functionFragment: "interestFeeRate",
96
+ functionFragment: "governanceManager",
109
97
  data: BytesLike
110
98
  ): Result;
111
- decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
112
99
  decodeFunctionResult(
113
- functionFragment: "pendingOwner",
100
+ functionFragment: "interestFeeRate",
114
101
  data: BytesLike
115
102
  ): Result;
103
+ decodeFunctionResult(functionFragment: "isOT", data: BytesLike): Result;
104
+ decodeFunctionResult(functionFragment: "isYT", data: BytesLike): Result;
116
105
  decodeFunctionResult(
117
106
  functionFragment: "setExpiryDivisor",
118
107
  data: BytesLike
@@ -125,27 +114,11 @@ export interface PendleYieldContractFactoryInterface extends utils.Interface {
125
114
  functionFragment: "setTreasury",
126
115
  data: BytesLike
127
116
  ): Result;
128
- decodeFunctionResult(
129
- functionFragment: "transferOwnership",
130
- data: BytesLike
131
- ): Result;
132
117
  decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
133
118
 
134
- events: {
135
- "OwnershipTransferred(address,address)": EventFragment;
136
- };
137
-
138
- getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
119
+ events: {};
139
120
  }
140
121
 
141
- export type OwnershipTransferredEvent = TypedEvent<
142
- [string, string],
143
- { previousOwner: string; newOwner: string }
144
- >;
145
-
146
- export type OwnershipTransferredEventFilter =
147
- TypedEventFilter<OwnershipTransferredEvent>;
148
-
149
122
  export interface PendleYieldContractFactory extends BaseContract {
150
123
  contractName: "PendleYieldContractFactory";
151
124
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -178,10 +151,6 @@ export interface PendleYieldContractFactory extends BaseContract {
178
151
 
179
152
  YT_PREFIX(overrides?: CallOverrides): Promise<[string]>;
180
153
 
181
- claimOwnership(
182
- overrides?: Overrides & { from?: string | Promise<string> }
183
- ): Promise<ContractTransaction>;
184
-
185
154
  createYieldContract(
186
155
  SCY: string,
187
156
  expiry: BigNumberish,
@@ -202,11 +171,13 @@ export interface PendleYieldContractFactory extends BaseContract {
202
171
  overrides?: CallOverrides
203
172
  ): Promise<[string]>;
204
173
 
174
+ governanceManager(overrides?: CallOverrides): Promise<[string]>;
175
+
205
176
  interestFeeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
206
177
 
207
- owner(overrides?: CallOverrides): Promise<[string]>;
178
+ isOT(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
208
179
 
209
- pendingOwner(overrides?: CallOverrides): Promise<[string]>;
180
+ isYT(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
210
181
 
211
182
  setExpiryDivisor(
212
183
  newExpiryDivisor: BigNumberish,
@@ -223,13 +194,6 @@ export interface PendleYieldContractFactory extends BaseContract {
223
194
  overrides?: Overrides & { from?: string | Promise<string> }
224
195
  ): Promise<ContractTransaction>;
225
196
 
226
- transferOwnership(
227
- newOwner: string,
228
- direct: boolean,
229
- renounce: boolean,
230
- overrides?: Overrides & { from?: string | Promise<string> }
231
- ): Promise<ContractTransaction>;
232
-
233
197
  treasury(overrides?: CallOverrides): Promise<[string]>;
234
198
  };
235
199
 
@@ -237,10 +201,6 @@ export interface PendleYieldContractFactory extends BaseContract {
237
201
 
238
202
  YT_PREFIX(overrides?: CallOverrides): Promise<string>;
239
203
 
240
- claimOwnership(
241
- overrides?: Overrides & { from?: string | Promise<string> }
242
- ): Promise<ContractTransaction>;
243
-
244
204
  createYieldContract(
245
205
  SCY: string,
246
206
  expiry: BigNumberish,
@@ -261,11 +221,13 @@ export interface PendleYieldContractFactory extends BaseContract {
261
221
  overrides?: CallOverrides
262
222
  ): Promise<string>;
263
223
 
224
+ governanceManager(overrides?: CallOverrides): Promise<string>;
225
+
264
226
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
265
227
 
266
- owner(overrides?: CallOverrides): Promise<string>;
228
+ isOT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
267
229
 
268
- pendingOwner(overrides?: CallOverrides): Promise<string>;
230
+ isYT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
269
231
 
270
232
  setExpiryDivisor(
271
233
  newExpiryDivisor: BigNumberish,
@@ -282,13 +244,6 @@ export interface PendleYieldContractFactory extends BaseContract {
282
244
  overrides?: Overrides & { from?: string | Promise<string> }
283
245
  ): Promise<ContractTransaction>;
284
246
 
285
- transferOwnership(
286
- newOwner: string,
287
- direct: boolean,
288
- renounce: boolean,
289
- overrides?: Overrides & { from?: string | Promise<string> }
290
- ): Promise<ContractTransaction>;
291
-
292
247
  treasury(overrides?: CallOverrides): Promise<string>;
293
248
 
294
249
  callStatic: {
@@ -296,8 +251,6 @@ export interface PendleYieldContractFactory extends BaseContract {
296
251
 
297
252
  YT_PREFIX(overrides?: CallOverrides): Promise<string>;
298
253
 
299
- claimOwnership(overrides?: CallOverrides): Promise<void>;
300
-
301
254
  createYieldContract(
302
255
  SCY: string,
303
256
  expiry: BigNumberish,
@@ -318,11 +271,13 @@ export interface PendleYieldContractFactory extends BaseContract {
318
271
  overrides?: CallOverrides
319
272
  ): Promise<string>;
320
273
 
274
+ governanceManager(overrides?: CallOverrides): Promise<string>;
275
+
321
276
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
322
277
 
323
- owner(overrides?: CallOverrides): Promise<string>;
278
+ isOT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
324
279
 
325
- pendingOwner(overrides?: CallOverrides): Promise<string>;
280
+ isYT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
326
281
 
327
282
  setExpiryDivisor(
328
283
  newExpiryDivisor: BigNumberish,
@@ -336,36 +291,16 @@ export interface PendleYieldContractFactory extends BaseContract {
336
291
 
337
292
  setTreasury(newTreasury: string, overrides?: CallOverrides): Promise<void>;
338
293
 
339
- transferOwnership(
340
- newOwner: string,
341
- direct: boolean,
342
- renounce: boolean,
343
- overrides?: CallOverrides
344
- ): Promise<void>;
345
-
346
294
  treasury(overrides?: CallOverrides): Promise<string>;
347
295
  };
348
296
 
349
- filters: {
350
- "OwnershipTransferred(address,address)"(
351
- previousOwner?: string | null,
352
- newOwner?: string | null
353
- ): OwnershipTransferredEventFilter;
354
- OwnershipTransferred(
355
- previousOwner?: string | null,
356
- newOwner?: string | null
357
- ): OwnershipTransferredEventFilter;
358
- };
297
+ filters: {};
359
298
 
360
299
  estimateGas: {
361
300
  OT_PREFIX(overrides?: CallOverrides): Promise<BigNumber>;
362
301
 
363
302
  YT_PREFIX(overrides?: CallOverrides): Promise<BigNumber>;
364
303
 
365
- claimOwnership(
366
- overrides?: Overrides & { from?: string | Promise<string> }
367
- ): Promise<BigNumber>;
368
-
369
304
  createYieldContract(
370
305
  SCY: string,
371
306
  expiry: BigNumberish,
@@ -386,11 +321,13 @@ export interface PendleYieldContractFactory extends BaseContract {
386
321
  overrides?: CallOverrides
387
322
  ): Promise<BigNumber>;
388
323
 
324
+ governanceManager(overrides?: CallOverrides): Promise<BigNumber>;
325
+
389
326
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
390
327
 
391
- owner(overrides?: CallOverrides): Promise<BigNumber>;
328
+ isOT(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
392
329
 
393
- pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
330
+ isYT(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
394
331
 
395
332
  setExpiryDivisor(
396
333
  newExpiryDivisor: BigNumberish,
@@ -407,13 +344,6 @@ export interface PendleYieldContractFactory extends BaseContract {
407
344
  overrides?: Overrides & { from?: string | Promise<string> }
408
345
  ): Promise<BigNumber>;
409
346
 
410
- transferOwnership(
411
- newOwner: string,
412
- direct: boolean,
413
- renounce: boolean,
414
- overrides?: Overrides & { from?: string | Promise<string> }
415
- ): Promise<BigNumber>;
416
-
417
347
  treasury(overrides?: CallOverrides): Promise<BigNumber>;
418
348
  };
419
349
 
@@ -422,10 +352,6 @@ export interface PendleYieldContractFactory extends BaseContract {
422
352
 
423
353
  YT_PREFIX(overrides?: CallOverrides): Promise<PopulatedTransaction>;
424
354
 
425
- claimOwnership(
426
- overrides?: Overrides & { from?: string | Promise<string> }
427
- ): Promise<PopulatedTransaction>;
428
-
429
355
  createYieldContract(
430
356
  SCY: string,
431
357
  expiry: BigNumberish,
@@ -446,11 +372,19 @@ export interface PendleYieldContractFactory extends BaseContract {
446
372
  overrides?: CallOverrides
447
373
  ): Promise<PopulatedTransaction>;
448
374
 
375
+ governanceManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
376
+
449
377
  interestFeeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
450
378
 
451
- owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
379
+ isOT(
380
+ arg0: string,
381
+ overrides?: CallOverrides
382
+ ): Promise<PopulatedTransaction>;
452
383
 
453
- pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
384
+ isYT(
385
+ arg0: string,
386
+ overrides?: CallOverrides
387
+ ): Promise<PopulatedTransaction>;
454
388
 
455
389
  setExpiryDivisor(
456
390
  newExpiryDivisor: BigNumberish,
@@ -467,13 +401,6 @@ export interface PendleYieldContractFactory extends BaseContract {
467
401
  overrides?: Overrides & { from?: string | Promise<string> }
468
402
  ): Promise<PopulatedTransaction>;
469
403
 
470
- transferOwnership(
471
- newOwner: string,
472
- direct: boolean,
473
- renounce: boolean,
474
- overrides?: Overrides & { from?: string | Promise<string> }
475
- ): Promise<PopulatedTransaction>;
476
-
477
404
  treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
478
405
  };
479
406
  }
@@ -35,6 +35,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
35
35
  "decreaseAllowance(address,uint256)": FunctionFragment;
36
36
  "expiry()": FunctionFragment;
37
37
  "factory()": FunctionFragment;
38
+ "getImpliedScyBalance(address)": FunctionFragment;
38
39
  "getRewardTokens()": FunctionFragment;
39
40
  "getScyIndexBeforeExpiry()": FunctionFragment;
40
41
  "globalReward(address)": FunctionFragment;
@@ -46,7 +47,8 @@ export interface PendleYieldTokenInterface extends utils.Interface {
46
47
  "name()": FunctionFragment;
47
48
  "paramL(uint256)": FunctionFragment;
48
49
  "redeemDueInterest(address)": FunctionFragment;
49
- "redeemDueRewards(address,address)": FunctionFragment;
50
+ "redeemDueInterestAndRewards(address)": FunctionFragment;
51
+ "redeemDueRewards(address)": FunctionFragment;
50
52
  "redeemYO(address)": FunctionFragment;
51
53
  "symbol()": FunctionFragment;
52
54
  "timeCreated()": FunctionFragment;
@@ -56,6 +58,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
56
58
  "transfer(address,uint256)": FunctionFragment;
57
59
  "transferFrom(address,address,uint256)": FunctionFragment;
58
60
  "updateGlobalReward()": FunctionFragment;
61
+ "updateUserInterest(address)": FunctionFragment;
59
62
  "updateUserReward(address)": FunctionFragment;
60
63
  "userReward(address,address)": FunctionFragment;
61
64
  "withdrawFeeToTreasury()": FunctionFragment;
@@ -80,6 +83,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
80
83
  ): string;
81
84
  encodeFunctionData(functionFragment: "expiry", values?: undefined): string;
82
85
  encodeFunctionData(functionFragment: "factory", values?: undefined): string;
86
+ encodeFunctionData(
87
+ functionFragment: "getImpliedScyBalance",
88
+ values: [string]
89
+ ): string;
83
90
  encodeFunctionData(
84
91
  functionFragment: "getRewardTokens",
85
92
  values?: undefined
@@ -118,9 +125,13 @@ export interface PendleYieldTokenInterface extends utils.Interface {
118
125
  functionFragment: "redeemDueInterest",
119
126
  values: [string]
120
127
  ): string;
128
+ encodeFunctionData(
129
+ functionFragment: "redeemDueInterestAndRewards",
130
+ values: [string]
131
+ ): string;
121
132
  encodeFunctionData(
122
133
  functionFragment: "redeemDueRewards",
123
- values: [string, string]
134
+ values: [string]
124
135
  ): string;
125
136
  encodeFunctionData(functionFragment: "redeemYO", values: [string]): string;
126
137
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
@@ -152,6 +163,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
152
163
  functionFragment: "updateGlobalReward",
153
164
  values?: undefined
154
165
  ): string;
166
+ encodeFunctionData(
167
+ functionFragment: "updateUserInterest",
168
+ values: [string]
169
+ ): string;
155
170
  encodeFunctionData(
156
171
  functionFragment: "updateUserReward",
157
172
  values: [string]
@@ -178,6 +193,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
178
193
  ): Result;
179
194
  decodeFunctionResult(functionFragment: "expiry", data: BytesLike): Result;
180
195
  decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result;
196
+ decodeFunctionResult(
197
+ functionFragment: "getImpliedScyBalance",
198
+ data: BytesLike
199
+ ): Result;
181
200
  decodeFunctionResult(
182
201
  functionFragment: "getRewardTokens",
183
202
  data: BytesLike
@@ -210,6 +229,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
210
229
  functionFragment: "redeemDueInterest",
211
230
  data: BytesLike
212
231
  ): Result;
232
+ decodeFunctionResult(
233
+ functionFragment: "redeemDueInterestAndRewards",
234
+ data: BytesLike
235
+ ): Result;
213
236
  decodeFunctionResult(
214
237
  functionFragment: "redeemDueRewards",
215
238
  data: BytesLike
@@ -241,6 +264,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
241
264
  functionFragment: "updateGlobalReward",
242
265
  data: BytesLike
243
266
  ): Result;
267
+ decodeFunctionResult(
268
+ functionFragment: "updateUserInterest",
269
+ data: BytesLike
270
+ ): Result;
244
271
  decodeFunctionResult(
245
272
  functionFragment: "updateUserReward",
246
273
  data: BytesLike
@@ -342,6 +369,11 @@ export interface PendleYieldToken extends BaseContract {
342
369
 
343
370
  factory(overrides?: CallOverrides): Promise<[string]>;
344
371
 
372
+ getImpliedScyBalance(
373
+ user: string,
374
+ overrides?: CallOverrides
375
+ ): Promise<[BigNumber]>;
376
+
345
377
  getRewardTokens(overrides?: CallOverrides): Promise<[string[]]>;
346
378
 
347
379
  getScyIndexBeforeExpiry(
@@ -382,9 +414,13 @@ export interface PendleYieldToken extends BaseContract {
382
414
  overrides?: Overrides & { from?: string | Promise<string> }
383
415
  ): Promise<ContractTransaction>;
384
416
 
417
+ redeemDueInterestAndRewards(
418
+ user: string,
419
+ overrides?: Overrides & { from?: string | Promise<string> }
420
+ ): Promise<ContractTransaction>;
421
+
385
422
  redeemDueRewards(
386
423
  user: string,
387
- receiver: string,
388
424
  overrides?: Overrides & { from?: string | Promise<string> }
389
425
  ): Promise<ContractTransaction>;
390
426
 
@@ -423,6 +459,11 @@ export interface PendleYieldToken extends BaseContract {
423
459
  overrides?: Overrides & { from?: string | Promise<string> }
424
460
  ): Promise<ContractTransaction>;
425
461
 
462
+ updateUserInterest(
463
+ user: string,
464
+ overrides?: Overrides & { from?: string | Promise<string> }
465
+ ): Promise<ContractTransaction>;
466
+
426
467
  updateUserReward(
427
468
  user: string,
428
469
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -481,6 +522,11 @@ export interface PendleYieldToken extends BaseContract {
481
522
 
482
523
  factory(overrides?: CallOverrides): Promise<string>;
483
524
 
525
+ getImpliedScyBalance(
526
+ user: string,
527
+ overrides?: CallOverrides
528
+ ): Promise<BigNumber>;
529
+
484
530
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
485
531
 
486
532
  getScyIndexBeforeExpiry(
@@ -521,9 +567,13 @@ export interface PendleYieldToken extends BaseContract {
521
567
  overrides?: Overrides & { from?: string | Promise<string> }
522
568
  ): Promise<ContractTransaction>;
523
569
 
570
+ redeemDueInterestAndRewards(
571
+ user: string,
572
+ overrides?: Overrides & { from?: string | Promise<string> }
573
+ ): Promise<ContractTransaction>;
574
+
524
575
  redeemDueRewards(
525
576
  user: string,
526
- receiver: string,
527
577
  overrides?: Overrides & { from?: string | Promise<string> }
528
578
  ): Promise<ContractTransaction>;
529
579
 
@@ -562,6 +612,11 @@ export interface PendleYieldToken extends BaseContract {
562
612
  overrides?: Overrides & { from?: string | Promise<string> }
563
613
  ): Promise<ContractTransaction>;
564
614
 
615
+ updateUserInterest(
616
+ user: string,
617
+ overrides?: Overrides & { from?: string | Promise<string> }
618
+ ): Promise<ContractTransaction>;
619
+
565
620
  updateUserReward(
566
621
  user: string,
567
622
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -620,6 +675,11 @@ export interface PendleYieldToken extends BaseContract {
620
675
 
621
676
  factory(overrides?: CallOverrides): Promise<string>;
622
677
 
678
+ getImpliedScyBalance(
679
+ user: string,
680
+ overrides?: CallOverrides
681
+ ): Promise<BigNumber>;
682
+
623
683
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
624
684
 
625
685
  getScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<BigNumber>;
@@ -658,9 +718,18 @@ export interface PendleYieldToken extends BaseContract {
658
718
  overrides?: CallOverrides
659
719
  ): Promise<BigNumber>;
660
720
 
721
+ redeemDueInterestAndRewards(
722
+ user: string,
723
+ overrides?: CallOverrides
724
+ ): Promise<
725
+ [BigNumber, BigNumber[]] & {
726
+ interestOut: BigNumber;
727
+ rewardsOut: BigNumber[];
728
+ }
729
+ >;
730
+
661
731
  redeemDueRewards(
662
732
  user: string,
663
- receiver: string,
664
733
  overrides?: CallOverrides
665
734
  ): Promise<BigNumber[]>;
666
735
 
@@ -694,6 +763,8 @@ export interface PendleYieldToken extends BaseContract {
694
763
 
695
764
  updateGlobalReward(overrides?: CallOverrides): Promise<void>;
696
765
 
766
+ updateUserInterest(user: string, overrides?: CallOverrides): Promise<void>;
767
+
697
768
  updateUserReward(user: string, overrides?: CallOverrides): Promise<void>;
698
769
 
699
770
  userReward(
@@ -767,6 +838,11 @@ export interface PendleYieldToken extends BaseContract {
767
838
 
768
839
  factory(overrides?: CallOverrides): Promise<BigNumber>;
769
840
 
841
+ getImpliedScyBalance(
842
+ user: string,
843
+ overrides?: CallOverrides
844
+ ): Promise<BigNumber>;
845
+
770
846
  getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
771
847
 
772
848
  getScyIndexBeforeExpiry(
@@ -802,9 +878,13 @@ export interface PendleYieldToken extends BaseContract {
802
878
  overrides?: Overrides & { from?: string | Promise<string> }
803
879
  ): Promise<BigNumber>;
804
880
 
881
+ redeemDueInterestAndRewards(
882
+ user: string,
883
+ overrides?: Overrides & { from?: string | Promise<string> }
884
+ ): Promise<BigNumber>;
885
+
805
886
  redeemDueRewards(
806
887
  user: string,
807
- receiver: string,
808
888
  overrides?: Overrides & { from?: string | Promise<string> }
809
889
  ): Promise<BigNumber>;
810
890
 
@@ -843,6 +923,11 @@ export interface PendleYieldToken extends BaseContract {
843
923
  overrides?: Overrides & { from?: string | Promise<string> }
844
924
  ): Promise<BigNumber>;
845
925
 
926
+ updateUserInterest(
927
+ user: string,
928
+ overrides?: Overrides & { from?: string | Promise<string> }
929
+ ): Promise<BigNumber>;
930
+
846
931
  updateUserReward(
847
932
  user: string,
848
933
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -898,6 +983,11 @@ export interface PendleYieldToken extends BaseContract {
898
983
 
899
984
  factory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
900
985
 
986
+ getImpliedScyBalance(
987
+ user: string,
988
+ overrides?: CallOverrides
989
+ ): Promise<PopulatedTransaction>;
990
+
901
991
  getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
902
992
 
903
993
  getScyIndexBeforeExpiry(
@@ -941,9 +1031,13 @@ export interface PendleYieldToken extends BaseContract {
941
1031
  overrides?: Overrides & { from?: string | Promise<string> }
942
1032
  ): Promise<PopulatedTransaction>;
943
1033
 
1034
+ redeemDueInterestAndRewards(
1035
+ user: string,
1036
+ overrides?: Overrides & { from?: string | Promise<string> }
1037
+ ): Promise<PopulatedTransaction>;
1038
+
944
1039
  redeemDueRewards(
945
1040
  user: string,
946
- receiver: string,
947
1041
  overrides?: Overrides & { from?: string | Promise<string> }
948
1042
  ): Promise<PopulatedTransaction>;
949
1043
 
@@ -982,6 +1076,11 @@ export interface PendleYieldToken extends BaseContract {
982
1076
  overrides?: Overrides & { from?: string | Promise<string> }
983
1077
  ): Promise<PopulatedTransaction>;
984
1078
 
1079
+ updateUserInterest(
1080
+ user: string,
1081
+ overrides?: Overrides & { from?: string | Promise<string> }
1082
+ ): Promise<PopulatedTransaction>;
1083
+
985
1084
  updateUserReward(
986
1085
  user: string,
987
1086
  overrides?: Overrides & { from?: string | Promise<string> }