@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
@@ -23,17 +23,17 @@ import type {
23
23
  } from "./common";
24
24
 
25
25
  export type MarketStateStruct = {
26
- totalOt: BigNumberish;
26
+ totalPt: BigNumberish;
27
27
  totalScy: BigNumberish;
28
28
  totalLp: BigNumberish;
29
29
  oracleRate: BigNumberish;
30
30
  treasury: string;
31
31
  scalarRoot: BigNumberish;
32
- feeRateRoot: BigNumberish;
32
+ lnFeeRateRoot: BigNumberish;
33
33
  rateOracleTimeWindow: BigNumberish;
34
34
  expiry: BigNumberish;
35
35
  reserveFeePercent: BigNumberish;
36
- lastImpliedRate: BigNumberish;
36
+ lastLnImpliedRate: BigNumberish;
37
37
  lastTradeTime: BigNumberish;
38
38
  };
39
39
 
@@ -51,26 +51,27 @@ export type MarketStateStructOutput = [
51
51
  BigNumber,
52
52
  BigNumber
53
53
  ] & {
54
- totalOt: BigNumber;
54
+ totalPt: BigNumber;
55
55
  totalScy: BigNumber;
56
56
  totalLp: BigNumber;
57
57
  oracleRate: BigNumber;
58
58
  treasury: string;
59
59
  scalarRoot: BigNumber;
60
- feeRateRoot: BigNumber;
60
+ lnFeeRateRoot: BigNumber;
61
61
  rateOracleTimeWindow: BigNumber;
62
62
  expiry: BigNumber;
63
63
  reserveFeePercent: BigNumber;
64
- lastImpliedRate: BigNumber;
64
+ lastLnImpliedRate: BigNumber;
65
65
  lastTradeTime: BigNumber;
66
66
  };
67
67
 
