@pendle/core-v2 0.5.1-beta-4 → 0.6.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 (126) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +2 -0
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +35 -20
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +39 -19
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +26 -14
  5. package/contracts/core/PendleBaseToken.sol +2 -2
  6. package/contracts/core/PendleMarket.sol +145 -61
  7. package/contracts/core/PendleMarketFactory.sol +30 -19
  8. package/contracts/core/{PendleOwnershipToken.sol → PendlePrincipalToken.sol} +14 -2
  9. package/contracts/core/PendleRouter.sol +23 -9
  10. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +21 -20
  11. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +22 -16
  12. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +13 -13
  13. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +107 -0
  14. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +14 -15
  15. package/contracts/core/PendleYieldContractFactory.sol +29 -14
  16. package/contracts/core/PendleYieldToken.sol +130 -76
  17. package/contracts/core/RouterStatic.sol +16 -157
  18. package/contracts/core/actions/ActionCallback.sol +36 -18
  19. package/contracts/core/actions/ActionCore.sol +41 -88
  20. package/contracts/core/actions/ActionRedeem.sol +36 -0
  21. package/contracts/core/actions/ActionYT.sol +41 -59
  22. package/contracts/core/actions/base/{ActionSCYAndOTBase.sol → ActionSCYAndPTBase.sol} +59 -45
  23. package/contracts/core/actions/base/{ActionSCYAndYOBase.sol → ActionSCYAndPYBase.sol} +57 -19
  24. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +31 -21
  25. package/contracts/interfaces/IPActionCore.sol +21 -28
  26. package/contracts/interfaces/IPActionRedeem.sol +17 -0
  27. package/contracts/interfaces/IPActionYT.sol +5 -12
  28. package/contracts/interfaces/IPAllAction.sol +2 -2
  29. package/contracts/interfaces/IPMarket.sol +33 -10
  30. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +2 -2
  31. package/contracts/interfaces/IPMarketFactory.sol +3 -1
  32. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  33. package/contracts/interfaces/{IPOwnershipToken.sol → IPPrincipalToken.sol} +1 -1
  34. package/contracts/interfaces/IPRouterStatic.sol +7 -82
  35. package/contracts/interfaces/IPYieldContractFactory.sol +10 -2
  36. package/contracts/interfaces/IPYieldToken.sol +14 -5
  37. package/contracts/interfaces/IWstETH.sol +10 -0
  38. package/contracts/libraries/JoeLibrary.sol +1 -1
  39. package/contracts/libraries/math/LogExpMath.sol +1 -1
  40. package/contracts/libraries/math/MarketApproxLib.sol +128 -88
  41. package/contracts/libraries/math/MarketMathAux.sol +13 -13
  42. package/contracts/libraries/math/MarketMathCore.sol +62 -93
  43. package/contracts/libraries/math/Math.sol +14 -2
  44. package/contracts/periphery/PendleGovernanceManager.sol +5 -3
  45. package/package.json +3 -2
  46. package/typechain-types/ActionCallback.ts +5 -5
  47. package/typechain-types/ActionCore.ts +312 -234
  48. package/typechain-types/ActionRedeem.ts +125 -0
  49. package/typechain-types/ActionSCYAndPYBase.ts +223 -0
  50. package/typechain-types/ActionSCYAndYOBase.ts +129 -3
  51. package/typechain-types/ActionSCYAndYTBase.ts +149 -3
  52. package/typechain-types/ActionYT.ts +192 -94
  53. package/typechain-types/IPActionCore.ts +183 -231
  54. package/typechain-types/IPActionRedeem.ts +125 -0
  55. package/typechain-types/IPActionYT.ts +43 -91
  56. package/typechain-types/IPAllAction.ts +258 -321
  57. package/typechain-types/IPMarket.ts +150 -50
  58. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  59. package/typechain-types/IPMarketFactory.ts +28 -6
  60. package/typechain-types/IPMarketSwapCallback.ts +5 -5
  61. package/typechain-types/{IPOwnershipToken.ts → IPPrincipalToken.ts} +5 -5
  62. package/typechain-types/IPRouterStatic.ts +50 -530
  63. package/typechain-types/IPYieldContractFactory.ts +85 -19
  64. package/typechain-types/IPYieldToken.ts +138 -37
  65. package/typechain-types/ISuperComposableYield.ts +13 -0
  66. package/typechain-types/IWstETH.ts +149 -0
  67. package/typechain-types/PendleAaveV3SCY.ts +110 -0
  68. package/typechain-types/PendleBaseToken.ts +1 -1
  69. package/typechain-types/PendleBenQiErc20SCY.ts +55 -12
  70. package/typechain-types/PendleBtrflyScy.ts +27 -23
  71. package/typechain-types/PendleGovernanceManager.ts +5 -5
  72. package/typechain-types/PendleMarket.ts +197 -100
  73. package/typechain-types/PendleMarketFactory.ts +96 -34
  74. package/typechain-types/{PendleOwnershipToken.ts → PendlePrincipalToken.ts} +15 -6
  75. package/typechain-types/PendleRouter.ts +19 -0
  76. package/typechain-types/PendleRouterRedeemUpg.ts +125 -0
  77. package/typechain-types/PendleStEthSCY.ts +872 -0
  78. package/typechain-types/PendleYearnVaultScy.ts +27 -23
  79. package/typechain-types/PendleYieldContractFactory.ts +94 -28
  80. package/typechain-types/PendleYieldToken.ts +142 -57
  81. package/typechain-types/RewardManager.ts +21 -0
  82. package/typechain-types/RouterStatic.ts +50 -530
  83. package/typechain-types/SCYBase.ts +25 -0
  84. package/typechain-types/SCYBaseWithRewards.ts +64 -0
  85. package/typechain-types/factories/ActionCallback__factory.ts +2 -2
  86. package/typechain-types/factories/ActionCore__factory.ts +263 -79
  87. package/typechain-types/factories/ActionRedeem__factory.ts +105 -0
  88. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +200 -0
  89. package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +148 -0
  90. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +173 -0
  91. package/typechain-types/factories/ActionYT__factory.ts +265 -56
  92. package/typechain-types/factories/IPActionCore__factory.ts +114 -78
  93. package/typechain-types/factories/IPActionRedeem__factory.ts +70 -0
  94. package/typechain-types/factories/IPActionYT__factory.ts +90 -54
  95. package/typechain-types/factories/IPAllAction__factory.ts +254 -138
  96. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  97. package/typechain-types/factories/IPMarketFactory__factory.ts +26 -1
  98. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
  99. package/typechain-types/factories/IPMarket__factory.ts +125 -13
  100. package/typechain-types/factories/{IPOwnershipToken__factory.ts → IPPrincipalToken__factory.ts} +8 -8
  101. package/typechain-types/factories/IPRouterStatic__factory.ts +12 -628
  102. package/typechain-types/factories/IPYieldContractFactory__factory.ts +72 -2
  103. package/typechain-types/factories/IPYieldToken__factory.ts +93 -7
  104. package/typechain-types/factories/ISuperComposableYield__factory.ts +13 -0
  105. package/typechain-types/factories/IWstETH__factory.ts +74 -0
  106. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +97 -3
  107. package/typechain-types/factories/PendleBaseToken__factory.ts +1 -1
  108. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +62 -7
  109. package/typechain-types/factories/PendleBtrflyScy__factory.ts +42 -19
  110. package/typechain-types/factories/PendleGovernanceManager__factory.ts +2 -2
  111. package/typechain-types/factories/PendleMarketFactory__factory.ts +66 -15
  112. package/typechain-types/factories/PendleMarket__factory.ts +170 -53
  113. package/typechain-types/factories/PendlePrincipalToken__factory.ts +540 -0
  114. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +112 -0
  115. package/typechain-types/factories/PendleRouter__factory.ts +23 -1
  116. package/typechain-types/factories/PendleStEthSCY__factory.ts +716 -0
  117. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +41 -18
  118. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +75 -5
  119. package/typechain-types/factories/PendleYieldToken__factory.ts +102 -33
  120. package/typechain-types/factories/RewardManager__factory.ts +13 -0
  121. package/typechain-types/factories/RouterStatic__factory.ts +13 -629
  122. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +60 -2
  123. package/typechain-types/factories/SCYBase__factory.ts +28 -2
  124. package/typechain-types/hardhat.d.ts +52 -16
  125. package/typechain-types/index.ts +14 -6
  126. package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
