@usdu-core/usdu-core 0.0.1

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 (107) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.env.example +6 -0
  3. package/.prettierrc.json +7 -0
  4. package/LICENSE +674 -0
  5. package/README.md +244 -0
  6. package/contracts/curve/CurveAdapterV1.sol +310 -0
  7. package/contracts/curve/CurveAdapterV1_1.sol +198 -0
  8. package/contracts/curve/helpers/ICurveStableSwapNG.json +566 -0
  9. package/contracts/curve/helpers/ICurveStableSwapNG.sol +177 -0
  10. package/contracts/deploy/VaultDeployer.sol +110 -0
  11. package/contracts/morpho/MorphoAdapterV1.sol +255 -0
  12. package/contracts/morpho/MorphoAdapterV1_1.sol +137 -0
  13. package/contracts/morpho/MorphoAdapterV1_2.sol +126 -0
  14. package/contracts/morpho/helpers/AggregatorV3Interface.sol +24 -0
  15. package/contracts/morpho/helpers/ChainlinkDataFeedLib.sol +36 -0
  16. package/contracts/morpho/helpers/ConstantsLib.sol +20 -0
  17. package/contracts/morpho/helpers/ErrorsLib.sol +17 -0
  18. package/contracts/morpho/helpers/IERC4626.sol +6 -0
  19. package/contracts/morpho/helpers/IMetaMorphoV1_1.sol +229 -0
  20. package/contracts/morpho/helpers/IMetaMorphoV1_1Factory.sol +32 -0
  21. package/contracts/morpho/helpers/IMorpho.sol +361 -0
  22. package/contracts/morpho/helpers/IMorphoCallbacks.sol +52 -0
  23. package/contracts/morpho/helpers/IMorphoChainlinkOracleV2.sol +39 -0
  24. package/contracts/morpho/helpers/IMorphoChainlinkOracleV2Factory.sol +56 -0
  25. package/contracts/morpho/helpers/IOracle.sol +15 -0
  26. package/contracts/morpho/helpers/MarketParamsLib.sol +21 -0
  27. package/contracts/morpho/helpers/MathLib.sol +45 -0
  28. package/contracts/morpho/helpers/Morpho.sol.bak +517 -0
  29. package/contracts/morpho/helpers/MorphoChainlinkOracleV2.sol +157 -0
  30. package/contracts/morpho/helpers/PendingLib.sol +47 -0
  31. package/contracts/morpho/helpers/SharesMathLib.sol +45 -0
  32. package/contracts/morpho/helpers/VaultLib.sol +18 -0
  33. package/contracts/reward/RewardDistributionV1.sol +110 -0
  34. package/contracts/reward/RewardRouterV0.sol +63 -0
  35. package/contracts/reward/Rewards.example.json +72 -0
  36. package/contracts/stablecoin/IStablecoin.sol +211 -0
  37. package/contracts/stablecoin/IStablecoinMetadata.sol +27 -0
  38. package/contracts/stablecoin/IStablecoinModifier.sol +52 -0
  39. package/contracts/stablecoin/Stablecoin.sol +376 -0
  40. package/contracts/stablecoin/libraries/ConstantsLib.sol +13 -0
  41. package/contracts/stablecoin/libraries/ErrorsLib.sol +45 -0
  42. package/contracts/stablecoin/libraries/EventsLib.sol +74 -0
  43. package/contracts/stablecoin/libraries/PendingLib.sol +38 -0
  44. package/contracts/vault/VaultAdapterRecoverV1.sol +29 -0
  45. package/contracts/vault/VaultAdapterV1.sol +126 -0
  46. package/dist/index.d.mts +16154 -0
  47. package/dist/index.d.ts +16154 -0
  48. package/dist/index.js +21134 -0
  49. package/dist/index.mjs +21061 -0
  50. package/docs/CoreVault: Integration of new Markets.md +197 -0
  51. package/docs/CoreVault: SupplyQueue.md +11 -0
  52. package/docs/Markets USDC Vault.md +35 -0
  53. package/docs/Markets USDU Vault.md +89 -0
  54. package/docs/Markets WETH Vault.md +35 -0
  55. package/docs/Overview.drawio +117 -0
  56. package/exports/abis/curve/CurveAdapterV1.ts +599 -0
  57. package/exports/abis/curve/CurveAdapterV1_1.ts +609 -0
  58. package/exports/abis/curve/CurveAdapterV1_2.ts +721 -0
  59. package/exports/abis/curve/helper/ICurveStableSwapNG.ts +1589 -0
  60. package/exports/abis/morpho/MorphoAdapterV1.ts +516 -0
  61. package/exports/abis/morpho/MorphoAdapterV1_1.ts +489 -0
  62. package/exports/abis/morpho/MorphoAdapterV1_2.ts +459 -0
  63. package/exports/abis/morpho/helper/AggregatorV3Interface.ts +113 -0
  64. package/exports/abis/morpho/helper/IMetaMorphoV1_1.ts +1483 -0
  65. package/exports/abis/morpho/helper/IMetaMorphoV1_1Base.ts +607 -0
  66. package/exports/abis/morpho/helper/IMetaMorphoV1_1StaticTyping.ts +696 -0
  67. package/exports/abis/morpho/helper/IMorpho.ts +1024 -0
  68. package/exports/abis/morpho/helper/IMorphoBase.ts +886 -0
  69. package/exports/abis/morpho/helper/IMorphoChainlinkOracleV2.ts +132 -0
  70. package/exports/abis/morpho/helper/IMorphoChainlinkOracleV2Factory.ts +109 -0
  71. package/exports/abis/morpho/helper/IMorphoFlashLoanCallback.ts +20 -0
  72. package/exports/abis/morpho/helper/IMorphoLiquidateCallback.ts +20 -0
  73. package/exports/abis/morpho/helper/IMorphoRepayCallback.ts +20 -0
  74. package/exports/abis/morpho/helper/IMorphoStaticTyping.ts +1003 -0
  75. package/exports/abis/morpho/helper/IMorphoSupplyCallback.ts +20 -0
  76. package/exports/abis/morpho/helper/IMorphoSupplyCollateralCallback.ts +20 -0
  77. package/exports/abis/morpho/helper/IMulticall.ts +21 -0
  78. package/exports/abis/morpho/helper/IOracle.ts +15 -0
  79. package/exports/abis/morpho/helper/IOwnable.ts +55 -0
  80. package/exports/abis/morpho/helper/MorphoChainlinkOracleV2.ts +188 -0
  81. package/exports/abis/openzeppelin/ERC20.ts +310 -0
  82. package/exports/abis/openzeppelin/ERC20Permit.ts +520 -0
  83. package/exports/abis/openzeppelin/IERC20.ts +185 -0
  84. package/exports/abis/openzeppelin/IERC20Metadata.ts +224 -0
  85. package/exports/abis/openzeppelin/IERC20Permit.ts +77 -0
  86. package/exports/abis/openzeppelin/IERC4626.ts +614 -0
  87. package/exports/abis/reward/RewardDistributionV1.ts +246 -0
  88. package/exports/abis/stablecoin/ErrorsLib.ts +114 -0
  89. package/exports/abis/stablecoin/EventsLib.ts +372 -0
  90. package/exports/abis/stablecoin/IStablecoin.ts +642 -0
  91. package/exports/abis/stablecoin/IStablecoinMetadata.ts +856 -0
  92. package/exports/abis/stablecoin/IStablecoinModifier.ts +15 -0
  93. package/exports/abis/stablecoin/Stablecoin.ts +1922 -0
  94. package/exports/abis/termmax/ITermMaxVault.ts +2335 -0
  95. package/exports/abis/vault/VaultAdapterRecoverV1.ts +490 -0
  96. package/exports/abis/vault/VaultAdapterV1.ts +459 -0
  97. package/exports/address.config.ts +113 -0
  98. package/exports/address.types.ts +130 -0
  99. package/exports/index.ts +61 -0
  100. package/hardhat.config.ts +231 -0
  101. package/helper/store.args.ts +17 -0
  102. package/helper/wallet.info.ts +3 -0
  103. package/helper/wallet.ts +41 -0
  104. package/install-macos.sh +46 -0
  105. package/package.json +73 -0
  106. package/tsconfig.json +15 -0
  107. package/tsup.config.ts +10 -0
