@pendle/core-v2 0.3.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 (104) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +14 -0
  2. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
  3. package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
  4. package/contracts/SuperComposableYield/implementations/SCYBase.sol +21 -1
  5. package/contracts/core/PendleMarket.sol +10 -18
  6. package/contracts/core/PendleMarketFactory.sol +49 -22
  7. package/contracts/core/PendleRouter.sol +74 -0
  8. package/contracts/core/PendleYieldToken.sol +20 -12
  9. package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
  10. package/contracts/core/actions/ActionCallback.sol +101 -0
  11. package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
  12. package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
  13. package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
  14. package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +6 -8
  15. package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
  16. package/contracts/core/actions/base/ActionType.sol +11 -0
  17. package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
  18. package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
  19. package/contracts/interfaces/IPAllAction.sol +9 -0
  20. package/contracts/interfaces/IPMarketFactory.sol +11 -0
  21. package/contracts/interfaces/IPYieldToken.sol +21 -3
  22. package/contracts/libraries/math/MarketMathCore.sol +3 -2
  23. package/package.json +1 -1
  24. package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
  25. package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
  26. package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
  27. package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
  28. package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
  29. package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
  30. package/typechain-types/IPActionAll.ts +1431 -0
  31. package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
  32. package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
  33. package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
  34. package/typechain-types/IPAllAction.ts +1431 -0
  35. package/typechain-types/IPMarket.ts +3 -0
  36. package/typechain-types/IPMarketFactory.ts +46 -0
  37. package/typechain-types/IPYieldToken.ts +342 -14
  38. package/typechain-types/IRewardManager.ts +178 -0
  39. package/typechain-types/ISuperComposableYield.ts +97 -2
  40. package/typechain-types/PendleAaveV3SCY.ts +167 -66
  41. package/typechain-types/PendleBenQiErc20SCY.ts +167 -66
  42. package/typechain-types/PendleBtrflyScy.ts +97 -2
  43. package/typechain-types/PendleMarket.ts +3 -59
  44. package/typechain-types/PendleMarketFactory.ts +150 -24
  45. package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
  46. package/typechain-types/PendleYearnVaultScy.ts +97 -2
  47. package/typechain-types/PendleYieldToken.ts +116 -101
  48. package/typechain-types/RewardManager.ts +48 -42
  49. package/typechain-types/RouterStatic.ts +828 -0
  50. package/typechain-types/SCYBase.ts +97 -2
  51. package/typechain-types/SCYBaseWithRewards.ts +167 -66
  52. package/typechain-types/factories/ActionCallback__factory.ts +116 -0
  53. package/typechain-types/factories/ActionCore__factory.ts +632 -0
  54. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
  55. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
  56. package/typechain-types/factories/ActionStatic__factory.ts +308 -0
  57. package/typechain-types/factories/ActionYT__factory.ts +370 -0
  58. package/typechain-types/factories/IPActionAll__factory.ts +983 -0
  59. package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
  60. package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
  61. package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
  62. package/typechain-types/factories/IPAllAction__factory.ts +983 -0
  63. package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
  64. package/typechain-types/factories/IPMarket__factory.ts +7 -2
  65. package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
  66. package/typechain-types/factories/IRewardManager__factory.ts +92 -0
  67. package/typechain-types/factories/ISuperComposableYield__factory.ts +68 -0
  68. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +102 -34
  69. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +102 -34
  70. package/typechain-types/factories/PendleBtrflyScy__factory.ts +69 -1
  71. package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
  72. package/typechain-types/factories/PendleMarket__factory.ts +8 -69
  73. package/typechain-types/factories/PendleRouter__factory.ts +282 -0
  74. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +69 -1
  75. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  76. package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
  77. package/typechain-types/factories/RewardManager__factory.ts +18 -18
  78. package/typechain-types/factories/RouterStatic__factory.ts +883 -0
  79. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +101 -33
  80. package/typechain-types/factories/SCYBase__factory.ts +68 -0
  81. package/typechain-types/hardhat.d.ts +93 -75
  82. package/typechain-types/index.ts +22 -18
  83. package/contracts/core/router/PendleRouterProxy.sol +0 -84
  84. package/contracts/interfaces/IPFlashCallBack.sol +0 -10
  85. package/typechain-types/BoringOwnable.ts +0 -194
  86. package/typechain-types/BoringOwnableUpg.ts +0 -194
  87. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  88. package/typechain-types/IPFlashCallback.ts +0 -115
  89. package/typechain-types/IPermissionsV2.ts +0 -87
  90. package/typechain-types/PendleRouterViewUpg.ts +0 -307
  91. package/typechain-types/PermissionsV2.ts +0 -87
  92. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  93. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  94. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  95. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  96. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  97. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  98. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  99. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  100. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  101. package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
  102. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  103. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  104. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
