@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.
- package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
- package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
- package/contracts/core/PendleMarket.sol +10 -18
- package/contracts/core/PendleMarketFactory.sol +49 -22
- package/contracts/core/PendleRouter.sol +74 -0
- package/contracts/core/PendleYieldToken.sol +20 -12
- package/contracts/core/RouterStatic.sol +234 -0
- package/contracts/core/actions/ActionCallback.sol +101 -0
- package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
- package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
- package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
- package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +3 -5
- package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
- package/contracts/core/actions/base/ActionType.sol +11 -0
- package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
- package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
- package/contracts/interfaces/IPAllAction.sol +9 -0
- package/contracts/interfaces/IPMarketFactory.sol +11 -0
- package/contracts/interfaces/IPRouterStatic.sol +27 -0
- package/contracts/interfaces/IPYieldToken.sol +21 -3
- package/contracts/libraries/math/MarketMathCore.sol +3 -2
- package/package.json +1 -1
- package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
- package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
- package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
- package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
- package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
- package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
- package/typechain-types/IPActionAll.ts +1431 -0
- package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
- package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
- package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
- package/typechain-types/IPAllAction.ts +1431 -0
- package/typechain-types/IPMarket.ts +3 -0
- package/typechain-types/IPMarketFactory.ts +46 -0
- package/typechain-types/IPYieldToken.ts +342 -14
- package/typechain-types/IRewardManager.ts +178 -0
- package/typechain-types/PendleAaveV3SCY.ts +70 -64
- package/typechain-types/PendleBenQiErc20SCY.ts +70 -64
- package/typechain-types/PendleMarket.ts +3 -59
- package/typechain-types/PendleMarketFactory.ts +150 -24
- package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
- package/typechain-types/PendleYieldToken.ts +116 -101
- package/typechain-types/RewardManager.ts +48 -42
- package/typechain-types/{PendleRouterViewUpg.ts → RouterStatic.ts} +97 -5
- package/typechain-types/SCYBaseWithRewards.ts +70 -64
- package/typechain-types/factories/ActionCallback__factory.ts +116 -0
- package/typechain-types/factories/ActionCore__factory.ts +632 -0
- package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
- package/typechain-types/factories/ActionStatic__factory.ts +308 -0
- package/typechain-types/factories/ActionYT__factory.ts +370 -0
- package/typechain-types/factories/IPActionAll__factory.ts +983 -0
- package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
- package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
- package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
- package/typechain-types/factories/IPAllAction__factory.ts +983 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
- package/typechain-types/factories/IPMarket__factory.ts +7 -2
- package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
- package/typechain-types/factories/IRewardManager__factory.ts +92 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +34 -34
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +34 -34
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
- package/typechain-types/factories/PendleMarket__factory.ts +8 -69
- package/typechain-types/factories/PendleRouter__factory.ts +282 -0
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
- package/typechain-types/factories/RewardManager__factory.ts +18 -18
- package/typechain-types/factories/RouterStatic__factory.ts +308 -0
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +33 -33
- package/typechain-types/hardhat.d.ts +93 -75
- package/typechain-types/index.ts +22 -18
- package/contracts/core/router/PendleRouterProxy.sol +0 -84
- package/contracts/core/router/PendleRouterStaticUpg.sol +0 -107
- package/contracts/interfaces/IPFlashCallBack.sol +0 -10
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableUpg.ts +0 -194
- package/typechain-types/BoringOwnableUpgData.ts +0 -100
- package/typechain-types/IPFlashCallback.ts +0 -115
- package/typechain-types/IPermissionsV2.ts +0 -87
- package/typechain-types/PermissionsV2.ts +0 -87
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
- package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
- package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
- package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
- package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
- package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
- package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
- package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
- 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: "
|
|
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.
|
|
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: "
|
|
144
|
+
name: "IPActionCore",
|
|
141
145
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
142
|
-
): Promise<Contracts.
|
|
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: "
|
|
152
|
+
name: "IPAllAction",
|
|
145
153
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
146
|
-
): Promise<Contracts.
|
|
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: "
|
|
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.
|
|
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: "
|
|
417
|
+
name: "IPActionCore",
|
|
405
418
|
address: string,
|
|
406
419
|
signer?: ethers.Signer
|
|
407
|
-
): Promise<Contracts.
|
|
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: "
|
|
432
|
+
name: "IPBaseToken",
|
|
410
433
|
address: string,
|
|
411
434
|
signer?: ethers.Signer
|
|
412
|
-
): Promise<Contracts.
|
|
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,
|
package/typechain-types/index.ts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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
|
-
}
|