@pendle/core-v2 0.5.1-beta-4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +2 -0
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +35 -20
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +39 -19
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +26 -14
  5. package/contracts/core/PendleBaseToken.sol +2 -2
  6. package/contracts/core/PendleMarket.sol +145 -61
  7. package/contracts/core/PendleMarketFactory.sol +30 -19
  8. package/contracts/core/{PendleOwnershipToken.sol → PendlePrincipalToken.sol} +14 -2
  9. package/contracts/core/PendleRouter.sol +23 -9
  10. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +21 -20
  11. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +22 -16
  12. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +13 -13
  13. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +107 -0
  14. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +14 -15
  15. package/contracts/core/PendleYieldContractFactory.sol +29 -14
  16. package/contracts/core/PendleYieldToken.sol +130 -76
  17. package/contracts/core/RouterStatic.sol +16 -157
  18. package/contracts/core/actions/ActionCallback.sol +36 -18
  19. package/contracts/core/actions/ActionCore.sol +41 -88
  20. package/contracts/core/actions/ActionRedeem.sol +36 -0
  21. package/contracts/core/actions/ActionYT.sol +41 -59
  22. package/contracts/core/actions/base/{ActionSCYAndOTBase.sol → ActionSCYAndPTBase.sol} +59 -45
  23. package/contracts/core/actions/base/{ActionSCYAndYOBase.sol → ActionSCYAndPYBase.sol} +57 -19
  24. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +31 -21
  25. package/contracts/interfaces/IPActionCore.sol +21 -28
  26. package/contracts/interfaces/IPActionRedeem.sol +17 -0
  27. package/contracts/interfaces/IPActionYT.sol +5 -12
  28. package/contracts/interfaces/IPAllAction.sol +2 -2
  29. package/contracts/interfaces/IPMarket.sol +33 -10
  30. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +2 -2
  31. package/contracts/interfaces/IPMarketFactory.sol +3 -1
  32. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  33. package/contracts/interfaces/{IPOwnershipToken.sol → IPPrincipalToken.sol} +1 -1
  34. package/contracts/interfaces/IPRouterStatic.sol +7 -82
  35. package/contracts/interfaces/IPYieldContractFactory.sol +10 -2
  36. package/contracts/interfaces/IPYieldToken.sol +14 -5
  37. package/contracts/interfaces/IWstETH.sol +10 -0
  38. package/contracts/libraries/JoeLibrary.sol +1 -1
  39. package/contracts/libraries/math/LogExpMath.sol +1 -1
  40. package/contracts/libraries/math/MarketApproxLib.sol +128 -88
  41. package/contracts/libraries/math/MarketMathAux.sol +13 -13
  42. package/contracts/libraries/math/MarketMathCore.sol +62 -93
  43. package/contracts/libraries/math/Math.sol +14 -2
  44. package/contracts/periphery/PendleGovernanceManager.sol +5 -3
  45. package/package.json +3 -2
  46. package/typechain-types/ActionCallback.ts +5 -5
  47. package/typechain-types/ActionCore.ts +312 -234
  48. package/typechain-types/ActionRedeem.ts +125 -0
  49. package/typechain-types/ActionSCYAndPYBase.ts +223 -0
  50. package/typechain-types/ActionSCYAndYOBase.ts +129 -3
  51. package/typechain-types/ActionSCYAndYTBase.ts +149 -3
  52. package/typechain-types/ActionYT.ts +192 -94
  53. package/typechain-types/IPActionCore.ts +183 -231
  54. package/typechain-types/IPActionRedeem.ts +125 -0
  55. package/typechain-types/IPActionYT.ts +43 -91
  56. package/typechain-types/IPAllAction.ts +258 -321
  57. package/typechain-types/IPMarket.ts +150 -50
  58. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  59. package/typechain-types/IPMarketFactory.ts +28 -6
  60. package/typechain-types/IPMarketSwapCallback.ts +5 -5
  61. package/typechain-types/{IPOwnershipToken.ts → IPPrincipalToken.ts} +5 -5
  62. package/typechain-types/IPRouterStatic.ts +50 -530
  63. package/typechain-types/IPYieldContractFactory.ts +85 -19
  64. package/typechain-types/IPYieldToken.ts +138 -37
  65. package/typechain-types/ISuperComposableYield.ts +13 -0
  66. package/typechain-types/IWstETH.ts +149 -0
  67. package/typechain-types/PendleAaveV3SCY.ts +110 -0
  68. package/typechain-types/PendleBaseToken.ts +1 -1
  69. package/typechain-types/PendleBenQiErc20SCY.ts +55 -12
  70. package/typechain-types/PendleBtrflyScy.ts +27 -23
  71. package/typechain-types/PendleGovernanceManager.ts +5 -5
  72. package/typechain-types/PendleMarket.ts +197 -100
  73. package/typechain-types/PendleMarketFactory.ts +96 -34
  74. package/typechain-types/{PendleOwnershipToken.ts → PendlePrincipalToken.ts} +15 -6
  75. package/typechain-types/PendleRouter.ts +19 -0
  76. package/typechain-types/PendleRouterRedeemUpg.ts +125 -0
  77. package/typechain-types/PendleStEthSCY.ts +872 -0
  78. package/typechain-types/PendleYearnVaultScy.ts +27 -23
  79. package/typechain-types/PendleYieldContractFactory.ts +94 -28
  80. package/typechain-types/PendleYieldToken.ts +142 -57
  81. package/typechain-types/RewardManager.ts +21 -0
  82. package/typechain-types/RouterStatic.ts +50 -530
  83. package/typechain-types/SCYBase.ts +25 -0
  84. package/typechain-types/SCYBaseWithRewards.ts +64 -0
  85. package/typechain-types/factories/ActionCallback__factory.ts +2 -2
  86. package/typechain-types/factories/ActionCore__factory.ts +263 -79
  87. package/typechain-types/factories/ActionRedeem__factory.ts +105 -0
  88. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +200 -0
  89. package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +148 -0
  90. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +173 -0
  91. package/typechain-types/factories/ActionYT__factory.ts +265 -56
  92. package/typechain-types/factories/IPActionCore__factory.ts +114 -78
  93. package/typechain-types/factories/IPActionRedeem__factory.ts +70 -0
  94. package/typechain-types/factories/IPActionYT__factory.ts +90 -54
  95. package/typechain-types/factories/IPAllAction__factory.ts +254 -138
  96. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  97. package/typechain-types/factories/IPMarketFactory__factory.ts +26 -1
  98. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
  99. package/typechain-types/factories/IPMarket__factory.ts +125 -13
  100. package/typechain-types/factories/{IPOwnershipToken__factory.ts → IPPrincipalToken__factory.ts} +8 -8
  101. package/typechain-types/factories/IPRouterStatic__factory.ts +12 -628
  102. package/typechain-types/factories/IPYieldContractFactory__factory.ts +72 -2
  103. package/typechain-types/factories/IPYieldToken__factory.ts +93 -7
  104. package/typechain-types/factories/ISuperComposableYield__factory.ts +13 -0
  105. package/typechain-types/factories/IWstETH__factory.ts +74 -0
  106. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +97 -3
  107. package/typechain-types/factories/PendleBaseToken__factory.ts +1 -1
  108. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +62 -7
  109. package/typechain-types/factories/PendleBtrflyScy__factory.ts +42 -19
  110. package/typechain-types/factories/PendleGovernanceManager__factory.ts +2 -2
  111. package/typechain-types/factories/PendleMarketFactory__factory.ts +66 -15
  112. package/typechain-types/factories/PendleMarket__factory.ts +170 -53
  113. package/typechain-types/factories/PendlePrincipalToken__factory.ts +540 -0
  114. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +112 -0
  115. package/typechain-types/factories/PendleRouter__factory.ts +23 -1
  116. package/typechain-types/factories/PendleStEthSCY__factory.ts +716 -0
  117. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +41 -18
  118. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +75 -5
  119. package/typechain-types/factories/PendleYieldToken__factory.ts +102 -33
  120. package/typechain-types/factories/RewardManager__factory.ts +13 -0
  121. package/typechain-types/factories/RouterStatic__factory.ts +13 -629
  122. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +60 -2
  123. package/typechain-types/factories/SCYBase__factory.ts +28 -2
  124. package/typechain-types/hardhat.d.ts +52 -16
  125. package/typechain-types/index.ts +14 -6
  126. package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