@@ -0,0 +1,178 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ PopulatedTransaction,
10
+ Signer,
11
+ utils,
12
+ } from "ethers";
13
+ import { FunctionFragment, Result } from "@ethersproject/abi";
14
+ import { Listener, Provider } from "@ethersproject/providers";
15
+ import type {
16
+ TypedEventFilter,
17
+ TypedEvent,
18
+ TypedListener,
19
+ OnEvent,
20
+ } from "./common";
21
+
22
+ export interface IRewardManagerInterface extends utils.Interface {
23
+ contractName: "IRewardManager";
24
+ functions: {
25
+ "getGlobalReward(address)": FunctionFragment;
26
+ "getRewardTokens()": FunctionFragment;
27
+ "getUserReward(address,address)": FunctionFragment;
28
+ };
29
+
30
+ encodeFunctionData(
31
+ functionFragment: "getGlobalReward",
32
+ values: [string]
33
+ ): string;
34
+ encodeFunctionData(
35
+ functionFragment: "getRewardTokens",
36
+ values?: undefined
37
+ ): string;
38
+ encodeFunctionData(
39
+ functionFragment: "getUserReward",
40
+ values: [string, string]
41
+ ): string;
42
+
43
+ decodeFunctionResult(
44
+ functionFragment: "getGlobalReward",
45
+ data: BytesLike
46
+ ): Result;
47
+ decodeFunctionResult(
48
+ functionFragment: "getRewardTokens",
49
+ data: BytesLike
50
+ ): Result;
51
+ decodeFunctionResult(
52
+ functionFragment: "getUserReward",
53
+ data: BytesLike
54
+ ): Result;
55
+
56
+ events: {};
57
+ }
58
+
59
+ export interface IRewardManager extends BaseContract {
60
+ contractName: "IRewardManager";
61
+ connect(signerOrProvider: Signer | Provider | string): this;
62
+ attach(addressOrName: string): this;
63
+ deployed(): Promise<this>;
64
+
65
+ interface: IRewardManagerInterface;
66
+
67
+ queryFilter<TEvent extends TypedEvent>(
68
+ event: TypedEventFilter<TEvent>,
69
+ fromBlockOrBlockhash?: string | number | undefined,
70
+ toBlock?: string | number | undefined
71
+ ): Promise<Array<TEvent>>;
72
+
73
+ listeners<TEvent extends TypedEvent>(
74
+ eventFilter?: TypedEventFilter<TEvent>
75
+ ): Array<TypedListener<TEvent>>;
76
+ listeners(eventName?: string): Array<Listener>;
77
+ removeAllListeners<TEvent extends TypedEvent>(
78
+ eventFilter: TypedEventFilter<TEvent>
79
+ ): this;
80
+ removeAllListeners(eventName?: string): this;
81
+ off: OnEvent<this>;
82
+ on: OnEvent<this>;
83
+ once: OnEvent<this>;
84
+ removeListener: OnEvent<this>;
85
+
86
+ functions: {
87
+ getGlobalReward(
88
+ rewardToken: string,
89
+ overrides?: CallOverrides
90
+ ): Promise<
91
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
92
+ >;
93
+
94
+ getRewardTokens(overrides?: CallOverrides): Promise<[string[]]>;
95
+
96
+ getUserReward(
97
+ user: string,
98
+ rewardToken: string,
99
+ overrides?: CallOverrides
100
+ ): Promise<
101
+ [BigNumber, BigNumber] & {
102
+ lastIndex: BigNumber;
103
+ accruedReward: BigNumber;
104
+ }
105
+ >;
106
+ };
107
+
108
+ getGlobalReward(
109
+ rewardToken: string,
110
+ overrides?: CallOverrides
111
+ ): Promise<
112
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
113
+ >;
114
+
115
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
116
+
117
+ getUserReward(
118
+ user: string,
119
+ rewardToken: string,
120
+ overrides?: CallOverrides
121
+ ): Promise<
122
+ [BigNumber, BigNumber] & { lastIndex: BigNumber; accruedReward: BigNumber }
123
+ >;
124
+
125
+ callStatic: {
126
+ getGlobalReward(
127
+ rewardToken: string,
128
+ overrides?: CallOverrides
129
+ ): Promise<
130
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
131
+ >;
132
+
133
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
134
+
135
+ getUserReward(
136
+ user: string,
137
+ rewardToken: string,
138
+ overrides?: CallOverrides
139
+ ): Promise<
140
+ [BigNumber, BigNumber] & {
141
+ lastIndex: BigNumber;
142
+ accruedReward: BigNumber;
143
+ }
144
+ >;
145
+ };
146
+
147
+ filters: {};
148
+
149
+ estimateGas: {
150
+ getGlobalReward(
151
+ rewardToken: string,
152
+ overrides?: CallOverrides
153
+ ): Promise<BigNumber>;
154
+
155
+ getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
156
+
157
+ getUserReward(
158
+ user: string,
159
+ rewardToken: string,
160
+ overrides?: CallOverrides
161
+ ): Promise<BigNumber>;
162
+ };
163
+
164
+ populateTransaction: {
165
+ getGlobalReward(
166
+ rewardToken: string,
167
+ overrides?: CallOverrides
168
+ ): Promise<PopulatedTransaction>;
169
+
170
+ getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
171
+
172
+ getUserReward(
173
+ user: string,
174
+ rewardToken: string,
175
+ overrides?: CallOverrides
176
+ ): Promise<PopulatedTransaction>;
177
+ };
178
+ }
@@ -33,9 +33,11 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
33
33
  "getBaseTokens()": FunctionFragment;
