@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,721 @@
1
+ export const CurveAdapterV1_2_ABI = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: 'contract ICurveStableSwapNG',
6
+ name: '_pool',
7
+ type: 'address',
8
+ },
9
+ {
10
+ internalType: 'uint256',
11
+ name: '_idxS',
12
+ type: 'uint256',
13
+ },
14
+ {
15
+ internalType: 'uint256',
16
+ name: '_idxC',
17
+ type: 'uint256',
18
+ },
19
+ {
20
+ internalType: 'address[5]',
21
+ name: '_receivers',
22
+ type: 'address[5]',
23
+ },
24
+ {
25
+ internalType: 'uint32[5]',
26
+ name: '_weights',
27
+ type: 'uint32[5]',
28
+ },
29
+ ],
30
+ stateMutability: 'nonpayable',
31
+ type: 'constructor',
32
+ },
33
+ {
34
+ inputs: [],
35
+ name: 'AlreadyPending',
36
+ type: 'error',
37
+ },
38
+ {
39
+ inputs: [],
40
+ name: 'AtomicGuardError',
41
+ type: 'error',
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: 'uint256[]',
47
+ name: 'balances',
48
+ type: 'uint256[]',
49
+ },
50
+ ],
51
+ name: 'ImbalancedVariant',
52
+ type: 'error',
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: 'NoPendingValue',
57
+ type: 'error',
58
+ },
59
+ {
60
+ inputs: [
61
+ {
62
+ internalType: 'uint256',
63
+ name: 'given',
64
+ type: 'uint256',
65
+ },
66
+ {
67
+ internalType: 'uint256',
68
+ name: 'minimum',
69
+ type: 'uint256',
70
+ },
71
+ ],
72
+ name: 'NotProfitable',
73
+ type: 'error',
74
+ },
75
+ {
76
+ inputs: [
77
+ {
78
+ internalType: 'uint256',
79
+ name: 'assets',
80
+ type: 'uint256',
81
+ },
82
+ {
83
+ internalType: 'uint256',
84
+ name: 'minted',
85
+ type: 'uint256',
86
+ },
87
+ ],
88
+ name: 'NothingToReconcile',
89
+ type: 'error',
90
+ },
91
+ {
92
+ inputs: [],
93
+ name: 'ReconcileGuardError',
94
+ type: 'error',
95
+ },
96
+ {
97
+ inputs: [
98
+ {
99
+ internalType: 'address',
100
+ name: 'token',
101
+ type: 'address',
102
+ },
103
+ ],
104
+ name: 'SafeERC20FailedOperation',
105
+ type: 'error',
106
+ },
107
+ {
108
+ inputs: [],
109
+ name: 'TimelockNotElapsed',
110
+ type: 'error',
111
+ },
112
+ {
113
+ inputs: [],
114
+ name: 'ZeroAmount',
115
+ type: 'error',
116
+ },
117
+ {
118
+ anonymous: false,
119
+ inputs: [
120
+ {
121
+ indexed: true,
122
+ internalType: 'address',
123
+ name: 'sender',
124
+ type: 'address',
125
+ },
126
+ {
127
+ indexed: false,
128
+ internalType: 'uint256',
129
+ name: 'minted',
130
+ type: 'uint256',
131
+ },
132
+ {
133
+ indexed: false,
134
+ internalType: 'uint256',
135
+ name: 'totalMinted',
136
+ type: 'uint256',
137
+ },
138
+ {
139
+ indexed: false,
140
+ internalType: 'uint256',
141
+ name: 'sharesMinted',
142
+ type: 'uint256',
143
+ },
144
+ {
145
+ indexed: false,
146
+ internalType: 'uint256',
147
+ name: 'totalShares',
148
+ type: 'uint256',
149
+ },
150
+ ],
151
+ name: 'AddLiquidity',
152
+ type: 'event',
153
+ },
154
+ {
155
+ anonymous: false,
156
+ inputs: [
157
+ {
158
+ indexed: true,
159
+ internalType: 'address',
160
+ name: 'receiver',
161
+ type: 'address',
162
+ },
163
+ {
164
+ indexed: false,
165
+ internalType: 'uint256',
166
+ name: 'amount',
167
+ type: 'uint256',
168
+ },
169
+ {
170
+ indexed: false,
171
+ internalType: 'uint256',
172
+ name: 'ratio',
173
+ type: 'uint256',
174
+ },
175
+ ],
176
+ name: 'Distribution',
177
+ type: 'event',
178
+ },
179
+ {
180
+ anonymous: false,
181
+ inputs: [
182
+ {
183
+ indexed: true,
184
+ internalType: 'address',
185
+ name: 'sender',
186
+ type: 'address',
187
+ },
188
+ {
189
+ indexed: false,
190
+ internalType: 'uint256',
191
+ name: 'burned',
192
+ type: 'uint256',
193
+ },
194
+ {
195
+ indexed: false,
196
+ internalType: 'uint256',
197
+ name: 'totalMinted',
198
+ type: 'uint256',
199
+ },
200
+ {
201
+ indexed: false,
202
+ internalType: 'uint256',
203
+ name: 'sharesBurned',
204
+ type: 'uint256',
205
+ },
206
+ {
207
+ indexed: false,
208
+ internalType: 'uint256',
209
+ name: 'totalShares',
210
+ type: 'uint256',
211
+ },
212
+ ],
213
+ name: 'RemoveLiquidity',
214
+ type: 'event',
215
+ },
216
+ {
217
+ anonymous: false,
218
+ inputs: [
219
+ {
220
+ indexed: false,
221
+ internalType: 'uint256',
222
+ name: 'amount',
223
+ type: 'uint256',
224
+ },
225
+ {
226
+ indexed: false,
227
+ internalType: 'uint256',
228
+ name: 'totalRevenue',
229
+ type: 'uint256',
230
+ },
231
+ {
232
+ indexed: false,
233
+ internalType: 'uint256',
234
+ name: 'totalMinted',
235
+ type: 'uint256',
236
+ },
237
+ ],
238
+ name: 'Revenue',
239
+ type: 'event',
240
+ },
241
+ {
242
+ anonymous: false,
243
+ inputs: [
244
+ {
245
+ indexed: true,
246
+ internalType: 'address',
247
+ name: 'caller',
248
+ type: 'address',
249
+ },
250
+ ],
251
+ name: 'RevokeDistribution',
252
+ type: 'event',
253
+ },
254
+ {
255
+ anonymous: false,
256
+ inputs: [
257
+ {
258
+ indexed: true,
259
+ internalType: 'address',
260
+ name: 'caller',
261
+ type: 'address',
262
+ },
263
+ ],
264
+ name: 'SetDistribution',
265
+ type: 'event',
266
+ },
267
+ {
268
+ anonymous: false,
269
+ inputs: [
270
+ {
271
+ indexed: true,
272
+ internalType: 'address',
273
+ name: 'caller',
274
+ type: 'address',
275
+ },
276
+ {
277
+ indexed: false,
278
+ internalType: 'address[5]',
279
+ name: 'receivers',
280
+ type: 'address[5]',
281
+ },
282
+ {
283
+ indexed: false,
284
+ internalType: 'uint32[5]',
285
+ name: 'weights',
286
+ type: 'uint32[5]',
287
+ },
288
+ {
289
+ indexed: false,
290
+ internalType: 'uint256',
291
+ name: 'timelock',
292
+ type: 'uint256',
293
+ },
294
+ ],
295
+ name: 'SubmitDistribution',
296
+ type: 'event',
297
+ },
298
+ {
299
+ inputs: [
300
+ {
301
+ internalType: 'uint256',
302
+ name: 'amount',
303
+ type: 'uint256',
304
+ },
305
+ {
306
+ internalType: 'uint256',
307
+ name: 'minShares',
308
+ type: 'uint256',
309
+ },
310
+ ],
311
+ name: 'addLiquidity',
312
+ outputs: [
313
+ {
314
+ internalType: 'uint256',
315
+ name: '',
316
+ type: 'uint256',
317
+ },
318
+ ],
319
+ stateMutability: 'nonpayable',
320
+ type: 'function',
321
+ },
322
+ {
323
+ inputs: [],
324
+ name: 'applyDistribution',
325
+ outputs: [],
326
+ stateMutability: 'nonpayable',
327
+ type: 'function',
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: 'uint256',
333
+ name: 'beforeLP',
334
+ type: 'uint256',
335
+ },
336
+ {
337
+ internalType: 'uint256',
338
+ name: 'afterLP',
339
+ type: 'uint256',
340
+ },
341
+ ],
342
+ name: 'calcBurnable',
343
+ outputs: [
344
+ {
345
+ internalType: 'uint256',
346
+ name: '',
347
+ type: 'uint256',
348
+ },
349
+ ],
350
+ stateMutability: 'view',
351
+ type: 'function',
352
+ },
353
+ {
354
+ inputs: [],
355
+ name: 'checkImbalance',
356
+ outputs: [
357
+ {
358
+ internalType: 'bool',
359
+ name: '',
360
+ type: 'bool',
361
+ },
362
+ ],
363
+ stateMutability: 'view',
364
+ type: 'function',
365
+ },
366
+ {
367
+ inputs: [],
368
+ name: 'coin',
369
+ outputs: [
370
+ {
371
+ internalType: 'contract IERC20Metadata',
372
+ name: '',
373
+ type: 'address',
374
+ },
375
+ ],
376
+ stateMutability: 'view',
377
+ type: 'function',
378
+ },
379
+ {
380
+ inputs: [],
381
+ name: 'idxC',
382
+ outputs: [
383
+ {
384
+ internalType: 'uint256',
385
+ name: '',
386
+ type: 'uint256',
387
+ },
388
+ ],
389
+ stateMutability: 'view',
390
+ type: 'function',
391
+ },
392
+ {
393
+ inputs: [],
394
+ name: 'idxS',
395
+ outputs: [
396
+ {
397
+ internalType: 'uint256',
398
+ name: '',
399
+ type: 'uint256',
400
+ },
401
+ ],
402
+ stateMutability: 'view',
403
+ type: 'function',
404
+ },
405
+ {
406
+ inputs: [],
407
+ name: 'latestBlock',
408
+ outputs: [
409
+ {
410
+ internalType: 'uint256',
411
+ name: '',
412
+ type: 'uint256',
413
+ },
414
+ ],
415
+ stateMutability: 'view',
416
+ type: 'function',
417
+ },
418
+ {
419
+ inputs: [],
420
+ name: 'latestReconcile',
421
+ outputs: [
422
+ {
423
+ internalType: 'uint256',
424
+ name: '',
425
+ type: 'uint256',
426
+ },
427
+ ],
428
+ stateMutability: 'view',
429
+ type: 'function',
430
+ },
431
+ {
432
+ inputs: [
433
+ {
434
+ internalType: 'uint256',
435
+ name: '',
436
+ type: 'uint256',
437
+ },
438
+ ],
439
+ name: 'pendingReceivers',
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: 'pendingValidAt',
453
+ outputs: [
454
+ {
455
+ internalType: 'uint256',
456
+ name: '',
457
+ type: 'uint256',
458
+ },
459
+ ],
460
+ stateMutability: 'view',
461
+ type: 'function',
462
+ },
463
+ {
464
+ inputs: [
465
+ {
466
+ internalType: 'uint256',
467
+ name: '',
468
+ type: 'uint256',
469
+ },
470
+ ],
471
+ name: 'pendingWeights',
472
+ outputs: [
473
+ {
474
+ internalType: 'uint32',
475
+ name: '',
476
+ type: 'uint32',
477
+ },
478
+ ],
479
+ stateMutability: 'view',
480
+ type: 'function',
481
+ },
482
+ {
483
+ inputs: [],
484
+ name: 'pool',
485
+ outputs: [
486
+ {
487
+ internalType: 'contract ICurveStableSwapNG',
488
+ name: '',
489
+ type: 'address',
490
+ },
491
+ ],
492
+ stateMutability: 'view',
493
+ type: 'function',
494
+ },
495
+ {
496
+ inputs: [
497
+ {
498
+ internalType: 'uint256',
499
+ name: '',
500
+ type: 'uint256',
501
+ },
502
+ ],
503
+ name: 'receivers',
504
+ outputs: [
505
+ {
506
+ internalType: 'address',
507
+ name: '',
508
+ type: 'address',
509
+ },
510
+ ],
511
+ stateMutability: 'view',
512
+ type: 'function',
513
+ },
514
+ {
515
+ inputs: [],
516
+ name: 'reconcile',
517
+ outputs: [
518
+ {
519
+ internalType: 'uint256',
520
+ name: '',
521
+ type: 'uint256',
522
+ },
523
+ ],
524
+ stateMutability: 'nonpayable',
525
+ type: 'function',
526
+ },
527
+ {
528
+ inputs: [
529
+ {
530
+ internalType: 'uint256',
531
+ name: 'amountToTransfer',
532
+ type: 'uint256',
533
+ },
534
+ {
535
+ internalType: 'uint256',
536
+ name: 'shares',
537
+ type: 'uint256',
538
+ },
539
+ {
540
+ internalType: 'uint256',
541
+ name: 'minAmount',
542
+ type: 'uint256',
543
+ },
544
+ ],
545
+ name: 'redeemLiquidity',
546
+ outputs: [
547
+ {
548
+ internalType: 'uint256',
549
+ name: '',
550
+ type: 'uint256',
551
+ },
552
+ ],
553
+ stateMutability: 'nonpayable',
554
+ type: 'function',
555
+ },
556
+ {
557
+ inputs: [
558
+ {
559
+ internalType: 'uint256',
560
+ name: 'amount',
561
+ type: 'uint256',
562
+ },
563
+ ],
564
+ name: 'reduceMint',
565
+ outputs: [
566
+ {
567
+ internalType: 'uint256',
568
+ name: '',
569
+ type: 'uint256',
570
+ },
571
+ ],
572
+ stateMutability: 'nonpayable',
573
+ type: 'function',
574
+ },
575
+ {
576
+ inputs: [
577
+ {
578
+ internalType: 'uint256',
579
+ name: 'shares',
580
+ type: 'uint256',
581
+ },
582
+ {
583
+ internalType: 'uint256',
584
+ name: 'minAmount',
585
+ type: 'uint256',
586
+ },
587
+ ],
588
+ name: 'removeLiquidity',
589
+ outputs: [
590
+ {
591
+ internalType: 'uint256',
592
+ name: '',
593
+ type: 'uint256',
594
+ },
595
+ ],
596
+ stateMutability: 'nonpayable',
597
+ type: 'function',
598
+ },
599
+ {
600
+ inputs: [],
601
+ name: 'revokePendingDistribution',
602
+ outputs: [],
603
+ stateMutability: 'nonpayable',
604
+ type: 'function',
605
+ },
606
+ {
607
+ inputs: [
608
+ {
609
+ internalType: 'address[5]',
610
+ name: '_receivers',
611
+ type: 'address[5]',
612
+ },
613
+ {
614
+ internalType: 'uint32[5]',
615
+ name: '_weights',
616
+ type: 'uint32[5]',
617
+ },
618
+ ],
619
+ name: 'setDistribution',
620
+ outputs: [],
621
+ stateMutability: 'nonpayable',
622
+ type: 'function',
623
+ },
624
+ {
625
+ inputs: [],
626
+ name: 'stable',
627
+ outputs: [
628
+ {
629
+ internalType: 'contract Stablecoin',
630
+ name: '',
631
+ type: 'address',
632
+ },
633
+ ],
634
+ stateMutability: 'view',
635
+ type: 'function',
636
+ },
637
+ {
638
+ inputs: [],
639
+ name: 'totalAssets',
640
+ outputs: [
641
+ {
642
+ internalType: 'uint256',
643
+ name: '',
644
+ type: 'uint256',
645
+ },
646
+ ],
647
+ stateMutability: 'view',
648
+ type: 'function',
649
+ },
650
+ {
651
+ inputs: [],
652
+ name: 'totalMinted',
653
+ outputs: [
654
+ {
655
+ internalType: 'uint256',
656
+ name: '',
657
+ type: 'uint256',
658
+ },
659
+ ],
660
+ stateMutability: 'view',
661
+ type: 'function',
662
+ },
663
+ {
664
+ inputs: [],
665
+ name: 'totalRevenue',
666
+ outputs: [
667
+ {
668
+ internalType: 'uint256',
669
+ name: '',
670
+ type: 'uint256',
671
+ },
672
+ ],
673
+ stateMutability: 'view',
674
+ type: 'function',
675
+ },
676
+ {
677
+ inputs: [],
678
+ name: 'totalWeights',
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: 'bool',
693
+ name: 'state',
694
+ type: 'bool',
695
+ },
696
+ ],
697
+ name: 'verifyImbalance',
698
+ outputs: [],
699
+ stateMutability: 'view',
700
+ type: 'function',
701
+ },
702
+ {
703
+ inputs: [
704
+ {
705
+ internalType: 'uint256',
706
+ name: '',
707
+ type: 'uint256',
708
+ },
709
+ ],
710
+ name: 'weights',
711
+ outputs: [
712
+ {
713
+ internalType: 'uint32',
714
+ name: '',
715
+ type: 'uint32',
716
+ },
717
+ ],
718
+ stateMutability: 'view',
719
+ type: 'function',
720
+ },
721
+ ] as const;