@@ -0,0 +1,716 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BytesLike,
11
+ BigNumberish,
12
+ } from "ethers";
13
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type {
15
+ PendleStEthSCY,
16
+ PendleStEthSCYInterface,
17
+ } from "../PendleStEthSCY";
18
+
19
+ const _abi = [
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "string",
24
+ name: "_name",
25
+ type: "string",
26
+ },
27
+ {
28
+ internalType: "string",
29
+ name: "_symbol",
30
+ type: "string",
31
+ },
32
+ {
33
+ internalType: "uint8",
34
+ name: "__scydecimals",
35
+ type: "uint8",
36
+ },
37
+ {
38
+ internalType: "uint8",
39
+ name: "__assetDecimals",
40
+ type: "uint8",
41
+ },
42
+ {
43
+ internalType: "address",
44
+ name: "_stETH",
45
+ type: "address",
46
+ },
47
+ {
48
+ internalType: "address",
49
+ name: "_wstETH",
50
+ type: "address",
51
+ },
52
+ {
53
+ internalType: "bytes32",
54
+ name: "__assetId",
55
+ type: "bytes32",
56
+ },
57
+ ],
58
+ stateMutability: "nonpayable",
59
+ type: "constructor",
60
+ },
61
+ {
62
+ anonymous: false,
63
+ inputs: [
64
+ {
65
+ indexed: true,
66
+ internalType: "address",
67
+ name: "owner",
68
+ type: "address",
69
+ },
70
+ {
71
+ indexed: true,
72
+ internalType: "address",
73
+ name: "spender",
74
+ type: "address",
75
+ },
76
+ {
77
+ indexed: false,
78
+ internalType: "uint256",
79
+ name: "value",
80
+ type: "uint256",
81
+ },
82
+ ],
83
+ name: "Approval",
84
+ type: "event",
85
+ },
86
+ {
87
+ anonymous: false,
88
+ inputs: [
89
+ {
90
+ indexed: true,
91
+ internalType: "address",
92
+ name: "from",
93
+ type: "address",
94
+ },
95
+ {
96
+ indexed: true,
97
+ internalType: "address",
98
+ name: "to",
99
+ type: "address",
100
+ },
101
+ {
102
+ indexed: false,
103
+ internalType: "uint256",
104
+ name: "value",
105
+ type: "uint256",
106
+ },
107
+ ],
108
+ name: "Transfer",
109
+ type: "event",
110
+ },
111
+ {
112
+ anonymous: false,
113
+ inputs: [
114
+ {
115
+ indexed: false,
116
+ internalType: "uint256",
117
+ name: "scyIndex",
118
+ type: "uint256",
119
+ },
120
+ ],
121
+ name: "UpdateScyIndex",
122
+ type: "event",
123
+ },
124
+ {
125
+ inputs: [
126
+ {
127
+ internalType: "address",
128
+ name: "owner",
129
+ type: "address",
130
+ },
131
+ {
132
+ internalType: "address",
133
+ name: "spender",
134
+ type: "address",
135
+ },
136
+ ],
137
+ name: "allowance",
138
+ outputs: [
139
+ {
140
+ internalType: "uint256",
141
+ name: "",
142
+ type: "uint256",
143
+ },
144
+ ],
145
+ stateMutability: "view",
146
+ type: "function",
147
+ },
148
+ {
149
+ inputs: [
150
+ {
151
+ internalType: "address",
152
+ name: "spender",
153
+ type: "address",
154
+ },
155
+ {
156
+ internalType: "uint256",
157
+ name: "amount",
158
+ type: "uint256",
159
+ },
160
+ ],
161
+ name: "approve",
162
+ outputs: [
163
+ {
164
+ internalType: "bool",
165
+ name: "",
166
+ type: "bool",
167
+ },
168
+ ],
169
+ stateMutability: "nonpayable",
170
+ type: "function",
171
+ },
172
+ {
173
+ inputs: [],
174
+ name: "assetDecimals",
175
+ outputs: [
176
+ {
177
+ internalType: "uint8",
178
+ name: "",
179
+ type: "uint8",
180
+ },
181
+ ],
182
+ stateMutability: "view",
183
+ type: "function",
184
+ },
185
+ {
186
+ inputs: [],
187
+ name: "assetId",
188
+ outputs: [
189
+ {
190
+ internalType: "bytes32",
191
+ name: "",
192
+ type: "bytes32",
193
+ },
194
+ ],
195
+ stateMutability: "view",
196
+ type: "function",
197
+ },
198
+ {
199
+ inputs: [
200
+ {
201
+ internalType: "address",
202
+ name: "account",
203
+ type: "address",
204
+ },
205
+ ],
206
+ name: "balanceOf",
207
+ outputs: [
208
+ {
209
+ internalType: "uint256",
210
+ name: "",
211
+ type: "uint256",
212
+ },
213
+ ],
214
+ stateMutability: "view",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [],
219
+ name: "decimals",
220
+ outputs: [
221
+ {
222
+ internalType: "uint8",
223
+ name: "",
224
+ type: "uint8",
225
+ },
226
+ ],
227
+ stateMutability: "view",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ internalType: "address",
234
+ name: "spender",
235
+ type: "address",
236
+ },
237
+ {
238
+ internalType: "uint256",
239
+ name: "subtractedValue",
240
+ type: "uint256",
241
+ },
242
+ ],
243
+ name: "decreaseAllowance",
244
+ outputs: [
245
+ {
246
+ internalType: "bool",
247
+ name: "",
248
+ type: "bool",
249
+ },
250
+ ],
251
+ stateMutability: "nonpayable",
252
+ type: "function",
253
+ },
254
+ {
255
+ inputs: [],
256
+ name: "getBaseTokens",
257
+ outputs: [
258
+ {
259
+ internalType: "address[]",
260
+ name: "res",
261
+ type: "address[]",
262
+ },
263
+ ],
264
+ stateMutability: "view",
265
+ type: "function",
266
+ },
267
+ {
268
+ inputs: [],
269
+ name: "getRewardTokens",
270
+ outputs: [
271
+ {
272
+ internalType: "address[]",
273
+ name: "res",
274
+ type: "address[]",
275
+ },
276
+ ],
277
+ stateMutability: "view",
278
+ type: "function",
279
+ },
280
+ {
281
+ inputs: [
282
+ {
283
+ internalType: "address",
284
+ name: "spender",
285
+ type: "address",
286
+ },
287
+ {
288
+ internalType: "uint256",
289
+ name: "addedValue",
290
+ type: "uint256",
291
+ },
292
+ ],
293
+ name: "increaseAllowance",
294
+ outputs: [
295
+ {
296
+ internalType: "bool",
297
+ name: "",
298
+ type: "bool",
299
+ },
300
+ ],
301
+ stateMutability: "nonpayable",
302
+ type: "function",
303
+ },
304
+ {
305
+ inputs: [
306
+ {
307
+ internalType: "address",
308
+ name: "token",
309
+ type: "address",
310
+ },
311
+ ],
312
+ name: "isValidBaseToken",
313
+ outputs: [
314
+ {
315
+ internalType: "bool",
316
+ name: "",
317
+ type: "bool",
318
+ },
319
+ ],
320
+ stateMutability: "view",
321
+ type: "function",
322
+ },
323
+ {
324
+ inputs: [
325
+ {
326
+ internalType: "address",
327
+ name: "receiver",
328
+ type: "address",
329
+ },
330
+ {
331
+ internalType: "address",
332
+ name: "baseTokenIn",
333
+ type: "address",
334
+ },
335
+ {
336
+ internalType: "uint256",
337
+ name: "amountBaseToPull",
338
+ type: "uint256",
339
+ },
340
+ {
341
+ internalType: "uint256",
342
+ name: "minAmountScyOut",
343
+ type: "uint256",
344
+ },
345
+ ],
346
+ name: "mint",
347
+ outputs: [
348
+ {
349
+ internalType: "uint256",
350
+ name: "amountScyOut",
351
+ type: "uint256",
352
+ },
353
+ ],
354
+ stateMutability: "nonpayable",
355
+ type: "function",
356
+ },
357
+ {
358
+ inputs: [
359
+ {
360
+ internalType: "address",
361
+ name: "receiver",
362
+ type: "address",
363
+ },
364
+ {
365
+ internalType: "address",
366
+ name: "baseTokenIn",
367
+ type: "address",
368
+ },
369
+ {
370
+ internalType: "uint256",
371
+ name: "minAmountScyOut",
372
+ type: "uint256",
373
+ },
374
+ ],
375
+ name: "mintNoPull",
376
+ outputs: [
377
+ {
378
+ internalType: "uint256",
379
+ name: "",
380
+ type: "uint256",
381
+ },
382
+ ],
383
+ stateMutability: "nonpayable",
384
+ type: "function",
385
+ },
386
+ {
387
+ inputs: [],
388
+ name: "name",
389
+ outputs: [
390
+ {
391
+ internalType: "string",
392
+ name: "",
393
+ type: "string",
394
+ },
395
+ ],
396
+ stateMutability: "view",
397
+ type: "function",
398
+ },
399
+ {
400
+ inputs: [
401
+ {
402
+ internalType: "address",
403
+ name: "receiver",
404
+ type: "address",
405
+ },
406
+ {
407
+ internalType: "address",
408
+ name: "baseTokenOut",
409
+ type: "address",
410
+ },
411
+ {
412
+ internalType: "uint256",
413
+ name: "amountScyToPull",
414
+ type: "uint256",
415
+ },
416
+ {
417
+ internalType: "uint256",
418
+ name: "minAmountBaseOut",
419
+ type: "uint256",
420
+ },
421
+ ],
422
+ name: "redeem",
423
+ outputs: [
424
+ {
425
+ internalType: "uint256",
426
+ name: "amountBaseOut",
427
+ type: "uint256",
428
+ },
429
+ ],
430
+ stateMutability: "nonpayable",
431
+ type: "function",
432
+ },
433
+ {
434
+ inputs: [
435
+ {
436
+ internalType: "address",
437
+ name: "receiver",
438
+ type: "address",
439
+ },
440
+ {
441
+ internalType: "address",
442
+ name: "baseTokenOut",
443
+ type: "address",
444
+ },
445
+ {
446
+ internalType: "uint256",
447
+ name: "minAmountBaseOut",
448
+ type: "uint256",
449
+ },
450
+ ],
451
+ name: "redeemNoPull",
452
+ outputs: [
453
+ {
454
+ internalType: "uint256",
455
+ name: "",
456
+ type: "uint256",
457
+ },
458
+ ],
459
+ stateMutability: "nonpayable",
460
+ type: "function",
461
+ },
462
+ {
463
+ inputs: [
464
+ {
465
+ internalType: "address",
466
+ name: "user",
467
+ type: "address",
468
+ },
469
+ ],
470
+ name: "redeemReward",
471
+ outputs: [
472
+ {
473
+ internalType: "uint256[]",
474
+ name: "",
475
+ type: "uint256[]",
476
+ },
477
+ ],
478
+ stateMutability: "nonpayable",
479
+ type: "function",
480
+ },
481
+ {
482
+ inputs: [],
483
+ name: "scyIndexCurrent",
484
+ outputs: [
485
+ {
486
+ internalType: "uint256",
487
+ name: "",
488
+ type: "uint256",
489
+ },
490
+ ],
491
+ stateMutability: "nonpayable",
492
+ type: "function",
493
+ },
494
+ {
495
+ inputs: [],
496
+ name: "scyIndexStored",
497
+ outputs: [
498
+ {
499
+ internalType: "uint256",
500
+ name: "",
501
+ type: "uint256",
502
+ },
503
+ ],
504
+ stateMutability: "view",
505
+ type: "function",
506
+ },
507
+ {
508
+ inputs: [],
509
+ name: "stETH",
510
+ outputs: [
511
+ {
512
+ internalType: "address",
513
+ name: "",
514
+ type: "address",
515
+ },
516
+ ],
517
+ stateMutability: "view",
518
+ type: "function",
519
+ },
520
+ {
521
+ inputs: [],
522
+ name: "symbol",
523
+ outputs: [
524
+ {
525
+ internalType: "string",
526
+ name: "",
527
+ type: "string",
528
+ },
529
+ ],
530
+ stateMutability: "view",
531
+ type: "function",
532
+ },
533
+ {
534
+ inputs: [],
535
+ name: "totalSupply",
536
+ outputs: [
537
+ {
538
+ internalType: "uint256",
539
+ name: "",
540
+ type: "uint256",
541
+ },
542
+ ],
543
+ stateMutability: "view",
544
+ type: "function",
545
+ },
546
+ {
547
+ inputs: [
548
+ {
549
+ internalType: "address",
550
+ name: "to",
551
+ type: "address",
552
+ },
553
+ {
554
+ internalType: "uint256",
555
+ name: "amount",
556
+ type: "uint256",
557
+ },
558
+ ],
559
+ name: "transfer",
560
+ outputs: [
561
+ {
562
+ internalType: "bool",
563
+ name: "",
564
+ type: "bool",
565
+ },
566
+ ],
567
+ stateMutability: "nonpayable",
568
+ type: "function",
569
+ },
570
+ {
571
+ inputs: [
572
+ {
573
+ internalType: "address",
574
+ name: "from",
575
+ type: "address",
576
+ },
577
+ {
578
+ internalType: "address",
579
+ name: "to",
580
+ type: "address",
581
+ },
582
+ {
583
+ internalType: "uint256",
584
+ name: "amount",
585
+ type: "uint256",
586
+ },
587
+ ],
588
+ name: "transferFrom",
589
+ outputs: [
590
+ {
591
+ internalType: "bool",
592
+ name: "",
593
+ type: "bool",
594
+ },
595
+ ],
596
+ stateMutability: "nonpayable",
597
+ type: "function",
598
+ },
599
+ {
600
+ inputs: [],
601
+ name: "updateGlobalReward",
602
+ outputs: [],
603
+ stateMutability: "nonpayable",
604
+ type: "function",
605
+ },
606
+ {
607
+ inputs: [
608
+ {
609
+ internalType: "address",
610
+ name: "user",
611
+ type: "address",
612
+ },
613
+ ],
614
+ name: "updateUserReward",
615
+ outputs: [],
616
+ stateMutability: "nonpayable",
617
+ type: "function",
618
+ },
619
+ {
620
+ inputs: [],
621
+ name: "wstETH",
622
+ outputs: [
623
+ {
624
+ internalType: "address",
625
+ name: "",
626
+ type: "address",
627
+ },
628
+ ],
629
+ stateMutability: "view",
630
+ type: "function",
631
+ },
632
+ ];
633
+
634
+ const _bytecode =
635
+ "0x6101206040523480156200001257600080fd5b506040516200236138038062002361833981016040819052620000359162000629565b868686868484848160039080519060200190620000549291906200047e565b5080516200006a9060049060208401906200047e565b505060016005555060ff928316608052911660a05260c05250506001600160a01b038216620000cf5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064015b60405180910390fd5b6001600160a01b0383811660e081905290831661010081905262000103919060001962000110602090811b6200090217901c565b50505050505050620007dc565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b1580156200015d57600080fd5b505afa15801562000172573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001989190620006e7565b620001a4919062000701565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915291925062000200918691906200020616565b50505050565b600062000262826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002e960201b620009ee179092919060201c565b805190915015620002e4578080602001905181019062000283919062000728565b620002e45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620000c6565b505050565b6060620002fa848460008562000304565b90505b9392505050565b606082471015620003675760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620000c6565b6001600160a01b0385163b620003c05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620000c6565b600080866001600160a01b03168587604051620003de91906200074c565b60006040518083038185875af1925050503d80600081146200041d576040519150601f19603f3d011682016040523d82523d6000602084013e62000422565b606091505b5090925090506200043582828662000440565b979650505050505050565b6060831562000451575081620002fd565b825115620004625782518084602001fd5b8160405162461bcd60e51b8152600401620000c691906200076a565b8280546200048c906200079f565b90600052602060002090601f016020900481019282620004b05760008555620004fb565b82601f10620004cb57805160ff1916838001178555620004fb565b82800160010185558215620004fb579182015b82811115620004fb578251825591602001919060010190620004de565b50620005099291506200050d565b5090565b5b808211156200050957600081556001016200050e565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005575781810151838201526020016200053d565b83811115620002005750506000910152565b600082601f8301126200057b57600080fd5b81516001600160401b038082111562000598576200059862000524565b604051601f8301601f19908116603f01168101908282118183101715620005c357620005c362000524565b81604052838152866020858801011115620005dd57600080fd5b620005f08460208301602089016200053a565b9695505050505050565b805160ff811681146200060c57600080fd5b919050565b80516001600160a01b03811681146200060c57600080fd5b600080600080600080600060e0888a0312156200064557600080fd5b87516001600160401b03808211156200065d57600080fd5b6200066b8b838c0162000569565b985060208a01519150808211156200068257600080fd5b50620006918a828b0162000569565b965050620006a260408901620005fa565b9450620006b260608901620005fa565b9350620006c26080890162000611565b9250620006d260a0890162000611565b915060c0880151905092959891949750929550565b600060208284031215620006fa57600080fd5b5051919050565b600082198211156200072357634e487b7160e01b600052601160045260246000fd5b500190565b6000602082840312156200073b57600080fd5b81518015158114620002fd57600080fd5b60008251620007608184602087016200053a565b9190910192915050565b60208152600082518060208401526200078b8160408501602087016200053a565b601f01601f19169190910160400192915050565b600181811c90821680620007b457607f821691505b60208210811415620007d657634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051611ae56200087c6000396000818161022601528181610703015281816107cc0152818161083401528181611220015281816112ab0152818161150401526115b8015260008181610328015281816106af01528181610791015281816111d2015281816112d4015281816114b6015261158f015260006101fd0152600061034c015260006101b60152611ae56000f3fe608060405234801561001057600080fd5b50600436106101495760003560e01c806306fdde031461014e578063095ea7b31461016c57806318160ddd1461018f57806323b872dd146101a1578063313ce567146101b457806339509351146101e857806344de240a146101fb5780634aa07e64146102215780634be474181461025557806369889d3a1461026857806370a082311461027b5780637695caa21461028e5780638e37b2691461029057806395d89b4114610299578063a457c2d7146102a1578063a9059cbb146102b4578063b286de76146102c7578063b3f1c93d146102e8578063bed64c2f146102fb578063c1129b1b14610310578063c1fe3e4814610323578063c2d416011461034a578063c4f59f9b14610370578063c6d6916c14610384578063c9c0c08214610395578063dd62ed3e146103a8578063f65d6fc8146103bb575b600080fd5b6101566103c3565b604051610163919061170e565b60405180910390f35b61017f61017a36600461175d565b610455565b6040519015158152602001610163565b6002545b604051908152602001610163565b61017f6101af366004611787565b61046f565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff9091168152602001610163565b61017f6101f636600461175d565b610495565b7f0000000000000000000000000000000000000000000000000000000000000000610193565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b60405161016391906117c3565b6101936102633660046117d7565b6104d4565b610193610276366004611787565b61052c565b610193610289366004611819565b61056e565b005b61019360075481565b610156610589565b61017f6102af36600461175d565b610598565b61017f6102c236600461175d565b610635565b6102db6102d5366004611819565b50606090565b6040516101639190611834565b6101936102f63660046117d7565b610643565b61030361068d565b6040516101639190611878565b61019361031e366004611787565b610758565b6102487f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006101d6565b604080516000815260208101909152610303565b61028e610392366004611819565b50565b61017f6103a3366004611819565b61078d565b6101936103b63660046118b9565b610805565b610193610830565b6060600380546103d2906118ec565b80601f01602080910402602001604051908101604052809291908181526020018280546103fe906118ec565b801561044b5780601f106104205761010080835404028352916020019161044b565b820191906000526020600020905b81548152906001019060200180831161042e57829003601f168201915b5050505050905090565b600033610463818585610a05565b60019150505b92915050565b60003361047d858285610b29565b610488858585610b9d565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061046390829086906104cf908790611937565b610a05565b6000600260055414156105025760405162461bcd60e51b81526004016104f99061194f565b60405180910390fd5b600260055561051233308561046f565b5061051e858584610d59565b600160055595945050505050565b6000600260055414156105515760405162461bcd60e51b81526004016104f99061194f565b6002600555610561848484610de8565b6001600555949350505050565b6001600160a01b031660009081526020819052604090205490565b6060600480546103d2906118ec565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561061d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104f9565b61062a8286868403610a05565b506001949350505050565b600033610463818585610b9d565b6000600260055414156106685760405162461bcd60e51b81526004016104f99061194f565b60026005556106826001600160a01b038516333086610e52565b61051e858584610de8565b60408051600280825260608083018452926020830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106106e1576106e1611986565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061073557610735611986565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b60006002600554141561077d5760405162461bcd60e51b81526004016104f99061194f565b6002600555610561848484610d59565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061046957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663035faf826040518163ffffffff1660e01b815260040160206040518083038186803b15801561088b57600080fd5b505afa15801561089f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c3919061199c565b60078190556040519081527fbccccf411823b290c704d60c85a456e04528fff86811afd664d6ebf56347f5859060200160405180910390a15060075490565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610986919061199c565b6109909190611937565b90506109e88463095ea7b360e01b85846040516024016109b19291906119b5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e8a565b50505050565b60606109fd8484600085610f61565b949350505050565b6001600160a01b038316610a675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f9565b6001600160a01b038216610ac85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f9565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610b358484610805565b905060001981146109e85781811015610b905760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104f9565b6109e88484848403610a05565b6001600160a01b038316610c015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f9565b6001600160a01b038216610c635760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f9565b6001600160a01b03831660009081526020819052604090205481811015610cdb5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104f9565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610d12908490611937565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611a9083398151915284604051610d4c91815260200190565b60405180910390a36109e8565b6000610d648361078d565b610d805760405162461bcd60e51b81526004016104f9906119ce565b6000610d8b3061056e565b9050610d973082611092565b610da184826111ce565b915082821015610dc35760405162461bcd60e51b81526004016104f9906119fa565b610dd76001600160a01b0385168684611304565b610de084611323565b509392505050565b6000610df38361078d565b610e0f5760405162461bcd60e51b81526004016104f9906119ce565b6000610e1a846113d4565b9050610e2684826114b2565b915082821015610e485760405162461bcd60e51b81526004016104f9906119fa565b610de085836115dc565b6040516001600160a01b03808516602483015283166044820152606481018290526109e89085906323b872dd60e01b906084016109b1565b6000610edf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109ee9092919063ffffffff16565b805190915015610f5c5780806020019051810190610efd9190611a24565b610f5c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104f9565b505050565b606082471015610fc25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104f9565b6001600160a01b0385163b6110195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f9565b600080866001600160a01b031685876040516110359190611a46565b60006040518083038185875af1925050503d8060008114611072576040519150601f19603f3d011682016040523d82523d6000602084013e611077565b606091505b50915091506110878282866116a9565b979650505050505050565b6001600160a01b0382166110f25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104f9565b6001600160a01b038216600090815260208190526040902054818110156111665760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104f9565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611195908490611a62565b90915550506040518281526000906001600160a01b03851690600080516020611a908339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156112fe57604051636f074d1f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063de0e9a3e90602401602060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a4919061199c565b90506112cf7f0000000000000000000000000000000000000000000000000000000000000000611323565b6112f87f00000000000000000000000000000000000000000000000000000000000000006113d4565b50610469565b50919050565b610f5c8363a9059cbb60e01b84846040516024016109b19291906119b5565b6001600160a01b03811630141561133c5761133c611a79565b6040516370a0823160e01b81526001600160a01b038216906370a08231906113689030906004016117c3565b60206040518083038186803b15801561138057600080fd5b505afa158015611394573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b8919061199c565b6001600160a01b03909116600090815260066020526040902055565b60006001600160a01b0382163014156113ef576113ef611a79565b6040516370a0823160e01b81526000906001600160a01b038416906370a082319061141e9030906004016117c3565b60206040518083038186803b15801561143657600080fd5b505afa15801561144a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146e919061199c565b6001600160a01b0384166000908152600660205260409020549091506114949082611a62565b6001600160a01b039093166000908152600660205260409020555090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156112fe57604051630ea598cb60e41b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ea598cb090602401602060405180830381600087803b15801561155057600080fd5b505af1158015611564573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611588919061199c565b90506115b37f0000000000000000000000000000000000000000000000000000000000000000611323565b6112f87f00000000000000000000000000000000000000000000000000000000000000006113d4565b6001600160a01b0382166116325760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104f9565b80600260008282546116449190611937565b90915550506001600160a01b03821660009081526020819052604081208054839290611671908490611937565b90915550506040518181526001600160a01b03831690600090600080516020611a908339815191529060200160405180910390a35050565b606083156116b857508161048e565b8251156116c85782518084602001fd5b8160405162461bcd60e51b81526004016104f9919061170e565b60005b838110156116fd5781810151838201526020016116e5565b838111156109e85750506000910152565b602081526000825180602084015261172d8160408501602087016116e2565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461175857600080fd5b919050565b6000806040838503121561177057600080fd5b61177983611741565b946020939093013593505050565b60008060006060848603121561179c57600080fd5b6117a584611741565b92506117b360208501611741565b9150604084013590509250925092565b6001600160a01b0391909116815260200190565b600080600080608085870312156117ed57600080fd5b6117f685611741565b935061180460208601611741565b93969395505050506040820135916060013590565b60006020828403121561182b57600080fd5b61048e82611741565b6020808252825182820181905260009190848201906040850190845b8181101561186c57835183529284019291840191600101611850565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561186c5783516001600160a01b031683529284019291840191600101611894565b600080604083850312156118cc57600080fd5b6118d583611741565b91506118e360208401611741565b90509250929050565b600181811c9082168061190057607f821691505b602082108114156112fe57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561194a5761194a611921565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119ae57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60208082526012908201527134b73b30b634b2103130b9b2903a37b5b2b760711b604082015260600190565b60208082526010908201526f1a5b9cdd59999a58da595b9d081bdd5d60821b604082015260600190565b600060208284031215611a3657600080fd5b8151801515811461048e57600080fd5b60008251611a588184602087016116e2565b9190910192915050565b600082821015611a7457611a74611921565b500390565b634e487b7160e01b600052600160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122063f7961b83ec70a224c3db73ff9838e3992bbcdaf3ed91edf4428a7e38ffe15564736f6c63430008090033";
636
+
637
+ type PendleStEthSCYConstructorParams =
638
+ | [signer?: Signer]
639
+ | ConstructorParameters<typeof ContractFactory>;
640
+
641
+ const isSuperArgs = (
642
+ xs: PendleStEthSCYConstructorParams
643
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
644
+
645
+ export class PendleStEthSCY__factory extends ContractFactory {
646
+ constructor(...args: PendleStEthSCYConstructorParams) {
647
+ if (isSuperArgs(args)) {
648
+ super(...args);
649
+ } else {
650
+ super(_abi, _bytecode, args[0]);
651
+ }
652
+ this.contractName = "PendleStEthSCY";
653
+ }
654
+
655
+ deploy(
656
+ _name: string,
657
+ _symbol: string,
658
+ __scydecimals: BigNumberish,
659
+ __assetDecimals: BigNumberish,
660
+ _stETH: string,
661
+ _wstETH: string,
662
+ __assetId: BytesLike,
663
+ overrides?: Overrides & { from?: string | Promise<string> }
664
+ ): Promise<PendleStEthSCY> {
665
+ return super.deploy(
666
+ _name,
667
+ _symbol,
668
+ __scydecimals,
669
+ __assetDecimals,
670
+ _stETH,
671
+ _wstETH,
672
+ __assetId,
673
+ overrides || {}
674
+ ) as Promise<PendleStEthSCY>;
675
+ }
676
+ getDeployTransaction(
677
+ _name: string,
678
+ _symbol: string,
679
+ __scydecimals: BigNumberish,
680
+ __assetDecimals: BigNumberish,
681
+ _stETH: string,
682
+ _wstETH: string,
683
+ __assetId: BytesLike,
684
+ overrides?: Overrides & { from?: string | Promise<string> }
685
+ ): TransactionRequest {
686
+ return super.getDeployTransaction(
687
+ _name,
688
+ _symbol,
689
+ __scydecimals,
690
+ __assetDecimals,
691
+ _stETH,
692
+ _wstETH,
693
+ __assetId,
694
+ overrides || {}
695
+ );
696
+ }
697
+ attach(address: string): PendleStEthSCY {
698
+ return super.attach(address) as PendleStEthSCY;
699
+ }
700
+ connect(signer: Signer): PendleStEthSCY__factory {
701
+ return super.connect(signer) as PendleStEthSCY__factory;
702
+ }
703
+ static readonly contractName: "PendleStEthSCY";
704
+ public readonly contractName: "PendleStEthSCY";
705
+ static readonly bytecode = _bytecode;
706
+ static readonly abi = _abi;
707
+ static createInterface(): PendleStEthSCYInterface {
708
+ return new utils.Interface(_abi) as PendleStEthSCYInterface;
709
+ }
710
+ static connect(
711
+ address: string,
712
+ signerOrProvider: Signer | Provider
713
+ ): PendleStEthSCY {
714
+ return new Contract(address, _abi, signerOrProvider) as PendleStEthSCY;
715
+ }
716
+ }