34
34
  "getRewardTokens()": FunctionFragment;
35
35
  "isValidBaseToken(address)": FunctionFragment;
36
- "mint(address,address,uint256)": FunctionFragment;
36
+ "mint(address,address,uint256,uint256)": FunctionFragment;
37
+ "mintNoPull(address,address,uint256)": FunctionFragment;
37
38
  "name()": FunctionFragment;
38
- "redeem(address,address,uint256)": FunctionFragment;
39
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
40
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
39
41
  "redeemReward(address)": FunctionFragment;
40
42
  "scyIndexCurrent()": FunctionFragment;
41
43
  "scyIndexStored()": FunctionFragment;
@@ -75,11 +77,19 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
75
77
  ): string;
76
78
  encodeFunctionData(
77
79
  functionFragment: "mint",
80
+ values: [string, string, BigNumberish, BigNumberish]
81
+ ): string;
82
+ encodeFunctionData(
83
+ functionFragment: "mintNoPull",
78
84
  values: [string, string, BigNumberish]
79
85
  ): string;
80
86
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
81
87
  encodeFunctionData(
82
88
  functionFragment: "redeem",
89
+ values: [string, string, BigNumberish, BigNumberish]
90
+ ): string;
91
+ encodeFunctionData(
92
+ functionFragment: "redeemNoPull",
83
93
  values: [string, string, BigNumberish]
84
94
  ): string;
85
95
  encodeFunctionData(
@@ -137,8 +147,13 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
137
147
  data: BytesLike
138
148
  ): Result;
