@pendle/core-v2 0.4.0 → 0.5.1-beta

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 (97) 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/RouterStatic.sol +234 -0
  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/IPRouterStatic.sol +27 -0
  20. package/contracts/interfaces/IPYieldToken.sol +21 -3
  21. package/contracts/libraries/math/MarketMathCore.sol +3 -2
  22. package/package.json +1 -1
  23. package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
  24. package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
  25. package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
  26. package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
  27. package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
  28. package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
  29. package/typechain-types/IPActionAll.ts +1431 -0
  30. package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
  31. package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
  32. package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
  33. package/typechain-types/IPAllAction.ts +1431 -0
  34. package/typechain-types/IPMarket.ts +3 -0
  35. package/typechain-types/IPMarketFactory.ts +46 -0
  36. package/typechain-types/IPYieldToken.ts +342 -14
  37. package/typechain-types/IRewardManager.ts +178 -0
  38. package/typechain-types/PendleAaveV3SCY.ts +70 -64
  39. package/typechain-types/PendleBenQiErc20SCY.ts +70 -64
  40. package/typechain-types/PendleMarket.ts +3 -59
  41. package/typechain-types/PendleMarketFactory.ts +150 -24
  42. package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
  43. package/typechain-types/PendleYieldToken.ts +116 -101
  44. package/typechain-types/RewardManager.ts +48 -42
  45. package/typechain-types/{PendleRouterViewUpg.ts → RouterStatic.ts} +97 -5
  46. package/typechain-types/SCYBaseWithRewards.ts +70 -64
  47. package/typechain-types/factories/ActionCallback__factory.ts +116 -0
  48. package/typechain-types/factories/ActionCore__factory.ts +632 -0
  49. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
  50. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
  51. package/typechain-types/factories/ActionStatic__factory.ts +308 -0
  52. package/typechain-types/factories/ActionYT__factory.ts +370 -0
  53. package/typechain-types/factories/IPActionAll__factory.ts +983 -0
  54. package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
  55. package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
  56. package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
  57. package/typechain-types/factories/IPAllAction__factory.ts +983 -0
  58. package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
  59. package/typechain-types/factories/IPMarket__factory.ts +7 -2
  60. package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
  61. package/typechain-types/factories/IRewardManager__factory.ts +92 -0
  62. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +34 -34
  63. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +34 -34
  64. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
  65. package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
  66. package/typechain-types/factories/PendleMarket__factory.ts +8 -69
  67. package/typechain-types/factories/PendleRouter__factory.ts +282 -0
  68. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -1
  69. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  70. package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
  71. package/typechain-types/factories/RewardManager__factory.ts +18 -18
  72. package/typechain-types/factories/RouterStatic__factory.ts +308 -0
  73. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +33 -33
  74. package/typechain-types/hardhat.d.ts +93 -75
  75. package/typechain-types/index.ts +22 -18
  76. package/contracts/core/router/PendleRouterProxy.sol +0 -84
  77. package/contracts/core/router/PendleRouterStaticUpg.sol +0 -107
  78. package/contracts/interfaces/IPFlashCallBack.sol +0 -10
  79. package/typechain-types/BoringOwnable.ts +0 -194
  80. package/typechain-types/BoringOwnableUpg.ts +0 -194
  81. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  82. package/typechain-types/IPFlashCallback.ts +0 -115
  83. package/typechain-types/IPermissionsV2.ts +0 -87
  84. package/typechain-types/PermissionsV2.ts +0 -87
  85. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  86. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  87. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  88. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  89. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  90. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  91. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  92. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  93. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  94. package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
  95. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  96. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  97. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
@@ -48,6 +48,26 @@ declare module "hardhat/types/runtime" {
48
48
  name: "IERC20",
49
49
  signerOrOptions?: ethers.Signer | FactoryOptions
50
50
  ): Promise<Contracts.IERC20__factory>;
