@usdu-finance/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,2335 @@
1
+ export const ITermMaxVault_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: 'caller',
34
+ type: 'address',
35
+ },
36
+ {
37
+ indexed: true,
38
+ internalType: 'address',
39
+ name: 'recipient',
40
+ type: 'address',
41
+ },
42
+ {
43
+ indexed: true,
44
+ internalType: 'address',
45
+ name: 'collateral',
46
+ type: 'address',
47
+ },
48
+ {
49
+ indexed: false,
50
+ internalType: 'uint256',
51
+ name: 'badDebt',
52
+ type: 'uint256',
53
+ },
54
+ {
55
+ indexed: false,
56
+ internalType: 'uint256',
57
+ name: 'shares',
58
+ type: 'uint256',
59
+ },
60
+ {
61
+ indexed: false,
62
+ internalType: 'uint256',
63
+ name: 'collateralOut',
64
+ type: 'uint256',
65
+ },
66
+ ],
67
+ name: 'DealBadDebt',
68
+ type: 'event',
69
+ },
70
+ {
71
+ anonymous: false,
72
+ inputs: [
73
+ {
74
+ indexed: true,
75
+ internalType: 'address',
76
+ name: 'sender',
77
+ type: 'address',
78
+ },
79
+ {
80
+ indexed: true,
81
+ internalType: 'address',
82
+ name: 'owner',
83
+ type: 'address',
84
+ },
85
+ {
86
+ indexed: false,
87
+ internalType: 'uint256',
88
+ name: 'assets',
89
+ type: 'uint256',
90
+ },
91
+ {
92
+ indexed: false,
93
+ internalType: 'uint256',
94
+ name: 'shares',
95
+ type: 'uint256',
96
+ },
97
+ ],
98
+ name: 'Deposit',
99
+ type: 'event',
100
+ },
101
+ {
102
+ anonymous: false,
103
+ inputs: [
104
+ {
105
+ indexed: false,
106
+ internalType: 'uint64',
107
+ name: 'version',
108
+ type: 'uint64',
109
+ },
110
+ ],
111
+ name: 'Initialized',
112
+ type: 'event',
113
+ },
114
+ {
115
+ anonymous: false,
116
+ inputs: [
117
+ {
118
+ indexed: true,
119
+ internalType: 'address',
120
+ name: 'previousOwner',
121
+ type: 'address',
122
+ },
123
+ {
124
+ indexed: true,
125
+ internalType: 'address',
126
+ name: 'newOwner',
127
+ type: 'address',
128
+ },
129
+ ],
130
+ name: 'OwnershipTransferStarted',
131
+ type: 'event',
132
+ },
133
+ {
134
+ anonymous: false,
135
+ inputs: [
136
+ {
137
+ indexed: false,
138
+ internalType: 'address',
139
+ name: 'account',
140
+ type: 'address',
141
+ },
142
+ ],
143
+ name: 'Paused',
144
+ type: 'event',
145
+ },
146
+ {
147
+ anonymous: false,
148
+ inputs: [
149
+ {
150
+ indexed: true,
151
+ internalType: 'address',
152
+ name: 'caller',
153
+ type: 'address',
154
+ },
155
+ ],
156
+ name: 'RevokePendingGuardian',
157
+ type: 'event',
158
+ },
159
+ {
160
+ anonymous: false,
161
+ inputs: [
162
+ {
163
+ indexed: true,
164
+ internalType: 'address',
165
+ name: 'caller',
166
+ type: 'address',
167
+ },
168
+ {
169
+ indexed: true,
170
+ internalType: 'address',
171
+ name: 'market',
172
+ type: 'address',
173
+ },
174
+ ],
175
+ name: 'RevokePendingMarket',
176
+ type: 'event',
177
+ },
178
+ {
179
+ anonymous: false,
180
+ inputs: [
181
+ {
182
+ indexed: true,
183
+ internalType: 'address',
184
+ name: 'caller',
185
+ type: 'address',
186
+ },
187
+ ],
188
+ name: 'RevokePendingMinApy',
189
+ type: 'event',
190
+ },
191
+ {
192
+ anonymous: false,
193
+ inputs: [
194
+ {
195
+ indexed: true,
196
+ internalType: 'address',
197
+ name: 'caller',
198
+ type: 'address',
199
+ },
200
+ ],
201
+ name: 'RevokePendingPerformanceFeeRate',
202
+ type: 'event',
203
+ },
204
+ {
205
+ anonymous: false,
206
+ inputs: [
207
+ {
208
+ indexed: true,
209
+ internalType: 'address',
210
+ name: 'caller',
211
+ type: 'address',
212
+ },
213
+ ],
214
+ name: 'RevokePendingPool',
215
+ type: 'event',
216
+ },
217
+ {
218
+ anonymous: false,
219
+ inputs: [
220
+ {
221
+ indexed: true,
222
+ internalType: 'address',
223
+ name: 'caller',
224
+ type: 'address',
225
+ },
226
+ ],
227
+ name: 'RevokePendingTimelock',
228
+ type: 'event',
229
+ },
230
+ {
231
+ anonymous: false,
232
+ inputs: [
233
+ {
234
+ indexed: true,
235
+ internalType: 'address',
236
+ name: 'caller',
237
+ type: 'address',
238
+ },
239
+ {
240
+ indexed: false,
241
+ internalType: 'uint256',
242
+ name: 'newCapacity',
243
+ type: 'uint256',
244
+ },
245
+ ],
246
+ name: 'SetCapacity',
247
+ type: 'event',
248
+ },
249
+ {
250
+ anonymous: false,
251
+ inputs: [
252
+ {
253
+ indexed: false,
254
+ internalType: 'address',
255
+ name: 'newCurator',
256
+ type: 'address',
257
+ },
258
+ ],
259
+ name: 'SetCurator',
260
+ type: 'event',
261
+ },
262
+ {
263
+ anonymous: false,
264
+ inputs: [
265
+ {
266
+ indexed: true,
267
+ internalType: 'address',
268
+ name: 'caller',
269
+ type: 'address',
270
+ },
271
+ {
272
+ indexed: false,
273
+ internalType: 'address',
274
+ name: 'newGuardian',
275
+ type: 'address',
276
+ },
277
+ ],
278
+ name: 'SetGuardian',
279
+ type: 'event',
280
+ },
281
+ {
282
+ anonymous: false,
283
+ inputs: [
284
+ {
285
+ indexed: true,
286
+ internalType: 'address',
287
+ name: 'caller',
288
+ type: 'address',
289
+ },
290
+ {
291
+ indexed: true,
292
+ internalType: 'address',
293
+ name: 'market',
294
+ type: 'address',
295
+ },
296
+ {
297
+ indexed: false,
298
+ internalType: 'bool',
299
+ name: 'isWhitelisted',
300
+ type: 'bool',
301
+ },
302
+ ],
303
+ name: 'SetMarketWhitelist',
304
+ type: 'event',
305
+ },
306
+ {
307
+ anonymous: false,
308
+ inputs: [
309
+ {
310
+ indexed: true,
311
+ internalType: 'address',
312
+ name: 'caller',
313
+ type: 'address',
314
+ },
315
+ {
316
+ indexed: false,
317
+ internalType: 'uint64',
318
+ name: 'newMinApy',
319
+ type: 'uint64',
320
+ },
321
+ ],
322
+ name: 'SetMinApy',
323
+ type: 'event',
324
+ },
325
+ {
326
+ anonymous: false,
327
+ inputs: [
328
+ {
329
+ indexed: true,
330
+ internalType: 'address',
331
+ name: 'caller',
332
+ type: 'address',
333
+ },
334
+ {
335
+ indexed: false,
336
+ internalType: 'uint256',
337
+ name: 'newPerformanceFeeRate',
338
+ type: 'uint256',
339
+ },
340
+ ],
341
+ name: 'SetPerformanceFeeRate',
342
+ type: 'event',
343
+ },
344
+ {
345
+ anonymous: false,
346
+ inputs: [
347
+ {
348
+ indexed: true,
349
+ internalType: 'address',
350
+ name: 'caller',
351
+ type: 'address',
352
+ },
353
+ {
354
+ indexed: true,
355
+ internalType: 'address',
356
+ name: 'pool',
357
+ type: 'address',
358
+ },
359
+ ],
360
+ name: 'SetPool',
361
+ type: 'event',
362
+ },
363
+ {
364
+ anonymous: false,
365
+ inputs: [
366
+ {
367
+ indexed: true,
368
+ internalType: 'address',
369
+ name: 'caller',
370
+ type: 'address',
371
+ },
372
+ {
373
+ indexed: false,
374
+ internalType: 'uint256',
375
+ name: 'newTimelock',
376
+ type: 'uint256',
377
+ },
378
+ ],
379
+ name: 'SetTimelock',
380
+ type: 'event',
381
+ },
382
+ {
383
+ anonymous: false,
384
+ inputs: [
385
+ {
386
+ indexed: false,
387
+ internalType: 'address',
388
+ name: 'newGuardian',
389
+ type: 'address',
390
+ },
391
+ {
392
+ indexed: false,
393
+ internalType: 'uint64',
394
+ name: 'validAt',
395
+ type: 'uint64',
396
+ },
397
+ ],
398
+ name: 'SubmitGuardian',
399
+ type: 'event',
400
+ },
401
+ {
402
+ anonymous: false,
403
+ inputs: [
404
+ {
405
+ indexed: true,
406
+ internalType: 'address',
407
+ name: 'market',
408
+ type: 'address',
409
+ },
410
+ {
411
+ indexed: false,
412
+ internalType: 'uint64',
413
+ name: 'validAt',
414
+ type: 'uint64',
415
+ },
416
+ ],
417
+ name: 'SubmitMarketToWhitelist',
418
+ type: 'event',
419
+ },
420
+ {
421
+ anonymous: false,
422
+ inputs: [
423
+ {
424
+ indexed: false,
425
+ internalType: 'uint64',
426
+ name: 'newMinApy',
427
+ type: 'uint64',
428
+ },
429
+ {
430
+ indexed: false,
431
+ internalType: 'uint64',
432
+ name: 'validAt',
433
+ type: 'uint64',
434
+ },
435
+ ],
436
+ name: 'SubmitMinApy',
437
+ type: 'event',
438
+ },
439
+ {
440
+ anonymous: false,
441
+ inputs: [
442
+ {
443
+ indexed: true,
444
+ internalType: 'address',
445
+ name: 'pool',
446
+ type: 'address',
447
+ },
448
+ {
449
+ indexed: false,
450
+ internalType: 'uint64',
451
+ name: 'validAt',
452
+ type: 'uint64',
453
+ },
454
+ ],
455
+ name: 'SubmitPendingPool',
456
+ type: 'event',
457
+ },
458
+ {
459
+ anonymous: false,
460
+ inputs: [
461
+ {
462
+ indexed: false,
463
+ internalType: 'uint256',
464
+ name: 'newPerformanceFeeRate',
465
+ type: 'uint256',
466
+ },
467
+ {
468
+ indexed: false,
469
+ internalType: 'uint64',
470
+ name: 'validAt',
471
+ type: 'uint64',
472
+ },
473
+ ],
474
+ name: 'SubmitPerformanceFeeRate',
475
+ type: 'event',
476
+ },
477
+ {
478
+ anonymous: false,
479
+ inputs: [
480
+ {
481
+ indexed: false,
482
+ internalType: 'uint256',
483
+ name: 'newTimelock',
484
+ type: 'uint256',
485
+ },
486
+ {
487
+ indexed: false,
488
+ internalType: 'uint64',
489
+ name: 'validAt',
490
+ type: 'uint64',
491
+ },
492
+ ],
493
+ name: 'SubmitTimelock',
494
+ type: 'event',
495
+ },
496
+ {
497
+ anonymous: false,
498
+ inputs: [
499
+ {
500
+ indexed: true,
501
+ internalType: 'address',
502
+ name: 'from',
503
+ type: 'address',
504
+ },
505
+ {
506
+ indexed: true,
507
+ internalType: 'address',
508
+ name: 'to',
509
+ type: 'address',
510
+ },
511
+ {
512
+ indexed: false,
513
+ internalType: 'uint256',
514
+ name: 'value',
515
+ type: 'uint256',
516
+ },
517
+ ],
518
+ name: 'Transfer',
519
+ type: 'event',
520
+ },
521
+ {
522
+ anonymous: false,
523
+ inputs: [
524
+ {
525
+ indexed: false,
526
+ internalType: 'address',
527
+ name: 'account',
528
+ type: 'address',
529
+ },
530
+ ],
531
+ name: 'Unpaused',
532
+ type: 'event',
533
+ },
534
+ {
535
+ anonymous: false,
536
+ inputs: [
537
+ {
538
+ indexed: true,
539
+ internalType: 'address',
540
+ name: 'sender',
541
+ type: 'address',
542
+ },
543
+ {
544
+ indexed: true,
545
+ internalType: 'address',
546
+ name: 'receiver',
547
+ type: 'address',
548
+ },
549
+ {
550
+ indexed: true,
551
+ internalType: 'address',
552
+ name: 'owner',
553
+ type: 'address',
554
+ },
555
+ {
556
+ indexed: false,
557
+ internalType: 'uint256',
558
+ name: 'assets',
559
+ type: 'uint256',
560
+ },
561
+ {
562
+ indexed: false,
563
+ internalType: 'uint256',
564
+ name: 'shares',
565
+ type: 'uint256',
566
+ },
567
+ ],
568
+ name: 'Withdraw',
569
+ type: 'event',
570
+ },
571
+ {
572
+ anonymous: false,
573
+ inputs: [
574
+ {
575
+ indexed: true,
576
+ internalType: 'address',
577
+ name: 'caller',
578
+ type: 'address',
579
+ },
580
+ {
581
+ indexed: true,
582
+ internalType: 'address',
583
+ name: 'recipient',
584
+ type: 'address',
585
+ },
586
+ {
587
+ indexed: true,
588
+ internalType: 'address',
589
+ name: 'order',
590
+ type: 'address',
591
+ },
592
+ {
593
+ indexed: false,
594
+ internalType: 'uint256',
595
+ name: 'amount',
596
+ type: 'uint256',
597
+ },
598
+ {
599
+ indexed: false,
600
+ internalType: 'uint256',
601
+ name: 'shares',
602
+ type: 'uint256',
603
+ },
604
+ ],
605
+ name: 'WithdrawFts',
606
+ type: 'event',
607
+ },
608
+ {
609
+ inputs: [],
610
+ name: 'ORDER_MANAGER_SINGLETON',
611
+ outputs: [
612
+ {
613
+ internalType: 'address',
614
+ name: '',
615
+ type: 'address',
616
+ },
617
+ ],
618
+ stateMutability: 'view',
619
+ type: 'function',
620
+ },
621
+ {
622
+ inputs: [],
623
+ name: 'acceptGuardian',
624
+ outputs: [],
625
+ stateMutability: 'nonpayable',
626
+ type: 'function',
627
+ },
628
+ {
629
+ inputs: [
630
+ {
631
+ internalType: 'address',
632
+ name: 'market',
633
+ type: 'address',
634
+ },
635
+ ],
636
+ name: 'acceptMarket',
637
+ outputs: [],
638
+ stateMutability: 'nonpayable',
639
+ type: 'function',
640
+ },
641
+ {
642
+ inputs: [],
643
+ name: 'acceptOwnership',
644
+ outputs: [],
645
+ stateMutability: 'nonpayable',
646
+ type: 'function',
647
+ },
648
+ {
649
+ inputs: [],
650
+ name: 'acceptPendingMinApy',
651
+ outputs: [],
652
+ stateMutability: 'nonpayable',
653
+ type: 'function',
654
+ },
655
+ {
656
+ inputs: [],
657
+ name: 'acceptPerformanceFeeRate',
658
+ outputs: [],
659
+ stateMutability: 'nonpayable',
660
+ type: 'function',
661
+ },
662
+ {
663
+ inputs: [],
664
+ name: 'acceptPool',
665
+ outputs: [],
666
+ stateMutability: 'nonpayable',
667
+ type: 'function',
668
+ },
669
+ {
670
+ inputs: [],
671
+ name: 'acceptTimelock',
672
+ outputs: [],
673
+ stateMutability: 'nonpayable',
674
+ type: 'function',
675
+ },
676
+ {
677
+ inputs: [],
678
+ name: 'accretingPrincipal',
679
+ outputs: [
680
+ {
681
+ internalType: 'uint256',
682
+ name: '',
683
+ type: 'uint256',
684
+ },
685
+ ],
686
+ stateMutability: 'view',
687
+ type: 'function',
688
+ },
689
+ {
690
+ inputs: [
691
+ {
692
+ internalType: 'uint256',
693
+ name: 'ftReserve',
694
+ type: 'uint256',
695
+ },
696
+ {
697
+ internalType: 'uint256',
698
+ name: 'xtReserve',
699
+ type: 'uint256',
700
+ },
701
+ {
702
+ internalType: 'int256',
703
+ name: 'deltaFt',
704
+ type: 'int256',
705
+ },
706
+ {
707
+ internalType: 'int256',
708
+ name: 'deltaXt',
709
+ type: 'int256',
710
+ },
711
+ ],
712
+ name: 'afterSwap',
713
+ outputs: [],
714
+ stateMutability: 'nonpayable',
715
+ type: 'function',
716
+ },
717
+ {
718
+ inputs: [
719
+ {
720
+ internalType: 'address',
721
+ name: 'owner',
722
+ type: 'address',
723
+ },
724
+ {
725
+ internalType: 'address',
726
+ name: 'spender',
727
+ type: 'address',
728
+ },
729
+ ],
730
+ name: 'allowance',
731
+ outputs: [
732
+ {
733
+ internalType: 'uint256',
734
+ name: '',
735
+ type: 'uint256',
736
+ },
737
+ ],
738
+ stateMutability: 'view',
739
+ type: 'function',
740
+ },
741
+ {
742
+ inputs: [],
743
+ name: 'annualizedInterest',
744
+ outputs: [
745
+ {
746
+ internalType: 'uint256',
747
+ name: '',
748
+ type: 'uint256',
749
+ },
750
+ ],
751
+ stateMutability: 'view',
752
+ type: 'function',
753
+ },
754
+ {
755
+ inputs: [
756
+ {
757
+ internalType: 'address',
758
+ name: 'spender',
759
+ type: 'address',
760
+ },
761
+ {
762
+ internalType: 'uint256',
763
+ name: 'value',
764
+ type: 'uint256',
765
+ },
766
+ ],
767
+ name: 'approve',
768
+ outputs: [
769
+ {
770
+ internalType: 'bool',
771
+ name: '',
772
+ type: 'bool',
773
+ },
774
+ ],
775
+ stateMutability: 'nonpayable',
776
+ type: 'function',
777
+ },
778
+ {
779
+ inputs: [],
780
+ name: 'apr',
781
+ outputs: [
782
+ {
783
+ internalType: 'uint256',
784
+ name: '',
785
+ type: 'uint256',
786
+ },
787
+ ],
788
+ stateMutability: 'view',
789
+ type: 'function',
790
+ },
791
+ {
792
+ inputs: [],
793
+ name: 'apy',
794
+ outputs: [
795
+ {
796
+ internalType: 'uint256',
797
+ name: '',
798
+ type: 'uint256',
799
+ },
800
+ ],
801
+ stateMutability: 'view',
802
+ type: 'function',
803
+ },
804
+ {
805
+ inputs: [],
806
+ name: 'asset',
807
+ outputs: [
808
+ {
809
+ internalType: 'address',
810
+ name: '',
811
+ type: 'address',
812
+ },
813
+ ],
814
+ stateMutability: 'view',
815
+ type: 'function',
816
+ },
817
+ {
818
+ inputs: [
819
+ {
820
+ internalType: 'address',
821
+ name: 'collateral',
822
+ type: 'address',
823
+ },
824
+ ],
825
+ name: 'badDebtMapping',
826
+ outputs: [
827
+ {
828
+ internalType: 'uint256',
829
+ name: '',
830
+ type: 'uint256',
831
+ },
832
+ ],
833
+ stateMutability: 'view',
834
+ type: 'function',
835
+ },
836
+ {
837
+ inputs: [
838
+ {
839
+ internalType: 'address',
840
+ name: 'account',
841
+ type: 'address',
842
+ },
843
+ ],
844
+ name: 'balanceOf',
845
+ outputs: [
846
+ {
847
+ internalType: 'uint256',
848
+ name: '',
849
+ type: 'uint256',
850
+ },
851
+ ],
852
+ stateMutability: 'view',
853
+ type: 'function',
854
+ },
855
+ {
856
+ inputs: [
857
+ {
858
+ internalType: 'uint256',
859
+ name: 'shares',
860
+ type: 'uint256',
861
+ },
862
+ ],
863
+ name: 'convertToAssets',
864
+ outputs: [
865
+ {
866
+ internalType: 'uint256',
867
+ name: '',
868
+ type: 'uint256',
869
+ },
870
+ ],
871
+ stateMutability: 'view',
872
+ type: 'function',
873
+ },
874
+ {
875
+ inputs: [
876
+ {
877
+ internalType: 'uint256',
878
+ name: 'assets',
879
+ type: 'uint256',
880
+ },
881
+ ],
882
+ name: 'convertToShares',
883
+ outputs: [
884
+ {
885
+ internalType: 'uint256',
886
+ name: '',
887
+ type: 'uint256',
888
+ },
889
+ ],
890
+ stateMutability: 'view',
891
+ type: 'function',
892
+ },
893
+ {
894
+ inputs: [
895
+ {
896
+ internalType: 'contract ITermMaxMarketV2',
897
+ name: 'market',
898
+ type: 'address',
899
+ },
900
+ {
901
+ components: [
902
+ {
903
+ internalType: 'uint256',
904
+ name: 'originalVirtualXtReserve',
905
+ type: 'uint256',
906
+ },
907
+ {
908
+ internalType: 'uint256',
909
+ name: 'virtualXtReserve',
910
+ type: 'uint256',
911
+ },
912
+ {
913
+ internalType: 'uint256',
914
+ name: 'maxXtReserve',
915
+ type: 'uint256',
916
+ },
917
+ {
918
+ components: [
919
+ {
920
+ components: [
921
+ {
922
+ internalType: 'uint256',
923
+ name: 'xtReserve',
924
+ type: 'uint256',
925
+ },
926
+ {
927
+ internalType: 'uint256',
928
+ name: 'liqSquare',
929
+ type: 'uint256',
930
+ },
931
+ {
932
+ internalType: 'int256',
933
+ name: 'offset',
934
+ type: 'int256',
935
+ },
936
+ ],
937
+ internalType: 'struct ITermMaxVault.CurveCut[]',
938
+ name: 'lendCurveCuts',
939
+ type: 'tuple[]',
940
+ },
941
+ {
942
+ components: [
943
+ {
944
+ internalType: 'uint256',
945
+ name: 'xtReserve',
946
+ type: 'uint256',
947
+ },
948
+ {
949
+ internalType: 'uint256',
950
+ name: 'liqSquare',
951
+ type: 'uint256',
952
+ },
953
+ {
954
+ internalType: 'int256',
955
+ name: 'offset',
956
+ type: 'int256',
957
+ },
958
+ ],
959
+ internalType: 'struct ITermMaxVault.CurveCut[]',
960
+ name: 'borrowCurveCuts',
961
+ type: 'tuple[]',
962
+ },
963
+ ],
964
+ internalType: 'struct ITermMaxVault.CurveCuts',
965
+ name: 'curveCuts',
966
+ type: 'tuple',
967
+ },
968
+ ],
969
+ internalType: 'struct ITermMaxVault.OrderV2ConfigurationParams',
970
+ name: 'params',
971
+ type: 'tuple',
972
+ },
973
+ ],
974
+ name: 'createOrder',
975
+ outputs: [
976
+ {
977
+ internalType: 'contract ITermMaxOrderV2',
978
+ name: 'order',
979
+ type: 'address',
980
+ },
981
+ ],
982
+ stateMutability: 'nonpayable',
983
+ type: 'function',
984
+ },
985
+ {
986
+ inputs: [],
987
+ name: 'curator',
988
+ outputs: [
989
+ {
990
+ internalType: 'address',
991
+ name: '',
992
+ type: 'address',
993
+ },
994
+ ],
995
+ stateMutability: 'view',
996
+ type: 'function',
997
+ },
998
+ {
999
+ inputs: [
1000
+ {
1001
+ internalType: 'address',
1002
+ name: 'collateral',
1003
+ type: 'address',
1004
+ },
1005
+ {
1006
+ internalType: 'uint256',
1007
+ name: 'badDebtAmt',
1008
+ type: 'uint256',
1009
+ },
1010
+ {
1011
+ internalType: 'address',
1012
+ name: 'recipient',
1013
+ type: 'address',
1014
+ },
1015
+ {
1016
+ internalType: 'address',
1017
+ name: 'owner',
1018
+ type: 'address',
1019
+ },
1020
+ ],
1021
+ name: 'dealBadDebt',
1022
+ outputs: [
1023
+ {
1024
+ internalType: 'uint256',
1025
+ name: 'shares',
1026
+ type: 'uint256',
1027
+ },
1028
+ {
1029
+ internalType: 'uint256',
1030
+ name: 'collateralOut',
1031
+ type: 'uint256',
1032
+ },
1033
+ ],
1034
+ stateMutability: 'nonpayable',
1035
+ type: 'function',
1036
+ },
1037
+ {
1038
+ inputs: [],
1039
+ name: 'decimals',
1040
+ outputs: [
1041
+ {
1042
+ internalType: 'uint8',
1043
+ name: '',
1044
+ type: 'uint8',
1045
+ },
1046
+ ],
1047
+ stateMutability: 'view',
1048
+ type: 'function',
1049
+ },
1050
+ {
1051
+ inputs: [
1052
+ {
1053
+ internalType: 'uint256',
1054
+ name: 'assets',
1055
+ type: 'uint256',
1056
+ },
1057
+ {
1058
+ internalType: 'address',
1059
+ name: 'receiver',
1060
+ type: 'address',
1061
+ },
1062
+ ],
1063
+ name: 'deposit',
1064
+ outputs: [
1065
+ {
1066
+ internalType: 'uint256',
1067
+ name: '',
1068
+ type: 'uint256',
1069
+ },
1070
+ ],
1071
+ stateMutability: 'nonpayable',
1072
+ type: 'function',
1073
+ },
1074
+ {
1075
+ inputs: [],
1076
+ name: 'getVersion',
1077
+ outputs: [
1078
+ {
1079
+ internalType: 'string',
1080
+ name: '',
1081
+ type: 'string',
1082
+ },
1083
+ ],
1084
+ stateMutability: 'pure',
1085
+ type: 'function',
1086
+ },
1087
+ {
1088
+ inputs: [],
1089
+ name: 'guardian',
1090
+ outputs: [
1091
+ {
1092
+ internalType: 'address',
1093
+ name: '',
1094
+ type: 'address',
1095
+ },
1096
+ ],
1097
+ stateMutability: 'view',
1098
+ type: 'function',
1099
+ },
1100
+ {
1101
+ inputs: [
1102
+ {
1103
+ components: [
1104
+ {
1105
+ internalType: 'address',
1106
+ name: 'admin',
1107
+ type: 'address',
1108
+ },
1109
+ {
1110
+ internalType: 'address',
1111
+ name: 'curator',
1112
+ type: 'address',
1113
+ },
1114
+ {
1115
+ internalType: 'uint256',
1116
+ name: 'timelock',
1117
+ type: 'uint256',
1118
+ },
1119
+ {
1120
+ internalType: 'contract IERC20',
1121
+ name: 'asset',
1122
+ type: 'address',
1123
+ },
1124
+ {
1125
+ internalType: 'uint256',
1126
+ name: 'maxCapacity',
1127
+ type: 'uint256',
1128
+ },
1129
+ {
1130
+ internalType: 'string',
1131
+ name: 'name',
1132
+ type: 'string',
1133
+ },
1134
+ {
1135
+ internalType: 'string',
1136
+ name: 'symbol',
1137
+ type: 'string',
1138
+ },
1139
+ {
1140
+ internalType: 'uint64',
1141
+ name: 'performanceFeeRate',
1142
+ type: 'uint64',
1143
+ },
1144
+ ],
1145
+ internalType: 'struct ITermMaxVault.VaultInitialParams',
1146
+ name: 'params',
1147
+ type: 'tuple',
1148
+ },
1149
+ ],
1150
+ name: 'initialize',
1151
+ outputs: [],
1152
+ stateMutability: 'nonpayable',
1153
+ type: 'function',
1154
+ },
1155
+ {
1156
+ inputs: [
1157
+ {
1158
+ components: [
1159
+ {
1160
+ internalType: 'address',
1161
+ name: 'admin',
1162
+ type: 'address',
1163
+ },
1164
+ {
1165
+ internalType: 'address',
1166
+ name: 'curator',
1167
+ type: 'address',
1168
+ },
1169
+ {
1170
+ internalType: 'address',
1171
+ name: 'guardian',
1172
+ type: 'address',
1173
+ },
1174
+ {
1175
+ internalType: 'uint256',
1176
+ name: 'timelock',
1177
+ type: 'uint256',
1178
+ },
1179
+ {
1180
+ internalType: 'contract IERC20',
1181
+ name: 'asset',
1182
+ type: 'address',
1183
+ },
1184
+ {
1185
+ internalType: 'contract IERC4626',
1186
+ name: 'pool',
1187
+ type: 'address',
1188
+ },
1189
+ {
1190
+ internalType: 'uint256',
1191
+ name: 'maxCapacity',
1192
+ type: 'uint256',
1193
+ },
1194
+ {
1195
+ internalType: 'string',
1196
+ name: 'name',
1197
+ type: 'string',
1198
+ },
1199
+ {
1200
+ internalType: 'string',
1201
+ name: 'symbol',
1202
+ type: 'string',
1203
+ },
1204
+ {
1205
+ internalType: 'uint64',
1206
+ name: 'performanceFeeRate',
1207
+ type: 'uint64',
1208
+ },
1209
+ {
1210
+ internalType: 'uint64',
1211
+ name: 'minApy',
1212
+ type: 'uint64',
1213
+ },
1214
+ ],
1215
+ internalType: 'struct ITermMaxVault.VaultInitialParamsV2',
1216
+ name: 'params',
1217
+ type: 'tuple',
1218
+ },
1219
+ ],
1220
+ name: 'initialize',
1221
+ outputs: [],
1222
+ stateMutability: 'nonpayable',
1223
+ type: 'function',
1224
+ },
1225
+ {
1226
+ inputs: [
1227
+ {
1228
+ internalType: 'address',
1229
+ name: 'market',
1230
+ type: 'address',
1231
+ },
1232
+ ],
1233
+ name: 'marketWhitelist',
1234
+ outputs: [
1235
+ {
1236
+ internalType: 'bool',
1237
+ name: '',
1238
+ type: 'bool',
1239
+ },
1240
+ ],
1241
+ stateMutability: 'view',
1242
+ type: 'function',
1243
+ },
1244
+ {
1245
+ inputs: [
1246
+ {
1247
+ internalType: 'address',
1248
+ name: '',
1249
+ type: 'address',
1250
+ },
1251
+ ],
1252
+ name: 'maxDeposit',
1253
+ outputs: [
1254
+ {
1255
+ internalType: 'uint256',
1256
+ name: '',
1257
+ type: 'uint256',
1258
+ },
1259
+ ],
1260
+ stateMutability: 'view',
1261
+ type: 'function',
1262
+ },
1263
+ {
1264
+ inputs: [
1265
+ {
1266
+ internalType: 'address',
1267
+ name: '',
1268
+ type: 'address',
1269
+ },
1270
+ ],
1271
+ name: 'maxMint',
1272
+ outputs: [
1273
+ {
1274
+ internalType: 'uint256',
1275
+ name: '',
1276
+ type: 'uint256',
1277
+ },
1278
+ ],
1279
+ stateMutability: 'view',
1280
+ type: 'function',
1281
+ },
1282
+ {
1283
+ inputs: [
1284
+ {
1285
+ internalType: 'address',
1286
+ name: 'owner',
1287
+ type: 'address',
1288
+ },
1289
+ ],
1290
+ name: 'maxRedeem',
1291
+ outputs: [
1292
+ {
1293
+ internalType: 'uint256',
1294
+ name: '',
1295
+ type: 'uint256',
1296
+ },
1297
+ ],
1298
+ stateMutability: 'view',
1299
+ type: 'function',
1300
+ },
1301
+ {
1302
+ inputs: [
1303
+ {
1304
+ internalType: 'address',
1305
+ name: 'owner',
1306
+ type: 'address',
1307
+ },
1308
+ ],
1309
+ name: 'maxWithdraw',
1310
+ outputs: [
1311
+ {
1312
+ internalType: 'uint256',
1313
+ name: '',
1314
+ type: 'uint256',
1315
+ },
1316
+ ],
1317
+ stateMutability: 'view',
1318
+ type: 'function',
1319
+ },
1320
+ {
1321
+ inputs: [],
1322
+ name: 'minApy',
1323
+ outputs: [
1324
+ {
1325
+ internalType: 'uint64',
1326
+ name: '',
1327
+ type: 'uint64',
1328
+ },
1329
+ ],
1330
+ stateMutability: 'view',
1331
+ type: 'function',
1332
+ },
1333
+ {
1334
+ inputs: [
1335
+ {
1336
+ internalType: 'uint256',
1337
+ name: 'shares',
1338
+ type: 'uint256',
1339
+ },
1340
+ {
1341
+ internalType: 'address',
1342
+ name: 'receiver',
1343
+ type: 'address',
1344
+ },
1345
+ ],
1346
+ name: 'mint',
1347
+ outputs: [
1348
+ {
1349
+ internalType: 'uint256',
1350
+ name: '',
1351
+ type: 'uint256',
1352
+ },
1353
+ ],
1354
+ stateMutability: 'nonpayable',
1355
+ type: 'function',
1356
+ },
1357
+ {
1358
+ inputs: [],
1359
+ name: 'name',
1360
+ outputs: [
1361
+ {
1362
+ internalType: 'string',
1363
+ name: '',
1364
+ type: 'string',
1365
+ },
1366
+ ],
1367
+ stateMutability: 'view',
1368
+ type: 'function',
1369
+ },
1370
+ {
1371
+ inputs: [
1372
+ {
1373
+ internalType: 'address',
1374
+ name: 'order',
1375
+ type: 'address',
1376
+ },
1377
+ ],
1378
+ name: 'orderMaturity',
1379
+ outputs: [
1380
+ {
1381
+ internalType: 'uint256',
1382
+ name: '',
1383
+ type: 'uint256',
1384
+ },
1385
+ ],
1386
+ stateMutability: 'view',
1387
+ type: 'function',
1388
+ },
1389
+ {
1390
+ inputs: [],
1391
+ name: 'owner',
1392
+ outputs: [
1393
+ {
1394
+ internalType: 'address',
1395
+ name: '',
1396
+ type: 'address',
1397
+ },
1398
+ ],
1399
+ stateMutability: 'view',
1400
+ type: 'function',
1401
+ },
1402
+ {
1403
+ inputs: [],
1404
+ name: 'pause',
1405
+ outputs: [],
1406
+ stateMutability: 'nonpayable',
1407
+ type: 'function',
1408
+ },
1409
+ {
1410
+ inputs: [],
1411
+ name: 'paused',
1412
+ outputs: [
1413
+ {
1414
+ internalType: 'bool',
1415
+ name: '',
1416
+ type: 'bool',
1417
+ },
1418
+ ],
1419
+ stateMutability: 'view',
1420
+ type: 'function',
1421
+ },
1422
+ {
1423
+ inputs: [],
1424
+ name: 'pendingGuardian',
1425
+ outputs: [
1426
+ {
1427
+ components: [
1428
+ {
1429
+ internalType: 'address',
1430
+ name: 'value',
1431
+ type: 'address',
1432
+ },
1433
+ {
1434
+ internalType: 'uint64',
1435
+ name: 'validAt',
1436
+ type: 'uint64',
1437
+ },
1438
+ ],
1439
+ internalType: 'struct ITermMaxVault.PendingAddress',
1440
+ name: '',
1441
+ type: 'tuple',
1442
+ },
1443
+ ],
1444
+ stateMutability: 'view',
1445
+ type: 'function',
1446
+ },
1447
+ {
1448
+ inputs: [
1449
+ {
1450
+ internalType: 'address',
1451
+ name: 'market',
1452
+ type: 'address',
1453
+ },
1454
+ ],
1455
+ name: 'pendingMarkets',
1456
+ outputs: [
1457
+ {
1458
+ components: [
1459
+ {
1460
+ internalType: 'uint192',
1461
+ name: 'value',
1462
+ type: 'uint192',
1463
+ },
1464
+ {
1465
+ internalType: 'uint64',
1466
+ name: 'validAt',
1467
+ type: 'uint64',
1468
+ },
1469
+ ],
1470
+ internalType: 'struct ITermMaxVault.PendingUint192',
1471
+ name: '',
1472
+ type: 'tuple',
1473
+ },
1474
+ ],
1475
+ stateMutability: 'view',
1476
+ type: 'function',
1477
+ },
1478
+ {
1479
+ inputs: [],
1480
+ name: 'pendingMinApy',
1481
+ outputs: [
1482
+ {
1483
+ components: [
1484
+ {
1485
+ internalType: 'uint192',
1486
+ name: 'value',
1487
+ type: 'uint192',
1488
+ },
1489
+ {
1490
+ internalType: 'uint64',
1491
+ name: 'validAt',
1492
+ type: 'uint64',
1493
+ },
1494
+ ],
1495
+ internalType: 'struct ITermMaxVault.PendingUint192',
1496
+ name: '',
1497
+ type: 'tuple',
1498
+ },
1499
+ ],
1500
+ stateMutability: 'view',
1501
+ type: 'function',
1502
+ },
1503
+ {
1504
+ inputs: [],
1505
+ name: 'pendingOwner',
1506
+ outputs: [
1507
+ {
1508
+ internalType: 'address',
1509
+ name: '',
1510
+ type: 'address',
1511
+ },
1512
+ ],
1513
+ stateMutability: 'view',
1514
+ type: 'function',
1515
+ },
1516
+ {
1517
+ inputs: [],
1518
+ name: 'pendingPerformanceFeeRate',
1519
+ outputs: [
1520
+ {
1521
+ components: [
1522
+ {
1523
+ internalType: 'uint192',
1524
+ name: 'value',
1525
+ type: 'uint192',
1526
+ },
1527
+ {
1528
+ internalType: 'uint64',
1529
+ name: 'validAt',
1530
+ type: 'uint64',
1531
+ },
1532
+ ],
1533
+ internalType: 'struct ITermMaxVault.PendingUint192',
1534
+ name: '',
1535
+ type: 'tuple',
1536
+ },
1537
+ ],
1538
+ stateMutability: 'view',
1539
+ type: 'function',
1540
+ },
1541
+ {
1542
+ inputs: [],
1543
+ name: 'pendingPool',
1544
+ outputs: [
1545
+ {
1546
+ components: [
1547
+ {
1548
+ internalType: 'address',
1549
+ name: 'value',
1550
+ type: 'address',
1551
+ },
1552
+ {
1553
+ internalType: 'uint64',
1554
+ name: 'validAt',
1555
+ type: 'uint64',
1556
+ },
1557
+ ],
1558
+ internalType: 'struct ITermMaxVault.PendingAddress',
1559
+ name: '',
1560
+ type: 'tuple',
1561
+ },
1562
+ ],
1563
+ stateMutability: 'view',
1564
+ type: 'function',
1565
+ },
1566
+ {
1567
+ inputs: [],
1568
+ name: 'pendingPools',
1569
+ outputs: [
1570
+ {
1571
+ components: [
1572
+ {
1573
+ internalType: 'address',
1574
+ name: 'value',
1575
+ type: 'address',
1576
+ },
1577
+ {
1578
+ internalType: 'uint64',
1579
+ name: 'validAt',
1580
+ type: 'uint64',
1581
+ },
1582
+ ],
1583
+ internalType: 'struct ITermMaxVault.PendingAddress',
1584
+ name: '',
1585
+ type: 'tuple',
1586
+ },
1587
+ ],
1588
+ stateMutability: 'view',
1589
+ type: 'function',
1590
+ },
1591
+ {
1592
+ inputs: [],
1593
+ name: 'pendingTimelock',
1594
+ outputs: [
1595
+ {
1596
+ components: [
1597
+ {
1598
+ internalType: 'uint192',
1599
+ name: 'value',
1600
+ type: 'uint192',
1601
+ },
1602
+ {
1603
+ internalType: 'uint64',
1604
+ name: 'validAt',
1605
+ type: 'uint64',
1606
+ },
1607
+ ],
1608
+ internalType: 'struct ITermMaxVault.PendingUint192',
1609
+ name: '',
1610
+ type: 'tuple',
1611
+ },
1612
+ ],
1613
+ stateMutability: 'view',
1614
+ type: 'function',
1615
+ },
1616
+ {
1617
+ inputs: [],
1618
+ name: 'performanceFee',
1619
+ outputs: [
1620
+ {
1621
+ internalType: 'uint256',
1622
+ name: '',
1623
+ type: 'uint256',
1624
+ },
1625
+ ],
1626
+ stateMutability: 'view',
1627
+ type: 'function',
1628
+ },
1629
+ {
1630
+ inputs: [],
1631
+ name: 'performanceFeeRate',
1632
+ outputs: [
1633
+ {
1634
+ internalType: 'uint64',
1635
+ name: '',
1636
+ type: 'uint64',
1637
+ },
1638
+ ],
1639
+ stateMutability: 'view',
1640
+ type: 'function',
1641
+ },
1642
+ {
1643
+ inputs: [],
1644
+ name: 'pool',
1645
+ outputs: [
1646
+ {
1647
+ internalType: 'contract IERC4626',
1648
+ name: '',
1649
+ type: 'address',
1650
+ },
1651
+ ],
1652
+ stateMutability: 'view',
1653
+ type: 'function',
1654
+ },
1655
+ {
1656
+ inputs: [
1657
+ {
1658
+ internalType: 'uint256',
1659
+ name: 'assets',
1660
+ type: 'uint256',
1661
+ },
1662
+ ],
1663
+ name: 'previewDeposit',
1664
+ outputs: [
1665
+ {
1666
+ internalType: 'uint256',
1667
+ name: '',
1668
+ type: 'uint256',
1669
+ },
1670
+ ],
1671
+ stateMutability: 'view',
1672
+ type: 'function',
1673
+ },
1674
+ {
1675
+ inputs: [
1676
+ {
1677
+ internalType: 'uint256',
1678
+ name: 'shares',
1679
+ type: 'uint256',
1680
+ },
1681
+ ],
1682
+ name: 'previewMint',
1683
+ outputs: [
1684
+ {
1685
+ internalType: 'uint256',
1686
+ name: '',
1687
+ type: 'uint256',
1688
+ },
1689
+ ],
1690
+ stateMutability: 'view',
1691
+ type: 'function',
1692
+ },
1693
+ {
1694
+ inputs: [
1695
+ {
1696
+ internalType: 'uint256',
1697
+ name: 'shares',
1698
+ type: 'uint256',
1699
+ },
1700
+ ],
1701
+ name: 'previewRedeem',
1702
+ outputs: [
1703
+ {
1704
+ internalType: 'uint256',
1705
+ name: '',
1706
+ type: 'uint256',
1707
+ },
1708
+ ],
1709
+ stateMutability: 'view',
1710
+ type: 'function',
1711
+ },
1712
+ {
1713
+ inputs: [
1714
+ {
1715
+ internalType: 'uint256',
1716
+ name: 'assets',
1717
+ type: 'uint256',
1718
+ },
1719
+ ],
1720
+ name: 'previewWithdraw',
1721
+ outputs: [
1722
+ {
1723
+ internalType: 'uint256',
1724
+ name: '',
1725
+ type: 'uint256',
1726
+ },
1727
+ ],
1728
+ stateMutability: 'view',
1729
+ type: 'function',
1730
+ },
1731
+ {
1732
+ inputs: [
1733
+ {
1734
+ internalType: 'uint256',
1735
+ name: 'shares',
1736
+ type: 'uint256',
1737
+ },
1738
+ {
1739
+ internalType: 'address',
1740
+ name: 'receiver',
1741
+ type: 'address',
1742
+ },
1743
+ {
1744
+ internalType: 'address',
1745
+ name: 'owner',
1746
+ type: 'address',
1747
+ },
1748
+ ],
1749
+ name: 'redeem',
1750
+ outputs: [
1751
+ {
1752
+ internalType: 'uint256',
1753
+ name: '',
1754
+ type: 'uint256',
1755
+ },
1756
+ ],
1757
+ stateMutability: 'nonpayable',
1758
+ type: 'function',
1759
+ },
1760
+ {
1761
+ inputs: [
1762
+ {
1763
+ internalType: 'contract ITermMaxOrderV2',
1764
+ name: 'order',
1765
+ type: 'address',
1766
+ },
1767
+ ],
1768
+ name: 'redeemOrder',
1769
+ outputs: [
1770
+ {
1771
+ internalType: 'uint256',
1772
+ name: 'badDebt',
1773
+ type: 'uint256',
1774
+ },
1775
+ {
1776
+ internalType: 'uint256',
1777
+ name: 'deliveryCollateral',
1778
+ type: 'uint256',
1779
+ },
1780
+ ],
1781
+ stateMutability: 'nonpayable',
1782
+ type: 'function',
1783
+ },
1784
+ {
1785
+ inputs: [
1786
+ {
1787
+ internalType: 'address[]',
1788
+ name: 'orders',
1789
+ type: 'address[]',
1790
+ },
1791
+ {
1792
+ internalType: 'uint256[]',
1793
+ name: 'removedLiquidities',
1794
+ type: 'uint256[]',
1795
+ },
1796
+ ],
1797
+ name: 'removeLiquidityFromOrders',
1798
+ outputs: [],
1799
+ stateMutability: 'nonpayable',
1800
+ type: 'function',
1801
+ },
1802
+ {
1803
+ inputs: [],
1804
+ name: 'renounceOwnership',
1805
+ outputs: [],
1806
+ stateMutability: 'nonpayable',
1807
+ type: 'function',
1808
+ },
1809
+ {
1810
+ inputs: [],
1811
+ name: 'revokePendingGuardian',
1812
+ outputs: [],
1813
+ stateMutability: 'nonpayable',
1814
+ type: 'function',
1815
+ },
1816
+ {
1817
+ inputs: [
1818
+ {
1819
+ internalType: 'address',
1820
+ name: 'market',
1821
+ type: 'address',
1822
+ },
1823
+ ],
1824
+ name: 'revokePendingMarket',
1825
+ outputs: [],
1826
+ stateMutability: 'nonpayable',
1827
+ type: 'function',
1828
+ },
1829
+ {
1830
+ inputs: [],
1831
+ name: 'revokePendingMinApy',
1832
+ outputs: [],
1833
+ stateMutability: 'nonpayable',
1834
+ type: 'function',
1835
+ },
1836
+ {
1837
+ inputs: [],
1838
+ name: 'revokePendingPerformanceFeeRate',
1839
+ outputs: [],
1840
+ stateMutability: 'nonpayable',
1841
+ type: 'function',
1842
+ },
1843
+ {
1844
+ inputs: [],
1845
+ name: 'revokePendingPool',
1846
+ outputs: [],
1847
+ stateMutability: 'nonpayable',
1848
+ type: 'function',
1849
+ },
1850
+ {
1851
+ inputs: [],
1852
+ name: 'revokePendingTimelock',
1853
+ outputs: [],
1854
+ stateMutability: 'nonpayable',
1855
+ type: 'function',
1856
+ },
1857
+ {
1858
+ inputs: [
1859
+ {
1860
+ internalType: 'uint256',
1861
+ name: 'newCapacity',
1862
+ type: 'uint256',
1863
+ },
1864
+ ],
1865
+ name: 'setCapacity',
1866
+ outputs: [],
1867
+ stateMutability: 'nonpayable',
1868
+ type: 'function',
1869
+ },
1870
+ {
1871
+ inputs: [
1872
+ {
1873
+ internalType: 'address',
1874
+ name: 'newCurator',
1875
+ type: 'address',
1876
+ },
1877
+ ],
1878
+ name: 'setCurator',
1879
+ outputs: [],
1880
+ stateMutability: 'nonpayable',
1881
+ type: 'function',
1882
+ },
1883
+ {
1884
+ inputs: [
1885
+ {
1886
+ internalType: 'address',
1887
+ name: 'newGuardian',
1888
+ type: 'address',
1889
+ },
1890
+ ],
1891
+ name: 'submitGuardian',
1892
+ outputs: [],
1893
+ stateMutability: 'nonpayable',
1894
+ type: 'function',
1895
+ },
1896
+ {
1897
+ inputs: [
1898
+ {
1899
+ internalType: 'address',
1900
+ name: 'market',
1901
+ type: 'address',
1902
+ },
1903
+ {
1904
+ internalType: 'bool',
1905
+ name: 'isWhitelisted',
1906
+ type: 'bool',
1907
+ },
1908
+ ],
1909
+ name: 'submitMarket',
1910
+ outputs: [],
1911
+ stateMutability: 'nonpayable',
1912
+ type: 'function',
1913
+ },
1914
+ {
1915
+ inputs: [
1916
+ {
1917
+ internalType: 'uint64',
1918
+ name: 'newMinApy',
1919
+ type: 'uint64',
1920
+ },
1921
+ ],
1922
+ name: 'submitPendingMinApy',
1923
+ outputs: [],
1924
+ stateMutability: 'nonpayable',
1925
+ type: 'function',
1926
+ },
1927
+ {
1928
+ inputs: [
1929
+ {
1930
+ internalType: 'address',
1931
+ name: 'pool_',
1932
+ type: 'address',
1933
+ },
1934
+ ],
1935
+ name: 'submitPendingPool',
1936
+ outputs: [],
1937
+ stateMutability: 'nonpayable',
1938
+ type: 'function',
1939
+ },
1940
+ {
1941
+ inputs: [
1942
+ {
1943
+ internalType: 'uint184',
1944
+ name: 'newPerformanceFeeRate',
1945
+ type: 'uint184',
1946
+ },
1947
+ ],
1948
+ name: 'submitPerformanceFeeRate',
1949
+ outputs: [],
1950
+ stateMutability: 'nonpayable',
1951
+ type: 'function',
1952
+ },
1953
+ {
1954
+ inputs: [
1955
+ {
1956
+ internalType: 'uint256',
1957
+ name: 'newTimelock',
1958
+ type: 'uint256',
1959
+ },
1960
+ ],
1961
+ name: 'submitTimelock',
1962
+ outputs: [],
1963
+ stateMutability: 'nonpayable',
1964
+ type: 'function',
1965
+ },
1966
+ {
1967
+ inputs: [
1968
+ {
1969
+ internalType: 'uint256',
1970
+ name: 'index',
1971
+ type: 'uint256',
1972
+ },
1973
+ ],
1974
+ name: 'supplyQueue',
1975
+ outputs: [
1976
+ {
1977
+ internalType: 'address',
1978
+ name: '',
1979
+ type: 'address',
1980
+ },
1981
+ ],
1982
+ stateMutability: 'view',
1983
+ type: 'function',
1984
+ },
1985
+ {
1986
+ inputs: [],
1987
+ name: 'supplyQueueLength',
1988
+ outputs: [
1989
+ {
1990
+ internalType: 'uint256',
1991
+ name: '',
1992
+ type: 'uint256',
1993
+ },
1994
+ ],
1995
+ stateMutability: 'view',
1996
+ type: 'function',
1997
+ },
1998
+ {
1999
+ inputs: [],
2000
+ name: 'symbol',
2001
+ outputs: [
2002
+ {
2003
+ internalType: 'string',
2004
+ name: '',
2005
+ type: 'string',
2006
+ },
2007
+ ],
2008
+ stateMutability: 'view',
2009
+ type: 'function',
2010
+ },
2011
+ {
2012
+ inputs: [],
2013
+ name: 'timelock',
2014
+ outputs: [
2015
+ {
2016
+ internalType: 'uint256',
2017
+ name: '',
2018
+ type: 'uint256',
2019
+ },
2020
+ ],
2021
+ stateMutability: 'view',
2022
+ type: 'function',
2023
+ },
2024
+ {
2025
+ inputs: [],
2026
+ name: 'totalAssets',
2027
+ outputs: [
2028
+ {
2029
+ internalType: 'uint256',
2030
+ name: '',
2031
+ type: 'uint256',
2032
+ },
2033
+ ],
2034
+ stateMutability: 'view',
2035
+ type: 'function',
2036
+ },
2037
+ {
2038
+ inputs: [],
2039
+ name: 'totalFt',
2040
+ outputs: [
2041
+ {
2042
+ internalType: 'uint256',
2043
+ name: '',
2044
+ type: 'uint256',
2045
+ },
2046
+ ],
2047
+ stateMutability: 'view',
2048
+ type: 'function',
2049
+ },
2050
+ {
2051
+ inputs: [],
2052
+ name: 'totalSupply',
2053
+ outputs: [
2054
+ {
2055
+ internalType: 'uint256',
2056
+ name: '',
2057
+ type: 'uint256',
2058
+ },
2059
+ ],
2060
+ stateMutability: 'view',
2061
+ type: 'function',
2062
+ },
2063
+ {
2064
+ inputs: [
2065
+ {
2066
+ internalType: 'address',
2067
+ name: 'to',
2068
+ type: 'address',
2069
+ },
2070
+ {
2071
+ internalType: 'uint256',
2072
+ name: 'value',
2073
+ type: 'uint256',
2074
+ },
2075
+ ],
2076
+ name: 'transfer',
2077
+ outputs: [
2078
+ {
2079
+ internalType: 'bool',
2080
+ name: '',
2081
+ type: 'bool',
2082
+ },
2083
+ ],
2084
+ stateMutability: 'nonpayable',
2085
+ type: 'function',
2086
+ },
2087
+ {
2088
+ inputs: [
2089
+ {
2090
+ internalType: 'address',
2091
+ name: 'from',
2092
+ type: 'address',
2093
+ },
2094
+ {
2095
+ internalType: 'address',
2096
+ name: 'to',
2097
+ type: 'address',
2098
+ },
2099
+ {
2100
+ internalType: 'uint256',
2101
+ name: 'value',
2102
+ type: 'uint256',
2103
+ },
2104
+ ],
2105
+ name: 'transferFrom',
2106
+ outputs: [
2107
+ {
2108
+ internalType: 'bool',
2109
+ name: '',
2110
+ type: 'bool',
2111
+ },
2112
+ ],
2113
+ stateMutability: 'nonpayable',
2114
+ type: 'function',
2115
+ },
2116
+ {
2117
+ inputs: [
2118
+ {
2119
+ internalType: 'address',
2120
+ name: 'newOwner',
2121
+ type: 'address',
2122
+ },
2123
+ ],
2124
+ name: 'transferOwnership',
2125
+ outputs: [],
2126
+ stateMutability: 'nonpayable',
2127
+ type: 'function',
2128
+ },
2129
+ {
2130
+ inputs: [],
2131
+ name: 'unpause',
2132
+ outputs: [],
2133
+ stateMutability: 'nonpayable',
2134
+ type: 'function',
2135
+ },
2136
+ {
2137
+ inputs: [
2138
+ {
2139
+ internalType: 'address[]',
2140
+ name: 'orders',
2141
+ type: 'address[]',
2142
+ },
2143
+ {
2144
+ components: [
2145
+ {
2146
+ internalType: 'uint256',
2147
+ name: 'originalVirtualXtReserve',
2148
+ type: 'uint256',
2149
+ },
2150
+ {
2151
+ internalType: 'uint256',
2152
+ name: 'virtualXtReserve',
2153
+ type: 'uint256',
2154
+ },
2155
+ {
2156
+ internalType: 'uint256',
2157
+ name: 'maxXtReserve',
2158
+ type: 'uint256',
2159
+ },
2160
+ {
2161
+ components: [
2162
+ {
2163
+ components: [
2164
+ {
2165
+ internalType: 'uint256',
2166
+ name: 'xtReserve',
2167
+ type: 'uint256',
2168
+ },
2169
+ {
2170
+ internalType: 'uint256',
2171
+ name: 'liqSquare',
2172
+ type: 'uint256',
2173
+ },
2174
+ {
2175
+ internalType: 'int256',
2176
+ name: 'offset',
2177
+ type: 'int256',
2178
+ },
2179
+ ],
2180
+ internalType: 'struct ITermMaxVault.CurveCut[]',
2181
+ name: 'lendCurveCuts',
2182
+ type: 'tuple[]',
2183
+ },
2184
+ {
2185
+ components: [
2186
+ {
2187
+ internalType: 'uint256',
2188
+ name: 'xtReserve',
2189
+ type: 'uint256',
2190
+ },
2191
+ {
2192
+ internalType: 'uint256',
2193
+ name: 'liqSquare',
2194
+ type: 'uint256',
2195
+ },
2196
+ {
2197
+ internalType: 'int256',
2198
+ name: 'offset',
2199
+ type: 'int256',
2200
+ },
2201
+ ],
2202
+ internalType: 'struct ITermMaxVault.CurveCut[]',
2203
+ name: 'borrowCurveCuts',
2204
+ type: 'tuple[]',
2205
+ },
2206
+ ],
2207
+ internalType: 'struct ITermMaxVault.CurveCuts',
2208
+ name: 'curveCuts',
2209
+ type: 'tuple',
2210
+ },
2211
+ ],
2212
+ internalType: 'struct ITermMaxVault.OrderV2ConfigurationParams[]',
2213
+ name: 'orderConfigs',
2214
+ type: 'tuple[]',
2215
+ },
2216
+ ],
2217
+ name: 'updateOrdersConfiguration',
2218
+ outputs: [],
2219
+ stateMutability: 'nonpayable',
2220
+ type: 'function',
2221
+ },
2222
+ {
2223
+ inputs: [
2224
+ {
2225
+ internalType: 'uint256',
2226
+ name: 'assets',
2227
+ type: 'uint256',
2228
+ },
2229
+ {
2230
+ internalType: 'address',
2231
+ name: 'receiver',
2232
+ type: 'address',
2233
+ },
2234
+ {
2235
+ internalType: 'address',
2236
+ name: 'owner',
2237
+ type: 'address',
2238
+ },
2239
+ ],
2240
+ name: 'withdraw',
2241
+ outputs: [
2242
+ {
2243
+ internalType: 'uint256',
2244
+ name: '',
2245
+ type: 'uint256',
2246
+ },
2247
+ ],
2248
+ stateMutability: 'nonpayable',
2249
+ type: 'function',
2250
+ },
2251
+ {
2252
+ inputs: [
2253
+ {
2254
+ internalType: 'address',
2255
+ name: 'order',
2256
+ type: 'address',
2257
+ },
2258
+ {
2259
+ internalType: 'uint256',
2260
+ name: 'amount',
2261
+ type: 'uint256',
2262
+ },
2263
+ {
2264
+ internalType: 'address',
2265
+ name: 'recipient',
2266
+ type: 'address',
2267
+ },
2268
+ {
2269
+ internalType: 'address',
2270
+ name: 'owner',
2271
+ type: 'address',
2272
+ },
2273
+ ],
2274
+ name: 'withdrawFts',
2275
+ outputs: [
2276
+ {
2277
+ internalType: 'uint256',
2278
+ name: 'shares',
2279
+ type: 'uint256',
2280
+ },
2281
+ ],
2282
+ stateMutability: 'nonpayable',
2283
+ type: 'function',
2284
+ },
2285
+ {
2286
+ inputs: [
2287
+ {
2288
+ internalType: 'address',
2289
+ name: 'recipient',
2290
+ type: 'address',
2291
+ },
2292
+ {
2293
+ internalType: 'uint256',
2294
+ name: 'amount',
2295
+ type: 'uint256',
2296
+ },
2297
+ ],
2298
+ name: 'withdrawPerformanceFee',
2299
+ outputs: [],
2300
+ stateMutability: 'nonpayable',
2301
+ type: 'function',
2302
+ },
2303
+ {
2304
+ inputs: [
2305
+ {
2306
+ internalType: 'uint256',
2307
+ name: 'index',
2308
+ type: 'uint256',
2309
+ },
2310
+ ],
2311
+ name: 'withdrawQueue',
2312
+ outputs: [
2313
+ {
2314
+ internalType: 'address',
2315
+ name: '',
2316
+ type: 'address',
2317
+ },
2318
+ ],
2319
+ stateMutability: 'view',
2320
+ type: 'function',
2321
+ },
2322
+ {
2323
+ inputs: [],
2324
+ name: 'withdrawQueueLength',
2325
+ outputs: [
2326
+ {
2327
+ internalType: 'uint256',
2328
+ name: '',
2329
+ type: 'uint256',
2330
+ },
2331
+ ],
2332
+ stateMutability: 'view',
2333
+ type: 'function',
2334
+ },
2335
+ ] as const;