139
149
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
150
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
140
151
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
141
152
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
153
+ decodeFunctionResult(
154
+ functionFragment: "redeemNoPull",
155
+ data: BytesLike
156
+ ): Result;
142
157
  decodeFunctionResult(
143
158
  functionFragment: "redeemReward",
144
159
  data: BytesLike
@@ -249,6 +264,14 @@ export interface ISuperComposableYield extends BaseContract {
249
264
  ): Promise<[boolean]>;
250
265
 
251
266
  mint(
267
+ receiver: string,
268
+ baseTokenIn: string,
269
+ amountBaseToPull: BigNumberish,
270
+ minAmountScyOut: BigNumberish,
271
+ overrides?: Overrides & { from?: string | Promise<string> }
272
+ ): Promise<ContractTransaction>;
273
+
274
+ mintNoPull(
252
275
  receiver: string,
253
276
  baseTokenIn: string,
254
277
  minAmountScyOut: BigNumberish,
@@ -258,6 +281,14 @@ export interface ISuperComposableYield extends BaseContract {
258
281
  name(overrides?: CallOverrides): Promise<[string]>;
259
282
 
260
283
  redeem(
284
+ receiver: string,
285
+ baseTokenOut: string,
286
+ amountScyToPull: BigNumberish,
287
+ minAmountBaseOut: BigNumberish,
288
+ overrides?: Overrides & { from?: string | Promise<string> }
289
+ ): Promise<ContractTransaction>;
290
+
291
+ redeemNoPull(
261
292
  receiver: string,
262
293
  baseTokenOut: string,
263
294
  minAmountBaseOut: BigNumberish,
@@ -327,6 +358,14 @@ export interface ISuperComposableYield extends BaseContract {
327
358
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
328
359
 
329
360
  mint(
361
+ receiver: string,
362
+ baseTokenIn: string,
363
+ amountBaseToPull: BigNumberish,
364
+ minAmountScyOut: BigNumberish,
365
+ overrides?: Overrides & { from?: string | Promise<string> }
366
+ ): Promise<ContractTransaction>;
367
+
368
+ mintNoPull(
330
369
  receiver: string,
331
370
  baseTokenIn: string,
332
371
  minAmountScyOut: BigNumberish,
@@ -336,6 +375,14 @@ export interface ISuperComposableYield extends BaseContract {
336
375
  name(overrides?: CallOverrides): Promise<string>;
337
376
 
338
377
  redeem(
378
+ receiver: string,
379
+ baseTokenOut: string,
380
+ amountScyToPull: BigNumberish,
381
+ minAmountBaseOut: BigNumberish,
382
+ overrides?: Overrides & { from?: string | Promise<string> }
383
+ ): Promise<ContractTransaction>;
384
+
385
+ redeemNoPull(
339
386
  receiver: string,
340
387
  baseTokenOut: string,
341
388
  minAmountBaseOut: BigNumberish,
@@ -408,6 +455,14 @@ export interface ISuperComposableYield extends BaseContract {
408
455
  ): Promise<boolean>;
409
456
 
410
457
  mint(
458
+ receiver: string,
459
+ baseTokenIn: string,
460
+ amountBaseToPull: BigNumberish,
461
+ minAmountScyOut: BigNumberish,
462
+ overrides?: CallOverrides
463
+ ): Promise<BigNumber>;
464
+
465
+ mintNoPull(
411
466
  receiver: string,
412
467
  baseTokenIn: string,
413
468
  minAmountScyOut: BigNumberish,
@@ -417,6 +472,14 @@ export interface ISuperComposableYield extends BaseContract {
417
472
  name(overrides?: CallOverrides): Promise<string>;
418
473
 
419
474
  redeem(
475
+ receiver: string,
476
+ baseTokenOut: string,
477
+ amountScyToPull: BigNumberish,
478
+ minAmountBaseOut: BigNumberish,
479
+ overrides?: CallOverrides
480
+ ): Promise<BigNumber>;
481
+
482
+ redeemNoPull(
420
483
  receiver: string,
421
484
  baseTokenOut: string,
422
485
  minAmountBaseOut: BigNumberish,
@@ -504,6 +567,14 @@ export interface ISuperComposableYield extends BaseContract {
504
567
  ): Promise<BigNumber>;
505
568
 
506
569
  mint(
570
+ receiver: string,
571
+ baseTokenIn: string,
572
+ amountBaseToPull: BigNumberish,
573
+ minAmountScyOut: BigNumberish,
574
+ overrides?: Overrides & { from?: string | Promise<string> }
575
+ ): Promise<BigNumber>;
576
+
577
+ mintNoPull(
507
578
  receiver: string,
508
579
  baseTokenIn: string,
509
580
  minAmountScyOut: BigNumberish,
@@ -513,6 +584,14 @@ export interface ISuperComposableYield extends BaseContract {
513
584
  name(overrides?: CallOverrides): Promise<BigNumber>;
514
585
 
515
586
  redeem(
587
+ receiver: string,
588
+ baseTokenOut: string,
589
+ amountScyToPull: BigNumberish,
590
+ minAmountBaseOut: BigNumberish,
591
+ overrides?: Overrides & { from?: string | Promise<string> }
592
+ ): Promise<BigNumber>;
593
+
594
+ redeemNoPull(
516
595
  receiver: string,
517
596
  baseTokenOut: string,
518
597
  minAmountBaseOut: BigNumberish,
@@ -589,6 +668,14 @@ export interface ISuperComposableYield extends BaseContract {
589
668
  ): Promise<PopulatedTransaction>;
590
669
 
591
670
  mint(
671
+ receiver: string,
672
+ baseTokenIn: string,
673
+ amountBaseToPull: BigNumberish,
674
+ minAmountScyOut: BigNumberish,
675
+ overrides?: Overrides & { from?: string | Promise<string> }
676
+ ): Promise<PopulatedTransaction>;
677
+
678
+ mintNoPull(
592
679
  receiver: string,
593
680
  baseTokenIn: string,
594
681
  minAmountScyOut: BigNumberish,
@@ -598,6 +685,14 @@ export interface ISuperComposableYield extends BaseContract {
598
685
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
599
686
 
600
687
  redeem(
688
+ receiver: string,
689
+ baseTokenOut: string,
690
+ amountScyToPull: BigNumberish,
691
+ minAmountBaseOut: BigNumberish,
692
+ overrides?: Overrides & { from?: string | Promise<string> }
693
+ ): Promise<PopulatedTransaction>;
694
+
695
+ redeemNoPull(
601
696
  receiver: string,
602
697
  baseTokenOut: string,
603
698
  minAmountBaseOut: BigNumberish,