@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,24 +51,24 @@ 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 IPMarketInterface extends utils.Interface {
69
69
  contractName: "IPMarket";
70
70
  functions: {
71
- "OT()": FunctionFragment;
71
+ "PT()": FunctionFragment;
72
72
  "SCY()": FunctionFragment;
73
73
  "YT()": FunctionFragment;
74
74
  "addLiquidity(address,uint256,uint256,bytes)": FunctionFragment;
@@ -82,15 +82,15 @@ export interface IPMarketInterface extends utils.Interface {
82
82
  "readState(bool)": FunctionFragment;
83
83
  "readTokens()": FunctionFragment;
84
84
  "removeLiquidity(address,uint256,bytes)": FunctionFragment;
85
- "swapExactOtForScy(address,uint256,uint256,bytes)": FunctionFragment;
86
- "swapScyForExactOt(address,uint256,uint256,bytes)": FunctionFragment;
85
+ "swapExactPtForScy(address,uint256,uint256,bytes)": FunctionFragment;
86
+ "swapScyForExactPt(address,uint256,uint256,bytes)": FunctionFragment;
87
87
  "symbol()": FunctionFragment;
88
88
  "totalSupply()": FunctionFragment;
89
89
  "transfer(address,uint256)": FunctionFragment;
90
90
  "transferFrom(address,address,uint256)": FunctionFragment;
91
91
  };
92
92
 
93
- encodeFunctionData(functionFragment: "OT", values?: undefined): string;
93
+ encodeFunctionData(functionFragment: "PT", values?: undefined): string;
94
94
  encodeFunctionData(functionFragment: "SCY", values?: undefined): string;
95
95
  encodeFunctionData(functionFragment: "YT", values?: undefined): string;
96
96
  encodeFunctionData(
@@ -120,11 +120,11 @@ export interface IPMarketInterface extends utils.Interface {
120
120
  values: [string, BigNumberish, BytesLike]
121
121
  ): string;
122
122
  encodeFunctionData(
123
- functionFragment: "swapExactOtForScy",
123
+ functionFragment: "swapExactPtForScy",
124
124
  values: [string, BigNumberish, BigNumberish, BytesLike]
125
125
  ): string;
126
126
  encodeFunctionData(
127
- functionFragment: "swapScyForExactOt",
127
+ functionFragment: "swapScyForExactPt",
128
128
  values: [string, BigNumberish, BigNumberish, BytesLike]
129
129
  ): string;
130
130
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
@@ -141,7 +141,7 @@ export interface IPMarketInterface extends utils.Interface {
141
141
  values: [string, string, BigNumberish]
142
142
  ): string;
143
143
 
144
- decodeFunctionResult(functionFragment: "OT", data: BytesLike): Result;
144
+ decodeFunctionResult(functionFragment: "PT", data: BytesLike): Result;
145
145
  decodeFunctionResult(functionFragment: "SCY", data: BytesLike): Result;
146
146
  decodeFunctionResult(functionFragment: "YT", data: BytesLike): Result;
147
147
  decodeFunctionResult(
@@ -162,11 +162,11 @@ export interface IPMarketInterface extends utils.Interface {
162
162
  data: BytesLike
163
163
  ): Result;
164
164
  decodeFunctionResult(
165
- functionFragment: "swapExactOtForScy",
165
+ functionFragment: "swapExactPtForScy",
166
166
  data: BytesLike
167
167
  ): Result;
168
168
  decodeFunctionResult(
169
- functionFragment: "swapScyForExactOt",
169
+ functionFragment: "swapScyForExactPt",
170
170
  data: BytesLike
171
171
  ): Result;
172
172
  decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
@@ -181,14 +181,34 @@ export interface IPMarketInterface extends utils.Interface {
181
181
  ): Result;
182
182
 
183
183
  events: {
184
+ "AddLiquidity(address,uint256,uint256,uint256)": EventFragment;
184
185
  "Approval(address,address,uint256)": EventFragment;
186
+ "RemoveLiquidity(address,uint256,uint256,uint256)": EventFragment;
187
+ "Swap(address,int256,int256,uint256)": EventFragment;
185
188
  "Transfer(address,address,uint256)": EventFragment;
189
+ "UpdateImpliedRate(uint256,uint256)": EventFragment;
186
190
  };
187
191
 
192
+ getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment;
188
193
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
194
+ getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment;
195
+ getEvent(nameOrSignatureOrTopic: "Swap"): EventFragment;
189
196
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
197
+ getEvent(nameOrSignatureOrTopic: "UpdateImpliedRate"): EventFragment;
190
198
  }
191
199
 
200
+ export type AddLiquidityEvent = TypedEvent<
201
+ [string, BigNumber, BigNumber, BigNumber],
202
+ {
203
+ receiver: string;
204
+ lpToAccount: BigNumber;
205
+ scyUsed: BigNumber;
206
+ ptUsed: BigNumber;
207
+ }
208
+ >;
209
+
210
+ export type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
211
+
192
212
  export type ApprovalEvent = TypedEvent<
193
213
  [string, string, BigNumber],
194
214
  { owner: string; spender: string; value: BigNumber }
@@ -196,6 +216,30 @@ export type ApprovalEvent = TypedEvent<
196
216
 
197
217
  export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
198
218
 
219
+ export type RemoveLiquidityEvent = TypedEvent<
220
+ [string, BigNumber, BigNumber, BigNumber],
221
+ {
222
+ receiver: string;
223
+ lpRemoved: BigNumber;
224
+ scyToAccount: BigNumber;
225
+ ptToAccount: BigNumber;
226
+ }
227
+ >;
228
+
229
+ export type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
230
+
231
+ export type SwapEvent = TypedEvent<
232
+ [string, BigNumber, BigNumber, BigNumber],
233
+ {
234
+ receiver: string;
235
+ ptToAccount: BigNumber;
236
+ scyToAccount: BigNumber;
237
+ netScyToReserve: BigNumber;
238
+ }
239
+ >;
240
+
241
+ export type SwapEventFilter = TypedEventFilter<SwapEvent>;
242
+
199
243
  export type TransferEvent = TypedEvent<
200
244
  [string, string, BigNumber],
201
245
  { from: string; to: string; value: BigNumber }
@@ -203,6 +247,14 @@ export type TransferEvent = TypedEvent<
203
247
 
204
248
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
205
249
 
250
+ export type UpdateImpliedRateEvent = TypedEvent<
251
+ [BigNumber, BigNumber],
252
+ { timestamp: BigNumber; lnLastImpliedRate: BigNumber }
253
+ >;
254
+
255
+ export type UpdateImpliedRateEventFilter =
256
+ TypedEventFilter<UpdateImpliedRateEvent>;
257
+
206
258
  export interface IPMarket extends BaseContract {
207
259
  contractName: "IPMarket";
208
260
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -231,7 +283,7 @@ export interface IPMarket extends BaseContract {
231
283
  removeListener: OnEvent<this>;
232
284
 
233
285
  functions: {
234
- OT(overrides?: CallOverrides): Promise<[string]>;
286
+ PT(overrides?: CallOverrides): Promise<[string]>;
235
287
 
236
288
  SCY(overrides?: CallOverrides): Promise<[string]>;
237
289
 
@@ -240,7 +292,7 @@ export interface IPMarket extends BaseContract {
240
292
  addLiquidity(
241
293
  receiver: string,
242
294
  scyDesired: BigNumberish,
243
- otDesired: BigNumberish,
295
+ ptDesired: BigNumberish,
244
296
  data: BytesLike,
245
297
  overrides?: Overrides & { from?: string | Promise<string> }
246
298
  ): Promise<ContractTransaction>;
@@ -275,7 +327,7 @@ export interface IPMarket extends BaseContract {
275
327
  readTokens(
276
328
  overrides?: CallOverrides
277
329
  ): Promise<
278
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
330
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
279
331
  >;
280
332
 
281
333
  removeLiquidity(
@@ -285,17 +337,17 @@ export interface IPMarket extends BaseContract {
285
337
  overrides?: Overrides & { from?: string | Promise<string> }
286
338
  ): Promise<ContractTransaction>;
287
339
 
288
- swapExactOtForScy(
340
+ swapExactPtForScy(
289
341
  receiver: string,
290
- exactOtIn: BigNumberish,
342
+ exactPtIn: BigNumberish,
291
343
  minScyOut: BigNumberish,
292
344
  data: BytesLike,
293
345
  overrides?: Overrides & { from?: string | Promise<string> }
294
346
  ): Promise<ContractTransaction>;
295
347
 
296
- swapScyForExactOt(
348
+ swapScyForExactPt(
297
349
  receiver: string,
298
- exactOtOut: BigNumberish,
350
+ exactPtOut: BigNumberish,
299
351
  maxScyIn: BigNumberish,
300
352
  data: BytesLike,
301
353
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -319,7 +371,7 @@ export interface IPMarket extends BaseContract {
319
371
  ): Promise<ContractTransaction>;
320
372
  };
321
373
 
322
- OT(overrides?: CallOverrides): Promise<string>;
374
+ PT(overrides?: CallOverrides): Promise<string>;
323
375
 
324
376
  SCY(overrides?: CallOverrides): Promise<string>;
325
377
 
@@ -328,7 +380,7 @@ export interface IPMarket extends BaseContract {
328
380
  addLiquidity(
329
381
  receiver: string,
330
382
  scyDesired: BigNumberish,
331
- otDesired: BigNumberish,
383
+ ptDesired: BigNumberish,
332
384
  data: BytesLike,
333
385
  overrides?: Overrides & { from?: string | Promise<string> }
334
386
  ): Promise<ContractTransaction>;
@@ -363,7 +415,7 @@ export interface IPMarket extends BaseContract {
363
415
  readTokens(
364
416
  overrides?: CallOverrides
365
417
  ): Promise<
366
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
418
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
367
419
  >;
368
420
 
369
421
  removeLiquidity(
@@ -373,17 +425,17 @@ export interface IPMarket extends BaseContract {
373
425
  overrides?: Overrides & { from?: string | Promise<string> }
374
426
  ): Promise<ContractTransaction>;
375
427
 
376
- swapExactOtForScy(
428
+ swapExactPtForScy(
377
429
  receiver: string,
378
- exactOtIn: BigNumberish,
430
+ exactPtIn: BigNumberish,
379
431
  minScyOut: BigNumberish,
380
432
  data: BytesLike,
381
433
  overrides?: Overrides & { from?: string | Promise<string> }
382
434
  ): Promise<ContractTransaction>;
383
435
 
384
- swapScyForExactOt(
436
+ swapScyForExactPt(
385
437
  receiver: string,
386
- exactOtOut: BigNumberish,
438
+ exactPtOut: BigNumberish,
387
439
  maxScyIn: BigNumberish,
388
440
  data: BytesLike,
389
441
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -407,7 +459,7 @@ export interface IPMarket extends BaseContract {
407
459
  ): Promise<ContractTransaction>;
408
460
 
409
461
  callStatic: {
410
- OT(overrides?: CallOverrides): Promise<string>;
462
+ PT(overrides?: CallOverrides): Promise<string>;
411
463
 
412
464
  SCY(overrides?: CallOverrides): Promise<string>;
413
465
 
@@ -416,14 +468,14 @@ export interface IPMarket extends BaseContract {
416
468
  addLiquidity(
417
469
  receiver: string,
418
470
  scyDesired: BigNumberish,
419
- otDesired: BigNumberish,
471
+ ptDesired: BigNumberish,
420
472
  data: BytesLike,
421
473
  overrides?: CallOverrides
422
474
  ): Promise<
423
475
  [BigNumber, BigNumber, BigNumber] & {
424
476
  lpToAccount: BigNumber;
425
477
  scyUsed: BigNumber;
426
- otUsed: BigNumber;
478
+ ptUsed: BigNumber;
427
479
  }
428
480
  >;
429
481
 
@@ -457,7 +509,7 @@ export interface IPMarket extends BaseContract {
457
509
  readTokens(
458
510
  overrides?: CallOverrides
459
511
  ): Promise<
460
- [string, string, string] & { _SCY: string; _OT: string; _YT: string }
512
+ [string, string, string] & { _SCY: string; _PT: string; _YT: string }
461
513
  >;
462
514
 
463
515
  removeLiquidity(
@@ -468,13 +520,13 @@ export interface IPMarket extends BaseContract {
468
520
  ): Promise<
469
521
  [BigNumber, BigNumber] & {
470
522
  scyToAccount: BigNumber;
471
- otToAccount: BigNumber;
523
+ ptToAccount: BigNumber;
472
524
  }
473
525
  >;
474
526
 
475
- swapExactOtForScy(
527
+ swapExactPtForScy(
476
528
  receiver: string,
477
- exactOtIn: BigNumberish,
529
+ exactPtIn: BigNumberish,
478
530
  minScyOut: BigNumberish,
479
531
  data: BytesLike,
480
532
  overrides?: CallOverrides
@@ -485,9 +537,9 @@ export interface IPMarket extends BaseContract {
485
537
  }
486
538
  >;
487
539
 
488
- swapScyForExactOt(
540
+ swapScyForExactPt(
489
541
  receiver: string,
490
- exactOtOut: BigNumberish,
542
+ exactPtOut: BigNumberish,
491
543
  maxScyIn: BigNumberish,
492
544
  data: BytesLike,
493
545
  overrides?: CallOverrides
@@ -517,6 +569,19 @@ export interface IPMarket extends BaseContract {
517
569
  };
518
570
 
519
571
  filters: {
572
+ "AddLiquidity(address,uint256,uint256,uint256)"(
573
+ receiver?: string | null,
574
+ lpToAccount?: null,
575
+ scyUsed?: null,
576
+ ptUsed?: null
577
+ ): AddLiquidityEventFilter;
578
+ AddLiquidity(
579
+ receiver?: string | null,
580
+ lpToAccount?: null,
581
+ scyUsed?: null,
582
+ ptUsed?: null
583
+ ): AddLiquidityEventFilter;
584
+
520
585
  "Approval(address,address,uint256)"(
521
586
  owner?: string | null,
522
587
  spender?: string | null,
@@ -528,6 +593,32 @@ export interface IPMarket extends BaseContract {
528
593
  value?: null
529
594
  ): ApprovalEventFilter;
530
595
 
596
+ "RemoveLiquidity(address,uint256,uint256,uint256)"(
597
+ receiver?: string | null,
598
+ lpRemoved?: null,
599
+ scyToAccount?: null,
600
+ ptToAccount?: null
601
+ ): RemoveLiquidityEventFilter;
602
+ RemoveLiquidity(
603
+ receiver?: string | null,
604
+ lpRemoved?: null,
605
+ scyToAccount?: null,
606
+ ptToAccount?: null
607
+ ): RemoveLiquidityEventFilter;
608
+
609
+ "Swap(address,int256,int256,uint256)"(
610
+ receiver?: string | null,
611
+ ptToAccount?: null,
612
+ scyToAccount?: null,
613
+ netScyToReserve?: null
614
+ ): SwapEventFilter;
615
+ Swap(
616
+ receiver?: string | null,
617
+ ptToAccount?: null,
618
+ scyToAccount?: null,
619
+ netScyToReserve?: null
620
+ ): SwapEventFilter;
621
+
531
622
  "Transfer(address,address,uint256)"(
532
623
  from?: string | null,
533
624
  to?: string | null,
@@ -538,10 +629,19 @@ export interface IPMarket extends BaseContract {
538
629
  to?: string | null,
539
630
  value?: null
540
631
  ): TransferEventFilter;
632
+
633
+ "UpdateImpliedRate(uint256,uint256)"(
634
+ timestamp?: BigNumberish | null,
635
+ lnLastImpliedRate?: null
636
+ ): UpdateImpliedRateEventFilter;
637
+ UpdateImpliedRate(
638
+ timestamp?: BigNumberish | null,
639
+ lnLastImpliedRate?: null
640
+ ): UpdateImpliedRateEventFilter;
541
641
  };
542
642
 
543
643
  estimateGas: {
544
- OT(overrides?: CallOverrides): Promise<BigNumber>;
644
+ PT(overrides?: CallOverrides): Promise<BigNumber>;
545
645
 
546
646
  SCY(overrides?: CallOverrides): Promise<BigNumber>;
547
647
 
@@ -550,7 +650,7 @@ export interface IPMarket extends BaseContract {
550
650
  addLiquidity(
551
651
  receiver: string,
552
652
  scyDesired: BigNumberish,
553
- otDesired: BigNumberish,
653
+ ptDesired: BigNumberish,
554
654
  data: BytesLike,
555
655
  overrides?: Overrides & { from?: string | Promise<string> }
556
656
  ): Promise<BigNumber>;
@@ -591,17 +691,17 @@ export interface IPMarket extends BaseContract {
591
691
  overrides?: Overrides & { from?: string | Promise<string> }
592
692
  ): Promise<BigNumber>;
593
693
 
594
- swapExactOtForScy(
694
+ swapExactPtForScy(
595
695
  receiver: string,
596
- exactOtIn: BigNumberish,
696
+ exactPtIn: BigNumberish,
597
697
  minScyOut: BigNumberish,
598
698
  data: BytesLike,
599
699
  overrides?: Overrides & { from?: string | Promise<string> }
600
700
  ): Promise<BigNumber>;
601
701
 
602
- swapScyForExactOt(
702
+ swapScyForExactPt(
603
703
  receiver: string,
604
- exactOtOut: BigNumberish,
704
+ exactPtOut: BigNumberish,
605
705
  maxScyIn: BigNumberish,
606
706
  data: BytesLike,
607
707
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -626,7 +726,7 @@ export interface IPMarket extends BaseContract {
626
726
  };
627
727
 
628
728
  populateTransaction: {
629
- OT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
729
+ PT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
630
730
 
631
731
  SCY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
632
732
 
@@ -635,7 +735,7 @@ export interface IPMarket extends BaseContract {
635
735
  addLiquidity(
636
736
  receiver: string,
637
737
  scyDesired: BigNumberish,
638
- otDesired: BigNumberish,
738
+ ptDesired: BigNumberish,
639
739
  data: BytesLike,
640
740
  overrides?: Overrides & { from?: string | Promise<string> }
641
741
  ): Promise<PopulatedTransaction>;
@@ -679,17 +779,17 @@ export interface IPMarket extends BaseContract {
679
779
  overrides?: Overrides & { from?: string | Promise<string> }
680
780
  ): Promise<PopulatedTransaction>;
681
781
 
682
- swapExactOtForScy(
782
+ swapExactPtForScy(
683
783
  receiver: string,
684
- exactOtIn: BigNumberish,
784
+ exactPtIn: BigNumberish,
685
785
  minScyOut: BigNumberish,
686
786
  data: BytesLike,
687
787
  overrides?: Overrides & { from?: string | Promise<string> }
688
788
  ): Promise<PopulatedTransaction>;
689
789
 
690
- swapScyForExactOt(
790
+ swapScyForExactPt(
691
791
  receiver: string,
692
- exactOtOut: BigNumberish,
792
+ exactPtOut: BigNumberish,
693
793
  maxScyIn: BigNumberish,
694
794
  data: BytesLike,
695
795
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -81,7 +81,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
81
81
  addLiquidityCallback(
82
82
  lpToAccount: BigNumberish,
83
83
  scyOwed: BigNumberish,
84
- otOwed: BigNumberish,
84
+ ptOwed: BigNumberish,
85
85
  data: BytesLike,
86
86
  overrides?: Overrides & { from?: string | Promise<string> }
87
87
  ): Promise<ContractTransaction>;
@@ -89,7 +89,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
89
89
  removeLiquidityCallback(
90
90
  lpOwed: BigNumberish,
91
91
  scyToAccount: BigNumberish,
92
- otToAccount: BigNumberish,
92
+ ptToAccount: BigNumberish,
93
93
  data: BytesLike,
94
94
  overrides?: Overrides & { from?: string | Promise<string> }
95
95
  ): Promise<ContractTransaction>;
@@ -98,7 +98,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
98
98
  addLiquidityCallback(
99
99
  lpToAccount: BigNumberish,
100
100
  scyOwed: BigNumberish,
101
- otOwed: BigNumberish,
101
+ ptOwed: BigNumberish,
102
102
  data: BytesLike,
103
103
  overrides?: Overrides & { from?: string | Promise<string> }
104
104
  ): Promise<ContractTransaction>;
@@ -106,7 +106,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
106
106
  removeLiquidityCallback(
107
107
  lpOwed: BigNumberish,
108
108
  scyToAccount: BigNumberish,
109
- otToAccount: BigNumberish,
109
+ ptToAccount: BigNumberish,
110
110
  data: BytesLike,
111
111
  overrides?: Overrides & { from?: string | Promise<string> }
112
112
  ): Promise<ContractTransaction>;
@@ -115,7 +115,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
115
115
  addLiquidityCallback(
116
116
  lpToAccount: BigNumberish,
117
117
  scyOwed: BigNumberish,
118
- otOwed: BigNumberish,
118
+ ptOwed: BigNumberish,
119
119
  data: BytesLike,
120
120
  overrides?: CallOverrides
121
121
  ): Promise<void>;
@@ -123,7 +123,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
123
123
  removeLiquidityCallback(
124
124
  lpOwed: BigNumberish,
125
125
  scyToAccount: BigNumberish,
126
- otToAccount: BigNumberish,
126
+ ptToAccount: BigNumberish,
127
127
  data: BytesLike,
128
128
  overrides?: CallOverrides
129
129
  ): Promise<void>;
@@ -135,7 +135,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
135
135
  addLiquidityCallback(
136
136
  lpToAccount: BigNumberish,
137
137
  scyOwed: BigNumberish,
138
- otOwed: BigNumberish,
138
+ ptOwed: BigNumberish,
139
139
  data: BytesLike,
140
140
  overrides?: Overrides & { from?: string | Promise<string> }
141
141
  ): Promise<BigNumber>;
@@ -143,7 +143,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
143
143
  removeLiquidityCallback(
144
144
  lpOwed: BigNumberish,
145
145
  scyToAccount: BigNumberish,
146
- otToAccount: BigNumberish,
146
+ ptToAccount: BigNumberish,
147
147
  data: BytesLike,
148
148
  overrides?: Overrides & { from?: string | Promise<string> }
149
149
  ): Promise<BigNumber>;
@@ -153,7 +153,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
153
153
  addLiquidityCallback(
154
154
  lpToAccount: BigNumberish,
155
155
  scyOwed: BigNumberish,
156
- otOwed: BigNumberish,
156
+ ptOwed: BigNumberish,
157
157
  data: BytesLike,
158
158
  overrides?: Overrides & { from?: string | Promise<string> }
159
159
  ): Promise<PopulatedTransaction>;
@@ -161,7 +161,7 @@ export interface IPMarketAddRemoveCallback extends BaseContract {
161
161
  removeLiquidityCallback(
162
162
  lpOwed: BigNumberish,
163
163
  scyToAccount: BigNumberish,
164
- otToAccount: BigNumberish,
164
+ ptToAccount: BigNumberish,
165
165
  data: BytesLike,
166
166
  overrides?: Overrides & { from?: string | Promise<string> }
167
167
  ): Promise<PopulatedTransaction>;
@@ -10,7 +10,7 @@ import {
10
10
  Signer,
11
11
  utils,
12
12
  } from "ethers";
13
- import { FunctionFragment, Result } from "@ethersproject/abi";
13
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
14
14
  import { Listener, Provider } from "@ethersproject/providers";
15
15
  import type {
16
16
  TypedEventFilter,
@@ -47,9 +47,20 @@ export interface IPMarketFactoryInterface extends utils.Interface {
47
47
  ): Result;
48
48
  decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
49
49
 
50
- events: {};
50
+ events: {
51
+ "CreateNewMarket(address,int256,int256)": EventFragment;
52
+ };
53
+
54
+ getEvent(nameOrSignatureOrTopic: "CreateNewMarket"): EventFragment;
51
55
  }
52
56
 
57
+ export type CreateNewMarketEvent = TypedEvent<
58
+ [string, BigNumber, BigNumber],
59
+ { PT: string; scalarRoot: BigNumber; initialAnchor: BigNumber }
60
+ >;
61
+
62
+ export type CreateNewMarketEventFilter = TypedEventFilter<CreateNewMarketEvent>;
63
+
53
64
  export interface IPMarketFactory extends BaseContract {
54
65
  contractName: "IPMarketFactory";
55
66
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -88,7 +99,7 @@ export interface IPMarketFactory extends BaseContract {
88
99
  ): Promise<
89
100
  [string, BigNumber, number, number] & {
90
101
  treasury: string;
91
- feeRateRoot: BigNumber;
102
+ lnFeeRateRoot: BigNumber;
92
103
  rateOracleTimeWindow: number;
93
104
  reserveFeePercent: number;
94
105
  }
@@ -104,7 +115,7 @@ export interface IPMarketFactory extends BaseContract {
104
115
  ): Promise<
105
116
  [string, BigNumber, number, number] & {
106
117
  treasury: string;
107
- feeRateRoot: BigNumber;
118
+ lnFeeRateRoot: BigNumber;
108
119
  rateOracleTimeWindow: number;
109
120
  reserveFeePercent: number;
110
121
  }
@@ -120,7 +131,7 @@ export interface IPMarketFactory extends BaseContract {
120
131
  ): Promise<
121
132
  [string, BigNumber, number, number] & {
122
133
  treasury: string;
123
- feeRateRoot: BigNumber;
134
+ lnFeeRateRoot: BigNumber;
124
135
  rateOracleTimeWindow: number;
125
136
  reserveFeePercent: number;
126
137
  }
@@ -129,7 +140,18 @@ export interface IPMarketFactory extends BaseContract {
129
140
  treasury(overrides?: CallOverrides): Promise<string>;
130
141
  };
131
142
 
132
- filters: {};
143
+ filters: {
144
+ "CreateNewMarket(address,int256,int256)"(
145
+ PT?: string | null,
146
+ scalarRoot?: null,
147
+ initialAnchor?: null
148
+ ): CreateNewMarketEventFilter;
149
+ CreateNewMarket(
150
+ PT?: string | null,
151
+ scalarRoot?: null,
152
+ initialAnchor?: null
153
+ ): CreateNewMarketEventFilter;
154
+ };
133
155
 
134
156
  estimateGas: {
135
157
  isValidMarket(
@@ -70,7 +70,7 @@ export interface IPMarketSwapCallback extends BaseContract {
70
70
 
71
71
  functions: {
72
72
  swapCallback(
73
- otToAccount: BigNumberish,
73
+ ptToAccount: BigNumberish,
74
74
  scyToAccount: BigNumberish,
75
75
  data: BytesLike,
76
76
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -78,7 +78,7 @@ export interface IPMarketSwapCallback extends BaseContract {
78
78
  };
79
79
 
80
80
  swapCallback(
81
- otToAccount: BigNumberish,
81
+ ptToAccount: BigNumberish,
82
82
  scyToAccount: BigNumberish,
83
83
  data: BytesLike,
84
84
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -86,7 +86,7 @@ export interface IPMarketSwapCallback extends BaseContract {
86
86
 
87
87
  callStatic: {
88
88
  swapCallback(
89
- otToAccount: BigNumberish,
89
+ ptToAccount: BigNumberish,
90
90
  scyToAccount: BigNumberish,
91
91
  data: BytesLike,
92
92
  overrides?: CallOverrides
@@ -97,7 +97,7 @@ export interface IPMarketSwapCallback extends BaseContract {
97
97
 
98
98
  estimateGas: {
99
99
  swapCallback(
100
- otToAccount: BigNumberish,
100
+ ptToAccount: BigNumberish,
101
101
  scyToAccount: BigNumberish,
102
102
  data: BytesLike,
103
103
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -106,7 +106,7 @@ export interface IPMarketSwapCallback extends BaseContract {
106
106
 
107
107
  populateTransaction: {
108
108
  swapCallback(
109
- otToAccount: BigNumberish,
109
+ ptToAccount: BigNumberish,
110
110
  scyToAccount: BigNumberish,
111
111
  data: BytesLike,
112
112
  overrides?: Overrides & { from?: string | Promise<string> }