@@ -0,0 +1,1483 @@
1
+ export const IMetaMorphoV1_1_ABI = [
2
+ {
3
+ anonymous: false,
4
+ inputs: [
5
+ {
6
+ indexed: true,
7
+ internalType: 'address',
8
+ name: 'owner',
9
+ type: 'address',
10
+ },
11
+ {
12
+ indexed: true,
13
+ internalType: 'address',
14
+ name: 'spender',
15
+ type: 'address',
16
+ },
17
+ {
18
+ indexed: false,
19
+ internalType: 'uint256',
20
+ name: 'value',
21
+ type: 'uint256',
22
+ },
23
+ ],
24
+ name: 'Approval',
25
+ type: 'event',
26
+ },
27
+ {
28
+ anonymous: false,
29
+ inputs: [
30
+ {
31
+ indexed: true,
32
+ internalType: 'address',
33
+ name: 'sender',
34
+ type: 'address',
35
+ },
36
+ {
37
+ indexed: true,
38
+ internalType: 'address',
39
+ name: 'owner',
40
+ type: 'address',
41
+ },
42
+ {
43
+ indexed: false,
44
+ internalType: 'uint256',
45
+ name: 'assets',
46
+ type: 'uint256',
47
+ },
48
+ {
49
+ indexed: false,
50
+ internalType: 'uint256',
51
+ name: 'shares',
52
+ type: 'uint256',
53
+ },
54
+ ],
55
+ name: 'Deposit',
56
+ type: 'event',
57
+ },
58
+ {
59
+ anonymous: false,
60
+ inputs: [
61
+ {
62
+ indexed: true,
63
+ internalType: 'address',
64
+ name: 'from',
65
+ type: 'address',
66
+ },
67
+ {
68
+ indexed: true,
69
+ internalType: 'address',
70
+ name: 'to',
71
+ type: 'address',
72
+ },
73
+ {
74
+ indexed: false,
75
+ internalType: 'uint256',
76
+ name: 'value',
77
+ type: 'uint256',
78
+ },
79
+ ],
80
+ name: 'Transfer',
81
+ type: 'event',
82
+ },
83
+ {
84
+ anonymous: false,
85
+ inputs: [
86
+ {
87
+ indexed: true,
88
+ internalType: 'address',
89
+ name: 'sender',
90
+ type: 'address',
91
+ },
92
+ {
93
+ indexed: true,
94
+ internalType: 'address',
95
+ name: 'receiver',
96
+ type: 'address',
97
+ },
98
+ {
99
+ indexed: true,
100
+ internalType: 'address',
101
+ name: 'owner',
102
+ type: 'address',
103
+ },
104
+ {
105
+ indexed: false,
106
+ internalType: 'uint256',
107
+ name: 'assets',
108
+ type: 'uint256',
109
+ },
110
+ {
111
+ indexed: false,
112
+ internalType: 'uint256',
113
+ name: 'shares',
114
+ type: 'uint256',
115
+ },
116
+ ],
117
+ name: 'Withdraw',
118
+ type: 'event',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'DECIMALS_OFFSET',
123
+ outputs: [
124
+ {
125
+ internalType: 'uint8',
126
+ name: '',
127
+ type: 'uint8',
128
+ },
129
+ ],
130
+ stateMutability: 'view',
131
+ type: 'function',
132
+ },
133
+ {
134
+ inputs: [],
135
+ name: 'DOMAIN_SEPARATOR',
136
+ outputs: [
137
+ {
138
+ internalType: 'bytes32',
139
+ name: '',
140
+ type: 'bytes32',
141
+ },
142
+ ],
143
+ stateMutability: 'view',
144
+ type: 'function',
145
+ },
146
+ {
147
+ inputs: [],
148
+ name: 'MORPHO',
149
+ outputs: [
150
+ {
151
+ internalType: 'contract IMorpho',
152
+ name: '',
153
+ type: 'address',
154
+ },
155
+ ],
156
+ stateMutability: 'view',
157
+ type: 'function',
158
+ },
159
+ {
160
+ inputs: [
161
+ {
162
+ components: [
163
+ {
164
+ internalType: 'address',
165
+ name: 'loanToken',
166
+ type: 'address',
167
+ },
168
+ {
169
+ internalType: 'address',
170
+ name: 'collateralToken',
171
+ type: 'address',
172
+ },
173
+ {
174
+ internalType: 'address',
175
+ name: 'oracle',
176
+ type: 'address',
177
+ },
178
+ {
179
+ internalType: 'address',
180
+ name: 'irm',
181
+ type: 'address',
182
+ },
183
+ {
184
+ internalType: 'uint256',
185
+ name: 'lltv',
186
+ type: 'uint256',
187
+ },
188
+ ],
189
+ internalType: 'struct MarketParams',
190
+ name: 'marketParams',
191
+ type: 'tuple',
192
+ },
193
+ ],
194
+ name: 'acceptCap',
195
+ outputs: [],
196
+ stateMutability: 'nonpayable',
197
+ type: 'function',
198
+ },
199
+ {
200
+ inputs: [],
201
+ name: 'acceptGuardian',
202
+ outputs: [],
203
+ stateMutability: 'nonpayable',
204
+ type: 'function',
205
+ },
206
+ {
207
+ inputs: [],
208
+ name: 'acceptOwnership',
209
+ outputs: [],
210
+ stateMutability: 'nonpayable',
211
+ type: 'function',
212
+ },
213
+ {
214
+ inputs: [],
215
+ name: 'acceptTimelock',
216
+ outputs: [],
217
+ stateMutability: 'nonpayable',
218
+ type: 'function',
219
+ },
220
+ {
221
+ inputs: [
222
+ {
223
+ internalType: 'address',
224
+ name: 'owner',
225
+ type: 'address',
226
+ },
227
+ {
228
+ internalType: 'address',
229
+ name: 'spender',
230
+ type: 'address',
231
+ },
232
+ ],
233
+ name: 'allowance',
234
+ outputs: [
235
+ {
236
+ internalType: 'uint256',
237
+ name: '',
238
+ type: 'uint256',
239
+ },
240
+ ],
241
+ stateMutability: 'view',
242
+ type: 'function',
243
+ },
244
+ {
245
+ inputs: [
246
+ {
247
+ internalType: 'address',
248
+ name: 'spender',
249
+ type: 'address',
250
+ },
251
+ {
252
+ internalType: 'uint256',
253
+ name: 'value',
254
+ type: 'uint256',
255
+ },
256
+ ],
257
+ name: 'approve',
258
+ outputs: [
259
+ {
260
+ internalType: 'bool',
261
+ name: '',
262
+ type: 'bool',
263
+ },
264
+ ],
265
+ stateMutability: 'nonpayable',
266
+ type: 'function',
267
+ },
268
+ {
269
+ inputs: [],
270
+ name: 'asset',
271
+ outputs: [
272
+ {
273
+ internalType: 'address',
274
+ name: 'assetTokenAddress',
275
+ type: 'address',
276
+ },
277
+ ],
278
+ stateMutability: 'view',
279
+ type: 'function',
280
+ },
281
+ {
282
+ inputs: [
283
+ {
284
+ internalType: 'address',
285
+ name: 'account',
286
+ type: 'address',
287
+ },
288
+ ],
289
+ name: 'balanceOf',
290
+ outputs: [
291
+ {
292
+ internalType: 'uint256',
293
+ name: '',
294
+ type: 'uint256',
295
+ },
296
+ ],
297
+ stateMutability: 'view',
298
+ type: 'function',
299
+ },
300
+ {
301
+ inputs: [
302
+ {
303
+ internalType: 'Id',
304
+ name: '',
305
+ type: 'bytes32',
306
+ },
307
+ ],
308
+ name: 'config',
309
+ outputs: [
310
+ {
311
+ components: [
312
+ {
313
+ internalType: 'uint184',
314
+ name: 'cap',
315
+ type: 'uint184',
316
+ },
317
+ {
318
+ internalType: 'bool',
319
+ name: 'enabled',
320
+ type: 'bool',
321
+ },
322
+ {
323
+ internalType: 'uint64',
324
+ name: 'removableAt',
325
+ type: 'uint64',
326
+ },
327
+ ],
328
+ internalType: 'struct MarketConfig',
329
+ name: '',
330
+ type: 'tuple',
331
+ },
332
+ ],
333
+ stateMutability: 'view',
334
+ type: 'function',
335
+ },
336
+ {
337
+ inputs: [
338
+ {
339
+ internalType: 'uint256',
340
+ name: 'shares',
341
+ type: 'uint256',
342
+ },
343
+ ],
344
+ name: 'convertToAssets',
345
+ outputs: [
346
+ {
347
+ internalType: 'uint256',
348
+ name: 'assets',
349
+ type: 'uint256',
350
+ },
351
+ ],
352
+ stateMutability: 'view',
353
+ type: 'function',
354
+ },
355
+ {
356
+ inputs: [
357
+ {
358
+ internalType: 'uint256',
359
+ name: 'assets',
360
+ type: 'uint256',
361
+ },
362
+ ],
363
+ name: 'convertToShares',
364
+ outputs: [
365
+ {
366
+ internalType: 'uint256',
367
+ name: 'shares',
368
+ type: 'uint256',
369
+ },
370
+ ],
371
+ stateMutability: 'view',
372
+ type: 'function',
373
+ },
374
+ {
375
+ inputs: [],
376
+ name: 'curator',
377
+ outputs: [
378
+ {
379
+ internalType: 'address',
380
+ name: '',
381
+ type: 'address',
382
+ },
383
+ ],
384
+ stateMutability: 'view',
385
+ type: 'function',
386
+ },
387
+ {
388
+ inputs: [],
389
+ name: 'decimals',
390
+ outputs: [
391
+ {
392
+ internalType: 'uint8',
393
+ name: '',
394
+ type: 'uint8',
395
+ },
396
+ ],
397
+ stateMutability: 'view',
398
+ type: 'function',
399
+ },
400
+ {
401
+ inputs: [
402
+ {
403
+ internalType: 'uint256',
404
+ name: 'assets',
405
+ type: 'uint256',
406
+ },
407
+ {
408
+ internalType: 'address',
409
+ name: 'receiver',
410
+ type: 'address',
411
+ },
412
+ ],
413
+ name: 'deposit',
414
+ outputs: [
415
+ {
416
+ internalType: 'uint256',
417
+ name: 'shares',
418
+ type: 'uint256',
419
+ },
420
+ ],
421
+ stateMutability: 'nonpayable',
422
+ type: 'function',
423
+ },
424
+ {
425
+ inputs: [],
426
+ name: 'fee',
427
+ outputs: [
428
+ {
429
+ internalType: 'uint96',
430
+ name: '',
431
+ type: 'uint96',
432
+ },
433
+ ],
434
+ stateMutability: 'view',
435
+ type: 'function',
436
+ },
437
+ {
438
+ inputs: [],
439
+ name: 'feeRecipient',
440
+ outputs: [
441
+ {
442
+ internalType: 'address',
443
+ name: '',
444
+ type: 'address',
445
+ },
446
+ ],
447
+ stateMutability: 'view',
448
+ type: 'function',
449
+ },
450
+ {
451
+ inputs: [],
452
+ name: 'guardian',
453
+ outputs: [
454
+ {
455
+ internalType: 'address',
456
+ name: '',
457
+ type: 'address',
458
+ },
459
+ ],
460
+ stateMutability: 'view',
461
+ type: 'function',
462
+ },
463
+ {
464
+ inputs: [
465
+ {
466
+ internalType: 'address',
467
+ name: 'target',
468
+ type: 'address',
469
+ },
470
+ ],
471
+ name: 'isAllocator',
472
+ outputs: [
473
+ {
474
+ internalType: 'bool',
475
+ name: '',
476
+ type: 'bool',
477
+ },
478
+ ],
479
+ stateMutability: 'view',
480
+ type: 'function',
481
+ },
482
+ {
483
+ inputs: [],
484
+ name: 'lastTotalAssets',
485
+ outputs: [
486
+ {
487
+ internalType: 'uint256',
488
+ name: '',
489
+ type: 'uint256',
490
+ },
491
+ ],
492
+ stateMutability: 'view',
493
+ type: 'function',
494
+ },
495
+ {
496
+ inputs: [],
497
+ name: 'lostAssets',
498
+ outputs: [
499
+ {
500
+ internalType: 'uint256',
501
+ name: '',
502
+ type: 'uint256',
503
+ },
504
+ ],
505
+ stateMutability: 'view',
506
+ type: 'function',
507
+ },
508
+ {
509
+ inputs: [
510
+ {
511
+ internalType: 'address',
512
+ name: 'receiver',
513
+ type: 'address',
514
+ },
515
+ ],
516
+ name: 'maxDeposit',
517
+ outputs: [
518
+ {
519
+ internalType: 'uint256',
520
+ name: 'maxAssets',
521
+ type: 'uint256',
522
+ },
523
+ ],
524
+ stateMutability: 'view',
525
+ type: 'function',
526
+ },
527
+ {
528
+ inputs: [
529
+ {
530
+ internalType: 'address',
531
+ name: 'receiver',
532
+ type: 'address',
533
+ },
534
+ ],
535
+ name: 'maxMint',
536
+ outputs: [
537
+ {
538
+ internalType: 'uint256',
539
+ name: 'maxShares',
540
+ type: 'uint256',
541
+ },
542
+ ],
543
+ stateMutability: 'view',
544
+ type: 'function',
545
+ },
546
+ {
547
+ inputs: [
548
+ {
549
+ internalType: 'address',
550
+ name: 'owner',
551
+ type: 'address',
552
+ },
553
+ ],
554
+ name: 'maxRedeem',
555
+ outputs: [
556
+ {
557
+ internalType: 'uint256',
558
+ name: 'maxShares',
559
+ type: 'uint256',
560
+ },
561
+ ],
562
+ stateMutability: 'view',
563
+ type: 'function',
564
+ },
565
+ {
566
+ inputs: [
567
+ {
568
+ internalType: 'address',
569
+ name: 'owner',
570
+ type: 'address',
571
+ },
572
+ ],
573
+ name: 'maxWithdraw',
574
+ outputs: [
575
+ {
576
+ internalType: 'uint256',
577
+ name: 'maxAssets',
578
+ type: 'uint256',
579
+ },
580
+ ],
581
+ stateMutability: 'view',
582
+ type: 'function',
583
+ },
584
+ {
585
+ inputs: [
586
+ {
587
+ internalType: 'uint256',
588
+ name: 'shares',
589
+ type: 'uint256',
590
+ },
591
+ {
592
+ internalType: 'address',
593
+ name: 'receiver',
594
+ type: 'address',
595
+ },
596
+ ],
597
+ name: 'mint',
598
+ outputs: [
599
+ {
600
+ internalType: 'uint256',
601
+ name: 'assets',
602
+ type: 'uint256',
603
+ },
604
+ ],
605
+ stateMutability: 'nonpayable',
606
+ type: 'function',
607
+ },
608
+ {
609
+ inputs: [
610
+ {
611
+ internalType: 'bytes[]',
612
+ name: '',
613
+ type: 'bytes[]',
614
+ },
615
+ ],
616
+ name: 'multicall',
617
+ outputs: [
618
+ {
619
+ internalType: 'bytes[]',
620
+ name: '',
621
+ type: 'bytes[]',
622
+ },
623
+ ],
624
+ stateMutability: 'nonpayable',
625
+ type: 'function',
626
+ },
627
+ {
628
+ inputs: [],
629
+ name: 'name',
630
+ outputs: [
631
+ {
632
+ internalType: 'string',
633
+ name: '',
634
+ type: 'string',
635
+ },
636
+ ],
637
+ stateMutability: 'view',
638
+ type: 'function',
639
+ },
640
+ {
641
+ inputs: [
642
+ {
643
+ internalType: 'address',
644
+ name: 'owner',
645
+ type: 'address',
646
+ },
647
+ ],
648
+ name: 'nonces',
649
+ outputs: [
650
+ {
651
+ internalType: 'uint256',
652
+ name: '',
653
+ type: 'uint256',
654
+ },
655
+ ],
656
+ stateMutability: 'view',
657
+ type: 'function',
658
+ },
659
+ {
660
+ inputs: [],
661
+ name: 'owner',
662
+ outputs: [
663
+ {
664
+ internalType: 'address',
665
+ name: '',
666
+ type: 'address',
667
+ },
668
+ ],
669
+ stateMutability: 'view',
670
+ type: 'function',
671
+ },
672
+ {
673
+ inputs: [
674
+ {
675
+ internalType: 'Id',
676
+ name: '',
677
+ type: 'bytes32',
678
+ },
679
+ ],
680
+ name: 'pendingCap',
681
+ outputs: [
682
+ {
683
+ components: [
684
+ {
685
+ internalType: 'uint192',
686
+ name: 'value',
687
+ type: 'uint192',
688
+ },
689
+ {
690
+ internalType: 'uint64',
691
+ name: 'validAt',
692
+ type: 'uint64',
693
+ },
694
+ ],
695
+ internalType: 'struct PendingUint192',
696
+ name: '',
697
+ type: 'tuple',
698
+ },
699
+ ],
700
+ stateMutability: 'view',
701
+ type: 'function',
702
+ },
703
+ {
704
+ inputs: [],
705
+ name: 'pendingGuardian',
706
+ outputs: [
707
+ {
708
+ components: [
709
+ {
710
+ internalType: 'address',
711
+ name: 'value',
712
+ type: 'address',
713
+ },
714
+ {
715
+ internalType: 'uint64',
716
+ name: 'validAt',
717
+ type: 'uint64',
718
+ },
719
+ ],
720
+ internalType: 'struct PendingAddress',
721
+ name: '',
722
+ type: 'tuple',
723
+ },
724
+ ],
725
+ stateMutability: 'view',
726
+ type: 'function',
727
+ },
728
+ {
729
+ inputs: [],
730
+ name: 'pendingOwner',
731
+ outputs: [
732
+ {
733
+ internalType: 'address',
734
+ name: '',
735
+ type: 'address',
736
+ },
737
+ ],
738
+ stateMutability: 'view',
739
+ type: 'function',
740
+ },
741
+ {
742
+ inputs: [],
743
+ name: 'pendingTimelock',
744
+ outputs: [
745
+ {
746
+ components: [
747
+ {
748
+ internalType: 'uint192',
749
+ name: 'value',
750
+ type: 'uint192',
751
+ },
752
+ {
753
+ internalType: 'uint64',
754
+ name: 'validAt',
755
+ type: 'uint64',
756
+ },
757
+ ],
758
+ internalType: 'struct PendingUint192',
759
+ name: '',
760
+ type: 'tuple',
761
+ },
762
+ ],
763
+ stateMutability: 'view',
764
+ type: 'function',
765
+ },
766
+ {
767
+ inputs: [
768
+ {
769
+ internalType: 'address',
770
+ name: 'owner',
771
+ type: 'address',
772
+ },
773
+ {
774
+ internalType: 'address',
775
+ name: 'spender',
776
+ type: 'address',
777
+ },
778
+ {
779
+ internalType: 'uint256',
780
+ name: 'value',
781
+ type: 'uint256',
782
+ },
783
+ {
784
+ internalType: 'uint256',
785
+ name: 'deadline',
786
+ type: 'uint256',
787
+ },
788
+ {
789
+ internalType: 'uint8',
790
+ name: 'v',
791
+ type: 'uint8',
792
+ },
793
+ {
794
+ internalType: 'bytes32',
795
+ name: 'r',
796
+ type: 'bytes32',
797
+ },
798
+ {
799
+ internalType: 'bytes32',
800
+ name: 's',
801
+ type: 'bytes32',
802
+ },
803
+ ],
804
+ name: 'permit',
805
+ outputs: [],
806
+ stateMutability: 'nonpayable',
807
+ type: 'function',
808
+ },
809
+ {
810
+ inputs: [
811
+ {
812
+ internalType: 'uint256',
813
+ name: 'assets',
814
+ type: 'uint256',
815
+ },
816
+ ],
817
+ name: 'previewDeposit',
818
+ outputs: [
819
+ {
820
+ internalType: 'uint256',
821
+ name: 'shares',
822
+ type: 'uint256',
823
+ },
824
+ ],
825
+ stateMutability: 'view',
826
+ type: 'function',
827
+ },
828
+ {
829
+ inputs: [
830
+ {
831
+ internalType: 'uint256',
832
+ name: 'shares',
833
+ type: 'uint256',
834
+ },
835
+ ],
836
+ name: 'previewMint',
837
+ outputs: [
838
+ {
839
+ internalType: 'uint256',
840
+ name: 'assets',
841
+ type: 'uint256',
842
+ },
843
+ ],
844
+ stateMutability: 'view',
845
+ type: 'function',
846
+ },
847
+ {
848
+ inputs: [
849
+ {
850
+ internalType: 'uint256',
851
+ name: 'shares',
852
+ type: 'uint256',
853
+ },
854
+ ],
855
+ name: 'previewRedeem',
856
+ outputs: [
857
+ {
858
+ internalType: 'uint256',
859
+ name: 'assets',
860
+ type: 'uint256',
861
+ },
862
+ ],
863
+ stateMutability: 'view',
864
+ type: 'function',
865
+ },
866
+ {
867
+ inputs: [
868
+ {
869
+ internalType: 'uint256',
870
+ name: 'assets',
871
+ type: 'uint256',
872
+ },
873
+ ],
874
+ name: 'previewWithdraw',
875
+ outputs: [
876
+ {
877
+ internalType: 'uint256',
878
+ name: 'shares',
879
+ type: 'uint256',
880
+ },
881
+ ],
882
+ stateMutability: 'view',
883
+ type: 'function',
884
+ },
885
+ {
886
+ inputs: [
887
+ {
888
+ components: [
889
+ {
890
+ components: [
891
+ {
892
+ internalType: 'address',
893
+ name: 'loanToken',
894
+ type: 'address',
895
+ },
896
+ {
897
+ internalType: 'address',
898
+ name: 'collateralToken',
899
+ type: 'address',
900
+ },
901
+ {
902
+ internalType: 'address',
903
+ name: 'oracle',
904
+ type: 'address',
905
+ },
906
+ {
907
+ internalType: 'address',
908
+ name: 'irm',
909
+ type: 'address',
910
+ },
911
+ {
912
+ internalType: 'uint256',
913
+ name: 'lltv',
914
+ type: 'uint256',
915
+ },
916
+ ],
917
+ internalType: 'struct MarketParams',
918
+ name: 'marketParams',
919
+ type: 'tuple',
920
+ },
921
+ {
922
+ internalType: 'uint256',
923
+ name: 'assets',
924
+ type: 'uint256',
925
+ },
926
+ ],
927
+ internalType: 'struct MarketAllocation[]',
928
+ name: 'allocations',
929
+ type: 'tuple[]',
930
+ },
931
+ ],
932
+ name: 'reallocate',
933
+ outputs: [],
934
+ stateMutability: 'nonpayable',
935
+ type: 'function',
936
+ },
937
+ {
938
+ inputs: [
939
+ {
940
+ internalType: 'uint256',
941
+ name: 'shares',
942
+ type: 'uint256',
943
+ },
944
+ {
945
+ internalType: 'address',
946
+ name: 'receiver',
947
+ type: 'address',
948
+ },
949
+ {
950
+ internalType: 'address',
951
+ name: 'owner',
952
+ type: 'address',
953
+ },
954
+ ],
955
+ name: 'redeem',
956
+ outputs: [
957
+ {
958
+ internalType: 'uint256',
959
+ name: 'assets',
960
+ type: 'uint256',
961
+ },
962
+ ],
963
+ stateMutability: 'nonpayable',
964
+ type: 'function',
965
+ },
966
+ {
967
+ inputs: [],
968
+ name: 'renounceOwnership',
969
+ outputs: [],
970
+ stateMutability: 'nonpayable',
971
+ type: 'function',
972
+ },
973
+ {
974
+ inputs: [
975
+ {
976
+ internalType: 'Id',
977
+ name: 'id',
978
+ type: 'bytes32',
979
+ },
980
+ ],
981
+ name: 'revokePendingCap',
982
+ outputs: [],
983
+ stateMutability: 'nonpayable',
984
+ type: 'function',
985
+ },
986
+ {
987
+ inputs: [],
988
+ name: 'revokePendingGuardian',
989
+ outputs: [],
990
+ stateMutability: 'nonpayable',
991
+ type: 'function',
992
+ },
993
+ {
994
+ inputs: [
995
+ {
996
+ internalType: 'Id',
997
+ name: 'id',
998
+ type: 'bytes32',
999
+ },
1000
+ ],
1001
+ name: 'revokePendingMarketRemoval',
1002
+ outputs: [],
1003
+ stateMutability: 'nonpayable',
1004
+ type: 'function',
1005
+ },
1006
+ {
1007
+ inputs: [],
1008
+ name: 'revokePendingTimelock',
1009
+ outputs: [],
1010
+ stateMutability: 'nonpayable',
1011
+ type: 'function',
1012
+ },
1013
+ {
1014
+ inputs: [
1015
+ {
1016
+ internalType: 'address',
1017
+ name: 'newCurator',
1018
+ type: 'address',
1019
+ },
1020
+ ],
1021
+ name: 'setCurator',
1022
+ outputs: [],
1023
+ stateMutability: 'nonpayable',
1024
+ type: 'function',
1025
+ },
1026
+ {
1027
+ inputs: [
1028
+ {
1029
+ internalType: 'uint256',
1030
+ name: 'newFee',
1031
+ type: 'uint256',
1032
+ },
1033
+ ],
1034
+ name: 'setFee',
1035
+ outputs: [],
1036
+ stateMutability: 'nonpayable',
1037
+ type: 'function',
1038
+ },
1039
+ {
1040
+ inputs: [
1041
+ {
1042
+ internalType: 'address',
1043
+ name: 'newFeeRecipient',
1044
+ type: 'address',
1045
+ },
1046
+ ],
1047
+ name: 'setFeeRecipient',
1048
+ outputs: [],
1049
+ stateMutability: 'nonpayable',
1050
+ type: 'function',
1051
+ },
1052
+ {
1053
+ inputs: [
1054
+ {
1055
+ internalType: 'address',
1056
+ name: 'newAllocator',
1057
+ type: 'address',
1058
+ },
1059
+ {
1060
+ internalType: 'bool',
1061
+ name: 'newIsAllocator',
1062
+ type: 'bool',
1063
+ },
1064
+ ],
1065
+ name: 'setIsAllocator',
1066
+ outputs: [],
1067
+ stateMutability: 'nonpayable',
1068
+ type: 'function',
1069
+ },
1070
+ {
1071
+ inputs: [
1072
+ {
1073
+ internalType: 'string',
1074
+ name: 'newName',
1075
+ type: 'string',
1076
+ },
1077
+ ],
1078
+ name: 'setName',
1079
+ outputs: [],
1080
+ stateMutability: 'nonpayable',
1081
+ type: 'function',
1082
+ },
1083
+ {
1084
+ inputs: [
1085
+ {
1086
+ internalType: 'address',
1087
+ name: 'newSkimRecipient',
1088
+ type: 'address',
1089
+ },
1090
+ ],
1091
+ name: 'setSkimRecipient',
1092
+ outputs: [],
1093
+ stateMutability: 'nonpayable',
1094
+ type: 'function',
1095
+ },
1096
+ {
1097
+ inputs: [
1098
+ {
1099
+ internalType: 'Id[]',
1100
+ name: 'newSupplyQueue',
1101
+ type: 'bytes32[]',
1102
+ },
1103
+ ],
1104
+ name: 'setSupplyQueue',
1105
+ outputs: [],
1106
+ stateMutability: 'nonpayable',
1107
+ type: 'function',
1108
+ },
1109
+ {
1110
+ inputs: [
1111
+ {
1112
+ internalType: 'string',
1113
+ name: 'newSymbol',
1114
+ type: 'string',
1115
+ },
1116
+ ],
1117
+ name: 'setSymbol',
1118
+ outputs: [],
1119
+ stateMutability: 'nonpayable',
1120
+ type: 'function',
1121
+ },
1122
+ {
1123
+ inputs: [
1124
+ {
1125
+ internalType: 'address',
1126
+ name: '',
1127
+ type: 'address',
1128
+ },
1129
+ ],
1130
+ name: 'skim',
1131
+ outputs: [],
1132
+ stateMutability: 'nonpayable',
1133
+ type: 'function',
1134
+ },
1135
+ {
1136
+ inputs: [],
1137
+ name: 'skimRecipient',
1138
+ outputs: [
1139
+ {
1140
+ internalType: 'address',
1141
+ name: '',
1142
+ type: 'address',
1143
+ },
1144
+ ],
1145
+ stateMutability: 'view',
1146
+ type: 'function',
1147
+ },
1148
+ {
1149
+ inputs: [
1150
+ {
1151
+ components: [
1152
+ {
1153
+ internalType: 'address',
1154
+ name: 'loanToken',
1155
+ type: 'address',
1156
+ },
1157
+ {
1158
+ internalType: 'address',
1159
+ name: 'collateralToken',
1160
+ type: 'address',
1161
+ },
1162
+ {
1163
+ internalType: 'address',
1164
+ name: 'oracle',
1165
+ type: 'address',
1166
+ },
1167
+ {
1168
+ internalType: 'address',
1169
+ name: 'irm',
1170
+ type: 'address',
1171
+ },
1172
+ {
1173
+ internalType: 'uint256',
1174
+ name: 'lltv',
1175
+ type: 'uint256',
1176
+ },
1177
+ ],
1178
+ internalType: 'struct MarketParams',
1179
+ name: 'marketParams',
1180
+ type: 'tuple',
1181
+ },
1182
+ {
1183
+ internalType: 'uint256',
1184
+ name: 'newSupplyCap',
1185
+ type: 'uint256',
1186
+ },
1187
+ ],
1188
+ name: 'submitCap',
1189
+ outputs: [],
1190
+ stateMutability: 'nonpayable',
1191
+ type: 'function',
1192
+ },
1193
+ {
1194
+ inputs: [
1195
+ {
1196
+ internalType: 'address',
1197
+ name: 'newGuardian',
1198
+ type: 'address',
1199
+ },
1200
+ ],
1201
+ name: 'submitGuardian',
1202
+ outputs: [],
1203
+ stateMutability: 'nonpayable',
1204
+ type: 'function',
1205
+ },
1206
+ {
1207
+ inputs: [
1208
+ {
1209
+ components: [
1210
+ {
1211
+ internalType: 'address',
1212
+ name: 'loanToken',
1213
+ type: 'address',
1214
+ },
1215
+ {
1216
+ internalType: 'address',
1217
+ name: 'collateralToken',
1218
+ type: 'address',
1219
+ },
1220
+ {
1221
+ internalType: 'address',
1222
+ name: 'oracle',
1223
+ type: 'address',
1224
+ },
1225
+ {
1226
+ internalType: 'address',
1227
+ name: 'irm',
1228
+ type: 'address',
1229
+ },
1230
+ {
1231
+ internalType: 'uint256',
1232
+ name: 'lltv',
1233
+ type: 'uint256',
1234
+ },
1235
+ ],
1236
+ internalType: 'struct MarketParams',
1237
+ name: 'marketParams',
1238
+ type: 'tuple',
1239
+ },
1240
+ ],
1241
+ name: 'submitMarketRemoval',
1242
+ outputs: [],
1243
+ stateMutability: 'nonpayable',
1244
+ type: 'function',
1245
+ },
1246
+ {
1247
+ inputs: [
1248
+ {
1249
+ internalType: 'uint256',
1250
+ name: 'newTimelock',
1251
+ type: 'uint256',
1252
+ },
1253
+ ],
1254
+ name: 'submitTimelock',
1255
+ outputs: [],
1256
+ stateMutability: 'nonpayable',
1257
+ type: 'function',
1258
+ },
1259
+ {
1260
+ inputs: [
1261
+ {
1262
+ internalType: 'uint256',
1263
+ name: '',
1264
+ type: 'uint256',
1265
+ },
1266
+ ],
1267
+ name: 'supplyQueue',
1268
+ outputs: [
1269
+ {
1270
+ internalType: 'Id',
1271
+ name: '',
1272
+ type: 'bytes32',
1273
+ },
1274
+ ],
1275
+ stateMutability: 'view',
1276
+ type: 'function',
1277
+ },
1278
+ {
1279
+ inputs: [],
1280
+ name: 'supplyQueueLength',
1281
+ outputs: [
1282
+ {
1283
+ internalType: 'uint256',
1284
+ name: '',
1285
+ type: 'uint256',
1286
+ },
1287
+ ],
1288
+ stateMutability: 'view',
1289
+ type: 'function',
1290
+ },
1291
+ {
1292
+ inputs: [],
1293
+ name: 'symbol',
1294
+ outputs: [
1295
+ {
1296
+ internalType: 'string',
1297
+ name: '',
1298
+ type: 'string',
1299
+ },
1300
+ ],
1301
+ stateMutability: 'view',
1302
+ type: 'function',
1303
+ },
1304
+ {
1305
+ inputs: [],
1306
+ name: 'timelock',
1307
+ outputs: [
1308
+ {
1309
+ internalType: 'uint256',
1310
+ name: '',
1311
+ type: 'uint256',
1312
+ },
1313
+ ],
1314
+ stateMutability: 'view',
1315
+ type: 'function',
1316
+ },
1317
+ {
1318
+ inputs: [],
1319
+ name: 'totalAssets',
1320
+ outputs: [
1321
+ {
1322
+ internalType: 'uint256',
1323
+ name: 'totalManagedAssets',
1324
+ type: 'uint256',
1325
+ },
1326
+ ],
1327
+ stateMutability: 'view',
1328
+ type: 'function',
1329
+ },
1330
+ {
1331
+ inputs: [],
1332
+ name: 'totalSupply',
1333
+ outputs: [
1334
+ {
1335
+ internalType: 'uint256',
1336
+ name: '',
1337
+ type: 'uint256',
1338
+ },
1339
+ ],
1340
+ stateMutability: 'view',
1341
+ type: 'function',
1342
+ },
1343
+ {
1344
+ inputs: [
1345
+ {
1346
+ internalType: 'address',
1347
+ name: 'to',
1348
+ type: 'address',
1349
+ },
1350
+ {
1351
+ internalType: 'uint256',
1352
+ name: 'value',
1353
+ type: 'uint256',
1354
+ },
1355
+ ],
1356
+ name: 'transfer',
1357
+ outputs: [
1358
+ {
1359
+ internalType: 'bool',
1360
+ name: '',
1361
+ type: 'bool',
1362
+ },
1363
+ ],
1364
+ stateMutability: 'nonpayable',
1365
+ type: 'function',
1366
+ },
1367
+ {
1368
+ inputs: [
1369
+ {
1370
+ internalType: 'address',
1371
+ name: 'from',
1372
+ type: 'address',
1373
+ },
1374
+ {
1375
+ internalType: 'address',
1376
+ name: 'to',
1377
+ type: 'address',
1378
+ },
1379
+ {
1380
+ internalType: 'uint256',
1381
+ name: 'value',
1382
+ type: 'uint256',
1383
+ },
1384
+ ],
1385
+ name: 'transferFrom',
1386
+ outputs: [
1387
+ {
1388
+ internalType: 'bool',
1389
+ name: '',
1390
+ type: 'bool',
1391
+ },
1392
+ ],
1393
+ stateMutability: 'nonpayable',
1394
+ type: 'function',
1395
+ },
1396
+ {
1397
+ inputs: [
1398
+ {
1399
+ internalType: 'address',
1400
+ name: '',
1401
+ type: 'address',
1402
+ },
1403
+ ],
1404
+ name: 'transferOwnership',
1405
+ outputs: [],
1406
+ stateMutability: 'nonpayable',
1407
+ type: 'function',
1408
+ },
1409
+ {
1410
+ inputs: [
1411
+ {
1412
+ internalType: 'uint256[]',
1413
+ name: 'indexes',
1414
+ type: 'uint256[]',
1415
+ },
1416
+ ],
1417
+ name: 'updateWithdrawQueue',
1418
+ outputs: [],
1419
+ stateMutability: 'nonpayable',
1420
+ type: 'function',
1421
+ },
1422
+ {
1423
+ inputs: [
1424
+ {
1425
+ internalType: 'uint256',
1426
+ name: 'assets',
1427
+ type: 'uint256',
1428
+ },
1429
+ {
1430
+ internalType: 'address',
1431
+ name: 'receiver',
1432
+ type: 'address',
1433
+ },
1434
+ {
1435
+ internalType: 'address',
1436
+ name: 'owner',
1437
+ type: 'address',
1438
+ },
1439
+ ],
1440
+ name: 'withdraw',
1441
+ outputs: [
1442
+ {
1443
+ internalType: 'uint256',
1444
+ name: 'shares',
1445
+ type: 'uint256',
1446
+ },
1447
+ ],
1448
+ stateMutability: 'nonpayable',
1449
+ type: 'function',
1450
+ },
1451
+ {
1452
+ inputs: [
1453
+ {
1454
+ internalType: 'uint256',
1455
+ name: '',
1456
+ type: 'uint256',
1457
+ },
1458
+ ],
1459
+ name: 'withdrawQueue',
1460
+ outputs: [
1461
+ {
1462
+ internalType: 'Id',
1463
+ name: '',
1464
+ type: 'bytes32',
1465
+ },
1466
+ ],
1467
+ stateMutability: 'view',
1468
+ type: 'function',
1469
+ },
1470
+ {
1471
+ inputs: [],
1472
+ name: 'withdrawQueueLength',
1473
+ outputs: [
1474
+ {
1475
+ internalType: 'uint256',
1476
+ name: '',
1477
+ type: 'uint256',
1478
+ },
1479
+ ],
1480
+ stateMutability: 'view',
1481
+ type: 'function',
1482
+ },
1483
+ ] as const;