@pendle/core-v2 0.4.0 → 0.5.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 (96) hide show
  1. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
  3. package/contracts/core/PendleMarket.sol +10 -18
  4. package/contracts/core/PendleMarketFactory.sol +49 -22
  5. package/contracts/core/PendleRouter.sol +74 -0
  6. package/contracts/core/PendleYieldToken.sol +20 -12
  7. package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
  8. package/contracts/core/actions/ActionCallback.sol +101 -0
  9. package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
  10. package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
  11. package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
  12. package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +3 -5
  13. package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
  14. package/contracts/core/actions/base/ActionType.sol +11 -0
  15. package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
  16. package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
  17. package/contracts/interfaces/IPAllAction.sol +9 -0
  18. package/contracts/interfaces/IPMarketFactory.sol +11 -0
  19. package/contracts/interfaces/IPYieldToken.sol +21 -3
  20. package/contracts/libraries/math/MarketMathCore.sol +3 -2
  21. package/package.json +1 -1
  22. package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
  23. package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
  24. package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
  25. package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
  26. package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
  27. package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
  28. package/typechain-types/IPActionAll.ts +1431 -0
  29. package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
  30. package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
  31. package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
  32. package/typechain-types/IPAllAction.ts +1431 -0
  33. package/typechain-types/IPMarket.ts +3 -0
  34. package/typechain-types/IPMarketFactory.ts +46 -0
  35. package/typechain-types/IPYieldToken.ts +342 -14
  36. package/typechain-types/IRewardManager.ts +178 -0
  37. package/typechain-types/PendleAaveV3SCY.ts +70 -64
  38. package/typechain-types/PendleBenQiErc20SCY.ts +70 -64
  39. package/typechain-types/PendleMarket.ts +3 -59
  40. package/typechain-types/PendleMarketFactory.ts +150 -24
  41. package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
  42. package/typechain-types/PendleYieldToken.ts +116 -101
  43. package/typechain-types/RewardManager.ts +48 -42
  44. package/typechain-types/RouterStatic.ts +828 -0
  45. package/typechain-types/SCYBaseWithRewards.ts +70 -64
  46. package/typechain-types/factories/ActionCallback__factory.ts +116 -0
  47. package/typechain-types/factories/ActionCore__factory.ts +632 -0
  48. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
  49. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
  50. package/typechain-types/factories/ActionStatic__factory.ts +308 -0
  51. package/typechain-types/factories/ActionYT__factory.ts +370 -0
  52. package/typechain-types/factories/IPActionAll__factory.ts +983 -0
  53. package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
  54. package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
  55. package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
  56. package/typechain-types/factories/IPAllAction__factory.ts +983 -0
  57. package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
  58. package/typechain-types/factories/IPMarket__factory.ts +7 -2
  59. package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
  60. package/typechain-types/factories/IRewardManager__factory.ts +92 -0
  61. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +34 -34
  62. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +34 -34
  63. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
  64. package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
  65. package/typechain-types/factories/PendleMarket__factory.ts +8 -69
  66. package/typechain-types/factories/PendleRouter__factory.ts +282 -0
  67. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -1
  68. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  69. package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
  70. package/typechain-types/factories/RewardManager__factory.ts +18 -18
  71. package/typechain-types/factories/RouterStatic__factory.ts +883 -0
  72. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +33 -33
  73. package/typechain-types/hardhat.d.ts +93 -75
  74. package/typechain-types/index.ts +22 -18
  75. package/contracts/core/router/PendleRouterProxy.sol +0 -84
  76. package/contracts/interfaces/IPFlashCallBack.sol +0 -10
  77. package/typechain-types/BoringOwnable.ts +0 -194
  78. package/typechain-types/BoringOwnableUpg.ts +0 -194
  79. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  80. package/typechain-types/IPFlashCallback.ts +0 -115
  81. package/typechain-types/IPermissionsV2.ts +0 -87
  82. package/typechain-types/PendleRouterViewUpg.ts +0 -307
  83. package/typechain-types/PermissionsV2.ts +0 -87
  84. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  85. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  86. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  87. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  88. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  89. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  90. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  91. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  92. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  93. package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
  94. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  95. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  96. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
@@ -22,8 +22,8 @@ import type {
22
22
  OnEvent,
23
23
  } from "./common";
24
24
 