51
+ getContractFactory(
52
+ name: "ActionCallback",
53
+ signerOrOptions?: ethers.Signer | FactoryOptions
54
+ ): Promise<Contracts.ActionCallback__factory>;
55
+ getContractFactory(
56
+ name: "ActionCore",
57
+ signerOrOptions?: ethers.Signer | FactoryOptions
58
+ ): Promise<Contracts.ActionCore__factory>;
59
+ getContractFactory(
60
+ name: "ActionYT",
61
+ signerOrOptions?: ethers.Signer | FactoryOptions
62
+ ): Promise<Contracts.ActionYT__factory>;
63
+ getContractFactory(
64
+ name: "ActionSCYAndYOBase",
65
+ signerOrOptions?: ethers.Signer | FactoryOptions
66
+ ): Promise<Contracts.ActionSCYAndYOBase__factory>;
67
+ getContractFactory(
68
+ name: "ActionSCYAndYTBase",
69
+ signerOrOptions?: ethers.Signer | FactoryOptions
70
+ ): Promise<Contracts.ActionSCYAndYTBase__factory>;
51
71
  getContractFactory(
52
72
  name: "PendleBaseToken",
53
73
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -64,6 +84,10 @@ declare module "hardhat/types/runtime" {
64
84
  name: "PendleOwnershipToken",
65
85
  signerOrOptions?: ethers.Signer | FactoryOptions
66
86
  ): Promise<Contracts.PendleOwnershipToken__factory>;
87
+ getContractFactory(
88
+ name: "PendleRouter",
89
+ signerOrOptions?: ethers.Signer | FactoryOptions
90
+ ): Promise<Contracts.PendleRouter__factory>;
67
91
  getContractFactory(
68
92
  name: "PendleAaveV3SCY",
69
93
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -89,29 +113,9 @@ declare module "hardhat/types/runtime" {
89
113
  signerOrOptions?: ethers.Signer | FactoryOptions
90
114
  ): Promise<Contracts.PendleYieldToken__factory>;
91
115
  getContractFactory(
92
- name: "PendleRouterSCYAndForgeBaseUpg",
93
- signerOrOptions?: ethers.Signer | FactoryOptions
94
- ): Promise<Contracts.PendleRouterSCYAndForgeBaseUpg__factory>;
95
- getContractFactory(
96
- name: "PendleRouterYTBaseUpg",
97
- signerOrOptions?: ethers.Signer | FactoryOptions
98
- ): Promise<Contracts.PendleRouterYTBaseUpg__factory>;
99
- getContractFactory(
100
- name: "PendleRouterCoreUpg",
101
- signerOrOptions?: ethers.Signer | FactoryOptions
102
- ): Promise<Contracts.PendleRouterCoreUpg__factory>;
103
- getContractFactory(
104
- name: "PendleRouterProxy",
105
- signerOrOptions?: ethers.Signer | FactoryOptions
106
- ): Promise<Contracts.PendleRouterProxy__factory>;
107
- getContractFactory(
108
- name: "PendleRouterStaticUpg",
109
- signerOrOptions?: ethers.Signer | FactoryOptions
110
- ): Promise<Contracts.PendleRouterStaticUpg__factory>;
111
- getContractFactory(
112
- name: "PendleRouterYTUpg",
116
+ name: "RouterStatic",
113
117
  signerOrOptions?: ethers.Signer | FactoryOptions
114
- ): Promise<Contracts.PendleRouterYTUpg__factory>;
118
+ ): Promise<Contracts.RouterStatic__factory>;
115
119
  getContractFactory(
116
120
  name: "IAavePool",
117
121
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -137,13 +141,21 @@ declare module "hardhat/types/runtime" {
137
141
  signerOrOptions?: ethers.Signer | FactoryOptions
138
142
  ): Promise<Contracts.IJoeRouter01__factory>;
139
143
  getContractFactory(
140
- name: "IPBaseToken",
144
+ name: "IPActionCore",
141
145
  signerOrOptions?: ethers.Signer | FactoryOptions
142
- ): Promise<Contracts.IPBaseToken__factory>;
146
+ ): Promise<Contracts.IPActionCore__factory>;
147
+ getContractFactory(
148
+ name: "IPActionYT",
149
+ signerOrOptions?: ethers.Signer | FactoryOptions
150
+ ): Promise<Contracts.IPActionYT__factory>;
143
151
  getContractFactory(
144
- name: "IPFlashCallback",
152
+ name: "IPAllAction",
145
153
  signerOrOptions?: ethers.Signer | FactoryOptions
146
- ): Promise<Contracts.IPFlashCallback__factory>;
154
+ ): Promise<Contracts.IPAllAction__factory>;
155
+ getContractFactory(
156
+ name: "IPBaseToken",
157
+ signerOrOptions?: ethers.Signer | FactoryOptions
158
+ ): Promise<Contracts.IPBaseToken__factory>;
147
159
  getContractFactory(
148
160
  name: "IPGovernanceManager",
149
161
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -172,18 +184,10 @@ declare module "hardhat/types/runtime" {
172
184
  name: "IPermissionsV2Upg",
173
185
  signerOrOptions?: ethers.Signer | FactoryOptions
174
186
  ): Promise<Contracts.IPermissionsV2Upg__factory>;
175
- getContractFactory(
176
- name: "IPRouterCore",
177
- signerOrOptions?: ethers.Signer | FactoryOptions
178
- ): Promise<Contracts.IPRouterCore__factory>;
179
187
  getContractFactory(
180
188
  name: "IPRouterStatic",
181
189
  signerOrOptions?: ethers.Signer | FactoryOptions
182
190
  ): Promise<Contracts.IPRouterStatic__factory>;
183
- getContractFactory(
184
- name: "IPRouterYT",
185
- signerOrOptions?: ethers.Signer | FactoryOptions
186
- ): Promise<Contracts.IPRouterYT__factory>;
187
191
  getContractFactory(
188
192
  name: "IPYieldContractFactory",
189
193
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -228,6 +232,10 @@ declare module "hardhat/types/runtime" {
228
232
  name: "PermissionsV2Upg",
229
233
  signerOrOptions?: ethers.Signer | FactoryOptions
230
234
  ): Promise<Contracts.PermissionsV2Upg__factory>;
235
+ getContractFactory(
236
+ name: "IRewardManager",
237
+ signerOrOptions?: ethers.Signer | FactoryOptions
238
+ ): Promise<Contracts.IRewardManager__factory>;
231
239
  getContractFactory(
232
240
  name: "RewardManager",
233
241
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -290,6 +298,31 @@ declare module "hardhat/types/runtime" {
290
298
  address: string,
291
299
  signer?: ethers.Signer
292
300
  ): Promise<Contracts.IERC20>;
301
+ getContractAt(
302
+ name: "ActionCallback",
303
+ address: string,
304
+ signer?: ethers.Signer
305
+ ): Promise<Contracts.ActionCallback>;
306
+ getContractAt(
307
+ name: "ActionCore",
308
+ address: string,
309
+ signer?: ethers.Signer
310
+ ): Promise<Contracts.ActionCore>;
311
+ getContractAt(
312
+ name: "ActionYT",
313
+ address: string,
314
+ signer?: ethers.Signer
315
+ ): Promise<Contracts.ActionYT>;
316
+ getContractAt(
317
+ name: "ActionSCYAndYOBase",
318
+ address: string,
319
+ signer?: ethers.Signer
320
+ ): Promise<Contracts.ActionSCYAndYOBase>;
321
+ getContractAt(
322
+ name: "ActionSCYAndYTBase",
323
+ address: string,
324
+ signer?: ethers.Signer
325
+ ): Promise<Contracts.ActionSCYAndYTBase>;
293
326
  getContractAt(
294
327
  name: "PendleBaseToken",
295
328
  address: string,
@@ -310,6 +343,11 @@ declare module "hardhat/types/runtime" {
310
343
  address: string,
311
344
  signer?: ethers.Signer
312
345
  ): Promise<Contracts.PendleOwnershipToken>;
346
+ getContractAt(
347
+ name: "PendleRouter",
348
+ address: string,
349
+ signer?: ethers.Signer
350
+ ): Promise<Contracts.PendleRouter>;
313
351
  getContractAt(
314
352
  name: "PendleAaveV3SCY",
315
353
  address: string,
@@ -341,35 +379,10 @@ declare module "hardhat/types/runtime" {
341
379
  signer?: ethers.Signer
342
380
  ): Promise<Contracts.PendleYieldToken>;
343
381
  getContractAt(
344
- name: "PendleRouterSCYAndForgeBaseUpg",
345
- address: string,
346
- signer?: ethers.Signer
347
- ): Promise<Contracts.PendleRouterSCYAndForgeBaseUpg>;
348
- getContractAt(
349
- name: "PendleRouterYTBaseUpg",
350
- address: string,
351
- signer?: ethers.Signer
352
- ): Promise<Contracts.PendleRouterYTBaseUpg>;
353
- getContractAt(
354
- name: "PendleRouterCoreUpg",
355
- address: string,
356
- signer?: ethers.Signer
357
- ): Promise<Contracts.PendleRouterCoreUpg>;
358
- getContractAt(
359
- name: "PendleRouterProxy",
360
- address: string,
361
- signer?: ethers.Signer
362
- ): Promise<Contracts.PendleRouterProxy>;
363
- getContractAt(
364
- name: "PendleRouterStaticUpg",
382
+ name: "RouterStatic",
365
383
  address: string,
366
384
  signer?: ethers.Signer
367
- ): Promise<Contracts.PendleRouterStaticUpg>;
368
- getContractAt(
369
- name: "PendleRouterYTUpg",
370
- address: string,
371
- signer?: ethers.Signer
372
- ): Promise<Contracts.PendleRouterYTUpg>;
385
+ ): Promise<Contracts.RouterStatic>;
373
386
  getContractAt(
374
387
  name: "IAavePool",
375
388
  address: string,
@@ -401,15 +414,25 @@ declare module "hardhat/types/runtime" {
401
414
  signer?: ethers.Signer
402
415
  ): Promise<Contracts.IJoeRouter01>;
403
416
  getContractAt(
404
- name: "IPBaseToken",
417
+ name: "IPActionCore",
405
418
  address: string,
406
419
  signer?: ethers.Signer
407
- ): Promise<Contracts.IPBaseToken>;
420
+ ): Promise<Contracts.IPActionCore>;
421
+ getContractAt(
422
+ name: "IPActionYT",
423
+ address: string,
424
+ signer?: ethers.Signer
425
+ ): Promise<Contracts.IPActionYT>;
426
+ getContractAt(
427
+ name: "IPAllAction",
428
+ address: string,
429
+ signer?: ethers.Signer
430
+ ): Promise<Contracts.IPAllAction>;
408
431
  getContractAt(
409
- name: "IPFlashCallback",
432
+ name: "IPBaseToken",
410
433
  address: string,
411
434
  signer?: ethers.Signer
412
- ): Promise<Contracts.IPFlashCallback>;
435
+ ): Promise<Contracts.IPBaseToken>;
413
436
  getContractAt(
414
437
  name: "IPGovernanceManager",
415
438
  address: string,
@@ -445,21 +468,11 @@ declare module "hardhat/types/runtime" {
445
468
  address: string,
446
469
  signer?: ethers.Signer
447
470
  ): Promise<Contracts.IPermissionsV2Upg>;
448
- getContractAt(
449
- name: "IPRouterCore",
450
- address: string,
451
- signer?: ethers.Signer
452
- ): Promise<Contracts.IPRouterCore>;
453
471
  getContractAt(
454
472
  name: "IPRouterStatic",
455
473
  address: string,
456
474
  signer?: ethers.Signer
457
475
  ): Promise<Contracts.IPRouterStatic>;
458
- getContractAt(
459
- name: "IPRouterYT",
460
- address: string,
461
- signer?: ethers.Signer
462
- ): Promise<Contracts.IPRouterYT>;
463
476
  getContractAt(
464
477
  name: "IPYieldContractFactory",
465
478
  address: string,
@@ -515,6 +528,11 @@ declare module "hardhat/types/runtime" {
515
528
  address: string,
516
529
  signer?: ethers.Signer
517
530
  ): Promise<Contracts.PermissionsV2Upg>;
531
+ getContractAt(
532
+ name: "IRewardManager",
533
+ address: string,
534
+ signer?: ethers.Signer
535
+ ): Promise<Contracts.IRewardManager>;
518
536
  getContractAt(
519
537
  name: "RewardManager",
520
538
  address: string,
@@ -10,30 +10,33 @@ export type { Proxy } from "./Proxy";
10
10
  export type { ERC20 } from "./ERC20";
11
11
  export type { IERC20Metadata } from "./IERC20Metadata";
12
12
  export type { IERC20 } from "./IERC20";
13
+ export type { ActionCallback } from "./ActionCallback";
14
+ export type { ActionCore } from "./ActionCore";
15
+ export type { ActionYT } from "./ActionYT";
16
+ export type { ActionSCYAndYOBase } from "./ActionSCYAndYOBase";
17
+ export type { ActionSCYAndYTBase } from "./ActionSCYAndYTBase";
13
18
  export type { PendleBaseToken } from "./PendleBaseToken";
14
19
  export type { PendleMarket } from "./PendleMarket";
15
20
  export type { PendleMarketFactory } from "./PendleMarketFactory";
16
21
  export type { PendleOwnershipToken } from "./PendleOwnershipToken";
22
+ export type { PendleRouter } from "./PendleRouter";
17
23
  export type { PendleAaveV3SCY } from "./PendleAaveV3SCY";
18
24
  export type { PendleBenQiErc20SCY } from "./PendleBenQiErc20SCY";
19
25
  export type { PendleBtrflyScy } from "./PendleBtrflyScy";
20
26
  export type { PendleYearnVaultScy } from "./PendleYearnVaultScy";
21
27
  export type { PendleYieldContractFactory } from "./PendleYieldContractFactory";
22
28
  export type { PendleYieldToken } from "./PendleYieldToken";
23
- export type { PendleRouterSCYAndForgeBaseUpg } from "./PendleRouterSCYAndForgeBaseUpg";
24
- export type { PendleRouterYTBaseUpg } from "./PendleRouterYTBaseUpg";
25
- export type { PendleRouterCoreUpg } from "./PendleRouterCoreUpg";
26
- export type { PendleRouterProxy } from "./PendleRouterProxy";
27
- export type { PendleRouterStaticUpg } from "./PendleRouterStaticUpg";
28
- export type { PendleRouterYTUpg } from "./PendleRouterYTUpg";
29
+ export type { RouterStatic } from "./RouterStatic";
29
30
  export type { IAavePool } from "./IAavePool";
30
31
  export type { IAaveRewardsController } from "./IAaveRewardsController";
31
32
  export type { IAToken } from "./IAToken";
32
33
  export type { IBenQiComptroller } from "./IBenQiComptroller";
33
34
  export type { IJoePair } from "./IJoePair";
34
35
  export type { IJoeRouter01 } from "./IJoeRouter01";
36
+ export type { IPActionCore } from "./IPActionCore";
37
+ export type { IPActionYT } from "./IPActionYT";
38
+ export type { IPAllAction } from "./IPAllAction";
35
39
  export type { IPBaseToken } from "./IPBaseToken";
36
- export type { IPFlashCallback } from "./IPFlashCallback";
37
40
  export type { IPGovernanceManager } from "./IPGovernanceManager";
38
41
  export type { IPMarket } from "./IPMarket";
39
42
  export type { IPMarketAddRemoveCallback } from "./IPMarketAddRemoveCallback";
@@ -41,9 +44,7 @@ export type { IPMarketFactory } from "./IPMarketFactory";
41
44
  export type { IPMarketSwapCallback } from "./IPMarketSwapCallback";
42
45
  export type { IPOwnershipToken } from "./IPOwnershipToken";
43
46
  export type { IPermissionsV2Upg } from "./IPermissionsV2Upg";
44
- export type { IPRouterCore } from "./IPRouterCore";
45
47
  export type { IPRouterStatic } from "./IPRouterStatic";
46
- export type { IPRouterYT } from "./IPRouterYT";
47
48
  export type { IPYieldContractFactory } from "./IPYieldContractFactory";
48
49
  export type { IPYieldToken } from "./IPYieldToken";
49
50
  export type { IQiErc20 } from "./IQiErc20";
@@ -55,6 +56,7 @@ export type { IYearnVault } from "./IYearnVault";
55
56
  export type { PendleGovernanceManager } from "./PendleGovernanceManager";
56
57
  export type { PendleJoeSwapHelperUpg } from "./PendleJoeSwapHelperUpg";
57
58
  export type { PermissionsV2Upg } from "./PermissionsV2Upg";
59
+ export type { IRewardManager } from "./IRewardManager";
58
60
  export type { RewardManager } from "./RewardManager";
59
61
  export type { SCYBase } from "./SCYBase";
60
62
  export type { SCYBaseWithRewards } from "./SCYBaseWithRewards";
@@ -69,30 +71,33 @@ export { Proxy__factory } from "./factories/Proxy__factory";
69
71
  export { ERC20__factory } from "./factories/ERC20__factory";
70
72
  export { IERC20Metadata__factory } from "./factories/IERC20Metadata__factory";
71
73
  export { IERC20__factory } from "./factories/IERC20__factory";
74
+ export { ActionCallback__factory } from "./factories/ActionCallback__factory";
75
+ export { ActionCore__factory } from "./factories/ActionCore__factory";
76
+ export { ActionYT__factory } from "./factories/ActionYT__factory";
77
+ export { ActionSCYAndYOBase__factory } from "./factories/ActionSCYAndYOBase__factory";
78
+ export { ActionSCYAndYTBase__factory } from "./factories/ActionSCYAndYTBase__factory";
72
79
  export { PendleBaseToken__factory } from "./factories/PendleBaseToken__factory";
73
80
  export { PendleMarket__factory } from "./factories/PendleMarket__factory";
74
81
  export { PendleMarketFactory__factory } from "./factories/PendleMarketFactory__factory";
75
82
  export { PendleOwnershipToken__factory } from "./factories/PendleOwnershipToken__factory";
83
+ export { PendleRouter__factory } from "./factories/PendleRouter__factory";
76
84
  export { PendleAaveV3SCY__factory } from "./factories/PendleAaveV3SCY__factory";
77
85
  export { PendleBenQiErc20SCY__factory } from "./factories/PendleBenQiErc20SCY__factory";
78
86
  export { PendleBtrflyScy__factory } from "./factories/PendleBtrflyScy__factory";
79
87
  export { PendleYearnVaultScy__factory } from "./factories/PendleYearnVaultScy__factory";
80
88
  export { PendleYieldContractFactory__factory } from "./factories/PendleYieldContractFactory__factory";
81
89
  export { PendleYieldToken__factory } from "./factories/PendleYieldToken__factory";
82
- export { PendleRouterSCYAndForgeBaseUpg__factory } from "./factories/PendleRouterSCYAndForgeBaseUpg__factory";
83
- export { PendleRouterYTBaseUpg__factory } from "./factories/PendleRouterYTBaseUpg__factory";
84
- export { PendleRouterCoreUpg__factory } from "./factories/PendleRouterCoreUpg__factory";
85
- export { PendleRouterProxy__factory } from "./factories/PendleRouterProxy__factory";
86
- export { PendleRouterStaticUpg__factory } from "./factories/PendleRouterStaticUpg__factory";
87
- export { PendleRouterYTUpg__factory } from "./factories/PendleRouterYTUpg__factory";
90
+ export { RouterStatic__factory } from "./factories/RouterStatic__factory";
88
91
  export { IAavePool__factory } from "./factories/IAavePool__factory";
89
92
  export { IAaveRewardsController__factory } from "./factories/IAaveRewardsController__factory";
90
93
  export { IAToken__factory } from "./factories/IAToken__factory";
91
94
  export { IBenQiComptroller__factory } from "./factories/IBenQiComptroller__factory";
92
95
  export { IJoePair__factory } from "./factories/IJoePair__factory";
93
96
  export { IJoeRouter01__factory } from "./factories/IJoeRouter01__factory";
97
+ export { IPActionCore__factory } from "./factories/IPActionCore__factory";
98
+ export { IPActionYT__factory } from "./factories/IPActionYT__factory";
99
+ export { IPAllAction__factory } from "./factories/IPAllAction__factory";
94
100
  export { IPBaseToken__factory } from "./factories/IPBaseToken__factory";
95
- export { IPFlashCallback__factory } from "./factories/IPFlashCallback__factory";
96
101
  export { IPGovernanceManager__factory } from "./factories/IPGovernanceManager__factory";
97
102
  export { IPMarket__factory } from "./factories/IPMarket__factory";
98
103
  export { IPMarketAddRemoveCallback__factory } from "./factories/IPMarketAddRemoveCallback__factory";
@@ -100,9 +105,7 @@ export { IPMarketFactory__factory } from "./factories/IPMarketFactory__factory";
100
105
  export { IPMarketSwapCallback__factory } from "./factories/IPMarketSwapCallback__factory";
101
106
  export { IPOwnershipToken__factory } from "./factories/IPOwnershipToken__factory";
102
107
  export { IPermissionsV2Upg__factory } from "./factories/IPermissionsV2Upg__factory";
103
- export { IPRouterCore__factory } from "./factories/IPRouterCore__factory";
104
108
  export { IPRouterStatic__factory } from "./factories/IPRouterStatic__factory";
105
- export { IPRouterYT__factory } from "./factories/IPRouterYT__factory";
106
109
  export { IPYieldContractFactory__factory } from "./factories/IPYieldContractFactory__factory";
107
110
  export { IPYieldToken__factory } from "./factories/IPYieldToken__factory";
108
111
  export { IQiErc20__factory } from "./factories/IQiErc20__factory";
@@ -114,6 +117,7 @@ export { IYearnVault__factory } from "./factories/IYearnVault__factory";
114
117
  export { PendleGovernanceManager__factory } from "./factories/PendleGovernanceManager__factory";
115
118
  export { PendleJoeSwapHelperUpg__factory } from "./factories/PendleJoeSwapHelperUpg__factory";
116
119
  export { PermissionsV2Upg__factory } from "./factories/PermissionsV2Upg__factory";
120
+ export { IRewardManager__factory } from "./factories/IRewardManager__factory";
117
121
  export { RewardManager__factory } from "./factories/RewardManager__factory";
118
122
  export { SCYBase__factory } from "./factories/SCYBase__factory";
119
123
  export { SCYBaseWithRewards__factory } from "./factories/SCYBaseWithRewards__factory";
@@ -1,84 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.9;
3
-
4
- import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
- import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
6
- import "@openzeppelin/contracts/proxy/Proxy.sol";
7
- import "../../interfaces/IPRouterCore.sol";
8
- import "../../interfaces/IPRouterYT.sol";
9
- import "../../interfaces/IPRouterStatic.sol";
10
- import "../../periphery/PermissionsV2Upg.sol";
11
-
12
- /// @dev this contract will be deployed behind an ERC1967 proxy
13
- /// calls to the ERC1967 proxy will be resolved at this contract, and proxied again to the
14
- /// corresponding implementation contracts
15
- contract PendleRouterProxy is Proxy, Initializable, UUPSUpgradeable, PermissionsV2Upg {
16
- address public immutable PENDLE_ROUTER_CORE;
17
- address public immutable PENDLE_ROUTER_YT;
18
- address public immutable PENDLE_ROUTER_STATIC;
19
-
20
- constructor(
21
- address _PENDLE_ROUTER_CORE,
22
- address _PENDLE_ROUTER_YT,
23
- address _PENDLE_ROUTER_STATIC,
24
- address _governanceManager
25
- ) PermissionsV2Upg(_governanceManager) initializer {
26
- PENDLE_ROUTER_CORE = _PENDLE_ROUTER_CORE;
27
- PENDLE_ROUTER_YT = _PENDLE_ROUTER_YT;
28
- PENDLE_ROUTER_STATIC = _PENDLE_ROUTER_STATIC;
29
- }
30
-
31
- function initialize() external initializer {
32
- __UUPSUpgradeable_init();
33
- // no need to initialize PermissionsV2Upg
34
- }
35
-
36
- function getRouterImplementation(bytes4 sig) public view returns (address) {
37
- if (
38
- sig == IPRouterCore.mintScyFromRawToken.selector ||
39
- sig == IPRouterCore.redeemScyToRawToken.selector ||
40
- sig == IPRouterCore.mintYoFromRawToken.selector ||
41
- sig == IPRouterCore.redeemYoToRawToken.selector ||
42
- sig == IPRouterCore.addLiquidity.selector ||
43
- sig == IPRouterCore.removeLiquidity.selector ||
44
- sig == IPRouterCore.swapExactOtForScy.selector ||
45
- sig == IPRouterCore.swapOtForExactScy.selector ||
46
- sig == IPRouterCore.swapScyForExactOt.selector ||
47
- sig == IPRouterCore.swapExactScyForOt.selector ||
48
- sig == IPRouterCore.swapExactRawTokenForOt.selector ||
49
- sig == IPRouterCore.swapExactOtForRawToken.selector
50
- ) {
51
- return PENDLE_ROUTER_CORE;
52
- } else if (
53
- sig == IPRouterYT.swapExactYtForScy.selector ||
54
- sig == IPRouterYT.swapScyForExactYt.selector ||
55
- sig == IPRouterYT.swapExactScyForYt.selector ||
56
- sig == IPRouterYT.swapExactRawTokenForYt.selector ||
57
- sig == IPRouterYT.swapExactYtForRawToken.selector
58
- ) {
59
- return PENDLE_ROUTER_YT;
60
- } else if (sig == IPMarketSwapCallback.swapCallback.selector) {
61
- // only ROUTER_YT is doing callback
62
- return PENDLE_ROUTER_YT;
63
- }
64
- /// FROM HERE ONWARDS, ONLY HAVE STATIC & VIEW FUNCTIONS
65
- else if (
66
- sig == IPRouterStatic.addLiquidityStatic.selector ||
67
- sig == IPRouterStatic.removeLiquidityStatic.selector ||
68
- sig == IPRouterStatic.swapOtForScyStatic.selector ||
69
- sig == IPRouterStatic.swapScyForOtStatic.selector ||
70
- sig == IPRouterStatic.scyIndex.selector ||
71
- sig == IPRouterStatic.getOtImpliedYield.selector ||
72
- sig == IPRouterStatic.getPendleTokenType.selector
73
- ) {
74
- return PENDLE_ROUTER_STATIC;
75
- }
76
- require(false, "invalid market sig");
77
- }
78
-
79
- function _implementation() internal view override returns (address) {
80
- return getRouterImplementation(msg.sig);
81
- }
82
-
83
- function _authorizeUpgrade(address newImplementation) internal override onlyGovernance {}
84
- }
@@ -1,107 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.9;
3
-
4
- import "../../interfaces/IPRouterStatic.sol";
5
- import "../../interfaces/IPMarket.sol";
6
- import "../../interfaces/IPYieldContractFactory.sol";
7
- import "../../interfaces/IPMarketFactory.sol";
8
- import "../../libraries/math/MarketMathAux.sol";
9
- import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
10
- import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
11
-
12
- contract PendleRouterStaticUpg is IPRouterStatic {
13
- using MarketMathCore for MarketState;
14
- using MarketMathAux for MarketState;
15
- using Math for uint256;
16
- using Math for int256;
17
- using LogExpMath for int256;
18
-
19
- IPYieldContractFactory public immutable yieldContractFactory;
20
- IPMarketFactory public immutable marketFactory;
21
-
22
- constructor(IPYieldContractFactory _yieldContractFactory, IPMarketFactory _marketFactory) {
23
- yieldContractFactory = _yieldContractFactory;
24
- marketFactory = _marketFactory;
25
- }
26
-
27
- function addLiquidityStatic(
28
- address market,
29
- uint256 scyDesired,
30
- uint256 otDesired
31
- )
32
- external
33
- returns (
34
- uint256 netLpOut,
35
- uint256 scyUsed,
36
- uint256 otUsed
37
- )
38
- {
39
- MarketState memory state = IPMarket(market).readState(false);
40
- (, netLpOut, scyUsed, otUsed) = state.addLiquidity(
41
- scyIndex(market),
42
- scyDesired,
43
- otDesired,
44
- false
45
- );
46
- }
47
-
48
- function removeLiquidityStatic(address market, uint256 lpToRemove)
49
- external
50
- view
51
- returns (uint256 netScyOut, uint256 netOtOut)
52
- {
53
- MarketState memory state = IPMarket(market).readState(false);
54
- (netScyOut, netOtOut) = state.removeLiquidity(lpToRemove, false);
55
- }
56
-
57
- function swapOtForScyStatic(address market, uint256 exactOtIn)
58
- external
59
- returns (uint256 netScyOut, uint256 netScyFee)
60
- {
61
- MarketState memory state = IPMarket(market).readState(false);
62
- (netScyOut, netScyFee) = state.swapExactOtForScy(
63
- scyIndex(market),
64
- exactOtIn,
65
- block.timestamp,
66
- false
67
- );
68
- }
69
-
70
- function swapScyForOtStatic(address market, uint256 exactOtOut)
71
- external
72
- returns (uint256 netScyIn, uint256 netScyFee)
73
- {
74
- MarketState memory state = IPMarket(market).readState(false);
75
- (netScyIn, netScyFee) = state.swapScyForExactOt(
76
- scyIndex(market),
77
- exactOtOut,
78
- block.timestamp,
79
- false
80
- );
81
- }
82
-
83
- function scyIndex(address market) public returns (SCYIndex index) {
84
- return SCYIndexLib.newIndex(IPMarket(market).SCY());
85
- }
86
-
87
- function getOtImpliedYield(address market) external view returns (int256) {
88
- MarketState memory state = IPMarket(market).readState(false);
89
-
90
- int256 lnImpliedRate = (state.lastImpliedRate).Int();
91
- return lnImpliedRate.exp();
92
- }
93
-
94
- function getPendleTokenType(address token)
95
- external
96
- view
97
- returns (
98
- bool isOT,
99
- bool isYT,
100
- bool isMarket
101
- )
102
- {
103
- if (yieldContractFactory.isOT(token)) isOT = true;
104
- else if (yieldContractFactory.isYT(token)) isYT = true;
105
- else if (marketFactory.isValidMarket(token)) isMarket = true;
106
- }
107
- }
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.9;
3
-
4
- interface IPFlashCallback {
5
- function pendleFlashCallback(
6
- address[] calldata tokens,
7
- uint256[] calldata amountsToPay,
8
- bytes calldata data
9
- ) external;
10
- }