@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
@@ -28,6 +28,7 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
28
28
  "allowance(address,address)": FunctionFragment;
29
29
  "approve(address,uint256)": FunctionFragment;
30
30
  "assetDecimals()": FunctionFragment;
31
+ "assetId()": FunctionFragment;
31
32
  "balanceOf(address)": FunctionFragment;
32
33
  "decimals()": FunctionFragment;
33
34
  "getBaseTokens()": FunctionFragment;
@@ -61,6 +62,7 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
61
62
  functionFragment: "assetDecimals",
62
63
  values?: undefined
63
64
  ): string;
65
+ encodeFunctionData(functionFragment: "assetId", values?: undefined): string;
64
66
  encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
65
67
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
66
68
  encodeFunctionData(
@@ -132,6 +134,7 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
132
134
  functionFragment: "assetDecimals",
133
135
  data: BytesLike
134
136
  ): Result;
137
+ decodeFunctionResult(functionFragment: "assetId", data: BytesLike): Result;
135
138
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
136
139
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
137
140
  decodeFunctionResult(
@@ -250,6 +253,8 @@ export interface ISuperComposableYield extends BaseContract {
250
253
 
251
254
  assetDecimals(overrides?: CallOverrides): Promise<[number]>;
252
255
 
256
+ assetId(overrides?: CallOverrides): Promise<[string]>;
257
+
253
258
  balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
254
259
 
255
260
  decimals(overrides?: CallOverrides): Promise<[number]>;
@@ -347,6 +352,8 @@ export interface ISuperComposableYield extends BaseContract {
347
352
 
348
353
  assetDecimals(overrides?: CallOverrides): Promise<number>;
349
354
 
355
+ assetId(overrides?: CallOverrides): Promise<string>;
356
+
350
357
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
351
358
 
352
359
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -441,6 +448,8 @@ export interface ISuperComposableYield extends BaseContract {
441
448
 
442
449
  assetDecimals(overrides?: CallOverrides): Promise<number>;
443
450
 
451
+ assetId(overrides?: CallOverrides): Promise<string>;
452
+
444
453
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
445
454
 
446
455
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -553,6 +562,8 @@ export interface ISuperComposableYield extends BaseContract {
553
562
 
554
563
  assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
555
564
 
565
+ assetId(overrides?: CallOverrides): Promise<BigNumber>;
566
+
556
567
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
557
568
 
558
569
  decimals(overrides?: CallOverrides): Promise<BigNumber>;
@@ -651,6 +662,8 @@ export interface ISuperComposableYield extends BaseContract {
651
662
 
652
663
  assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
653
664
 
665
+ assetId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
666
+
654
667
  balanceOf(
655
668
  account: string,
656
669
  overrides?: CallOverrides
@@ -0,0 +1,149 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export interface IWstETHInterface extends utils.Interface {
26
+ contractName: "IWstETH";
27
+ functions: {
28
+ "stEthPerToken()": FunctionFragment;
29
+ "unwrap(uint256)": FunctionFragment;
30
+ "wrap(uint256)": FunctionFragment;
31
+ };
32
+
33
+ encodeFunctionData(
34
+ functionFragment: "stEthPerToken",
35
+ values?: undefined
36
+ ): string;
37
+ encodeFunctionData(
38
+ functionFragment: "unwrap",
39
+ values: [BigNumberish]
40
+ ): string;
41
+ encodeFunctionData(functionFragment: "wrap", values: [BigNumberish]): string;
42
+
43
+ decodeFunctionResult(
44
+ functionFragment: "stEthPerToken",
45
+ data: BytesLike
46
+ ): Result;
47
+ decodeFunctionResult(functionFragment: "unwrap", data: BytesLike): Result;
48
+ decodeFunctionResult(functionFragment: "wrap", data: BytesLike): Result;
49
+
50
+ events: {};
51
+ }
52
+
53
+ export interface IWstETH extends BaseContract {
54
+ contractName: "IWstETH";
55
+ connect(signerOrProvider: Signer | Provider | string): this;
56
+ attach(addressOrName: string): this;
57
+ deployed(): Promise<this>;
58
+
59
+ interface: IWstETHInterface;
60
+
61
+ queryFilter<TEvent extends TypedEvent>(
62
+ event: TypedEventFilter<TEvent>,
63
+ fromBlockOrBlockhash?: string | number | undefined,
64
+ toBlock?: string | number | undefined
65
+ ): Promise<Array<TEvent>>;
66
+
67
+ listeners<TEvent extends TypedEvent>(
68
+ eventFilter?: TypedEventFilter<TEvent>
69
+ ): Array<TypedListener<TEvent>>;
70
+ listeners(eventName?: string): Array<Listener>;
71
+ removeAllListeners<TEvent extends TypedEvent>(
72
+ eventFilter: TypedEventFilter<TEvent>
73
+ ): this;
74
+ removeAllListeners(eventName?: string): this;
75
+ off: OnEvent<this>;
76
+ on: OnEvent<this>;
77
+ once: OnEvent<this>;
78
+ removeListener: OnEvent<this>;
79
+
80
+ functions: {
81
+ stEthPerToken(overrides?: CallOverrides): Promise<[BigNumber]>;
82
+
83
+ unwrap(
84
+ _wstETHAmount: BigNumberish,
85
+ overrides?: Overrides & { from?: string | Promise<string> }
86
+ ): Promise<ContractTransaction>;
87
+
88
+ wrap(
89
+ _stETHAmount: BigNumberish,
90
+ overrides?: Overrides & { from?: string | Promise<string> }
91
+ ): Promise<ContractTransaction>;
92
+ };
93
+
94
+ stEthPerToken(overrides?: CallOverrides): Promise<BigNumber>;
95
+
96
+ unwrap(
97
+ _wstETHAmount: BigNumberish,
98
+ overrides?: Overrides & { from?: string | Promise<string> }
99
+ ): Promise<ContractTransaction>;
100
+
101
+ wrap(
102
+ _stETHAmount: BigNumberish,
103
+ overrides?: Overrides & { from?: string | Promise<string> }
104
+ ): Promise<ContractTransaction>;
105
+
106
+ callStatic: {
107
+ stEthPerToken(overrides?: CallOverrides): Promise<BigNumber>;
108
+
109
+ unwrap(
110
+ _wstETHAmount: BigNumberish,
111
+ overrides?: CallOverrides
112
+ ): Promise<BigNumber>;
113
+
114
+ wrap(
115
+ _stETHAmount: BigNumberish,
116
+ overrides?: CallOverrides
117
+ ): Promise<BigNumber>;
118
+ };
119
+
120
+ filters: {};
121
+
122
+ estimateGas: {
123
+ stEthPerToken(overrides?: CallOverrides): Promise<BigNumber>;
124
+
125
+ unwrap(
126
+ _wstETHAmount: BigNumberish,
127
+ overrides?: Overrides & { from?: string | Promise<string> }
128
+ ): Promise<BigNumber>;
129
+
130
+ wrap(
131
+ _stETHAmount: BigNumberish,
132
+ overrides?: Overrides & { from?: string | Promise<string> }
133
+ ): Promise<BigNumber>;
134
+ };
135
+
136
+ populateTransaction: {
137
+ stEthPerToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
138
+
139
+ unwrap(
140
+ _wstETHAmount: BigNumberish,
141
+ overrides?: Overrides & { from?: string | Promise<string> }
142
+ ): Promise<PopulatedTransaction>;
143
+
144
+ wrap(
145
+ _stETHAmount: BigNumberish,
146
+ overrides?: Overrides & { from?: string | Promise<string> }
147
+ ): Promise<PopulatedTransaction>;
148
+ };
149
+ }
@@ -25,10 +25,13 @@ import type {
25
25
  export interface PendleAaveV3SCYInterface extends utils.Interface {
26
26
  contractName: "PendleAaveV3SCY";
27
27
  functions: {
28
+ "PRECISION_INDEX()": FunctionFragment;
28
29
  "aToken()": FunctionFragment;
30
+ "aaveIndexCurrent()": FunctionFragment;
29
31
  "allowance(address,address)": FunctionFragment;
30
32
  "approve(address,uint256)": FunctionFragment;
31
33
  "assetDecimals()": FunctionFragment;
34
+ "assetId()": FunctionFragment;
32
35
  "balanceOf(address)": FunctionFragment;
33
36
  "decimals()": FunctionFragment;
34
37
  "decreaseAllowance(address,uint256)": FunctionFragment;
@@ -38,6 +41,7 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
38
41
  "getUserReward(address,address)": FunctionFragment;
39
42
  "increaseAllowance(address,uint256)": FunctionFragment;
40
43
  "isValidBaseToken(address)": FunctionFragment;
44
+ "lastRewardUpdateBlock()": FunctionFragment;
41
45
  "lastScyIndex()": FunctionFragment;
42
46
  "mint(address,address,uint256,uint256)": FunctionFragment;
43
47
  "mintNoPull(address,address,uint256)": FunctionFragment;
@@ -58,7 +62,15 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
58
62
  "updateUserReward(address)": FunctionFragment;
59
63
  };
60
64
 
65
+ encodeFunctionData(
66
+ functionFragment: "PRECISION_INDEX",
67
+ values?: undefined
68
+ ): string;
61
69
  encodeFunctionData(functionFragment: "aToken", values?: undefined): string;
70
+ encodeFunctionData(
71
+ functionFragment: "aaveIndexCurrent",
72
+ values?: undefined
73
+ ): string;
62
74
  encodeFunctionData(
63
75
  functionFragment: "allowance",
64
76
  values: [string, string]
@@ -71,6 +83,7 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
71
83
  functionFragment: "assetDecimals",
72
84
  values?: undefined
73
85
  ): string;
86
+ encodeFunctionData(functionFragment: "assetId", values?: undefined): string;
74
87
  encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
75
88
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
76
89
  encodeFunctionData(
@@ -101,6 +114,10 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
101
114
  functionFragment: "isValidBaseToken",
102
115
  values: [string]
103
116
  ): string;
117
+ encodeFunctionData(
118
+ functionFragment: "lastRewardUpdateBlock",
119
+ values?: undefined
120
+ ): string;
104
121
  encodeFunctionData(
105
122
  functionFragment: "lastScyIndex",
106
123
  values?: undefined
@@ -165,13 +182,22 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
165
182
  values: [string]
166
183
  ): string;
167
184
 
185
+ decodeFunctionResult(
186
+ functionFragment: "PRECISION_INDEX",
187
+ data: BytesLike
188
+ ): Result;
168
189
  decodeFunctionResult(functionFragment: "aToken", data: BytesLike): Result;
190
+ decodeFunctionResult(
191
+ functionFragment: "aaveIndexCurrent",
192
+ data: BytesLike
193
+ ): Result;
169
194
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
170
195
  decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
171
196
  decodeFunctionResult(
172
197
  functionFragment: "assetDecimals",
173
198
  data: BytesLike
174
199
  ): Result;
200
+ decodeFunctionResult(functionFragment: "assetId", data: BytesLike): Result;
175
201
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
176
202
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
177
203
  decodeFunctionResult(
@@ -202,6 +228,10 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
202
228
  functionFragment: "isValidBaseToken",
203
229
  data: BytesLike
204
230
  ): Result;
231
+ decodeFunctionResult(
232
+ functionFragment: "lastRewardUpdateBlock",
233
+ data: BytesLike
234
+ ): Result;
205
235
  decodeFunctionResult(
206
236
  functionFragment: "lastScyIndex",
207
237
  data: BytesLike
@@ -253,11 +283,15 @@ export interface PendleAaveV3SCYInterface extends utils.Interface {
253
283
 
254
284
  events: {
255
285
  "Approval(address,address,uint256)": EventFragment;
286
+ "RedeemReward(address,uint256[])": EventFragment;
256
287
  "Transfer(address,address,uint256)": EventFragment;
288
+ "UpdateScyIndex(uint256)": EventFragment;
257
289
  };
258
290
 
259
291
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
292
+ getEvent(nameOrSignatureOrTopic: "RedeemReward"): EventFragment;
260
293
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
294
+ getEvent(nameOrSignatureOrTopic: "UpdateScyIndex"): EventFragment;
261
295
  }
262
296
 
263
297
  export type ApprovalEvent = TypedEvent<
@@ -267,6 +301,13 @@ export type ApprovalEvent = TypedEvent<
267
301
 
268
302
  export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
269
303
 
304
+ export type RedeemRewardEvent = TypedEvent<
305
+ [string, BigNumber[]],
306
+ { user: string; rewardsOut: BigNumber[] }
307
+ >;
308
+
309
+ export type RedeemRewardEventFilter = TypedEventFilter<RedeemRewardEvent>;
310
+
270
311
  export type TransferEvent = TypedEvent<
271
312
  [string, string, BigNumber],
272
313
  { from: string; to: string; value: BigNumber }
@@ -274,6 +315,13 @@ export type TransferEvent = TypedEvent<
274
315
 
275
316
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
276
317
 
318
+ export type UpdateScyIndexEvent = TypedEvent<
319
+ [BigNumber],
320
+ { scyIndex: BigNumber }
321
+ >;
322
+
323
+ export type UpdateScyIndexEventFilter = TypedEventFilter<UpdateScyIndexEvent>;
324
+
277
325
  export interface PendleAaveV3SCY extends BaseContract {
278
326
  contractName: "PendleAaveV3SCY";
279
327
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -302,8 +350,14 @@ export interface PendleAaveV3SCY extends BaseContract {
302
350
  removeListener: OnEvent<this>;
303
351
 
304
352
  functions: {
353
+ PRECISION_INDEX(overrides?: CallOverrides): Promise<[BigNumber]>;
354
+
305
355
  aToken(overrides?: CallOverrides): Promise<[string]>;
306
356
 
357
+ aaveIndexCurrent(
358
+ overrides?: Overrides & { from?: string | Promise<string> }
359
+ ): Promise<ContractTransaction>;
360
+
307
361
  allowance(
308
362
  owner: string,
309
363
  spender: string,
@@ -318,6 +372,8 @@ export interface PendleAaveV3SCY extends BaseContract {
318
372
 
319
373
  assetDecimals(overrides?: CallOverrides): Promise<[number]>;
320
374
 
375
+ assetId(overrides?: CallOverrides): Promise<[string]>;
376
+
321
377
  balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
322
378
 
323
379
  decimals(overrides?: CallOverrides): Promise<[number]>;
@@ -365,6 +421,8 @@ export interface PendleAaveV3SCY extends BaseContract {
365
421
  overrides?: CallOverrides
366
422
  ): Promise<[boolean] & { res: boolean }>;
367
423
 
424
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
425
+
368
426
  lastScyIndex(overrides?: CallOverrides): Promise<[BigNumber]>;
369
427
 
370
428
  mint(
@@ -445,8 +503,14 @@ export interface PendleAaveV3SCY extends BaseContract {
445
503
  ): Promise<ContractTransaction>;
446
504
  };
447
505
 
506
+ PRECISION_INDEX(overrides?: CallOverrides): Promise<BigNumber>;
507
+
448
508
  aToken(overrides?: CallOverrides): Promise<string>;
449
509
 
510
+ aaveIndexCurrent(
511
+ overrides?: Overrides & { from?: string | Promise<string> }
512
+ ): Promise<ContractTransaction>;
513
+
450
514
  allowance(
451
515
  owner: string,
452
516
  spender: string,
@@ -461,6 +525,8 @@ export interface PendleAaveV3SCY extends BaseContract {
461
525
 
462
526
  assetDecimals(overrides?: CallOverrides): Promise<number>;
463
527
 
528
+ assetId(overrides?: CallOverrides): Promise<string>;
529
+
464
530
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
465
531
 
466
532
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -498,6 +564,8 @@ export interface PendleAaveV3SCY extends BaseContract {
498
564
 
499
565
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
500
566
 
567
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
568
+
501
569
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
502
570
 
503
571
  mint(
@@ -576,8 +644,12 @@ export interface PendleAaveV3SCY extends BaseContract {
576
644
  ): Promise<ContractTransaction>;
577
645
 
578
646
  callStatic: {
647
+ PRECISION_INDEX(overrides?: CallOverrides): Promise<BigNumber>;
648
+
579
649
  aToken(overrides?: CallOverrides): Promise<string>;
580
650
 
651
+ aaveIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
652
+
581
653
  allowance(
582
654
  owner: string,
583
655
  spender: string,
@@ -592,6 +664,8 @@ export interface PendleAaveV3SCY extends BaseContract {
592
664
 
593
665
  assetDecimals(overrides?: CallOverrides): Promise<number>;
594
666
 
667
+ assetId(overrides?: CallOverrides): Promise<string>;
668
+
595
669
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
596
670
 
597
671
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -635,6 +709,8 @@ export interface PendleAaveV3SCY extends BaseContract {
635
709
  overrides?: CallOverrides
636
710
  ): Promise<boolean>;
637
711
 
712
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
713
+
638
714
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
639
715
 
640
716
  mint(
@@ -715,6 +791,15 @@ export interface PendleAaveV3SCY extends BaseContract {
715
791
  value?: null
716
792
  ): ApprovalEventFilter;
717
793
 
794
+ "RedeemReward(address,uint256[])"(
795
+ user?: string | null,
796
+ rewardsOut?: null
797
+ ): RedeemRewardEventFilter;
798
+ RedeemReward(
799
+ user?: string | null,
800
+ rewardsOut?: null
801
+ ): RedeemRewardEventFilter;
802
+
718
803
  "Transfer(address,address,uint256)"(
719
804
  from?: string | null,
720
805
  to?: string | null,
@@ -725,11 +810,20 @@ export interface PendleAaveV3SCY extends BaseContract {
725
810
  to?: string | null,
726
811
  value?: null
727
812
  ): TransferEventFilter;
813
+
814
+ "UpdateScyIndex(uint256)"(scyIndex?: null): UpdateScyIndexEventFilter;
815
+ UpdateScyIndex(scyIndex?: null): UpdateScyIndexEventFilter;
728
816
  };
729
817
 
730
818
  estimateGas: {
819
+ PRECISION_INDEX(overrides?: CallOverrides): Promise<BigNumber>;
820
+
731
821
  aToken(overrides?: CallOverrides): Promise<BigNumber>;
732
822
 
823
+ aaveIndexCurrent(
824
+ overrides?: Overrides & { from?: string | Promise<string> }
825
+ ): Promise<BigNumber>;
826
+
733
827
  allowance(
734
828
  owner: string,
735
829
  spender: string,
@@ -744,6 +838,8 @@ export interface PendleAaveV3SCY extends BaseContract {
744
838
 
745
839
  assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
746
840
 
841
+ assetId(overrides?: CallOverrides): Promise<BigNumber>;
842
+
747
843
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
748
844
 
749
845
  decimals(overrides?: CallOverrides): Promise<BigNumber>;
@@ -780,6 +876,8 @@ export interface PendleAaveV3SCY extends BaseContract {
780
876
  overrides?: CallOverrides
781
877
  ): Promise<BigNumber>;
782
878
 
879
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
880
+
783
881
  lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
784
882
 
785
883
  mint(
@@ -859,8 +957,14 @@ export interface PendleAaveV3SCY extends BaseContract {
859
957
  };
860
958
 
861
959
  populateTransaction: {
960
+ PRECISION_INDEX(overrides?: CallOverrides): Promise<PopulatedTransaction>;
961
+
862
962
  aToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
863
963
 
964
+ aaveIndexCurrent(
965
+ overrides?: Overrides & { from?: string | Promise<string> }
966
+ ): Promise<PopulatedTransaction>;
967
+
864
968
  allowance(
865
969
  owner: string,
866
970
  spender: string,
@@ -875,6 +979,8 @@ export interface PendleAaveV3SCY extends BaseContract {
875
979
 
876
980
  assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
877
981
 
982
+ assetId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
983
+
878
984
  balanceOf(
879
985
  account: string,
880
986
  overrides?: CallOverrides
@@ -914,6 +1020,10 @@ export interface PendleAaveV3SCY extends BaseContract {
914
1020
  overrides?: CallOverrides
915
1021
  ): Promise<PopulatedTransaction>;
916
1022
 
1023
+ lastRewardUpdateBlock(
1024
+ overrides?: CallOverrides
1025
+ ): Promise<PopulatedTransaction>;
1026
+
917
1027
  lastScyIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>;
918
1028
 
919
1029
  mint(
@@ -196,7 +196,7 @@ export interface PendleBaseToken extends BaseContract {
196
196
  overrides?: Overrides & { from?: string | Promise<string> }
197
197
  ): Promise<ContractTransaction>;
198
198
 
199
- isExpired(overrides?: CallOverrides): Promise<[boolean] & { res: boolean }>;
199
+ isExpired(overrides?: CallOverrides): Promise<[boolean]>;
200
200
 
201
201
  name(overrides?: CallOverrides): Promise<[string]>;
202
202