@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
@@ -13,7 +13,7 @@ import {
13
13
  Signer,
14
14
  utils,
15
15
  } from "ethers";
16
- import { FunctionFragment, Result } from "@ethersproject/abi";
16
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
17
17
  import { Listener, Provider } from "@ethersproject/providers";
18
18
  import type {
19
19
  TypedEventFilter,
@@ -29,10 +29,12 @@ export interface PendleMarketFactoryInterface extends utils.Interface {
29
29
  "governanceManager()": FunctionFragment;
30
30
  "isValidMarket(address)": FunctionFragment;
31
31
  "marketConfig()": FunctionFragment;
32
- "setFeeRateRoot(uint96)": FunctionFragment;
32
+ "maxLnFeeRateRoot()": FunctionFragment;
33
+ "minRateOracleTimeWindow()": FunctionFragment;
33
34
  "setRateOracleTimeWindow(uint32)": FunctionFragment;
34
35
  "setReserveFeePercent(uint8)": FunctionFragment;
35
36
  "setTreasury(address)": FunctionFragment;
37
+ "setlnFeeRateRoot(uint96)": FunctionFragment;
36
38
  "treasury()": FunctionFragment;
37
39
  "yieldContractFactory()": FunctionFragment;
38
40
  };
@@ -54,8 +56,12 @@ export interface PendleMarketFactoryInterface extends utils.Interface {
54
56
  values?: undefined
55
57
  ): string;
56
58
  encodeFunctionData(
57
- functionFragment: "setFeeRateRoot",
58
- values: [BigNumberish]
59
+ functionFragment: "maxLnFeeRateRoot",
60
+ values?: undefined
61
+ ): string;
62
+ encodeFunctionData(
63
+ functionFragment: "minRateOracleTimeWindow",
64
+ values?: undefined
59
65
  ): string;
60
66
  encodeFunctionData(
61
67
  functionFragment: "setRateOracleTimeWindow",
@@ -66,6 +72,10 @@ export interface PendleMarketFactoryInterface extends utils.Interface {
66
72
  values: [BigNumberish]
67
73
  ): string;
68
74
  encodeFunctionData(functionFragment: "setTreasury", values: [string]): string;
75
+ encodeFunctionData(
76
+ functionFragment: "setlnFeeRateRoot",
77
+ values: [BigNumberish]
78
+ ): string;
69
79
  encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
70
80
  encodeFunctionData(
71
81
  functionFragment: "yieldContractFactory",
@@ -89,7 +99,11 @@ export interface PendleMarketFactoryInterface extends utils.Interface {
89
99
  data: BytesLike
90
100
  ): Result;
91
101
  decodeFunctionResult(
92
- functionFragment: "setFeeRateRoot",
102
+ functionFragment: "maxLnFeeRateRoot",
103
+ data: BytesLike
104
+ ): Result;
105
+ decodeFunctionResult(
106
+ functionFragment: "minRateOracleTimeWindow",
93
107
  data: BytesLike
94
108
  ): Result;
95
109
  decodeFunctionResult(
@@ -104,15 +118,30 @@ export interface PendleMarketFactoryInterface extends utils.Interface {
104
118
  functionFragment: "setTreasury",
105
119
  data: BytesLike
106
120
  ): Result;
121
+ decodeFunctionResult(
122
+ functionFragment: "setlnFeeRateRoot",
123
+ data: BytesLike
124
+ ): Result;
107
125
  decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
108
126
  decodeFunctionResult(
109
127
  functionFragment: "yieldContractFactory",
110
128
  data: BytesLike
111
129
  ): Result;
112
130
 
113
- events: {};
131
+ events: {
132
+ "CreateNewMarket(address,int256,int256)": EventFragment;
133
+ };
134
+
135
+ getEvent(nameOrSignatureOrTopic: "CreateNewMarket"): EventFragment;
114
136
  }
115
137
 
138
+ export type CreateNewMarketEvent = TypedEvent<
139
+ [string, BigNumber, BigNumber],
140
+ { PT: string; scalarRoot: BigNumber; initialAnchor: BigNumber }
141
+ >;
142
+
143
+ export type CreateNewMarketEventFilter = TypedEventFilter<CreateNewMarketEvent>;
144
+
116
145
  export interface PendleMarketFactory extends BaseContract {
117
146
  contractName: "PendleMarketFactory";
118
147
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -142,7 +171,7 @@ export interface PendleMarketFactory extends BaseContract {
142
171
 
143
172
  functions: {
144
173
  createNewMarket(
145
- OT: string,
174
+ PT: string,
146
175
  scalarRoot: BigNumberish,
147
176
  initialAnchor: BigNumberish,
148
177
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -160,16 +189,15 @@ export interface PendleMarketFactory extends BaseContract {
160
189
  ): Promise<
161
190
  [string, BigNumber, number, number] & {
162
191
  treasury: string;
163
- feeRateRoot: BigNumber;
192
+ lnFeeRateRoot: BigNumber;
164
193
  rateOracleTimeWindow: number;
165
194
  reserveFeePercent: number;
166
195
  }
167
196
  >;
168
197
 
169
- setFeeRateRoot(
170
- newFeeRateRoot: BigNumberish,
171
- overrides?: Overrides & { from?: string | Promise<string> }
172
- ): Promise<ContractTransaction>;
198
+ maxLnFeeRateRoot(overrides?: CallOverrides): Promise<[BigNumber]>;
199
+
200
+ minRateOracleTimeWindow(overrides?: CallOverrides): Promise<[BigNumber]>;
173
201
 
174
202
  setRateOracleTimeWindow(
175
203
  newRateOracleTimeWindow: BigNumberish,
@@ -186,13 +214,18 @@ export interface PendleMarketFactory extends BaseContract {
186
214
  overrides?: Overrides & { from?: string | Promise<string> }
187
215
  ): Promise<ContractTransaction>;
188
216
 
217
+ setlnFeeRateRoot(
218
+ newlnFeeRateRoot: BigNumberish,
219
+ overrides?: Overrides & { from?: string | Promise<string> }
220
+ ): Promise<ContractTransaction>;
221
+
189
222
  treasury(overrides?: CallOverrides): Promise<[string]>;
190
223
 
191
224
  yieldContractFactory(overrides?: CallOverrides): Promise<[string]>;
192
225
  };
193
226
 
194
227
  createNewMarket(
195
- OT: string,
228
+ PT: string,
196
229
  scalarRoot: BigNumberish,
197
230
  initialAnchor: BigNumberish,
198
231
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -207,16 +240,15 @@ export interface PendleMarketFactory extends BaseContract {
207
240
  ): Promise<
208
241
  [string, BigNumber, number, number] & {
209
242
  treasury: string;
210
- feeRateRoot: BigNumber;
243
+ lnFeeRateRoot: BigNumber;
211
244
  rateOracleTimeWindow: number;
212
245
  reserveFeePercent: number;
213
246
  }
214
247
  >;
215
248
 
216
- setFeeRateRoot(
217
- newFeeRateRoot: BigNumberish,
218
- overrides?: Overrides & { from?: string | Promise<string> }
219
- ): Promise<ContractTransaction>;
249
+ maxLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
250
+
251
+ minRateOracleTimeWindow(overrides?: CallOverrides): Promise<BigNumber>;
220
252
 
221
253
  setRateOracleTimeWindow(
222
254
  newRateOracleTimeWindow: BigNumberish,
@@ -233,13 +265,18 @@ export interface PendleMarketFactory extends BaseContract {
233
265
  overrides?: Overrides & { from?: string | Promise<string> }
234
266
  ): Promise<ContractTransaction>;
235
267
 
268
+ setlnFeeRateRoot(
269
+ newlnFeeRateRoot: BigNumberish,
270
+ overrides?: Overrides & { from?: string | Promise<string> }
271
+ ): Promise<ContractTransaction>;
272
+
236
273
  treasury(overrides?: CallOverrides): Promise<string>;
237
274
 
238
275
  yieldContractFactory(overrides?: CallOverrides): Promise<string>;
239
276
 
240
277
  callStatic: {
241
278
  createNewMarket(
242
- OT: string,
279
+ PT: string,
243
280
  scalarRoot: BigNumberish,
244
281
  initialAnchor: BigNumberish,
245
282
  overrides?: CallOverrides
@@ -254,16 +291,15 @@ export interface PendleMarketFactory extends BaseContract {
254
291
  ): Promise<
255
292
  [string, BigNumber, number, number] & {
256
293
  treasury: string;
257
- feeRateRoot: BigNumber;
294
+ lnFeeRateRoot: BigNumber;
258
295
  rateOracleTimeWindow: number;
259
296
  reserveFeePercent: number;
260
297
  }
261
298
  >;
262
299
 
263
- setFeeRateRoot(
264
- newFeeRateRoot: BigNumberish,
265
- overrides?: CallOverrides
266
- ): Promise<void>;
300
+ maxLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
301
+
302
+ minRateOracleTimeWindow(overrides?: CallOverrides): Promise<BigNumber>;
267
303
 
268
304
  setRateOracleTimeWindow(
269
305
  newRateOracleTimeWindow: BigNumberish,
@@ -277,16 +313,32 @@ export interface PendleMarketFactory extends BaseContract {
277
313
 
278
314
  setTreasury(newTreasury: string, overrides?: CallOverrides): Promise<void>;
279
315
 
316
+ setlnFeeRateRoot(
317
+ newlnFeeRateRoot: BigNumberish,
318
+ overrides?: CallOverrides
319
+ ): Promise<void>;
320
+
280
321
  treasury(overrides?: CallOverrides): Promise<string>;
281
322
 
282
323
  yieldContractFactory(overrides?: CallOverrides): Promise<string>;
283
324
  };
284
325
 
285
- filters: {};
326
+ filters: {
327
+ "CreateNewMarket(address,int256,int256)"(
328
+ PT?: string | null,
329
+ scalarRoot?: null,
330
+ initialAnchor?: null
331
+ ): CreateNewMarketEventFilter;
332
+ CreateNewMarket(
333
+ PT?: string | null,
334
+ scalarRoot?: null,
335
+ initialAnchor?: null
336
+ ): CreateNewMarketEventFilter;
337
+ };
286
338
 
287
339
  estimateGas: {
288
340
  createNewMarket(
289
- OT: string,
341
+ PT: string,
290
342
  scalarRoot: BigNumberish,
291
343
  initialAnchor: BigNumberish,
292
344
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -301,10 +353,9 @@ export interface PendleMarketFactory extends BaseContract {
301
353
 
302
354
  marketConfig(overrides?: CallOverrides): Promise<BigNumber>;
303
355
 
304
- setFeeRateRoot(
305
- newFeeRateRoot: BigNumberish,
306
- overrides?: Overrides & { from?: string | Promise<string> }
307
- ): Promise<BigNumber>;
356
+ maxLnFeeRateRoot(overrides?: CallOverrides): Promise<BigNumber>;
357
+
358
+ minRateOracleTimeWindow(overrides?: CallOverrides): Promise<BigNumber>;
308
359
 
309
360
  setRateOracleTimeWindow(
310
361
  newRateOracleTimeWindow: BigNumberish,
@@ -321,6 +372,11 @@ export interface PendleMarketFactory extends BaseContract {
321
372
  overrides?: Overrides & { from?: string | Promise<string> }
322
373
  ): Promise<BigNumber>;
323
374
 
375
+ setlnFeeRateRoot(
376
+ newlnFeeRateRoot: BigNumberish,
377
+ overrides?: Overrides & { from?: string | Promise<string> }
378
+ ): Promise<BigNumber>;
379
+
324
380
  treasury(overrides?: CallOverrides): Promise<BigNumber>;
325
381
 
326
382
  yieldContractFactory(overrides?: CallOverrides): Promise<BigNumber>;
@@ -328,7 +384,7 @@ export interface PendleMarketFactory extends BaseContract {
328
384
 
329
385
  populateTransaction: {
330
386
  createNewMarket(
331
- OT: string,
387
+ PT: string,
332
388
  scalarRoot: BigNumberish,
333
389
  initialAnchor: BigNumberish,
334
390
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -343,9 +399,10 @@ export interface PendleMarketFactory extends BaseContract {
343
399
 
344
400
  marketConfig(overrides?: CallOverrides): Promise<PopulatedTransaction>;
345
401
 
346
- setFeeRateRoot(
347
- newFeeRateRoot: BigNumberish,
348
- overrides?: Overrides & { from?: string | Promise<string> }
402
+ maxLnFeeRateRoot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
403
+
404
+ minRateOracleTimeWindow(
405
+ overrides?: CallOverrides
349
406
  ): Promise<PopulatedTransaction>;
350
407
 
351
408
  setRateOracleTimeWindow(
@@ -363,6 +420,11 @@ export interface PendleMarketFactory extends BaseContract {
363
420
  overrides?: Overrides & { from?: string | Promise<string> }
364
421
  ): Promise<PopulatedTransaction>;
365
422
 
423
+ setlnFeeRateRoot(
424
+ newlnFeeRateRoot: BigNumberish,
425
+ overrides?: Overrides & { from?: string | Promise<string> }
426
+ ): Promise<PopulatedTransaction>;
427
+
366
428
  treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
367
429
 
368
430
  yieldContractFactory(
@@ -22,8 +22,8 @@ import type {
22
22
  OnEvent,
23
23
  } from "./common";
24
24
 
25
- export interface PendleOwnershipTokenInterface extends utils.Interface {
26
- contractName: "PendleOwnershipToken";
25
+ export interface PendlePrincipalTokenInterface extends utils.Interface {
26
+ contractName: "PendlePrincipalToken";
27
27
  functions: {
28
28
  "SCY()": FunctionFragment;
29
29
  "YT()": FunctionFragment;
@@ -137,10 +137,12 @@ export interface PendleOwnershipTokenInterface extends utils.Interface {
137
137
  events: {
138
138
  "Approval(address,address,uint256)": EventFragment;
139
139
  "Transfer(address,address,uint256)": EventFragment;
140
+ "YTSet(address)": EventFragment;
140
141
  };
141
142
 
142
143
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
143
144
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
145
+ getEvent(nameOrSignatureOrTopic: "YTSet"): EventFragment;
144
146
  }
145
147
 
146
148
  export type ApprovalEvent = TypedEvent<
@@ -157,13 +159,17 @@ export type TransferEvent = TypedEvent<
157
159
 
158
160
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
159
161
 
160
- export interface PendleOwnershipToken extends BaseContract {
161
- contractName: "PendleOwnershipToken";
162
+ export type YTSetEvent = TypedEvent<[string], { YT: string }>;
163
+
164
+ export type YTSetEventFilter = TypedEventFilter<YTSetEvent>;
165
+
166
+ export interface PendlePrincipalToken extends BaseContract {
167
+ contractName: "PendlePrincipalToken";
162
168
  connect(signerOrProvider: Signer | Provider | string): this;
163
169
  attach(addressOrName: string): this;
164
170
  deployed(): Promise<this>;
165
171
 
166
- interface: PendleOwnershipTokenInterface;
172
+ interface: PendlePrincipalTokenInterface;
167
173
 
168
174
  queryFilter<TEvent extends TypedEvent>(
169
175
  event: TypedEventFilter<TEvent>,
@@ -232,7 +238,7 @@ export interface PendleOwnershipToken extends BaseContract {
232
238
  overrides?: Overrides & { from?: string | Promise<string> }
233
239
  ): Promise<ContractTransaction>;
234
240
 
235
- isExpired(overrides?: CallOverrides): Promise<[boolean] & { res: boolean }>;
241
+ isExpired(overrides?: CallOverrides): Promise<[boolean]>;
236
242
 
237
243
  mintByYT(
238
244
  user: string,
@@ -435,6 +441,9 @@ export interface PendleOwnershipToken extends BaseContract {
435
441
  to?: string | null,
436
442
  value?: null
437
443
  ): TransferEventFilter;
444
+
445
+ "YTSet(address)"(YT?: string | null): YTSetEventFilter;
446
+ YTSet(YT?: string | null): YTSetEventFilter;
438
447
  };
439
448
 
440
449
  estimateGas: {
@@ -27,6 +27,7 @@ export interface PendleRouterInterface extends utils.Interface {
27
27
  functions: {
28
28
  "ACTION_CALLBACK()": FunctionFragment;
29
29
  "ACTION_CORE()": FunctionFragment;
30
+ "ACTION_REDEEM()": FunctionFragment;
30
31
  "ACTION_YT()": FunctionFragment;
31
32
  "getRouterImplementation(bytes4)": FunctionFragment;
32
33
  "governanceManager()": FunctionFragment;
@@ -44,6 +45,10 @@ export interface PendleRouterInterface extends utils.Interface {
44
45
  functionFragment: "ACTION_CORE",
45
46
  values?: undefined
46
47
  ): string;
48
+ encodeFunctionData(
49
+ functionFragment: "ACTION_REDEEM",
50
+ values?: undefined
51
+ ): string;
47
52
  encodeFunctionData(functionFragment: "ACTION_YT", values?: undefined): string;
48
53
  encodeFunctionData(
49
54
  functionFragment: "getRouterImplementation",
@@ -75,6 +80,10 @@ export interface PendleRouterInterface extends utils.Interface {
75
80
  functionFragment: "ACTION_CORE",
76
81
  data: BytesLike
77
82
  ): Result;
83
+ decodeFunctionResult(
84
+ functionFragment: "ACTION_REDEEM",
85
+ data: BytesLike
86
+ ): Result;
78
87
  decodeFunctionResult(functionFragment: "ACTION_YT", data: BytesLike): Result;
79
88
  decodeFunctionResult(
80
89
  functionFragment: "getRouterImplementation",
@@ -153,6 +162,8 @@ export interface PendleRouter extends BaseContract {
153
162
 
154
163
  ACTION_CORE(overrides?: CallOverrides): Promise<[string]>;
155
164
 
165
+ ACTION_REDEEM(overrides?: CallOverrides): Promise<[string]>;
166
+
156
167
  ACTION_YT(overrides?: CallOverrides): Promise<[string]>;
157
168
 
158
169
  getRouterImplementation(
@@ -184,6 +195,8 @@ export interface PendleRouter extends BaseContract {
184
195
 
185
196
  ACTION_CORE(overrides?: CallOverrides): Promise<string>;
186
197
 
198
+ ACTION_REDEEM(overrides?: CallOverrides): Promise<string>;
199
+
187
200
  ACTION_YT(overrides?: CallOverrides): Promise<string>;
188
201
 
189
202
  getRouterImplementation(
@@ -215,6 +228,8 @@ export interface PendleRouter extends BaseContract {
215
228
 
216
229
  ACTION_CORE(overrides?: CallOverrides): Promise<string>;
217
230
 
231
+ ACTION_REDEEM(overrides?: CallOverrides): Promise<string>;
232
+
218
233
  ACTION_YT(overrides?: CallOverrides): Promise<string>;
219
234
 
220
235
  getRouterImplementation(
@@ -264,6 +279,8 @@ export interface PendleRouter extends BaseContract {
264
279
 
265
280
  ACTION_CORE(overrides?: CallOverrides): Promise<BigNumber>;
266
281
 
282
+ ACTION_REDEEM(overrides?: CallOverrides): Promise<BigNumber>;
283
+
267
284
  ACTION_YT(overrides?: CallOverrides): Promise<BigNumber>;
268
285
 
269
286
  getRouterImplementation(
@@ -296,6 +313,8 @@ export interface PendleRouter extends BaseContract {
296
313
 
297
314
  ACTION_CORE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
298
315
 
316
+ ACTION_REDEEM(overrides?: CallOverrides): Promise<PopulatedTransaction>;
317
+
299
318
  ACTION_YT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
300
319
 
301
320
  getRouterImplementation(
@@ -0,0 +1,125 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ ContractTransaction,
10
+ Overrides,
11
+ PopulatedTransaction,
12
+ Signer,
13
+ utils,
14
+ } from "ethers";
15
+ import { FunctionFragment, Result } from "@ethersproject/abi";
16
+ import { Listener, Provider } from "@ethersproject/providers";
17
+ import type {
18
+ TypedEventFilter,
19
+ TypedEvent,
20
+ TypedListener,
21
+ OnEvent,
22
+ } from "./common";
23
+
24
+ export interface PendleRouterRedeemUpgInterface extends utils.Interface {
25
+ contractName: "PendleRouterRedeemUpg";
26
+ functions: {
27
+ "redeemDueIncome(address,address[],address[],address[])": FunctionFragment;
28
+ };
29
+
30
+ encodeFunctionData(
31
+ functionFragment: "redeemDueIncome",
32
+ values: [string, string[], string[], string[]]
33
+ ): string;
34
+
35
+ decodeFunctionResult(
36
+ functionFragment: "redeemDueIncome",
37
+ data: BytesLike
38
+ ): Result;
39
+
40
+ events: {};
41
+ }
42
+
43
+ export interface PendleRouterRedeemUpg extends BaseContract {
44
+ contractName: "PendleRouterRedeemUpg";
45
+ connect(signerOrProvider: Signer | Provider | string): this;
46
+ attach(addressOrName: string): this;
47
+ deployed(): Promise<this>;
48
+
49
+ interface: PendleRouterRedeemUpgInterface;
50
+
51
+ queryFilter<TEvent extends TypedEvent>(
52
+ event: TypedEventFilter<TEvent>,
53
+ fromBlockOrBlockhash?: string | number | undefined,
54
+ toBlock?: string | number | undefined
55
+ ): Promise<Array<TEvent>>;
56
+
57
+ listeners<TEvent extends TypedEvent>(
58
+ eventFilter?: TypedEventFilter<TEvent>
59
+ ): Array<TypedListener<TEvent>>;
60
+ listeners(eventName?: string): Array<Listener>;
61
+ removeAllListeners<TEvent extends TypedEvent>(
62
+ eventFilter: TypedEventFilter<TEvent>
63
+ ): this;
64
+ removeAllListeners(eventName?: string): this;
65
+ off: OnEvent<this>;
66
+ on: OnEvent<this>;
67
+ once: OnEvent<this>;
68
+ removeListener: OnEvent<this>;
69
+
70
+ functions: {
71
+ redeemDueIncome(
72
+ user: string,
73
+ scys: string[],
74
+ yieldTokens: string[],
75
+ arg3: string[],
76
+ overrides?: Overrides & { from?: string | Promise<string> }
77
+ ): Promise<ContractTransaction>;
78
+ };
79
+
80
+ redeemDueIncome(
81
+ user: string,
82
+ scys: string[],
83
+ yieldTokens: string[],
84
+ arg3: string[],
85
+ overrides?: Overrides & { from?: string | Promise<string> }
86
+ ): Promise<ContractTransaction>;
87
+
88
+ callStatic: {
89
+ redeemDueIncome(
90
+ user: string,
91
+ scys: string[],
92
+ yieldTokens: string[],
93
+ arg3: string[],
94
+ overrides?: CallOverrides
95
+ ): Promise<
96
+ [BigNumber[][], BigNumber[], BigNumber[][]] & {
97
+ scyRewards: BigNumber[][];
98
+ ytInterests: BigNumber[];
99
+ ytRewards: BigNumber[][];
100
+ }
101
+ >;
102
+ };
103
+
104
+ filters: {};
105
+
106
+ estimateGas: {
107
+ redeemDueIncome(
108
+ user: string,
109
+ scys: string[],
110
+ yieldTokens: string[],
111
+ arg3: string[],
112
+ overrides?: Overrides & { from?: string | Promise<string> }
113
+ ): Promise<BigNumber>;
114
+ };
115
+
116
+ populateTransaction: {
117
+ redeemDueIncome(
118
+ user: string,
119
+ scys: string[],
120
+ yieldTokens: string[],
121
+ arg3: string[],
122
+ overrides?: Overrides & { from?: string | Promise<string> }
123
+ ): Promise<PopulatedTransaction>;
124
+ };
125
+ }