@@ -25,7 +25,7 @@ import type {
25
25
  export interface PendleYieldTokenInterface extends utils.Interface {
26
26
  contractName: "PendleYieldToken";
27
27
  functions: {
28
- "OT()": FunctionFragment;
28
+ "PT()": FunctionFragment;
29
29
  "SCY()": FunctionFragment;
30
30
  "allowance(address,address)": FunctionFragment;
31
31
  "approve(address,uint256)": FunctionFragment;
@@ -38,21 +38,22 @@ export interface PendleYieldTokenInterface extends utils.Interface {
38
38
  "getImpliedScyBalance(address)": FunctionFragment;
39
39
  "getInterestData(address)": FunctionFragment;
40
40
  "getRewardTokens()": FunctionFragment;
41
- "getScyIndexBeforeExpiry()": FunctionFragment;
41
+ "getScyIndex()": FunctionFragment;
42
42
  "getUserReward(address,address)": FunctionFragment;
43
43
  "increaseAllowance(address,uint256)": FunctionFragment;
44
44
  "isExpired()": FunctionFragment;
45
+ "lastRewardUpdateBlock()": FunctionFragment;
45
46
  "lastScyBalance()": FunctionFragment;
46
47
  "lastScyIndexBeforeExpiry()": FunctionFragment;
47
- "mintYO(address,address)": FunctionFragment;
48
+ "mintPY(address,address)": FunctionFragment;
48
49
  "name()": FunctionFragment;
49
- "paramL(uint256)": FunctionFragment;
50
50
  "redeemDueInterest(address)": FunctionFragment;
51
51
  "redeemDueInterestAndRewards(address)": FunctionFragment;
52
52
  "redeemDueRewards(address)": FunctionFragment;
53
- "redeemYO(address)": FunctionFragment;
53
+ "redeemPY(address)": FunctionFragment;
54
54
  "symbol()": FunctionFragment;
55
55
  "timeCreated()": FunctionFragment;
56
+ "totalInterestPostExpiry()": FunctionFragment;
56
57
  "totalProtocolFee()": FunctionFragment;
57
58
  "totalRewardsPostExpiry(address)": FunctionFragment;
58
59
  "totalSupply()": FunctionFragment;
@@ -64,7 +65,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
64
65
  "withdrawFeeToTreasury()": FunctionFragment;
65
66
  };
66
67
 
67
- encodeFunctionData(functionFragment: "OT", values?: undefined): string;
68
+ encodeFunctionData(functionFragment: "PT", values?: undefined): string;
68
69
  encodeFunctionData(functionFragment: "SCY", values?: undefined): string;
69
70
  encodeFunctionData(
70
71
  functionFragment: "allowance",
@@ -99,7 +100,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
99
100
  values?: undefined
100
101
  ): string;
101
102
  encodeFunctionData(
102
- functionFragment: "getScyIndexBeforeExpiry",
103
+ functionFragment: "getScyIndex",
103
104
  values?: undefined
104
105
  ): string;
105
106
  encodeFunctionData(
@@ -111,6 +112,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
111
112
  values: [string, BigNumberish]
112
113
  ): string;
113
114
  encodeFunctionData(functionFragment: "isExpired", values?: undefined): string;
115
+ encodeFunctionData(
116
+ functionFragment: "lastRewardUpdateBlock",
117
+ values?: undefined
118
+ ): string;
114
119
  encodeFunctionData(
115
120
  functionFragment: "lastScyBalance",
116
121
  values?: undefined
@@ -120,14 +125,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
120
125
  values?: undefined
121
126
  ): string;
122
127
  encodeFunctionData(
123
- functionFragment: "mintYO",
128
+ functionFragment: "mintPY",
124
129
  values: [string, string]
125
130
  ): string;
126
131
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
127
- encodeFunctionData(
128
- functionFragment: "paramL",
129
- values: [BigNumberish]
130
- ): string;
131
132
  encodeFunctionData(
132
133
  functionFragment: "redeemDueInterest",
133
134
  values: [string]
@@ -140,12 +141,16 @@ export interface PendleYieldTokenInterface extends utils.Interface {
140
141
  functionFragment: "redeemDueRewards",
141
142
  values: [string]
142
143
  ): string;
143
- encodeFunctionData(functionFragment: "redeemYO", values: [string]): string;
144
+ encodeFunctionData(functionFragment: "redeemPY", values: [string]): string;
144
145
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
145
146
  encodeFunctionData(
146
147
  functionFragment: "timeCreated",
147
148
  values?: undefined
148
149
  ): string;
150
+ encodeFunctionData(
151
+ functionFragment: "totalInterestPostExpiry",
152
+ values?: undefined
153
+ ): string;
149
154
  encodeFunctionData(
150
155
  functionFragment: "totalProtocolFee",
151
156
  values?: undefined
@@ -183,7 +188,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
183
188
  values?: undefined
184
189
  ): string;
185
190
 
186
- decodeFunctionResult(functionFragment: "OT", data: BytesLike): Result;
191
+ decodeFunctionResult(functionFragment: "PT", data: BytesLike): Result;
187
192
  decodeFunctionResult(functionFragment: "SCY", data: BytesLike): Result;
188
193
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
189
194
  decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
@@ -212,7 +217,7 @@ export interface PendleYieldTokenInterface extends utils.Interface {
212
217
  data: BytesLike
213
218
  ): Result;
214
219
  decodeFunctionResult(
215
- functionFragment: "getScyIndexBeforeExpiry",
220
+ functionFragment: "getScyIndex",
216
221
  data: BytesLike
217
222
  ): Result;
218
223
  decodeFunctionResult(
@@ -224,6 +229,10 @@ export interface PendleYieldTokenInterface extends utils.Interface {
224
229
  data: BytesLike
225
230
  ): Result;
226
231
  decodeFunctionResult(functionFragment: "isExpired", data: BytesLike): Result;
232
+ decodeFunctionResult(
233
+ functionFragment: "lastRewardUpdateBlock",
234
+ data: BytesLike
235
+ ): Result;
227
236
  decodeFunctionResult(
228
237
  functionFragment: "lastScyBalance",
229
238
  data: BytesLike
@@ -232,9 +241,8 @@ export interface PendleYieldTokenInterface extends utils.Interface {
232
241
  functionFragment: "lastScyIndexBeforeExpiry",
233
242
  data: BytesLike
234
243
  ): Result;
235
- decodeFunctionResult(functionFragment: "mintYO", data: BytesLike): Result;
244
+ decodeFunctionResult(functionFragment: "mintPY", data: BytesLike): Result;
236
245
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
237
- decodeFunctionResult(functionFragment: "paramL", data: BytesLike): Result;
238
246
  decodeFunctionResult(
239
247
  functionFragment: "redeemDueInterest",
240
248
  data: BytesLike
@@ -247,12 +255,16 @@ export interface PendleYieldTokenInterface extends utils.Interface {
247
255
  functionFragment: "redeemDueRewards",
248
256
  data: BytesLike
249
257
  ): Result;
250
- decodeFunctionResult(functionFragment: "redeemYO", data: BytesLike): Result;
258
+ decodeFunctionResult(functionFragment: "redeemPY", data: BytesLike): Result;
251
259
  decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
252
260
  decodeFunctionResult(
253
261
  functionFragment: "timeCreated",
254
262
  data: BytesLike
255
263
  ): Result;
264
+ decodeFunctionResult(
265
+ functionFragment: "totalInterestPostExpiry",
266
+ data: BytesLike
267
+ ): Result;
256
268
  decodeFunctionResult(
257
269
  functionFragment: "totalProtocolFee",
258
270
  data: BytesLike
@@ -289,11 +301,17 @@ export interface PendleYieldTokenInterface extends utils.Interface {
289
301
 
290
302
  events: {
291
303
  "Approval(address,address,uint256)": EventFragment;
304
+ "RedeemInterest(address,uint256)": EventFragment;
305
+ "RedeemReward(address,uint256[])": EventFragment;
292
306
  "Transfer(address,address,uint256)": EventFragment;
307
+ "WithdrawFeeToTreasury(uint256[],uint256)": EventFragment;
293
308
  };
294
309
 
295
310
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
311
+ getEvent(nameOrSignatureOrTopic: "RedeemInterest"): EventFragment;
312
+ getEvent(nameOrSignatureOrTopic: "RedeemReward"): EventFragment;
296
313
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
314
+ getEvent(nameOrSignatureOrTopic: "WithdrawFeeToTreasury"): EventFragment;
297
315
  }
298
316
 
299
317
  export type ApprovalEvent = TypedEvent<
@@ -303,6 +321,20 @@ export type ApprovalEvent = TypedEvent<
303
321
 
304
322
  export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
305
323
 
324
+ export type RedeemInterestEvent = TypedEvent<
325
+ [string, BigNumber],
326
+ { user: string; interestOut: BigNumber }
327
+ >;
328
+
329
+ export type RedeemInterestEventFilter = TypedEventFilter<RedeemInterestEvent>;
330
+
331
+ export type RedeemRewardEvent = TypedEvent<
332
+ [string, BigNumber[]],
333
+ { user: string; amountRewardsOut: BigNumber[] }
334
+ >;
335
+
336
+ export type RedeemRewardEventFilter = TypedEventFilter<RedeemRewardEvent>;
337
+
306
338
  export type TransferEvent = TypedEvent<
307
339
  [string, string, BigNumber],
308
340
  { from: string; to: string; value: BigNumber }
@@ -310,6 +342,14 @@ export type TransferEvent = TypedEvent<
310
342
 
311
343
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
312
344
 
345
+ export type WithdrawFeeToTreasuryEvent = TypedEvent<
346
+ [BigNumber[], BigNumber],
347
+ { amountRewardsOut: BigNumber[]; scyOut: BigNumber }
348
+ >;
349
+
350
+ export type WithdrawFeeToTreasuryEventFilter =
351
+ TypedEventFilter<WithdrawFeeToTreasuryEvent>;
352
+
313
353
  export interface PendleYieldToken extends BaseContract {
314
354
  contractName: "PendleYieldToken";
315
355
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -338,7 +378,7 @@ export interface PendleYieldToken extends BaseContract {
338
378
  removeListener: OnEvent<this>;
339
379
 
340
380
  functions: {
341
- OT(overrides?: CallOverrides): Promise<[string]>;
381
+ PT(overrides?: CallOverrides): Promise<[string]>;
342
382
 
343
383
  SCY(overrides?: CallOverrides): Promise<[string]>;
344
384
 
@@ -392,7 +432,7 @@ export interface PendleYieldToken extends BaseContract {
392
432
 
393
433
  getRewardTokens(overrides?: CallOverrides): Promise<[string[]]>;
394
434
 
395
- getScyIndexBeforeExpiry(
435
+ getScyIndex(
396
436
  overrides?: Overrides & { from?: string | Promise<string> }
397
437
  ): Promise<ContractTransaction>;
398
438
 
@@ -413,22 +453,22 @@ export interface PendleYieldToken extends BaseContract {
413
453
  overrides?: Overrides & { from?: string | Promise<string> }
414
454
  ): Promise<ContractTransaction>;
415
455
 
416
- isExpired(overrides?: CallOverrides): Promise<[boolean] & { res: boolean }>;
456
+ isExpired(overrides?: CallOverrides): Promise<[boolean]>;
457
+
458
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
417
459
 
418
460
  lastScyBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
419
461
 
420
462
  lastScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<[BigNumber]>;
421
463
 
422
- mintYO(
423
- receiverOT: string,
464
+ mintPY(
465
+ receiverPT: string,
424
466
  receiverYT: string,
425
467
  overrides?: Overrides & { from?: string | Promise<string> }
426
468
  ): Promise<ContractTransaction>;
427
469
 
428
470
  name(overrides?: CallOverrides): Promise<[string]>;
429
471
 
430
- paramL(arg0: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>;
431
-
432
472
  redeemDueInterest(
433
473
  user: string,
434
474
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -444,7 +484,7 @@ export interface PendleYieldToken extends BaseContract {
444
484
  overrides?: Overrides & { from?: string | Promise<string> }
445
485
  ): Promise<ContractTransaction>;
446
486
 
447
- redeemYO(
487
+ redeemPY(
448
488
  receiver: string,
449
489
  overrides?: Overrides & { from?: string | Promise<string> }
450
490
  ): Promise<ContractTransaction>;
@@ -453,6 +493,8 @@ export interface PendleYieldToken extends BaseContract {
453
493
 
454
494
  timeCreated(overrides?: CallOverrides): Promise<[BigNumber]>;
455
495
 
496
+ totalInterestPostExpiry(overrides?: CallOverrides): Promise<[BigNumber]>;
497
+
456
498
  totalProtocolFee(overrides?: CallOverrides): Promise<[BigNumber]>;
457
499
 
458
500
  totalRewardsPostExpiry(
@@ -494,7 +536,7 @@ export interface PendleYieldToken extends BaseContract {
494
536
  ): Promise<ContractTransaction>;
495
537
  };
496
538
 
497
- OT(overrides?: CallOverrides): Promise<string>;
539
+ PT(overrides?: CallOverrides): Promise<string>;
498
540
 
499
541
  SCY(overrides?: CallOverrides): Promise<string>;
500
542
 
@@ -545,7 +587,7 @@ export interface PendleYieldToken extends BaseContract {
545
587
 
546
588
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
547
589
 
548
- getScyIndexBeforeExpiry(
590
+ getScyIndex(
549
591
  overrides?: Overrides & { from?: string | Promise<string> }
550
592
  ): Promise<ContractTransaction>;
551
593
 
@@ -565,20 +607,20 @@ export interface PendleYieldToken extends BaseContract {
565
607
 
566
608
  isExpired(overrides?: CallOverrides): Promise<boolean>;
567
609
 
610
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
611
+
568
612
  lastScyBalance(overrides?: CallOverrides): Promise<BigNumber>;
569
613
 
570
614
  lastScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<BigNumber>;
571
615
 
572
- mintYO(
573
- receiverOT: string,
616
+ mintPY(
617
+ receiverPT: string,
574
618
  receiverYT: string,
575
619
  overrides?: Overrides & { from?: string | Promise<string> }
576
620
  ): Promise<ContractTransaction>;
577
621
 
578
622
  name(overrides?: CallOverrides): Promise<string>;
579
623
 
580
- paramL(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
581
-
582
624
  redeemDueInterest(
583
625
  user: string,
584
626
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -594,7 +636,7 @@ export interface PendleYieldToken extends BaseContract {
594
636
  overrides?: Overrides & { from?: string | Promise<string> }
595
637
  ): Promise<ContractTransaction>;
596
638
 
597
- redeemYO(
639
+ redeemPY(
598
640
  receiver: string,
599
641
  overrides?: Overrides & { from?: string | Promise<string> }
600
642
  ): Promise<ContractTransaction>;
@@ -603,6 +645,8 @@ export interface PendleYieldToken extends BaseContract {
603
645
 
604
646
  timeCreated(overrides?: CallOverrides): Promise<BigNumber>;
605
647
 
648
+ totalInterestPostExpiry(overrides?: CallOverrides): Promise<BigNumber>;
649
+
606
650
  totalProtocolFee(overrides?: CallOverrides): Promise<BigNumber>;
607
651
 
608
652
  totalRewardsPostExpiry(
@@ -644,7 +688,7 @@ export interface PendleYieldToken extends BaseContract {
644
688
  ): Promise<ContractTransaction>;
645
689
 
646
690
  callStatic: {
647
- OT(overrides?: CallOverrides): Promise<string>;
691
+ PT(overrides?: CallOverrides): Promise<string>;
648
692
 
649
693
  SCY(overrides?: CallOverrides): Promise<string>;
650
694
 
@@ -698,7 +742,14 @@ export interface PendleYieldToken extends BaseContract {
698
742
 
699
743
  getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
700
744
 
701
- getScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<BigNumber>;
745
+ getScyIndex(
746
+ overrides?: CallOverrides
747
+ ): Promise<
748
+ [BigNumber, BigNumber] & {
749
+ currentIndex: BigNumber;
750
+ lastIndexBeforeExpiry: BigNumber;
751
+ }
752
+ >;
702
753
 
703
754
  getUserReward(
704
755
  user: string,
@@ -719,20 +770,20 @@ export interface PendleYieldToken extends BaseContract {
719
770
 
720
771
  isExpired(overrides?: CallOverrides): Promise<boolean>;
721
772
 
773
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
774
+
722
775
  lastScyBalance(overrides?: CallOverrides): Promise<BigNumber>;
723
776
 
724
777
  lastScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<BigNumber>;
725
778
 
726
- mintYO(
727
- receiverOT: string,
779
+ mintPY(
780
+ receiverPT: string,
728
781
  receiverYT: string,
729
782
  overrides?: CallOverrides
730
783
  ): Promise<BigNumber>;
731
784
 
732
785
  name(overrides?: CallOverrides): Promise<string>;
733
786
 
734
- paramL(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
735
-
736
787
  redeemDueInterest(
737
788
  user: string,
738
789
  overrides?: CallOverrides
@@ -753,12 +804,14 @@ export interface PendleYieldToken extends BaseContract {
753
804
  overrides?: CallOverrides
754
805
  ): Promise<BigNumber[]>;
755
806
 
756
- redeemYO(receiver: string, overrides?: CallOverrides): Promise<BigNumber>;
807
+ redeemPY(receiver: string, overrides?: CallOverrides): Promise<BigNumber>;
757
808
 
758
809
  symbol(overrides?: CallOverrides): Promise<string>;
759
810
 
760
811
  timeCreated(overrides?: CallOverrides): Promise<BigNumber>;
761
812
 
813
+ totalInterestPostExpiry(overrides?: CallOverrides): Promise<BigNumber>;
814
+
762
815
  totalProtocolFee(overrides?: CallOverrides): Promise<BigNumber>;
763
816
 
764
817
  totalRewardsPostExpiry(
@@ -802,6 +855,24 @@ export interface PendleYieldToken extends BaseContract {
802
855
  value?: null
803
856
  ): ApprovalEventFilter;
804
857
 
858
+ "RedeemInterest(address,uint256)"(
859
+ user?: string | null,
860
+ interestOut?: null
861
+ ): RedeemInterestEventFilter;
862
+ RedeemInterest(
863
+ user?: string | null,
864
+ interestOut?: null
865
+ ): RedeemInterestEventFilter;
866
+
867
+ "RedeemReward(address,uint256[])"(
868
+ user?: string | null,
869
+ amountRewardsOut?: null
870
+ ): RedeemRewardEventFilter;
871
+ RedeemReward(
872
+ user?: string | null,
873
+ amountRewardsOut?: null
874
+ ): RedeemRewardEventFilter;
875
+
805
876
  "Transfer(address,address,uint256)"(
806
877
  from?: string | null,
807
878
  to?: string | null,
@@ -812,10 +883,19 @@ export interface PendleYieldToken extends BaseContract {
812
883
  to?: string | null,
813
884
  value?: null
814
885
  ): TransferEventFilter;
886
+
887
+ "WithdrawFeeToTreasury(uint256[],uint256)"(
888
+ amountRewardsOut?: null,
889
+ scyOut?: null
890
+ ): WithdrawFeeToTreasuryEventFilter;
891
+ WithdrawFeeToTreasury(
892
+ amountRewardsOut?: null,
893
+ scyOut?: null
894
+ ): WithdrawFeeToTreasuryEventFilter;
815
895
  };
816
896
 
817
897
  estimateGas: {
818
- OT(overrides?: CallOverrides): Promise<BigNumber>;
898
+ PT(overrides?: CallOverrides): Promise<BigNumber>;
819
899
 
820
900
  SCY(overrides?: CallOverrides): Promise<BigNumber>;
821
901
 
@@ -862,7 +942,7 @@ export interface PendleYieldToken extends BaseContract {
862
942
 
863
943
  getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
864
944
 
865
- getScyIndexBeforeExpiry(
945
+ getScyIndex(
866
946
  overrides?: Overrides & { from?: string | Promise<string> }
867
947
  ): Promise<BigNumber>;
868
948
 
@@ -880,20 +960,20 @@ export interface PendleYieldToken extends BaseContract {
880
960
 
881
961
  isExpired(overrides?: CallOverrides): Promise<BigNumber>;
882
962
 
963
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
964
+
883
965
  lastScyBalance(overrides?: CallOverrides): Promise<BigNumber>;
884
966
 
885
967
  lastScyIndexBeforeExpiry(overrides?: CallOverrides): Promise<BigNumber>;
886
968
 
887
- mintYO(
888
- receiverOT: string,
969
+ mintPY(
970
+ receiverPT: string,
889
971
  receiverYT: string,
890
972
  overrides?: Overrides & { from?: string | Promise<string> }
891
973
  ): Promise<BigNumber>;
892
974
 
893
975
  name(overrides?: CallOverrides): Promise<BigNumber>;
894
976
 
895
- paramL(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
896
-
897
977
  redeemDueInterest(
898
978
  user: string,
899
979
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -909,7 +989,7 @@ export interface PendleYieldToken extends BaseContract {
909
989
  overrides?: Overrides & { from?: string | Promise<string> }
910
990
  ): Promise<BigNumber>;
911
991
 
912
- redeemYO(
992
+ redeemPY(
913
993
  receiver: string,
914
994
  overrides?: Overrides & { from?: string | Promise<string> }
915
995
  ): Promise<BigNumber>;
@@ -918,6 +998,8 @@ export interface PendleYieldToken extends BaseContract {
918
998
 
919
999
  timeCreated(overrides?: CallOverrides): Promise<BigNumber>;
920
1000
 
1001
+ totalInterestPostExpiry(overrides?: CallOverrides): Promise<BigNumber>;
1002
+
921
1003
  totalProtocolFee(overrides?: CallOverrides): Promise<BigNumber>;
922
1004
 
923
1005
  totalRewardsPostExpiry(
@@ -960,7 +1042,7 @@ export interface PendleYieldToken extends BaseContract {
960
1042
  };
961
1043
 
962
1044
  populateTransaction: {
963
- OT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1045
+ PT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
964
1046
 
965
1047
  SCY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
966
1048
 
@@ -1010,7 +1092,7 @@ export interface PendleYieldToken extends BaseContract {
1010
1092
 
1011
1093
  getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1012
1094
 
1013
- getScyIndexBeforeExpiry(
1095
+ getScyIndex(
1014
1096
  overrides?: Overrides & { from?: string | Promise<string> }
1015
1097
  ): Promise<PopulatedTransaction>;
1016
1098
 
@@ -1028,25 +1110,24 @@ export interface PendleYieldToken extends BaseContract {
1028
1110
 
1029
1111
  isExpired(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1030
1112
 
1113
+ lastRewardUpdateBlock(
1114
+ overrides?: CallOverrides
1115
+ ): Promise<PopulatedTransaction>;
1116
+
1031
1117
  lastScyBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1032
1118
 
1033
1119
  lastScyIndexBeforeExpiry(
1034
1120
  overrides?: CallOverrides
1035
1121
  ): Promise<PopulatedTransaction>;
1036
1122
 
1037
- mintYO(
1038
- receiverOT: string,
1123
+ mintPY(
1124
+ receiverPT: string,
1039
1125
  receiverYT: string,
1040
1126
  overrides?: Overrides & { from?: string | Promise<string> }
1041
1127
  ): Promise<PopulatedTransaction>;
1042
1128
 
1043
1129
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1044
1130
 
1045
- paramL(
1046
- arg0: BigNumberish,
1047
- overrides?: CallOverrides
1048
- ): Promise<PopulatedTransaction>;
1049
-
1050
1131
  redeemDueInterest(
1051
1132
  user: string,
1052
1133
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -1062,7 +1143,7 @@ export interface PendleYieldToken extends BaseContract {
1062
1143
  overrides?: Overrides & { from?: string | Promise<string> }
1063
1144
  ): Promise<PopulatedTransaction>;
1064
1145
 
1065
- redeemYO(
1146
+ redeemPY(
1066
1147
  receiver: string,
1067
1148
  overrides?: Overrides & { from?: string | Promise<string> }
1068
1149
  ): Promise<PopulatedTransaction>;
@@ -1071,6 +1152,10 @@ export interface PendleYieldToken extends BaseContract {
1071
1152
 
1072
1153
  timeCreated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1073
1154
 
1155
+ totalInterestPostExpiry(
1156
+ overrides?: CallOverrides
1157
+ ): Promise<PopulatedTransaction>;
1158
+
1074
1159
  totalProtocolFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1075
1160
 
1076
1161
  totalRewardsPostExpiry(
@@ -25,6 +25,7 @@ export interface RewardManagerInterface extends utils.Interface {
25
25
  "getGlobalReward(address)": FunctionFragment;
26
26
  "getRewardTokens()": FunctionFragment;
27
27
  "getUserReward(address,address)": FunctionFragment;
28
+ "lastRewardUpdateBlock()": FunctionFragment;
28
29
  };
29
30
 
30
31
  encodeFunctionData(
@@ -39,6 +40,10 @@ export interface RewardManagerInterface extends utils.Interface {
39
40
  functionFragment: "getUserReward",
40
41
  values: [string, string]
41
42
  ): string;
43
+ encodeFunctionData(
44
+ functionFragment: "lastRewardUpdateBlock",
45
+ values?: undefined
46
+ ): string;
42
47
 
43
48
  decodeFunctionResult(
44
49
  functionFragment: "getGlobalReward",
@@ -52,6 +57,10 @@ export interface RewardManagerInterface extends utils.Interface {
52
57
  functionFragment: "getUserReward",
53
58
  data: BytesLike
54
59
  ): Result;
60
+ decodeFunctionResult(
61
+ functionFragment: "lastRewardUpdateBlock",
62
+ data: BytesLike
63
+ ): Result;
55
64
 
56
65
  events: {};
57
66
  }
@@ -103,6 +112,8 @@ export interface RewardManager extends BaseContract {
103
112
  accruedReward: BigNumber;
104
113
  }
105
114
  >;
115
+
116
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
106
117
  };
107
118
 
108
119
  getGlobalReward(
@@ -122,6 +133,8 @@ export interface RewardManager extends BaseContract {
122
133
  [BigNumber, BigNumber] & { lastIndex: BigNumber; accruedReward: BigNumber }
123
134
  >;
124
135
 
136
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
137
+
125
138
  callStatic: {
126
139
  getGlobalReward(
127
140
  rewardToken: string,
@@ -142,6 +155,8 @@ export interface RewardManager extends BaseContract {
142
155
  accruedReward: BigNumber;
143
156
  }
144
157
  >;
158
+
159
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
145
160
  };
146
161
 
147
162
  filters: {};
@@ -159,6 +174,8 @@ export interface RewardManager extends BaseContract {
159
174
  rewardToken: string,
160
175
  overrides?: CallOverrides
161
176
  ): Promise<BigNumber>;
177
+
178
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
162
179
  };
163
180
 
164
181
  populateTransaction: {
@@ -174,5 +191,9 @@ export interface RewardManager extends BaseContract {
174
191
  rewardToken: string,
175
192
  overrides?: CallOverrides
176
193
  ): Promise<PopulatedTransaction>;
194
+
195
+ lastRewardUpdateBlock(
196
+ overrides?: CallOverrides
197
+ ): Promise<PopulatedTransaction>;
177
198
  };
178
199
  }