25
- export interface IPRouterCoreInterface extends utils.Interface {
26
- contractName: "IPRouterCore";
25
+ export interface IPActionCoreInterface extends utils.Interface {
26
+ contractName: "IPActionCore";
27
27
  functions: {
28
28
  "addLiquidity(address,address,uint256,uint256,uint256)": FunctionFragment;
29
29
  "mintScyFromRawToken(uint256,address,uint256,address,address[])": FunctionFragment;
@@ -165,13 +165,13 @@ export interface IPRouterCoreInterface extends utils.Interface {
165
165
  events: {};
166
166
  }
167
167
 
168
- export interface IPRouterCore extends BaseContract {
169
- contractName: "IPRouterCore";
168
+ export interface IPActionCore extends BaseContract {
169
+ contractName: "IPActionCore";
170
170
  connect(signerOrProvider: Signer | Provider | string): this;
171
171
  attach(addressOrName: string): this;
172
172
  deployed(): Promise<this>;
173
173
 
174
- interface: IPRouterCoreInterface;
174
+ interface: IPActionCoreInterface;
175
175
 
176
176
  queryFilter<TEvent extends TypedEvent>(
177
177
  event: TypedEventFilter<TEvent>,
@@ -22,11 +22,12 @@ import type {
22
22
  OnEvent,
23
23
  } from "./common";
24
24
 
25
- export interface IPRouterViewInterface extends utils.Interface {
26
- contractName: "IPRouterView";
25
+ export interface IPActionStaticInterface extends utils.Interface {
26
+ contractName: "IPActionStatic";
27
27
  functions: {
28
28
  "addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
29
29
  "getOtImpliedYield(address)": FunctionFragment;
30
+ "getPendleTokenType(address)": FunctionFragment;
30
31
  "removeLiquidityStatic(address,uint256)": FunctionFragment;
31
32
  "scyIndex(address)": FunctionFragment;
32
33
  "swapOtForScyStatic(address,uint256)": FunctionFragment;
@@ -41,6 +42,10 @@ export interface IPRouterViewInterface extends utils.Interface {
41
42
  functionFragment: "getOtImpliedYield",
42
43
  values: [string]
43
44
  ): string;
45
+ encodeFunctionData(
46
+ functionFragment: "getPendleTokenType",
47
+ values: [string]
48
+ ): string;
44
49
  encodeFunctionData(
45
50
  functionFragment: "removeLiquidityStatic",
46
51
  values: [string, BigNumberish]
@@ -63,6 +68,10 @@ export interface IPRouterViewInterface extends utils.Interface {
63
68
  functionFragment: "getOtImpliedYield",
64
69
  data: BytesLike
65
70
  ): Result;
71
+ decodeFunctionResult(
72
+ functionFragment: "getPendleTokenType",
73
+ data: BytesLike
74
+ ): Result;
66
75
  decodeFunctionResult(
67
76
  functionFragment: "removeLiquidityStatic",
68
77
  data: BytesLike
@@ -80,13 +89,13 @@ export interface IPRouterViewInterface extends utils.Interface {
80
89
  events: {};
81
90
  }
82
91
 
83
- export interface IPRouterView extends BaseContract {
84
- contractName: "IPRouterView";
92
+ export interface IPActionStatic extends BaseContract {
93
+ contractName: "IPActionStatic";
85
94
  connect(signerOrProvider: Signer | Provider | string): this;
86
95
  attach(addressOrName: string): this;
87
96
  deployed(): Promise<this>;
88
97
 
89
- interface: IPRouterViewInterface;
98
+ interface: IPActionStaticInterface;
90
99
 
91
100
  queryFilter<TEvent extends TypedEvent>(
92
101
  event: TypedEventFilter<TEvent>,
@@ -120,6 +129,17 @@ export interface IPRouterView extends BaseContract {
120
129
  overrides?: CallOverrides
121
130
  ): Promise<[BigNumber]>;
122
131
 
132
+ getPendleTokenType(
133
+ token: string,
134
+ overrides?: CallOverrides
135
+ ): Promise<
136
+ [boolean, boolean, boolean] & {
137
+ isOT: boolean;
138
+ isYT: boolean;
139
+ isMarket: boolean;
140
+ }
141
+ >;
142
+
123
143
  removeLiquidityStatic(
124
144
  market: string,
125
145
  lpToRemove: BigNumberish,
@@ -158,6 +178,17 @@ export interface IPRouterView extends BaseContract {
158
178
  overrides?: CallOverrides
159
179
  ): Promise<BigNumber>;
160
180
 
181
+ getPendleTokenType(
182
+ token: string,
183
+ overrides?: CallOverrides
184
+ ): Promise<
185
+ [boolean, boolean, boolean] & {
186
+ isOT: boolean;
187
+ isYT: boolean;
188
+ isMarket: boolean;
189
+ }
190
+ >;
191
+
161
192
  removeLiquidityStatic(
162
193
  market: string,
163
194
  lpToRemove: BigNumberish,
@@ -202,6 +233,17 @@ export interface IPRouterView extends BaseContract {
202
233
  overrides?: CallOverrides
203
234
  ): Promise<BigNumber>;
204
235
 
236
+ getPendleTokenType(
237
+ token: string,
238
+ overrides?: CallOverrides
239
+ ): Promise<
240
+ [boolean, boolean, boolean] & {
241
+ isOT: boolean;
242
+ isYT: boolean;
243
+ isMarket: boolean;
244
+ }
245
+ >;
246
+
205
247
  removeLiquidityStatic(
206
248
  market: string,
207
249
  lpToRemove: BigNumberish,
@@ -244,6 +286,11 @@ export interface IPRouterView extends BaseContract {
244
286
  overrides?: CallOverrides
245
287
  ): Promise<BigNumber>;
246
288
 
289
+ getPendleTokenType(
290
+ token: string,
291
+ overrides?: CallOverrides
292
+ ): Promise<BigNumber>;
293
+
247
294
  removeLiquidityStatic(
248
295
  market: string,
249
296
  lpToRemove: BigNumberish,
@@ -281,6 +328,11 @@ export interface IPRouterView extends BaseContract {
281
328
  overrides?: CallOverrides
282
329
  ): Promise<PopulatedTransaction>;
283
330
 
331
+ getPendleTokenType(
332
+ token: string,
333
+ overrides?: CallOverrides
334
+ ): Promise<PopulatedTransaction>;
335
+
284
336
  removeLiquidityStatic(
285
337
  market: string,
286
338
  lpToRemove: BigNumberish,
@@ -22,13 +22,9 @@ import type {
22
22
  OnEvent,
23
23
  } from "./common";
24
24
 
25
- export interface PendleRouterYTUpgInterface extends utils.Interface {
26
- contractName: "PendleRouterYTUpg";
25
+ export interface IPActionYTInterface extends utils.Interface {
26
+ contractName: "IPActionYT";
27
27
  functions: {
28
- "joeFactory()": FunctionFragment;
29
- "joeRouter()": FunctionFragment;
30
- "marketFactory()": FunctionFragment;
31
- "swapCallback(int256,int256,bytes)": FunctionFragment;
32
28
  "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256,uint256)": FunctionFragment;
33
29
  "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
34
30
  "swapExactYtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
@@ -37,19 +33,6 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
37
33
  "swapYtForExactScy(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
38
34
  };
39
35
 
40
- encodeFunctionData(
41
- functionFragment: "joeFactory",
42
- values?: undefined
43
- ): string;
44
- encodeFunctionData(functionFragment: "joeRouter", values?: undefined): string;
45
- encodeFunctionData(
46
- functionFragment: "marketFactory",
47
- values?: undefined
48
- ): string;
49
- encodeFunctionData(
50
- functionFragment: "swapCallback",
51
- values: [BigNumberish, BigNumberish, BytesLike]
52
- ): string;
53
36
  encodeFunctionData(
54
37
  functionFragment: "swapExactRawTokenForYt",
55
38
  values: [
@@ -100,16 +83,6 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
100
83
  ]
101
84
  ): string;
102
85
 
103
- decodeFunctionResult(functionFragment: "joeFactory", data: BytesLike): Result;
104
- decodeFunctionResult(functionFragment: "joeRouter", data: BytesLike): Result;
105
- decodeFunctionResult(
106
- functionFragment: "marketFactory",
107
- data: BytesLike
108
- ): Result;
109
- decodeFunctionResult(
110
- functionFragment: "swapCallback",
111
- data: BytesLike
112
- ): Result;
113
86
  decodeFunctionResult(
114
87
  functionFragment: "swapExactRawTokenForYt",
115
88
  data: BytesLike
@@ -138,13 +111,13 @@ export interface PendleRouterYTUpgInterface extends utils.Interface {
138
111
  events: {};
139
112
  }
140
113
 
141
- export interface PendleRouterYTUpg extends BaseContract {
142
- contractName: "PendleRouterYTUpg";
114
+ export interface IPActionYT extends BaseContract {
115
+ contractName: "IPActionYT";
143
116
  connect(signerOrProvider: Signer | Provider | string): this;
144
117
  attach(addressOrName: string): this;
145
118
  deployed(): Promise<this>;
146
119
 
147
- interface: PendleRouterYTUpgInterface;
120
+ interface: IPActionYTInterface;
148
121
 
149
122
  queryFilter<TEvent extends TypedEvent>(
150
123
  event: TypedEventFilter<TEvent>,
@@ -166,19 +139,6 @@ export interface PendleRouterYTUpg extends BaseContract {
166
139
  removeListener: OnEvent<this>;
167
140
 
168
141
  functions: {
169
- joeFactory(overrides?: CallOverrides): Promise<[string]>;
170
-
171
- joeRouter(overrides?: CallOverrides): Promise<[string]>;
172
-
173
- marketFactory(overrides?: CallOverrides): Promise<[string]>;
174
-
175
- swapCallback(
176
- otToAccount: BigNumberish,
177
- scyToAccount: BigNumberish,
178
- data: BytesLike,
179
- overrides?: Overrides & { from?: string | Promise<string> }
180
- ): Promise<ContractTransaction>;
181
-
182
142
  swapExactRawTokenForYt(
183
143
  exactRawTokenIn: BigNumberish,
184
144
  receiver: string,
@@ -239,19 +199,6 @@ export interface PendleRouterYTUpg extends BaseContract {
239
199
  ): Promise<ContractTransaction>;
240
200
  };
241
201
 
242
- joeFactory(overrides?: CallOverrides): Promise<string>;
243
-
244
- joeRouter(overrides?: CallOverrides): Promise<string>;
245
-
246
- marketFactory(overrides?: CallOverrides): Promise<string>;
247
-
248
- swapCallback(
249
- otToAccount: BigNumberish,
250
- scyToAccount: BigNumberish,
251
- data: BytesLike,
252
- overrides?: Overrides & { from?: string | Promise<string> }
253
- ): Promise<ContractTransaction>;
254
-
255
202
  swapExactRawTokenForYt(
256
203
  exactRawTokenIn: BigNumberish,
257
204
  receiver: string,
@@ -312,19 +259,6 @@ export interface PendleRouterYTUpg extends BaseContract {
312
259
  ): Promise<ContractTransaction>;
313
260
 
314
261
  callStatic: {
315
- joeFactory(overrides?: CallOverrides): Promise<string>;
316
-
317
- joeRouter(overrides?: CallOverrides): Promise<string>;
318
-
319
- marketFactory(overrides?: CallOverrides): Promise<string>;
320
-
321
- swapCallback(
322
- otToAccount: BigNumberish,
323
- scyToAccount: BigNumberish,
324
- data: BytesLike,
325
- overrides?: CallOverrides
326
- ): Promise<void>;
327
-
328
262
  swapExactRawTokenForYt(
329
263
  exactRawTokenIn: BigNumberish,
330
264
  receiver: string,
@@ -388,19 +322,6 @@ export interface PendleRouterYTUpg extends BaseContract {
388
322
  filters: {};
389
323
 
390
324
  estimateGas: {
391
- joeFactory(overrides?: CallOverrides): Promise<BigNumber>;
392
-
393
- joeRouter(overrides?: CallOverrides): Promise<BigNumber>;
394
-
395
- marketFactory(overrides?: CallOverrides): Promise<BigNumber>;
396
-
397
- swapCallback(
398
- otToAccount: BigNumberish,
399
- scyToAccount: BigNumberish,
400
- data: BytesLike,
401
- overrides?: Overrides & { from?: string | Promise<string> }
402
- ): Promise<BigNumber>;
403
-
404
325
  swapExactRawTokenForYt(
405
326
  exactRawTokenIn: BigNumberish,
406
327
  receiver: string,
@@ -462,19 +383,6 @@ export interface PendleRouterYTUpg extends BaseContract {
462
383
  };
463
384
 
464
385
  populateTransaction: {
465
- joeFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
466
-
467
- joeRouter(overrides?: CallOverrides): Promise<PopulatedTransaction>;
468
-
469
- marketFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
470
-
471
- swapCallback(
472
- otToAccount: BigNumberish,
473
- scyToAccount: BigNumberish,
474
- data: BytesLike,
475
- overrides?: Overrides & { from?: string | Promise<string> }
476
- ): Promise<PopulatedTransaction>;
477
-
478
386
  swapExactRawTokenForYt(
479
387
  exactRawTokenIn: BigNumberish,
480
388
  receiver: string,