68
68
  export interface PendleMarketInterface extends utils.Interface {
69
69
  contractName: "PendleMarket";
70
70
  functions: {
71
- "OT()": FunctionFragment;
71
+ "PT()": FunctionFragment;
72
72
  "SCY()": FunctionFragment;
73
73
  "YT()": FunctionFragment;
74
+ "_storage()": FunctionFragment;
74
75
  "addLiquidity(address,uint256,uint256,bytes)": FunctionFragment;
75
76
  "allowance(address,address)": FunctionFragment;
76
77
  "approve(address,uint256)": FunctionFragment;
@@ -82,15 +83,14 @@ export interface PendleMarketInterface extends utils.Interface {
82
83
  "increaseAllowance(address,uint256)": FunctionFragment;
83
84
  "initialAnchor()": FunctionFragment;
84
85
  "isExpired()": FunctionFragment;
85
- "marketStorage()": FunctionFragment;
86
86
  "name()": FunctionFragment;
87
87
  "readState(bool)": FunctionFragment;
88
88
  "readTokens()": FunctionFragment;
89
89
  "redeemScyReward()": FunctionFragment;
90
90
  "removeLiquidity(address,uint256,bytes)": FunctionFragment;
91
91
  "scalarRoot()": FunctionFragment;
92
- "swapExactOtForScy(address,uint256,uint256,bytes)": FunctionFragment;
93
- "swapScyForExactOt(address,uint256,uint256,bytes)": FunctionFragment;
92
+ "swapExactPtForScy(address,uint256,uint256,bytes)": FunctionFragment;
93
+ "swapScyForExactPt(address,uint256,uint256,bytes)": FunctionFragment;
94
94
  "symbol()": FunctionFragment;
95
95
  "timeCreated()": FunctionFragment;
96
96
  "totalSupply()": FunctionFragment;
@@ -98,9 +98,10 @@ export interface PendleMarketInterface extends utils.Interface {
98
98
  "transferFrom(address,address,uint256)": FunctionFragment;
99
99
  };
100
100
 
101
- encodeFunctionData(functionFragment: "OT", values?: undefined): string;
101
+ encodeFunctionData(functionFragment: "PT", values?: undefined): string;
102
102
  encodeFunctionData(functionFragment: "SCY", values?: undefined): string;
103
103
  encodeFunctionData(functionFragment: "YT", values?: undefined): string;
104
+ encodeFunctionData(functionFragment: "_storage", values?: undefined): string;
104
105
  encodeFunctionData(
105
106
  functionFragment: "addLiquidity",
106
107
  values: [string, BigNumberish, BigNumberish, BytesLike]
@@ -130,10 +131,6 @@ export interface PendleMarketInterface extends utils.Interface {
130
131
  values?: undefined
131
132
  ): string;
132
133
  encodeFunctionData(functionFragment: "isExpired", values?: undefined): string;
133
- encodeFunctionData(
134
- functionFragment: "marketStorage",
135
- values?: undefined
136
- ): string;
137
134
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
138
135
  encodeFunctionData(functionFragment: "readState", values: [boolean]): string;
139
136
  encodeFunctionData(
@@ -153,11 +150,11 @@ export interface PendleMarketInterface extends utils.Interface {
153
150
  values?: undefined
154
151
  ): string;
155
152
  encodeFunctionData(
156
- functionFragment: "swapExactOtForScy",
153
+ functionFragment: "swapExactPtForScy",
157
154
  values: [string, BigNumberish, BigNumberish, BytesLike]
158
155
  ): string;
159
156
  encodeFunctionData(
160
- functionFragment: "swapScyForExactOt",
157
+ functionFragment: "swapScyForExactPt",
161
158
  values: [string, BigNumberish, BigNumberish, BytesLike]
162
159
  ): string;
163
160
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
@@ -178,9 +175,10 @@ export interface PendleMarketInterface extends utils.Interface {
178
175
  values: [string, string, BigNumberish]
179
176
  ): string;
180
177
 
181
- decodeFunctionResult(functionFragment: "OT", data: BytesLike): Result;
178
+ decodeFunctionResult(functionFragment: "PT", data: BytesLike): Result;
182
179
  decodeFunctionResult(functionFragment: "SCY", data: BytesLike): Result;
183
180
  decodeFunctionResult(functionFragment: "YT", data: BytesLike): Result;
181
+ decodeFunctionResult(functionFragment: "_storage", data: BytesLike): Result;
184
182
  decodeFunctionResult(
185
183
  functionFragment: "addLiquidity",
186
184
  data: BytesLike
@@ -204,10 +202,6 @@ export interface PendleMarketInterface extends utils.Interface {
204
202
  data: BytesLike
205
203
  ): Result;
206
204
  decodeFunctionResult(functionFragment: "isExpired", data: BytesLike): Result;
207
- decodeFunctionResult(
208
- functionFragment: "marketStorage",
209
- data: BytesLike
210
- ): Result;
211
205
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
212
206
  decodeFunctionResult(functionFragment: "readState", data: BytesLike): Result;
213
207
  decodeFunctionResult(functionFragment: "readTokens", data: BytesLike): Result;
@@ -221,11 +215,11 @@ export interface PendleMarketInterface extends utils.Interface {
221
215
  ): Result;
222
216
  decodeFunctionResult(functionFragment: "scalarRoot", data: BytesLike): Result;
223
217
  decodeFunctionResult(
224
- functionFragment: "swapExactOtForScy",
218
+ functionFragment: "swapExactPtForScy",
225
219
  data: BytesLike
226
220
  ): Result;
227
221
  decodeFunctionResult(
228
- functionFragment: "swapScyForExactOt",
222
+ functionFragment: "swapScyForExactPt",
229
223
  data: BytesLike
230
224
  ): Result;
231
225
  decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
@@ -244,14 +238,34 @@ export interface PendleMarketInterface extends utils.Interface {
244
238
  ): Result;
245
239
 
246
240
  events: {
241
+ "AddLiquidity(address,uint256,uint256,uint256)": EventFragment;
247
242
  "Approval(address,address,uint256)": EventFragment;
243
+ "RemoveLiquidity(address,uint256,uint256,uint256)": EventFragment;
244
+ "Swap(address,int256,int256,uint256)": EventFragment;
248
245
  "Transfer(address,address,uint256)": EventFragment;
246
+ "UpdateImpliedRate(uint256,uint256)": EventFragment;
249
247
  };
250
248
 
249
+ getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment;
251
250
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
251
+ getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment;
252
+ getEvent(nameOrSignatureOrTopic: "Swap"): EventFragment;
252
253
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
254
+ getEvent(nameOrSignatureOrTopic: "UpdateImpliedRate"): EventFragment;
253
255
  }
254
256
 
257
+ export type AddLiquidityEvent = TypedEvent<
258
+ [string, BigNumber, BigNumber, BigNumber],
259
+ {
260
+ receiver: string;
261
+ lpToAccount: BigNumber;
262
+ scyUsed: BigNumber;
263
+ ptUsed: BigNumber;
264
+ }
265
+ >;
266
+
267
+ export type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
268
+
255
269
  export type ApprovalEvent = TypedEvent<
256
270
  [string, string, BigNumber],
257
271
  { owner: string; spender: string; value: BigNumber }
@@ -259,6 +273,30 @@ export type ApprovalEvent = TypedEvent<
259
273
 
260
274
  export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
261
275
 
276
+ export type RemoveLiquidityEvent = TypedEvent<
277
+ [string, BigNumber, BigNumber, BigNumber],
278
+ {
279
+ receiver: string;
280
+ lpRemoved: BigNumber;
281
+ scyToAccount: BigNumber;
282
+ ptToAccount: BigNumber;
283
+ }
284
+ >;
285
+
286
+ export type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
287
+
288
+ export type SwapEvent = TypedEvent<
289
+ [string, BigNumber, BigNumber, BigNumber],
290
+ {
291
+ receiver: string;
292
+ ptToAccount: BigNumber;
293
+ scyToAccount: BigNumber;
294
+ netScyToReserve: BigNumber;
295
+ }
296
+ >;
297
+
298
+ export type SwapEventFilter = TypedEventFilter<SwapEvent>;
299
+
262
300
  export type TransferEvent = TypedEvent<
263
301
  [string, string, BigNumber],
264
302
  { from: string; to: string; value: BigNumber }
@@ -266,6 +304,14 @@ export type TransferEvent = TypedEvent<
266
304
 
267
305
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
268
306
 
307
+ export type UpdateImpliedRateEvent = TypedEvent<
308
+ [BigNumber, BigNumber],
309
+ { timestamp: BigNumber; lnLastImpliedRate: BigNumber }
310
+ >;
311
+
312
+ export type UpdateImpliedRateEventFilter =
313
+ TypedEventFilter<UpdateImpliedRateEvent>;
314
+
269
315
  export interface PendleMarket extends BaseContract {
270
316
  contractName: "PendleMarket";
271
317
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -294,16 +340,29 @@ export interface PendleMarket extends BaseContract {
294
340
  removeListener: OnEvent<this>;
295
341
 
296
342
  functions: {
297
- OT(overrides?: CallOverrides): Promise<[string]>;
343
+ PT(overrides?: CallOverrides): Promise<[string]>;
298
344
 
299
345
  SCY(overrides?: CallOverrides): Promise<[string]>;
300
346
 
301
347
  YT(overrides?: CallOverrides): Promise<[string]>;
302
348
 
349
+ _storage(
350
+ overrides?: CallOverrides
351
+ ): Promise<
352
+ [BigNumber, BigNumber, BigNumber, BigNumber, number, number] & {
353
+ totalPt: BigNumber;
354
+ totalScy: BigNumber;
355
+ lastLnImpliedRate: BigNumber;
356
+ oracleRate: BigNumber;
357
+ lastTradeTime: number;
358
+ _reentrancyStatus: number;
359
+ }
360
+ >;
361
+
303
362
  addLiquidity(
304
363
  receiver: string,
305
364
  scyDesired: BigNumberish,
306
- otDesired: BigNumberish,
365
+ ptDesired: BigNumberish,
307
366
  data: BytesLike,
308
367
  overrides?: Overrides & { from?: string | Promise<string> }
309
368
  ): Promise<ContractTransaction>;
@@ -342,19 +401,7 @@ export interface PendleMarket extends BaseContract {
342
401
 
343
402
  initialAnchor(overrides?: CallOverrides): Promise<[BigNumber]>;
344
403
 
345
- isExpired(overrides?: CallOverrides): Promise<[boolean] & { res: boolean }>;
346
-
347
- marketStorage(
348
- overrides?: CallOverrides
349
- ): Promise<
350
- [BigNumber, BigNumber, BigNumber, BigNumber, number] & {
351
- totalOt: BigNumber;
352
- totalScy: BigNumber;
353
- lastImpliedRate: BigNumber;
354
- oracleRate: BigNumber;
355
- lastTradeTime: number;
356
- }
357
- >;
404
+ isExpired(overrides?: CallOverrides): Promise<[boolean]>;
358
405
 
359
406
  name(overrides?: CallOverrides): Promise<[string]>;
360
407
 
@@ -366,7 +413,7 @@ export interface PendleMarket extends BaseContract {
366
413
  readTokens(
367
414
  overrides?: CallOverrides
368
415
  ): Promise<
369
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
416
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
370
417
  >;
371
418
 
372
419
  redeemScyReward(
@@ -382,17 +429,17 @@ export interface PendleMarket extends BaseContract {
382
429
 
383
430
  scalarRoot(overrides?: CallOverrides): Promise<[BigNumber]>;
384
431
 
385
- swapExactOtForScy(
432
+ swapExactPtForScy(
386
433
  receiver: string,
387
- exactOtIn: BigNumberish,
434
+ exactPtIn: BigNumberish,
388
435
  minScyOut: BigNumberish,
389
436
  data: BytesLike,
390
437
  overrides?: Overrides & { from?: string | Promise<string> }
391
438
  ): Promise<ContractTransaction>;
392
439
 
393
- swapScyForExactOt(
440
+ swapScyForExactPt(
394
441
  receiver: string,
395
- exactOtOut: BigNumberish,
442
+ exactPtOut: BigNumberish,
396
443
  maxScyIn: BigNumberish,
397
444
  data: BytesLike,
398
445
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -418,16 +465,29 @@ export interface PendleMarket extends BaseContract {
418
465
  ): Promise<ContractTransaction>;
419
466
  };
420
467
 
421
- OT(overrides?: CallOverrides): Promise<string>;
468
+ PT(overrides?: CallOverrides): Promise<string>;
422
469
 
423
470
  SCY(overrides?: CallOverrides): Promise<string>;
424
471
 
425
472
  YT(overrides?: CallOverrides): Promise<string>;
426
473
 
474
+ _storage(
475
+ overrides?: CallOverrides
476
+ ): Promise<
477
+ [BigNumber, BigNumber, BigNumber, BigNumber, number, number] & {
478
+ totalPt: BigNumber;
479
+ totalScy: BigNumber;
480
+ lastLnImpliedRate: BigNumber;
481
+ oracleRate: BigNumber;
482
+ lastTradeTime: number;
483
+ _reentrancyStatus: number;
484
+ }
485
+ >;
486
+
427
487
  addLiquidity(
428
488
  receiver: string,
429
489
  scyDesired: BigNumberish,
430
- otDesired: BigNumberish,
490
+ ptDesired: BigNumberish,
431
491
  data: BytesLike,
432
492
  overrides?: Overrides & { from?: string | Promise<string> }
433
493
  ): Promise<ContractTransaction>;
@@ -468,18 +528,6 @@ export interface PendleMarket extends BaseContract {
468
528
 
469
529
  isExpired(overrides?: CallOverrides): Promise<boolean>;
470
530
 
471
- marketStorage(
472
- overrides?: CallOverrides
473
- ): Promise<
474
- [BigNumber, BigNumber, BigNumber, BigNumber, number] & {
475
- totalOt: BigNumber;
476
- totalScy: BigNumber;
477
- lastImpliedRate: BigNumber;
478
- oracleRate: BigNumber;
479
- lastTradeTime: number;
480
- }
481
- >;
482
-
483
531
  name(overrides?: CallOverrides): Promise<string>;
484
532
 
485
533
  readState(
@@ -490,7 +538,7 @@ export interface PendleMarket extends BaseContract {
490
538
  readTokens(
491
539
  overrides?: CallOverrides
492
540
  ): Promise<
493
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
541
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
494
542
  >;
495
543
 
496
544
  redeemScyReward(
@@ -506,17 +554,17 @@ export interface PendleMarket extends BaseContract {
506
554
 
507
555
  scalarRoot(overrides?: CallOverrides): Promise<BigNumber>;
508
556
 
509
- swapExactOtForScy(
557
+ swapExactPtForScy(
510
558
  receiver: string,
511
- exactOtIn: BigNumberish,
559
+ exactPtIn: BigNumberish,
512
560
  minScyOut: BigNumberish,
513
561
  data: BytesLike,
514
562
  overrides?: Overrides & { from?: string | Promise<string> }
515
563
  ): Promise<ContractTransaction>;
516
564
 
517
- swapScyForExactOt(
565
+ swapScyForExactPt(
518
566
  receiver: string,
519
- exactOtOut: BigNumberish,
567
+ exactPtOut: BigNumberish,
520
568
  maxScyIn: BigNumberish,
521
569
  data: BytesLike,
522
570
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -542,23 +590,36 @@ export interface PendleMarket extends BaseContract {
542
590
  ): Promise<ContractTransaction>;
543
591
 
544
592
  callStatic: {
545
- OT(overrides?: CallOverrides): Promise<string>;
593
+ PT(overrides?: CallOverrides): Promise<string>;
546
594
 
547
595
  SCY(overrides?: CallOverrides): Promise<string>;
548
596
 
549
597
  YT(overrides?: CallOverrides): Promise<string>;
550
598
 
599
+ _storage(
600
+ overrides?: CallOverrides
601
+ ): Promise<
602
+ [BigNumber, BigNumber, BigNumber, BigNumber, number, number] & {
603
+ totalPt: BigNumber;
604
+ totalScy: BigNumber;
605
+ lastLnImpliedRate: BigNumber;
606
+ oracleRate: BigNumber;
607
+ lastTradeTime: number;
608
+ _reentrancyStatus: number;
609
+ }
610
+ >;
611
+
551
612
  addLiquidity(
552
613
  receiver: string,
553
614
  scyDesired: BigNumberish,
554
- otDesired: BigNumberish,
615
+ ptDesired: BigNumberish,
555
616
  data: BytesLike,
556
617
  overrides?: CallOverrides
557
618
  ): Promise<
558
619
  [BigNumber, BigNumber, BigNumber] & {
559
620
  lpToAccount: BigNumber;
560
621
  scyUsed: BigNumber;
561
- otUsed: BigNumber;
622
+ ptUsed: BigNumber;
562
623
  }
563
624
  >;
564
625
 
@@ -598,18 +659,6 @@ export interface PendleMarket extends BaseContract {
598
659
 
599
660
  isExpired(overrides?: CallOverrides): Promise<boolean>;
600
661
 
601
- marketStorage(
602
- overrides?: CallOverrides
603
- ): Promise<
604
- [BigNumber, BigNumber, BigNumber, BigNumber, number] & {
605
- totalOt: BigNumber;
606
- totalScy: BigNumber;
607
- lastImpliedRate: BigNumber;
608
- oracleRate: BigNumber;
609
- lastTradeTime: number;
610
- }
611
- >;
612
-
613
662
  name(overrides?: CallOverrides): Promise<string>;
614
663
 
615
664
  readState(
@@ -620,7 +669,7 @@ export interface PendleMarket extends BaseContract {
620
669
  readTokens(
621
670
  overrides?: CallOverrides
622
671
  ): Promise<
623
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
672
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
624
673
  >;
625
674
 
626
675
  redeemScyReward(overrides?: CallOverrides): Promise<BigNumber[]>;
@@ -633,15 +682,15 @@ export interface PendleMarket extends BaseContract {
633
682
  ): Promise<
634
683
  [BigNumber, BigNumber] & {
635
684
  scyToAccount: BigNumber;
636
- otToAccount: BigNumber;
685
+ ptToAccount: BigNumber;
637
686
  }
638
687
  >;
639
688
 
640
689
  scalarRoot(overrides?: CallOverrides): Promise<BigNumber>;
641
690
 
642
- swapExactOtForScy(
691
+ swapExactPtForScy(
643
692
  receiver: string,
644
- exactOtIn: BigNumberish,
693
+ exactPtIn: BigNumberish,
645
694
  minScyOut: BigNumberish,
646
695
  data: BytesLike,
647
696
  overrides?: CallOverrides
@@ -652,9 +701,9 @@ export interface PendleMarket extends BaseContract {
652
701
  }
653
702
  >;
654
703
 
655
- swapScyForExactOt(
704
+ swapScyForExactPt(
656
705
  receiver: string,
657
- exactOtOut: BigNumberish,
706
+ exactPtOut: BigNumberish,
658
707
  maxScyIn: BigNumberish,
659
708
  data: BytesLike,
660
709
  overrides?: CallOverrides
@@ -686,6 +735,19 @@ export interface PendleMarket extends BaseContract {
686
735
  };
687
736
 
688
737
  filters: {
738
+ "AddLiquidity(address,uint256,uint256,uint256)"(
739
+ receiver?: string | null,
740
+ lpToAccount?: null,
741
+ scyUsed?: null,
742
+ ptUsed?: null
743
+ ): AddLiquidityEventFilter;
744
+ AddLiquidity(
745
+ receiver?: string | null,
746
+ lpToAccount?: null,
747
+ scyUsed?: null,
748
+ ptUsed?: null
749
+ ): AddLiquidityEventFilter;
750
+
689
751
  "Approval(address,address,uint256)"(
690
752
  owner?: string | null,
691
753
  spender?: string | null,
@@ -697,6 +759,32 @@ export interface PendleMarket extends BaseContract {
697
759
  value?: null
698
760
  ): ApprovalEventFilter;
699
761
 
762
+ "RemoveLiquidity(address,uint256,uint256,uint256)"(
763
+ receiver?: string | null,
764
+ lpRemoved?: null,
765
+ scyToAccount?: null,
766
+ ptToAccount?: null
767
+ ): RemoveLiquidityEventFilter;
768
+ RemoveLiquidity(
769
+ receiver?: string | null,
770
+ lpRemoved?: null,
771
+ scyToAccount?: null,
772
+ ptToAccount?: null
773
+ ): RemoveLiquidityEventFilter;
774
+
775
+ "Swap(address,int256,int256,uint256)"(
776
+ receiver?: string | null,
777
+ ptToAccount?: null,
778
+ scyToAccount?: null,
779
+ netScyToReserve?: null
780
+ ): SwapEventFilter;
781
+ Swap(
782
+ receiver?: string | null,
783
+ ptToAccount?: null,
784
+ scyToAccount?: null,
785
+ netScyToReserve?: null
786
+ ): SwapEventFilter;
787
+
700
788
  "Transfer(address,address,uint256)"(
701
789
  from?: string | null,
702
790
  to?: string | null,
@@ -707,19 +795,30 @@ export interface PendleMarket extends BaseContract {
707
795
  to?: string | null,
708
796
  value?: null
709
797
  ): TransferEventFilter;
798
+
799
+ "UpdateImpliedRate(uint256,uint256)"(
800
+ timestamp?: BigNumberish | null,
801
+ lnLastImpliedRate?: null
802
+ ): UpdateImpliedRateEventFilter;
803
+ UpdateImpliedRate(
804
+ timestamp?: BigNumberish | null,
805
+ lnLastImpliedRate?: null
806
+ ): UpdateImpliedRateEventFilter;
710
807
  };
711
808
 
712
809
  estimateGas: {
713
- OT(overrides?: CallOverrides): Promise<BigNumber>;
810
+ PT(overrides?: CallOverrides): Promise<BigNumber>;
714
811
 
715
812
  SCY(overrides?: CallOverrides): Promise<BigNumber>;
716
813
 
717
814
  YT(overrides?: CallOverrides): Promise<BigNumber>;
718
815
 
816
+ _storage(overrides?: CallOverrides): Promise<BigNumber>;
817
+
719
818
  addLiquidity(
720
819
  receiver: string,
721
820
  scyDesired: BigNumberish,
722
- otDesired: BigNumberish,
821
+ ptDesired: BigNumberish,
723
822
  data: BytesLike,
724
823
  overrides?: Overrides & { from?: string | Promise<string> }
725
824
  ): Promise<BigNumber>;
@@ -760,8 +859,6 @@ export interface PendleMarket extends BaseContract {
760
859
 
761
860
  isExpired(overrides?: CallOverrides): Promise<BigNumber>;
762
861
 
763
- marketStorage(overrides?: CallOverrides): Promise<BigNumber>;
764
-
765
862
  name(overrides?: CallOverrides): Promise<BigNumber>;
766
863
 
767
864
  readState(
@@ -784,17 +881,17 @@ export interface PendleMarket extends BaseContract {
784
881
 
785
882
  scalarRoot(overrides?: CallOverrides): Promise<BigNumber>;
786
883
 
787
- swapExactOtForScy(
884
+ swapExactPtForScy(
788
885
  receiver: string,
789
- exactOtIn: BigNumberish,
886
+ exactPtIn: BigNumberish,
790
887
  minScyOut: BigNumberish,
791
888
  data: BytesLike,
792
889
  overrides?: Overrides & { from?: string | Promise<string> }
793
890
  ): Promise<BigNumber>;
794
891
 
795
- swapScyForExactOt(
892
+ swapScyForExactPt(
796
893
  receiver: string,
797
- exactOtOut: BigNumberish,
894
+ exactPtOut: BigNumberish,
798
895
  maxScyIn: BigNumberish,
799
896
  data: BytesLike,
800
897
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -821,16 +918,18 @@ export interface PendleMarket extends BaseContract {
821
918
  };
822
919
 
823
920
  populateTransaction: {
824
- OT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
921
+ PT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
825
922
 
826
923
  SCY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
827
924
 
828
925
  YT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
829
926
 
927
+ _storage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
928
+
830
929
  addLiquidity(
831
930
  receiver: string,
832
931
  scyDesired: BigNumberish,
833
- otDesired: BigNumberish,
932
+ ptDesired: BigNumberish,
834
933
  data: BytesLike,
835
934
  overrides?: Overrides & { from?: string | Promise<string> }
836
935
  ): Promise<PopulatedTransaction>;
@@ -874,8 +973,6 @@ export interface PendleMarket extends BaseContract {
874
973
 
875
974
  isExpired(overrides?: CallOverrides): Promise<PopulatedTransaction>;
876
975
 
877
- marketStorage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
878
-
879
976
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
880
977
 
881
978
  readState(
@@ -898,17 +995,17 @@ export interface PendleMarket extends BaseContract {
898
995
 
899
996
  scalarRoot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
900
997
 
901
- swapExactOtForScy(
998
+ swapExactPtForScy(
902
999
  receiver: string,
903
- exactOtIn: BigNumberish,
1000
+ exactPtIn: BigNumberish,
904
1001
  minScyOut: BigNumberish,
905
1002
  data: BytesLike,
906
1003
  overrides?: Overrides & { from?: string | Promise<string> }
907
1004
  ): Promise<PopulatedTransaction>;
908
1005
 
909
- swapScyForExactOt(
1006
+ swapScyForExactPt(
910
1007
  receiver: string,
911
- exactOtOut: BigNumberish,
1008
+ exactPtOut: BigNumberish,
912
1009
  maxScyIn: BigNumberish,
913
1010
  data: BytesLike,
914
1011
  overrides?: Overrides & { from?: string | Promise<string> }