@gitmyabi/cinusdc 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3003 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * CometConfiguration.Configuration struct type
4
+ */
5
+ export type CometConfiguration_Configuration = {
6
+ governor: `0x${string}`;
7
+ pauseGuardian: `0x${string}`;
8
+ baseToken: `0x${string}`;
9
+ baseTokenPriceFeed: `0x${string}`;
10
+ extensionDelegate: `0x${string}`;
11
+ supplyKink: bigint;
12
+ supplyPerYearInterestRateSlopeLow: bigint;
13
+ supplyPerYearInterestRateSlopeHigh: bigint;
14
+ supplyPerYearInterestRateBase: bigint;
15
+ borrowKink: bigint;
16
+ borrowPerYearInterestRateSlopeLow: bigint;
17
+ borrowPerYearInterestRateSlopeHigh: bigint;
18
+ borrowPerYearInterestRateBase: bigint;
19
+ storeFrontPriceFactor: bigint;
20
+ trackingIndexScale: bigint;
21
+ baseTrackingSupplySpeed: bigint;
22
+ baseTrackingBorrowSpeed: bigint;
23
+ baseMinForRewards: bigint;
24
+ baseBorrowMin: bigint;
25
+ targetReserves: bigint;
26
+ assetConfigs: CometConfiguration_AssetConfig[];
27
+ };
28
+ /**
29
+ * CometConfiguration.AssetConfig struct type
30
+ */
31
+ export type CometConfiguration_AssetConfig = {
32
+ asset: `0x${string}`;
33
+ priceFeed: `0x${string}`;
34
+ decimals: bigint;
35
+ borrowCollateralFactor: bigint;
36
+ liquidateCollateralFactor: bigint;
37
+ liquidationFactor: bigint;
38
+ supplyCap: bigint;
39
+ };
40
+ /**
41
+ * CometCore.AssetInfo struct type
42
+ */
43
+ export type CometCore_AssetInfo = {
44
+ offset: bigint;
45
+ asset: `0x${string}`;
46
+ priceFeed: `0x${string}`;
47
+ scale: bigint;
48
+ borrowCollateralFactor: bigint;
49
+ liquidateCollateralFactor: bigint;
50
+ liquidationFactor: bigint;
51
+ supplyCap: bigint;
52
+ };
53
+ /**
54
+ * InstitutionalComet_json ABI
55
+ *
56
+ * This ABI is typed using viem's type system for full type safety.
57
+ */
58
+ export declare const InstitutionalComet_jsonAbi: readonly [{
59
+ readonly inputs: readonly [{
60
+ readonly components: readonly [{
61
+ readonly internalType: "address";
62
+ readonly name: "governor";
63
+ readonly type: "address";
64
+ }, {
65
+ readonly internalType: "address";
66
+ readonly name: "pauseGuardian";
67
+ readonly type: "address";
68
+ }, {
69
+ readonly internalType: "address";
70
+ readonly name: "baseToken";
71
+ readonly type: "address";
72
+ }, {
73
+ readonly internalType: "address";
74
+ readonly name: "baseTokenPriceFeed";
75
+ readonly type: "address";
76
+ }, {
77
+ readonly internalType: "address";
78
+ readonly name: "extensionDelegate";
79
+ readonly type: "address";
80
+ }, {
81
+ readonly internalType: "uint64";
82
+ readonly name: "supplyKink";
83
+ readonly type: "uint64";
84
+ }, {
85
+ readonly internalType: "uint64";
86
+ readonly name: "supplyPerYearInterestRateSlopeLow";
87
+ readonly type: "uint64";
88
+ }, {
89
+ readonly internalType: "uint64";
90
+ readonly name: "supplyPerYearInterestRateSlopeHigh";
91
+ readonly type: "uint64";
92
+ }, {
93
+ readonly internalType: "uint64";
94
+ readonly name: "supplyPerYearInterestRateBase";
95
+ readonly type: "uint64";
96
+ }, {
97
+ readonly internalType: "uint64";
98
+ readonly name: "borrowKink";
99
+ readonly type: "uint64";
100
+ }, {
101
+ readonly internalType: "uint64";
102
+ readonly name: "borrowPerYearInterestRateSlopeLow";
103
+ readonly type: "uint64";
104
+ }, {
105
+ readonly internalType: "uint64";
106
+ readonly name: "borrowPerYearInterestRateSlopeHigh";
107
+ readonly type: "uint64";
108
+ }, {
109
+ readonly internalType: "uint64";
110
+ readonly name: "borrowPerYearInterestRateBase";
111
+ readonly type: "uint64";
112
+ }, {
113
+ readonly internalType: "uint64";
114
+ readonly name: "storeFrontPriceFactor";
115
+ readonly type: "uint64";
116
+ }, {
117
+ readonly internalType: "uint64";
118
+ readonly name: "trackingIndexScale";
119
+ readonly type: "uint64";
120
+ }, {
121
+ readonly internalType: "uint64";
122
+ readonly name: "baseTrackingSupplySpeed";
123
+ readonly type: "uint64";
124
+ }, {
125
+ readonly internalType: "uint64";
126
+ readonly name: "baseTrackingBorrowSpeed";
127
+ readonly type: "uint64";
128
+ }, {
129
+ readonly internalType: "uint104";
130
+ readonly name: "baseMinForRewards";
131
+ readonly type: "uint104";
132
+ }, {
133
+ readonly internalType: "uint104";
134
+ readonly name: "baseBorrowMin";
135
+ readonly type: "uint104";
136
+ }, {
137
+ readonly internalType: "uint104";
138
+ readonly name: "targetReserves";
139
+ readonly type: "uint104";
140
+ }, {
141
+ readonly components: readonly [{
142
+ readonly internalType: "address";
143
+ readonly name: "asset";
144
+ readonly type: "address";
145
+ }, {
146
+ readonly internalType: "address";
147
+ readonly name: "priceFeed";
148
+ readonly type: "address";
149
+ }, {
150
+ readonly internalType: "uint8";
151
+ readonly name: "decimals";
152
+ readonly type: "uint8";
153
+ }, {
154
+ readonly internalType: "uint64";
155
+ readonly name: "borrowCollateralFactor";
156
+ readonly type: "uint64";
157
+ }, {
158
+ readonly internalType: "uint64";
159
+ readonly name: "liquidateCollateralFactor";
160
+ readonly type: "uint64";
161
+ }, {
162
+ readonly internalType: "uint64";
163
+ readonly name: "liquidationFactor";
164
+ readonly type: "uint64";
165
+ }, {
166
+ readonly internalType: "uint128";
167
+ readonly name: "supplyCap";
168
+ readonly type: "uint128";
169
+ }];
170
+ readonly internalType: "struct CometConfiguration.AssetConfig[]";
171
+ readonly name: "assetConfigs";
172
+ readonly type: "tuple[]";
173
+ }];
174
+ readonly internalType: "struct CometConfiguration.Configuration";
175
+ readonly name: "config";
176
+ readonly type: "tuple";
177
+ }];
178
+ readonly stateMutability: "nonpayable";
179
+ readonly type: "constructor";
180
+ }, {
181
+ readonly inputs: readonly [];
182
+ readonly name: "Absurd";
183
+ readonly type: "error";
184
+ }, {
185
+ readonly inputs: readonly [];
186
+ readonly name: "AlreadyInitialized";
187
+ readonly type: "error";
188
+ }, {
189
+ readonly inputs: readonly [];
190
+ readonly name: "BadAsset";
191
+ readonly type: "error";
192
+ }, {
193
+ readonly inputs: readonly [];
194
+ readonly name: "BadDecimals";
195
+ readonly type: "error";
196
+ }, {
197
+ readonly inputs: readonly [];
198
+ readonly name: "BadDiscount";
199
+ readonly type: "error";
200
+ }, {
201
+ readonly inputs: readonly [];
202
+ readonly name: "BadMinimum";
203
+ readonly type: "error";
204
+ }, {
205
+ readonly inputs: readonly [];
206
+ readonly name: "BadPrice";
207
+ readonly type: "error";
208
+ }, {
209
+ readonly inputs: readonly [];
210
+ readonly name: "BaseSupplyPaused";
211
+ readonly type: "error";
212
+ }, {
213
+ readonly inputs: readonly [];
214
+ readonly name: "BorrowCFTooLarge";
215
+ readonly type: "error";
216
+ }, {
217
+ readonly inputs: readonly [];
218
+ readonly name: "BorrowTooSmall";
219
+ readonly type: "error";
220
+ }, {
221
+ readonly inputs: readonly [];
222
+ readonly name: "BorrowersTransferPaused";
223
+ readonly type: "error";
224
+ }, {
225
+ readonly inputs: readonly [];
226
+ readonly name: "BorrowersWithdrawPaused";
227
+ readonly type: "error";
228
+ }, {
229
+ readonly inputs: readonly [{
230
+ readonly internalType: "uint24";
231
+ readonly name: "assetIndex";
232
+ readonly type: "uint24";
233
+ }];
234
+ readonly name: "CollateralAssetSupplyPaused";
235
+ readonly type: "error";
236
+ }, {
237
+ readonly inputs: readonly [{
238
+ readonly internalType: "uint24";
239
+ readonly name: "assetIndex";
240
+ readonly type: "uint24";
241
+ }];
242
+ readonly name: "CollateralAssetTransferPaused";
243
+ readonly type: "error";
244
+ }, {
245
+ readonly inputs: readonly [{
246
+ readonly internalType: "uint24";
247
+ readonly name: "assetIndex";
248
+ readonly type: "uint24";
249
+ }];
250
+ readonly name: "CollateralAssetWithdrawPaused";
251
+ readonly type: "error";
252
+ }, {
253
+ readonly inputs: readonly [];
254
+ readonly name: "CollateralSupplyPaused";
255
+ readonly type: "error";
256
+ }, {
257
+ readonly inputs: readonly [];
258
+ readonly name: "CollateralTransferPaused";
259
+ readonly type: "error";
260
+ }, {
261
+ readonly inputs: readonly [];
262
+ readonly name: "CollateralWithdrawPaused";
263
+ readonly type: "error";
264
+ }, {
265
+ readonly inputs: readonly [];
266
+ readonly name: "DeactivatedCollateralBorrowBlocked";
267
+ readonly type: "error";
268
+ }, {
269
+ readonly inputs: readonly [];
270
+ readonly name: "DeactivatedCollateralTransferBlocked";
271
+ readonly type: "error";
272
+ }, {
273
+ readonly inputs: readonly [];
274
+ readonly name: "ExceedsSupportedUtilization";
275
+ readonly type: "error";
276
+ }, {
277
+ readonly inputs: readonly [];
278
+ readonly name: "InsufficientReserves";
279
+ readonly type: "error";
280
+ }, {
281
+ readonly inputs: readonly [];
282
+ readonly name: "InvalidInt104";
283
+ readonly type: "error";
284
+ }, {
285
+ readonly inputs: readonly [];
286
+ readonly name: "InvalidInt256";
287
+ readonly type: "error";
288
+ }, {
289
+ readonly inputs: readonly [];
290
+ readonly name: "InvalidUInt104";
291
+ readonly type: "error";
292
+ }, {
293
+ readonly inputs: readonly [];
294
+ readonly name: "InvalidUInt128";
295
+ readonly type: "error";
296
+ }, {
297
+ readonly inputs: readonly [];
298
+ readonly name: "InvalidUInt64";
299
+ readonly type: "error";
300
+ }, {
301
+ readonly inputs: readonly [];
302
+ readonly name: "LendersTransferPaused";
303
+ readonly type: "error";
304
+ }, {
305
+ readonly inputs: readonly [];
306
+ readonly name: "LendersWithdrawPaused";
307
+ readonly type: "error";
308
+ }, {
309
+ readonly inputs: readonly [];
310
+ readonly name: "LiqPenaltyTooHigh";
311
+ readonly type: "error";
312
+ }, {
313
+ readonly inputs: readonly [];
314
+ readonly name: "LiquidateCFTooLarge";
315
+ readonly type: "error";
316
+ }, {
317
+ readonly inputs: readonly [];
318
+ readonly name: "NegativeNumber";
319
+ readonly type: "error";
320
+ }, {
321
+ readonly inputs: readonly [];
322
+ readonly name: "NoSelfTransfer";
323
+ readonly type: "error";
324
+ }, {
325
+ readonly inputs: readonly [];
326
+ readonly name: "NotCollateralized";
327
+ readonly type: "error";
328
+ }, {
329
+ readonly inputs: readonly [];
330
+ readonly name: "NotForSale";
331
+ readonly type: "error";
332
+ }, {
333
+ readonly inputs: readonly [];
334
+ readonly name: "NotLiquidatable";
335
+ readonly type: "error";
336
+ }, {
337
+ readonly inputs: readonly [];
338
+ readonly name: "Paused";
339
+ readonly type: "error";
340
+ }, {
341
+ readonly inputs: readonly [];
342
+ readonly name: "ReentrantCallBlocked";
343
+ readonly type: "error";
344
+ }, {
345
+ readonly inputs: readonly [];
346
+ readonly name: "SupplyCapExceeded";
347
+ readonly type: "error";
348
+ }, {
349
+ readonly inputs: readonly [];
350
+ readonly name: "TimestampTooLarge";
351
+ readonly type: "error";
352
+ }, {
353
+ readonly inputs: readonly [{
354
+ readonly internalType: "address";
355
+ readonly name: "asset";
356
+ readonly type: "address";
357
+ }];
358
+ readonly name: "TokenIsDeactivated";
359
+ readonly type: "error";
360
+ }, {
361
+ readonly inputs: readonly [];
362
+ readonly name: "TooManyAssets";
363
+ readonly type: "error";
364
+ }, {
365
+ readonly inputs: readonly [];
366
+ readonly name: "TooMuchSlippage";
367
+ readonly type: "error";
368
+ }, {
369
+ readonly inputs: readonly [];
370
+ readonly name: "TransferInFailed";
371
+ readonly type: "error";
372
+ }, {
373
+ readonly inputs: readonly [];
374
+ readonly name: "TransferOutFailed";
375
+ readonly type: "error";
376
+ }, {
377
+ readonly inputs: readonly [];
378
+ readonly name: "Unauthorized";
379
+ readonly type: "error";
380
+ }, {
381
+ readonly anonymous: false;
382
+ readonly inputs: readonly [{
383
+ readonly indexed: true;
384
+ readonly internalType: "address";
385
+ readonly name: "absorber";
386
+ readonly type: "address";
387
+ }, {
388
+ readonly indexed: true;
389
+ readonly internalType: "address";
390
+ readonly name: "borrower";
391
+ readonly type: "address";
392
+ }, {
393
+ readonly indexed: true;
394
+ readonly internalType: "address";
395
+ readonly name: "asset";
396
+ readonly type: "address";
397
+ }, {
398
+ readonly indexed: false;
399
+ readonly internalType: "uint256";
400
+ readonly name: "collateralAbsorbed";
401
+ readonly type: "uint256";
402
+ }, {
403
+ readonly indexed: false;
404
+ readonly internalType: "uint256";
405
+ readonly name: "usdValue";
406
+ readonly type: "uint256";
407
+ }];
408
+ readonly name: "AbsorbCollateral";
409
+ readonly type: "event";
410
+ }, {
411
+ readonly anonymous: false;
412
+ readonly inputs: readonly [{
413
+ readonly indexed: true;
414
+ readonly internalType: "address";
415
+ readonly name: "absorber";
416
+ readonly type: "address";
417
+ }, {
418
+ readonly indexed: true;
419
+ readonly internalType: "address";
420
+ readonly name: "borrower";
421
+ readonly type: "address";
422
+ }, {
423
+ readonly indexed: false;
424
+ readonly internalType: "uint256";
425
+ readonly name: "basePaidOut";
426
+ readonly type: "uint256";
427
+ }, {
428
+ readonly indexed: false;
429
+ readonly internalType: "uint256";
430
+ readonly name: "usdValue";
431
+ readonly type: "uint256";
432
+ }];
433
+ readonly name: "AbsorbDebt";
434
+ readonly type: "event";
435
+ }, {
436
+ readonly anonymous: false;
437
+ readonly inputs: readonly [{
438
+ readonly indexed: true;
439
+ readonly internalType: "address";
440
+ readonly name: "buyer";
441
+ readonly type: "address";
442
+ }, {
443
+ readonly indexed: true;
444
+ readonly internalType: "address";
445
+ readonly name: "asset";
446
+ readonly type: "address";
447
+ }, {
448
+ readonly indexed: false;
449
+ readonly internalType: "uint256";
450
+ readonly name: "baseAmount";
451
+ readonly type: "uint256";
452
+ }, {
453
+ readonly indexed: false;
454
+ readonly internalType: "uint256";
455
+ readonly name: "collateralAmount";
456
+ readonly type: "uint256";
457
+ }];
458
+ readonly name: "BuyCollateral";
459
+ readonly type: "event";
460
+ }, {
461
+ readonly anonymous: false;
462
+ readonly inputs: readonly [{
463
+ readonly indexed: false;
464
+ readonly internalType: "bool";
465
+ readonly name: "supplyPaused";
466
+ readonly type: "bool";
467
+ }, {
468
+ readonly indexed: false;
469
+ readonly internalType: "bool";
470
+ readonly name: "transferPaused";
471
+ readonly type: "bool";
472
+ }, {
473
+ readonly indexed: false;
474
+ readonly internalType: "bool";
475
+ readonly name: "withdrawPaused";
476
+ readonly type: "bool";
477
+ }, {
478
+ readonly indexed: false;
479
+ readonly internalType: "bool";
480
+ readonly name: "absorbPaused";
481
+ readonly type: "bool";
482
+ }, {
483
+ readonly indexed: false;
484
+ readonly internalType: "bool";
485
+ readonly name: "buyPaused";
486
+ readonly type: "bool";
487
+ }];
488
+ readonly name: "PauseAction";
489
+ readonly type: "event";
490
+ }, {
491
+ readonly anonymous: false;
492
+ readonly inputs: readonly [{
493
+ readonly indexed: true;
494
+ readonly internalType: "address";
495
+ readonly name: "from";
496
+ readonly type: "address";
497
+ }, {
498
+ readonly indexed: true;
499
+ readonly internalType: "address";
500
+ readonly name: "dst";
501
+ readonly type: "address";
502
+ }, {
503
+ readonly indexed: false;
504
+ readonly internalType: "uint256";
505
+ readonly name: "amount";
506
+ readonly type: "uint256";
507
+ }];
508
+ readonly name: "Supply";
509
+ readonly type: "event";
510
+ }, {
511
+ readonly anonymous: false;
512
+ readonly inputs: readonly [{
513
+ readonly indexed: true;
514
+ readonly internalType: "address";
515
+ readonly name: "from";
516
+ readonly type: "address";
517
+ }, {
518
+ readonly indexed: true;
519
+ readonly internalType: "address";
520
+ readonly name: "dst";
521
+ readonly type: "address";
522
+ }, {
523
+ readonly indexed: true;
524
+ readonly internalType: "address";
525
+ readonly name: "asset";
526
+ readonly type: "address";
527
+ }, {
528
+ readonly indexed: false;
529
+ readonly internalType: "uint256";
530
+ readonly name: "amount";
531
+ readonly type: "uint256";
532
+ }];
533
+ readonly name: "SupplyCollateral";
534
+ readonly type: "event";
535
+ }, {
536
+ readonly anonymous: false;
537
+ readonly inputs: readonly [{
538
+ readonly indexed: true;
539
+ readonly internalType: "address";
540
+ readonly name: "from";
541
+ readonly type: "address";
542
+ }, {
543
+ readonly indexed: true;
544
+ readonly internalType: "address";
545
+ readonly name: "to";
546
+ readonly type: "address";
547
+ }, {
548
+ readonly indexed: false;
549
+ readonly internalType: "uint256";
550
+ readonly name: "amount";
551
+ readonly type: "uint256";
552
+ }];
553
+ readonly name: "Transfer";
554
+ readonly type: "event";
555
+ }, {
556
+ readonly anonymous: false;
557
+ readonly inputs: readonly [{
558
+ readonly indexed: true;
559
+ readonly internalType: "address";
560
+ readonly name: "from";
561
+ readonly type: "address";
562
+ }, {
563
+ readonly indexed: true;
564
+ readonly internalType: "address";
565
+ readonly name: "to";
566
+ readonly type: "address";
567
+ }, {
568
+ readonly indexed: true;
569
+ readonly internalType: "address";
570
+ readonly name: "asset";
571
+ readonly type: "address";
572
+ }, {
573
+ readonly indexed: false;
574
+ readonly internalType: "uint256";
575
+ readonly name: "amount";
576
+ readonly type: "uint256";
577
+ }];
578
+ readonly name: "TransferCollateral";
579
+ readonly type: "event";
580
+ }, {
581
+ readonly anonymous: false;
582
+ readonly inputs: readonly [{
583
+ readonly indexed: true;
584
+ readonly internalType: "address";
585
+ readonly name: "src";
586
+ readonly type: "address";
587
+ }, {
588
+ readonly indexed: true;
589
+ readonly internalType: "address";
590
+ readonly name: "to";
591
+ readonly type: "address";
592
+ }, {
593
+ readonly indexed: false;
594
+ readonly internalType: "uint256";
595
+ readonly name: "amount";
596
+ readonly type: "uint256";
597
+ }];
598
+ readonly name: "Withdraw";
599
+ readonly type: "event";
600
+ }, {
601
+ readonly anonymous: false;
602
+ readonly inputs: readonly [{
603
+ readonly indexed: true;
604
+ readonly internalType: "address";
605
+ readonly name: "src";
606
+ readonly type: "address";
607
+ }, {
608
+ readonly indexed: true;
609
+ readonly internalType: "address";
610
+ readonly name: "to";
611
+ readonly type: "address";
612
+ }, {
613
+ readonly indexed: true;
614
+ readonly internalType: "address";
615
+ readonly name: "asset";
616
+ readonly type: "address";
617
+ }, {
618
+ readonly indexed: false;
619
+ readonly internalType: "uint256";
620
+ readonly name: "amount";
621
+ readonly type: "uint256";
622
+ }];
623
+ readonly name: "WithdrawCollateral";
624
+ readonly type: "event";
625
+ }, {
626
+ readonly anonymous: false;
627
+ readonly inputs: readonly [{
628
+ readonly indexed: true;
629
+ readonly internalType: "address";
630
+ readonly name: "to";
631
+ readonly type: "address";
632
+ }, {
633
+ readonly indexed: false;
634
+ readonly internalType: "uint256";
635
+ readonly name: "amount";
636
+ readonly type: "uint256";
637
+ }];
638
+ readonly name: "WithdrawReserves";
639
+ readonly type: "event";
640
+ }, {
641
+ readonly stateMutability: "payable";
642
+ readonly type: "fallback";
643
+ }, {
644
+ readonly inputs: readonly [];
645
+ readonly name: "MAX_SUPPORTED_UTILIZATION";
646
+ readonly outputs: readonly [{
647
+ readonly internalType: "uint256";
648
+ readonly name: "";
649
+ readonly type: "uint256";
650
+ }];
651
+ readonly stateMutability: "view";
652
+ readonly type: "function";
653
+ }, {
654
+ readonly inputs: readonly [{
655
+ readonly internalType: "address";
656
+ readonly name: "absorber";
657
+ readonly type: "address";
658
+ }, {
659
+ readonly internalType: "address[]";
660
+ readonly name: "accounts";
661
+ readonly type: "address[]";
662
+ }];
663
+ readonly name: "absorb";
664
+ readonly outputs: readonly [];
665
+ readonly stateMutability: "nonpayable";
666
+ readonly type: "function";
667
+ }, {
668
+ readonly inputs: readonly [{
669
+ readonly internalType: "address";
670
+ readonly name: "account";
671
+ readonly type: "address";
672
+ }];
673
+ readonly name: "accrueAccount";
674
+ readonly outputs: readonly [];
675
+ readonly stateMutability: "nonpayable";
676
+ readonly type: "function";
677
+ }, {
678
+ readonly inputs: readonly [{
679
+ readonly internalType: "address";
680
+ readonly name: "manager";
681
+ readonly type: "address";
682
+ }, {
683
+ readonly internalType: "address";
684
+ readonly name: "asset";
685
+ readonly type: "address";
686
+ }, {
687
+ readonly internalType: "uint256";
688
+ readonly name: "amount";
689
+ readonly type: "uint256";
690
+ }];
691
+ readonly name: "approveThis";
692
+ readonly outputs: readonly [];
693
+ readonly stateMutability: "nonpayable";
694
+ readonly type: "function";
695
+ }, {
696
+ readonly inputs: readonly [];
697
+ readonly name: "assetList";
698
+ readonly outputs: readonly [{
699
+ readonly internalType: "address";
700
+ readonly name: "";
701
+ readonly type: "address";
702
+ }];
703
+ readonly stateMutability: "view";
704
+ readonly type: "function";
705
+ }, {
706
+ readonly inputs: readonly [{
707
+ readonly internalType: "address";
708
+ readonly name: "account";
709
+ readonly type: "address";
710
+ }];
711
+ readonly name: "balanceOf";
712
+ readonly outputs: readonly [{
713
+ readonly internalType: "uint256";
714
+ readonly name: "";
715
+ readonly type: "uint256";
716
+ }];
717
+ readonly stateMutability: "view";
718
+ readonly type: "function";
719
+ }, {
720
+ readonly inputs: readonly [];
721
+ readonly name: "baseBorrowMin";
722
+ readonly outputs: readonly [{
723
+ readonly internalType: "uint256";
724
+ readonly name: "";
725
+ readonly type: "uint256";
726
+ }];
727
+ readonly stateMutability: "view";
728
+ readonly type: "function";
729
+ }, {
730
+ readonly inputs: readonly [];
731
+ readonly name: "baseMinForRewards";
732
+ readonly outputs: readonly [{
733
+ readonly internalType: "uint256";
734
+ readonly name: "";
735
+ readonly type: "uint256";
736
+ }];
737
+ readonly stateMutability: "view";
738
+ readonly type: "function";
739
+ }, {
740
+ readonly inputs: readonly [];
741
+ readonly name: "baseScale";
742
+ readonly outputs: readonly [{
743
+ readonly internalType: "uint256";
744
+ readonly name: "";
745
+ readonly type: "uint256";
746
+ }];
747
+ readonly stateMutability: "view";
748
+ readonly type: "function";
749
+ }, {
750
+ readonly inputs: readonly [];
751
+ readonly name: "baseToken";
752
+ readonly outputs: readonly [{
753
+ readonly internalType: "address";
754
+ readonly name: "";
755
+ readonly type: "address";
756
+ }];
757
+ readonly stateMutability: "view";
758
+ readonly type: "function";
759
+ }, {
760
+ readonly inputs: readonly [];
761
+ readonly name: "baseTokenPriceFeed";
762
+ readonly outputs: readonly [{
763
+ readonly internalType: "address";
764
+ readonly name: "";
765
+ readonly type: "address";
766
+ }];
767
+ readonly stateMutability: "view";
768
+ readonly type: "function";
769
+ }, {
770
+ readonly inputs: readonly [];
771
+ readonly name: "baseTrackingBorrowSpeed";
772
+ readonly outputs: readonly [{
773
+ readonly internalType: "uint256";
774
+ readonly name: "";
775
+ readonly type: "uint256";
776
+ }];
777
+ readonly stateMutability: "view";
778
+ readonly type: "function";
779
+ }, {
780
+ readonly inputs: readonly [];
781
+ readonly name: "baseTrackingSupplySpeed";
782
+ readonly outputs: readonly [{
783
+ readonly internalType: "uint256";
784
+ readonly name: "";
785
+ readonly type: "uint256";
786
+ }];
787
+ readonly stateMutability: "view";
788
+ readonly type: "function";
789
+ }, {
790
+ readonly inputs: readonly [{
791
+ readonly internalType: "address";
792
+ readonly name: "account";
793
+ readonly type: "address";
794
+ }];
795
+ readonly name: "borrowBalanceOf";
796
+ readonly outputs: readonly [{
797
+ readonly internalType: "uint256";
798
+ readonly name: "";
799
+ readonly type: "uint256";
800
+ }];
801
+ readonly stateMutability: "view";
802
+ readonly type: "function";
803
+ }, {
804
+ readonly inputs: readonly [];
805
+ readonly name: "borrowKink";
806
+ readonly outputs: readonly [{
807
+ readonly internalType: "uint256";
808
+ readonly name: "";
809
+ readonly type: "uint256";
810
+ }];
811
+ readonly stateMutability: "view";
812
+ readonly type: "function";
813
+ }, {
814
+ readonly inputs: readonly [];
815
+ readonly name: "borrowPerSecondInterestRateBase";
816
+ readonly outputs: readonly [{
817
+ readonly internalType: "uint256";
818
+ readonly name: "";
819
+ readonly type: "uint256";
820
+ }];
821
+ readonly stateMutability: "view";
822
+ readonly type: "function";
823
+ }, {
824
+ readonly inputs: readonly [];
825
+ readonly name: "borrowPerSecondInterestRateSlopeHigh";
826
+ readonly outputs: readonly [{
827
+ readonly internalType: "uint256";
828
+ readonly name: "";
829
+ readonly type: "uint256";
830
+ }];
831
+ readonly stateMutability: "view";
832
+ readonly type: "function";
833
+ }, {
834
+ readonly inputs: readonly [];
835
+ readonly name: "borrowPerSecondInterestRateSlopeLow";
836
+ readonly outputs: readonly [{
837
+ readonly internalType: "uint256";
838
+ readonly name: "";
839
+ readonly type: "uint256";
840
+ }];
841
+ readonly stateMutability: "view";
842
+ readonly type: "function";
843
+ }, {
844
+ readonly inputs: readonly [{
845
+ readonly internalType: "address";
846
+ readonly name: "asset";
847
+ readonly type: "address";
848
+ }, {
849
+ readonly internalType: "uint256";
850
+ readonly name: "minAmount";
851
+ readonly type: "uint256";
852
+ }, {
853
+ readonly internalType: "uint256";
854
+ readonly name: "baseAmount";
855
+ readonly type: "uint256";
856
+ }, {
857
+ readonly internalType: "address";
858
+ readonly name: "recipient";
859
+ readonly type: "address";
860
+ }];
861
+ readonly name: "buyCollateral";
862
+ readonly outputs: readonly [];
863
+ readonly stateMutability: "nonpayable";
864
+ readonly type: "function";
865
+ }, {
866
+ readonly inputs: readonly [];
867
+ readonly name: "collateralsSupplyPauseFlags";
868
+ readonly outputs: readonly [{
869
+ readonly internalType: "uint24";
870
+ readonly name: "";
871
+ readonly type: "uint24";
872
+ }];
873
+ readonly stateMutability: "view";
874
+ readonly type: "function";
875
+ }, {
876
+ readonly inputs: readonly [];
877
+ readonly name: "collateralsTransferPauseFlags";
878
+ readonly outputs: readonly [{
879
+ readonly internalType: "uint24";
880
+ readonly name: "";
881
+ readonly type: "uint24";
882
+ }];
883
+ readonly stateMutability: "view";
884
+ readonly type: "function";
885
+ }, {
886
+ readonly inputs: readonly [];
887
+ readonly name: "collateralsWithdrawPauseFlags";
888
+ readonly outputs: readonly [{
889
+ readonly internalType: "uint24";
890
+ readonly name: "";
891
+ readonly type: "uint24";
892
+ }];
893
+ readonly stateMutability: "view";
894
+ readonly type: "function";
895
+ }, {
896
+ readonly inputs: readonly [];
897
+ readonly name: "deactivatedCollaterals";
898
+ readonly outputs: readonly [{
899
+ readonly internalType: "uint24";
900
+ readonly name: "";
901
+ readonly type: "uint24";
902
+ }];
903
+ readonly stateMutability: "view";
904
+ readonly type: "function";
905
+ }, {
906
+ readonly inputs: readonly [];
907
+ readonly name: "decimals";
908
+ readonly outputs: readonly [{
909
+ readonly internalType: "uint8";
910
+ readonly name: "";
911
+ readonly type: "uint8";
912
+ }];
913
+ readonly stateMutability: "view";
914
+ readonly type: "function";
915
+ }, {
916
+ readonly inputs: readonly [];
917
+ readonly name: "extendedPauseFlags";
918
+ readonly outputs: readonly [{
919
+ readonly internalType: "uint24";
920
+ readonly name: "";
921
+ readonly type: "uint24";
922
+ }];
923
+ readonly stateMutability: "view";
924
+ readonly type: "function";
925
+ }, {
926
+ readonly inputs: readonly [];
927
+ readonly name: "extensionDelegate";
928
+ readonly outputs: readonly [{
929
+ readonly internalType: "address";
930
+ readonly name: "";
931
+ readonly type: "address";
932
+ }];
933
+ readonly stateMutability: "view";
934
+ readonly type: "function";
935
+ }, {
936
+ readonly inputs: readonly [{
937
+ readonly internalType: "uint8";
938
+ readonly name: "i";
939
+ readonly type: "uint8";
940
+ }];
941
+ readonly name: "getAssetInfo";
942
+ readonly outputs: readonly [{
943
+ readonly components: readonly [{
944
+ readonly internalType: "uint8";
945
+ readonly name: "offset";
946
+ readonly type: "uint8";
947
+ }, {
948
+ readonly internalType: "address";
949
+ readonly name: "asset";
950
+ readonly type: "address";
951
+ }, {
952
+ readonly internalType: "address";
953
+ readonly name: "priceFeed";
954
+ readonly type: "address";
955
+ }, {
956
+ readonly internalType: "uint64";
957
+ readonly name: "scale";
958
+ readonly type: "uint64";
959
+ }, {
960
+ readonly internalType: "uint64";
961
+ readonly name: "borrowCollateralFactor";
962
+ readonly type: "uint64";
963
+ }, {
964
+ readonly internalType: "uint64";
965
+ readonly name: "liquidateCollateralFactor";
966
+ readonly type: "uint64";
967
+ }, {
968
+ readonly internalType: "uint64";
969
+ readonly name: "liquidationFactor";
970
+ readonly type: "uint64";
971
+ }, {
972
+ readonly internalType: "uint128";
973
+ readonly name: "supplyCap";
974
+ readonly type: "uint128";
975
+ }];
976
+ readonly internalType: "struct CometCore.AssetInfo";
977
+ readonly name: "";
978
+ readonly type: "tuple";
979
+ }];
980
+ readonly stateMutability: "view";
981
+ readonly type: "function";
982
+ }, {
983
+ readonly inputs: readonly [{
984
+ readonly internalType: "address";
985
+ readonly name: "asset";
986
+ readonly type: "address";
987
+ }];
988
+ readonly name: "getAssetInfoByAddress";
989
+ readonly outputs: readonly [{
990
+ readonly components: readonly [{
991
+ readonly internalType: "uint8";
992
+ readonly name: "offset";
993
+ readonly type: "uint8";
994
+ }, {
995
+ readonly internalType: "address";
996
+ readonly name: "asset";
997
+ readonly type: "address";
998
+ }, {
999
+ readonly internalType: "address";
1000
+ readonly name: "priceFeed";
1001
+ readonly type: "address";
1002
+ }, {
1003
+ readonly internalType: "uint64";
1004
+ readonly name: "scale";
1005
+ readonly type: "uint64";
1006
+ }, {
1007
+ readonly internalType: "uint64";
1008
+ readonly name: "borrowCollateralFactor";
1009
+ readonly type: "uint64";
1010
+ }, {
1011
+ readonly internalType: "uint64";
1012
+ readonly name: "liquidateCollateralFactor";
1013
+ readonly type: "uint64";
1014
+ }, {
1015
+ readonly internalType: "uint64";
1016
+ readonly name: "liquidationFactor";
1017
+ readonly type: "uint64";
1018
+ }, {
1019
+ readonly internalType: "uint128";
1020
+ readonly name: "supplyCap";
1021
+ readonly type: "uint128";
1022
+ }];
1023
+ readonly internalType: "struct CometCore.AssetInfo";
1024
+ readonly name: "";
1025
+ readonly type: "tuple";
1026
+ }];
1027
+ readonly stateMutability: "view";
1028
+ readonly type: "function";
1029
+ }, {
1030
+ readonly inputs: readonly [{
1031
+ readonly internalType: "uint256";
1032
+ readonly name: "utilization";
1033
+ readonly type: "uint256";
1034
+ }];
1035
+ readonly name: "getBorrowRate";
1036
+ readonly outputs: readonly [{
1037
+ readonly internalType: "uint64";
1038
+ readonly name: "";
1039
+ readonly type: "uint64";
1040
+ }];
1041
+ readonly stateMutability: "view";
1042
+ readonly type: "function";
1043
+ }, {
1044
+ readonly inputs: readonly [{
1045
+ readonly internalType: "address";
1046
+ readonly name: "asset";
1047
+ readonly type: "address";
1048
+ }];
1049
+ readonly name: "getCollateralReserves";
1050
+ readonly outputs: readonly [{
1051
+ readonly internalType: "uint256";
1052
+ readonly name: "";
1053
+ readonly type: "uint256";
1054
+ }];
1055
+ readonly stateMutability: "view";
1056
+ readonly type: "function";
1057
+ }, {
1058
+ readonly inputs: readonly [{
1059
+ readonly internalType: "address";
1060
+ readonly name: "priceFeed";
1061
+ readonly type: "address";
1062
+ }];
1063
+ readonly name: "getPrice";
1064
+ readonly outputs: readonly [{
1065
+ readonly internalType: "uint256";
1066
+ readonly name: "";
1067
+ readonly type: "uint256";
1068
+ }];
1069
+ readonly stateMutability: "view";
1070
+ readonly type: "function";
1071
+ }, {
1072
+ readonly inputs: readonly [];
1073
+ readonly name: "getReserves";
1074
+ readonly outputs: readonly [{
1075
+ readonly internalType: "int256";
1076
+ readonly name: "";
1077
+ readonly type: "int256";
1078
+ }];
1079
+ readonly stateMutability: "view";
1080
+ readonly type: "function";
1081
+ }, {
1082
+ readonly inputs: readonly [{
1083
+ readonly internalType: "uint256";
1084
+ readonly name: "utilization";
1085
+ readonly type: "uint256";
1086
+ }];
1087
+ readonly name: "getSupplyRate";
1088
+ readonly outputs: readonly [{
1089
+ readonly internalType: "uint64";
1090
+ readonly name: "";
1091
+ readonly type: "uint64";
1092
+ }];
1093
+ readonly stateMutability: "view";
1094
+ readonly type: "function";
1095
+ }, {
1096
+ readonly inputs: readonly [];
1097
+ readonly name: "getUtilization";
1098
+ readonly outputs: readonly [{
1099
+ readonly internalType: "uint256";
1100
+ readonly name: "";
1101
+ readonly type: "uint256";
1102
+ }];
1103
+ readonly stateMutability: "view";
1104
+ readonly type: "function";
1105
+ }, {
1106
+ readonly inputs: readonly [];
1107
+ readonly name: "governor";
1108
+ readonly outputs: readonly [{
1109
+ readonly internalType: "address";
1110
+ readonly name: "";
1111
+ readonly type: "address";
1112
+ }];
1113
+ readonly stateMutability: "view";
1114
+ readonly type: "function";
1115
+ }, {
1116
+ readonly inputs: readonly [{
1117
+ readonly internalType: "address";
1118
+ readonly name: "owner";
1119
+ readonly type: "address";
1120
+ }, {
1121
+ readonly internalType: "address";
1122
+ readonly name: "manager";
1123
+ readonly type: "address";
1124
+ }];
1125
+ readonly name: "hasPermission";
1126
+ readonly outputs: readonly [{
1127
+ readonly internalType: "bool";
1128
+ readonly name: "";
1129
+ readonly type: "bool";
1130
+ }];
1131
+ readonly stateMutability: "view";
1132
+ readonly type: "function";
1133
+ }, {
1134
+ readonly inputs: readonly [];
1135
+ readonly name: "initializeStorage";
1136
+ readonly outputs: readonly [];
1137
+ readonly stateMutability: "nonpayable";
1138
+ readonly type: "function";
1139
+ }, {
1140
+ readonly inputs: readonly [];
1141
+ readonly name: "isAbsorbPaused";
1142
+ readonly outputs: readonly [{
1143
+ readonly internalType: "bool";
1144
+ readonly name: "";
1145
+ readonly type: "bool";
1146
+ }];
1147
+ readonly stateMutability: "view";
1148
+ readonly type: "function";
1149
+ }, {
1150
+ readonly inputs: readonly [{
1151
+ readonly internalType: "address";
1152
+ readonly name: "";
1153
+ readonly type: "address";
1154
+ }, {
1155
+ readonly internalType: "address";
1156
+ readonly name: "";
1157
+ readonly type: "address";
1158
+ }];
1159
+ readonly name: "isAllowed";
1160
+ readonly outputs: readonly [{
1161
+ readonly internalType: "bool";
1162
+ readonly name: "";
1163
+ readonly type: "bool";
1164
+ }];
1165
+ readonly stateMutability: "view";
1166
+ readonly type: "function";
1167
+ }, {
1168
+ readonly inputs: readonly [];
1169
+ readonly name: "isBaseSupplyPaused";
1170
+ readonly outputs: readonly [{
1171
+ readonly internalType: "bool";
1172
+ readonly name: "";
1173
+ readonly type: "bool";
1174
+ }];
1175
+ readonly stateMutability: "view";
1176
+ readonly type: "function";
1177
+ }, {
1178
+ readonly inputs: readonly [{
1179
+ readonly internalType: "address";
1180
+ readonly name: "account";
1181
+ readonly type: "address";
1182
+ }];
1183
+ readonly name: "isBorrowCollateralized";
1184
+ readonly outputs: readonly [{
1185
+ readonly internalType: "bool";
1186
+ readonly name: "";
1187
+ readonly type: "bool";
1188
+ }];
1189
+ readonly stateMutability: "view";
1190
+ readonly type: "function";
1191
+ }, {
1192
+ readonly inputs: readonly [];
1193
+ readonly name: "isBorrowersTransferPaused";
1194
+ readonly outputs: readonly [{
1195
+ readonly internalType: "bool";
1196
+ readonly name: "";
1197
+ readonly type: "bool";
1198
+ }];
1199
+ readonly stateMutability: "view";
1200
+ readonly type: "function";
1201
+ }, {
1202
+ readonly inputs: readonly [];
1203
+ readonly name: "isBorrowersWithdrawPaused";
1204
+ readonly outputs: readonly [{
1205
+ readonly internalType: "bool";
1206
+ readonly name: "";
1207
+ readonly type: "bool";
1208
+ }];
1209
+ readonly stateMutability: "view";
1210
+ readonly type: "function";
1211
+ }, {
1212
+ readonly inputs: readonly [];
1213
+ readonly name: "isBuyPaused";
1214
+ readonly outputs: readonly [{
1215
+ readonly internalType: "bool";
1216
+ readonly name: "";
1217
+ readonly type: "bool";
1218
+ }];
1219
+ readonly stateMutability: "view";
1220
+ readonly type: "function";
1221
+ }, {
1222
+ readonly inputs: readonly [{
1223
+ readonly internalType: "uint24";
1224
+ readonly name: "assetIndex";
1225
+ readonly type: "uint24";
1226
+ }];
1227
+ readonly name: "isCollateralAssetSupplyPaused";
1228
+ readonly outputs: readonly [{
1229
+ readonly internalType: "bool";
1230
+ readonly name: "";
1231
+ readonly type: "bool";
1232
+ }];
1233
+ readonly stateMutability: "view";
1234
+ readonly type: "function";
1235
+ }, {
1236
+ readonly inputs: readonly [{
1237
+ readonly internalType: "uint24";
1238
+ readonly name: "assetIndex";
1239
+ readonly type: "uint24";
1240
+ }];
1241
+ readonly name: "isCollateralAssetTransferPaused";
1242
+ readonly outputs: readonly [{
1243
+ readonly internalType: "bool";
1244
+ readonly name: "";
1245
+ readonly type: "bool";
1246
+ }];
1247
+ readonly stateMutability: "view";
1248
+ readonly type: "function";
1249
+ }, {
1250
+ readonly inputs: readonly [{
1251
+ readonly internalType: "uint24";
1252
+ readonly name: "assetIndex";
1253
+ readonly type: "uint24";
1254
+ }];
1255
+ readonly name: "isCollateralAssetWithdrawPaused";
1256
+ readonly outputs: readonly [{
1257
+ readonly internalType: "bool";
1258
+ readonly name: "";
1259
+ readonly type: "bool";
1260
+ }];
1261
+ readonly stateMutability: "view";
1262
+ readonly type: "function";
1263
+ }, {
1264
+ readonly inputs: readonly [{
1265
+ readonly internalType: "uint24";
1266
+ readonly name: "assetIndex";
1267
+ readonly type: "uint24";
1268
+ }];
1269
+ readonly name: "isCollateralDeactivated";
1270
+ readonly outputs: readonly [{
1271
+ readonly internalType: "bool";
1272
+ readonly name: "";
1273
+ readonly type: "bool";
1274
+ }];
1275
+ readonly stateMutability: "view";
1276
+ readonly type: "function";
1277
+ }, {
1278
+ readonly inputs: readonly [];
1279
+ readonly name: "isCollateralSupplyPaused";
1280
+ readonly outputs: readonly [{
1281
+ readonly internalType: "bool";
1282
+ readonly name: "";
1283
+ readonly type: "bool";
1284
+ }];
1285
+ readonly stateMutability: "view";
1286
+ readonly type: "function";
1287
+ }, {
1288
+ readonly inputs: readonly [];
1289
+ readonly name: "isCollateralTransferPaused";
1290
+ readonly outputs: readonly [{
1291
+ readonly internalType: "bool";
1292
+ readonly name: "";
1293
+ readonly type: "bool";
1294
+ }];
1295
+ readonly stateMutability: "view";
1296
+ readonly type: "function";
1297
+ }, {
1298
+ readonly inputs: readonly [];
1299
+ readonly name: "isCollateralWithdrawPaused";
1300
+ readonly outputs: readonly [{
1301
+ readonly internalType: "bool";
1302
+ readonly name: "";
1303
+ readonly type: "bool";
1304
+ }];
1305
+ readonly stateMutability: "view";
1306
+ readonly type: "function";
1307
+ }, {
1308
+ readonly inputs: readonly [];
1309
+ readonly name: "isLendersTransferPaused";
1310
+ readonly outputs: readonly [{
1311
+ readonly internalType: "bool";
1312
+ readonly name: "";
1313
+ readonly type: "bool";
1314
+ }];
1315
+ readonly stateMutability: "view";
1316
+ readonly type: "function";
1317
+ }, {
1318
+ readonly inputs: readonly [];
1319
+ readonly name: "isLendersWithdrawPaused";
1320
+ readonly outputs: readonly [{
1321
+ readonly internalType: "bool";
1322
+ readonly name: "";
1323
+ readonly type: "bool";
1324
+ }];
1325
+ readonly stateMutability: "view";
1326
+ readonly type: "function";
1327
+ }, {
1328
+ readonly inputs: readonly [{
1329
+ readonly internalType: "address";
1330
+ readonly name: "account";
1331
+ readonly type: "address";
1332
+ }];
1333
+ readonly name: "isLiquidatable";
1334
+ readonly outputs: readonly [{
1335
+ readonly internalType: "bool";
1336
+ readonly name: "";
1337
+ readonly type: "bool";
1338
+ }];
1339
+ readonly stateMutability: "view";
1340
+ readonly type: "function";
1341
+ }, {
1342
+ readonly inputs: readonly [];
1343
+ readonly name: "isSupplyPaused";
1344
+ readonly outputs: readonly [{
1345
+ readonly internalType: "bool";
1346
+ readonly name: "";
1347
+ readonly type: "bool";
1348
+ }];
1349
+ readonly stateMutability: "view";
1350
+ readonly type: "function";
1351
+ }, {
1352
+ readonly inputs: readonly [];
1353
+ readonly name: "isTransferPaused";
1354
+ readonly outputs: readonly [{
1355
+ readonly internalType: "bool";
1356
+ readonly name: "";
1357
+ readonly type: "bool";
1358
+ }];
1359
+ readonly stateMutability: "view";
1360
+ readonly type: "function";
1361
+ }, {
1362
+ readonly inputs: readonly [];
1363
+ readonly name: "isWithdrawPaused";
1364
+ readonly outputs: readonly [{
1365
+ readonly internalType: "bool";
1366
+ readonly name: "";
1367
+ readonly type: "bool";
1368
+ }];
1369
+ readonly stateMutability: "view";
1370
+ readonly type: "function";
1371
+ }, {
1372
+ readonly inputs: readonly [{
1373
+ readonly internalType: "address";
1374
+ readonly name: "";
1375
+ readonly type: "address";
1376
+ }];
1377
+ readonly name: "liquidatorPoints";
1378
+ readonly outputs: readonly [{
1379
+ readonly internalType: "uint32";
1380
+ readonly name: "numAbsorbs";
1381
+ readonly type: "uint32";
1382
+ }, {
1383
+ readonly internalType: "uint64";
1384
+ readonly name: "numAbsorbed";
1385
+ readonly type: "uint64";
1386
+ }, {
1387
+ readonly internalType: "uint128";
1388
+ readonly name: "approxSpend";
1389
+ readonly type: "uint128";
1390
+ }, {
1391
+ readonly internalType: "uint32";
1392
+ readonly name: "_reserved";
1393
+ readonly type: "uint32";
1394
+ }];
1395
+ readonly stateMutability: "view";
1396
+ readonly type: "function";
1397
+ }, {
1398
+ readonly inputs: readonly [];
1399
+ readonly name: "numAssets";
1400
+ readonly outputs: readonly [{
1401
+ readonly internalType: "uint8";
1402
+ readonly name: "";
1403
+ readonly type: "uint8";
1404
+ }];
1405
+ readonly stateMutability: "view";
1406
+ readonly type: "function";
1407
+ }, {
1408
+ readonly inputs: readonly [{
1409
+ readonly internalType: "bool";
1410
+ readonly name: "supplyPaused";
1411
+ readonly type: "bool";
1412
+ }, {
1413
+ readonly internalType: "bool";
1414
+ readonly name: "transferPaused";
1415
+ readonly type: "bool";
1416
+ }, {
1417
+ readonly internalType: "bool";
1418
+ readonly name: "withdrawPaused";
1419
+ readonly type: "bool";
1420
+ }, {
1421
+ readonly internalType: "bool";
1422
+ readonly name: "absorbPaused";
1423
+ readonly type: "bool";
1424
+ }, {
1425
+ readonly internalType: "bool";
1426
+ readonly name: "buyPaused";
1427
+ readonly type: "bool";
1428
+ }];
1429
+ readonly name: "pause";
1430
+ readonly outputs: readonly [];
1431
+ readonly stateMutability: "nonpayable";
1432
+ readonly type: "function";
1433
+ }, {
1434
+ readonly inputs: readonly [];
1435
+ readonly name: "pauseGuardian";
1436
+ readonly outputs: readonly [{
1437
+ readonly internalType: "address";
1438
+ readonly name: "";
1439
+ readonly type: "address";
1440
+ }];
1441
+ readonly stateMutability: "view";
1442
+ readonly type: "function";
1443
+ }, {
1444
+ readonly inputs: readonly [{
1445
+ readonly internalType: "address";
1446
+ readonly name: "asset";
1447
+ readonly type: "address";
1448
+ }, {
1449
+ readonly internalType: "uint256";
1450
+ readonly name: "baseAmount";
1451
+ readonly type: "uint256";
1452
+ }];
1453
+ readonly name: "quoteCollateral";
1454
+ readonly outputs: readonly [{
1455
+ readonly internalType: "uint256";
1456
+ readonly name: "";
1457
+ readonly type: "uint256";
1458
+ }];
1459
+ readonly stateMutability: "view";
1460
+ readonly type: "function";
1461
+ }, {
1462
+ readonly inputs: readonly [];
1463
+ readonly name: "storeFrontPriceFactor";
1464
+ readonly outputs: readonly [{
1465
+ readonly internalType: "uint256";
1466
+ readonly name: "";
1467
+ readonly type: "uint256";
1468
+ }];
1469
+ readonly stateMutability: "view";
1470
+ readonly type: "function";
1471
+ }, {
1472
+ readonly inputs: readonly [{
1473
+ readonly internalType: "address";
1474
+ readonly name: "asset";
1475
+ readonly type: "address";
1476
+ }, {
1477
+ readonly internalType: "uint256";
1478
+ readonly name: "amount";
1479
+ readonly type: "uint256";
1480
+ }];
1481
+ readonly name: "supply";
1482
+ readonly outputs: readonly [];
1483
+ readonly stateMutability: "nonpayable";
1484
+ readonly type: "function";
1485
+ }, {
1486
+ readonly inputs: readonly [{
1487
+ readonly internalType: "address";
1488
+ readonly name: "from";
1489
+ readonly type: "address";
1490
+ }, {
1491
+ readonly internalType: "address";
1492
+ readonly name: "dst";
1493
+ readonly type: "address";
1494
+ }, {
1495
+ readonly internalType: "address";
1496
+ readonly name: "asset";
1497
+ readonly type: "address";
1498
+ }, {
1499
+ readonly internalType: "uint256";
1500
+ readonly name: "amount";
1501
+ readonly type: "uint256";
1502
+ }];
1503
+ readonly name: "supplyFrom";
1504
+ readonly outputs: readonly [];
1505
+ readonly stateMutability: "nonpayable";
1506
+ readonly type: "function";
1507
+ }, {
1508
+ readonly inputs: readonly [];
1509
+ readonly name: "supplyKink";
1510
+ readonly outputs: readonly [{
1511
+ readonly internalType: "uint256";
1512
+ readonly name: "";
1513
+ readonly type: "uint256";
1514
+ }];
1515
+ readonly stateMutability: "view";
1516
+ readonly type: "function";
1517
+ }, {
1518
+ readonly inputs: readonly [];
1519
+ readonly name: "supplyPerSecondInterestRateBase";
1520
+ readonly outputs: readonly [{
1521
+ readonly internalType: "uint256";
1522
+ readonly name: "";
1523
+ readonly type: "uint256";
1524
+ }];
1525
+ readonly stateMutability: "view";
1526
+ readonly type: "function";
1527
+ }, {
1528
+ readonly inputs: readonly [];
1529
+ readonly name: "supplyPerSecondInterestRateSlopeHigh";
1530
+ readonly outputs: readonly [{
1531
+ readonly internalType: "uint256";
1532
+ readonly name: "";
1533
+ readonly type: "uint256";
1534
+ }];
1535
+ readonly stateMutability: "view";
1536
+ readonly type: "function";
1537
+ }, {
1538
+ readonly inputs: readonly [];
1539
+ readonly name: "supplyPerSecondInterestRateSlopeLow";
1540
+ readonly outputs: readonly [{
1541
+ readonly internalType: "uint256";
1542
+ readonly name: "";
1543
+ readonly type: "uint256";
1544
+ }];
1545
+ readonly stateMutability: "view";
1546
+ readonly type: "function";
1547
+ }, {
1548
+ readonly inputs: readonly [{
1549
+ readonly internalType: "address";
1550
+ readonly name: "dst";
1551
+ readonly type: "address";
1552
+ }, {
1553
+ readonly internalType: "address";
1554
+ readonly name: "asset";
1555
+ readonly type: "address";
1556
+ }, {
1557
+ readonly internalType: "uint256";
1558
+ readonly name: "amount";
1559
+ readonly type: "uint256";
1560
+ }];
1561
+ readonly name: "supplyTo";
1562
+ readonly outputs: readonly [];
1563
+ readonly stateMutability: "nonpayable";
1564
+ readonly type: "function";
1565
+ }, {
1566
+ readonly inputs: readonly [];
1567
+ readonly name: "targetReserves";
1568
+ readonly outputs: readonly [{
1569
+ readonly internalType: "uint256";
1570
+ readonly name: "";
1571
+ readonly type: "uint256";
1572
+ }];
1573
+ readonly stateMutability: "view";
1574
+ readonly type: "function";
1575
+ }, {
1576
+ readonly inputs: readonly [];
1577
+ readonly name: "totalBorrow";
1578
+ readonly outputs: readonly [{
1579
+ readonly internalType: "uint256";
1580
+ readonly name: "";
1581
+ readonly type: "uint256";
1582
+ }];
1583
+ readonly stateMutability: "view";
1584
+ readonly type: "function";
1585
+ }, {
1586
+ readonly inputs: readonly [];
1587
+ readonly name: "totalSupply";
1588
+ readonly outputs: readonly [{
1589
+ readonly internalType: "uint256";
1590
+ readonly name: "";
1591
+ readonly type: "uint256";
1592
+ }];
1593
+ readonly stateMutability: "view";
1594
+ readonly type: "function";
1595
+ }, {
1596
+ readonly inputs: readonly [{
1597
+ readonly internalType: "address";
1598
+ readonly name: "";
1599
+ readonly type: "address";
1600
+ }];
1601
+ readonly name: "totalsCollateral";
1602
+ readonly outputs: readonly [{
1603
+ readonly internalType: "uint128";
1604
+ readonly name: "totalSupplyAsset";
1605
+ readonly type: "uint128";
1606
+ }, {
1607
+ readonly internalType: "uint128";
1608
+ readonly name: "_reserved";
1609
+ readonly type: "uint128";
1610
+ }];
1611
+ readonly stateMutability: "view";
1612
+ readonly type: "function";
1613
+ }, {
1614
+ readonly inputs: readonly [];
1615
+ readonly name: "trackingIndexScale";
1616
+ readonly outputs: readonly [{
1617
+ readonly internalType: "uint256";
1618
+ readonly name: "";
1619
+ readonly type: "uint256";
1620
+ }];
1621
+ readonly stateMutability: "view";
1622
+ readonly type: "function";
1623
+ }, {
1624
+ readonly inputs: readonly [{
1625
+ readonly internalType: "address";
1626
+ readonly name: "dst";
1627
+ readonly type: "address";
1628
+ }, {
1629
+ readonly internalType: "uint256";
1630
+ readonly name: "amount";
1631
+ readonly type: "uint256";
1632
+ }];
1633
+ readonly name: "transfer";
1634
+ readonly outputs: readonly [{
1635
+ readonly internalType: "bool";
1636
+ readonly name: "";
1637
+ readonly type: "bool";
1638
+ }];
1639
+ readonly stateMutability: "nonpayable";
1640
+ readonly type: "function";
1641
+ }, {
1642
+ readonly inputs: readonly [{
1643
+ readonly internalType: "address";
1644
+ readonly name: "dst";
1645
+ readonly type: "address";
1646
+ }, {
1647
+ readonly internalType: "address";
1648
+ readonly name: "asset";
1649
+ readonly type: "address";
1650
+ }, {
1651
+ readonly internalType: "uint256";
1652
+ readonly name: "amount";
1653
+ readonly type: "uint256";
1654
+ }];
1655
+ readonly name: "transferAsset";
1656
+ readonly outputs: readonly [];
1657
+ readonly stateMutability: "nonpayable";
1658
+ readonly type: "function";
1659
+ }, {
1660
+ readonly inputs: readonly [{
1661
+ readonly internalType: "address";
1662
+ readonly name: "src";
1663
+ readonly type: "address";
1664
+ }, {
1665
+ readonly internalType: "address";
1666
+ readonly name: "dst";
1667
+ readonly type: "address";
1668
+ }, {
1669
+ readonly internalType: "address";
1670
+ readonly name: "asset";
1671
+ readonly type: "address";
1672
+ }, {
1673
+ readonly internalType: "uint256";
1674
+ readonly name: "amount";
1675
+ readonly type: "uint256";
1676
+ }];
1677
+ readonly name: "transferAssetFrom";
1678
+ readonly outputs: readonly [];
1679
+ readonly stateMutability: "nonpayable";
1680
+ readonly type: "function";
1681
+ }, {
1682
+ readonly inputs: readonly [{
1683
+ readonly internalType: "address";
1684
+ readonly name: "src";
1685
+ readonly type: "address";
1686
+ }, {
1687
+ readonly internalType: "address";
1688
+ readonly name: "dst";
1689
+ readonly type: "address";
1690
+ }, {
1691
+ readonly internalType: "uint256";
1692
+ readonly name: "amount";
1693
+ readonly type: "uint256";
1694
+ }];
1695
+ readonly name: "transferFrom";
1696
+ readonly outputs: readonly [{
1697
+ readonly internalType: "bool";
1698
+ readonly name: "";
1699
+ readonly type: "bool";
1700
+ }];
1701
+ readonly stateMutability: "nonpayable";
1702
+ readonly type: "function";
1703
+ }, {
1704
+ readonly inputs: readonly [{
1705
+ readonly internalType: "address";
1706
+ readonly name: "";
1707
+ readonly type: "address";
1708
+ }];
1709
+ readonly name: "userBasic";
1710
+ readonly outputs: readonly [{
1711
+ readonly internalType: "int104";
1712
+ readonly name: "principal";
1713
+ readonly type: "int104";
1714
+ }, {
1715
+ readonly internalType: "uint64";
1716
+ readonly name: "baseTrackingIndex";
1717
+ readonly type: "uint64";
1718
+ }, {
1719
+ readonly internalType: "uint64";
1720
+ readonly name: "baseTrackingAccrued";
1721
+ readonly type: "uint64";
1722
+ }, {
1723
+ readonly internalType: "uint16";
1724
+ readonly name: "assetsIn";
1725
+ readonly type: "uint16";
1726
+ }, {
1727
+ readonly internalType: "uint8";
1728
+ readonly name: "_reserved";
1729
+ readonly type: "uint8";
1730
+ }];
1731
+ readonly stateMutability: "view";
1732
+ readonly type: "function";
1733
+ }, {
1734
+ readonly inputs: readonly [{
1735
+ readonly internalType: "address";
1736
+ readonly name: "";
1737
+ readonly type: "address";
1738
+ }, {
1739
+ readonly internalType: "address";
1740
+ readonly name: "";
1741
+ readonly type: "address";
1742
+ }];
1743
+ readonly name: "userCollateral";
1744
+ readonly outputs: readonly [{
1745
+ readonly internalType: "uint128";
1746
+ readonly name: "balance";
1747
+ readonly type: "uint128";
1748
+ }, {
1749
+ readonly internalType: "uint128";
1750
+ readonly name: "_reserved";
1751
+ readonly type: "uint128";
1752
+ }];
1753
+ readonly stateMutability: "view";
1754
+ readonly type: "function";
1755
+ }, {
1756
+ readonly inputs: readonly [{
1757
+ readonly internalType: "address";
1758
+ readonly name: "";
1759
+ readonly type: "address";
1760
+ }];
1761
+ readonly name: "userNonce";
1762
+ readonly outputs: readonly [{
1763
+ readonly internalType: "uint256";
1764
+ readonly name: "";
1765
+ readonly type: "uint256";
1766
+ }];
1767
+ readonly stateMutability: "view";
1768
+ readonly type: "function";
1769
+ }, {
1770
+ readonly inputs: readonly [{
1771
+ readonly internalType: "address";
1772
+ readonly name: "asset";
1773
+ readonly type: "address";
1774
+ }, {
1775
+ readonly internalType: "uint256";
1776
+ readonly name: "amount";
1777
+ readonly type: "uint256";
1778
+ }];
1779
+ readonly name: "withdraw";
1780
+ readonly outputs: readonly [];
1781
+ readonly stateMutability: "nonpayable";
1782
+ readonly type: "function";
1783
+ }, {
1784
+ readonly inputs: readonly [{
1785
+ readonly internalType: "address";
1786
+ readonly name: "src";
1787
+ readonly type: "address";
1788
+ }, {
1789
+ readonly internalType: "address";
1790
+ readonly name: "to";
1791
+ readonly type: "address";
1792
+ }, {
1793
+ readonly internalType: "address";
1794
+ readonly name: "asset";
1795
+ readonly type: "address";
1796
+ }, {
1797
+ readonly internalType: "uint256";
1798
+ readonly name: "amount";
1799
+ readonly type: "uint256";
1800
+ }];
1801
+ readonly name: "withdrawFrom";
1802
+ readonly outputs: readonly [];
1803
+ readonly stateMutability: "nonpayable";
1804
+ readonly type: "function";
1805
+ }, {
1806
+ readonly inputs: readonly [{
1807
+ readonly internalType: "address";
1808
+ readonly name: "to";
1809
+ readonly type: "address";
1810
+ }, {
1811
+ readonly internalType: "uint256";
1812
+ readonly name: "amount";
1813
+ readonly type: "uint256";
1814
+ }];
1815
+ readonly name: "withdrawReserves";
1816
+ readonly outputs: readonly [];
1817
+ readonly stateMutability: "nonpayable";
1818
+ readonly type: "function";
1819
+ }, {
1820
+ readonly inputs: readonly [{
1821
+ readonly internalType: "address";
1822
+ readonly name: "to";
1823
+ readonly type: "address";
1824
+ }, {
1825
+ readonly internalType: "address";
1826
+ readonly name: "asset";
1827
+ readonly type: "address";
1828
+ }, {
1829
+ readonly internalType: "uint256";
1830
+ readonly name: "amount";
1831
+ readonly type: "uint256";
1832
+ }];
1833
+ readonly name: "withdrawTo";
1834
+ readonly outputs: readonly [];
1835
+ readonly stateMutability: "nonpayable";
1836
+ readonly type: "function";
1837
+ }];
1838
+ /**
1839
+ * Type-safe ABI for InstitutionalComet_json
1840
+ */
1841
+ export type InstitutionalComet_jsonAbi = typeof InstitutionalComet_jsonAbi;
1842
+ /**
1843
+ * Contract instance type for InstitutionalComet_json
1844
+ */
1845
+ export type InstitutionalComet_jsonContract = any;
1846
+ /**
1847
+ * InstitutionalComet_json Contract Class
1848
+ *
1849
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1850
+ *
1851
+ * @example
1852
+ * ```typescript
1853
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1854
+ * import { mainnet } from 'viem/chains';
1855
+ * import { InstitutionalComet_json } from 'InstitutionalComet_json';
1856
+ *
1857
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1858
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1859
+ *
1860
+ * const contract = new InstitutionalComet_json('0x...', { publicClient, walletClient });
1861
+ *
1862
+ * // Read functions
1863
+ * const result = await contract.balanceOf('0x...');
1864
+ *
1865
+ * // Write functions
1866
+ * const hash = await contract.transfer('0x...', 1000n);
1867
+ *
1868
+ * // Simulate transactions (dry-run)
1869
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1870
+ * console.log('Gas estimate:', simulation.request.gas);
1871
+ *
1872
+ * // Watch events
1873
+ * const unwatch = contract.watch.Transfer((event) => {
1874
+ * console.log('Transfer event:', event);
1875
+ * });
1876
+ * ```
1877
+ */
1878
+ export declare class InstitutionalComet_json {
1879
+ private contract;
1880
+ private contractAddress;
1881
+ private publicClient;
1882
+ constructor(address: Address, clients: {
1883
+ publicClient: PublicClient;
1884
+ walletClient?: WalletClient;
1885
+ });
1886
+ /**
1887
+ * Get the contract address
1888
+ */
1889
+ get address(): Address;
1890
+ /**
1891
+ * Get the underlying viem contract instance
1892
+ */
1893
+ getContract(): InstitutionalComet_jsonContract;
1894
+ /**
1895
+ * MAX_SUPPORTED_UTILIZATION
1896
+ * view
1897
+ */
1898
+ MAX_SUPPORTED_UTILIZATION(): Promise<bigint>;
1899
+ /**
1900
+ * assetList
1901
+ * view
1902
+ */
1903
+ assetList(): Promise<`0x${string}`>;
1904
+ /**
1905
+ * balanceOf
1906
+ * view
1907
+ */
1908
+ balanceOf(account: `0x${string}`): Promise<bigint>;
1909
+ /**
1910
+ * baseBorrowMin
1911
+ * view
1912
+ */
1913
+ baseBorrowMin(): Promise<bigint>;
1914
+ /**
1915
+ * baseMinForRewards
1916
+ * view
1917
+ */
1918
+ baseMinForRewards(): Promise<bigint>;
1919
+ /**
1920
+ * baseScale
1921
+ * view
1922
+ */
1923
+ baseScale(): Promise<bigint>;
1924
+ /**
1925
+ * baseToken
1926
+ * view
1927
+ */
1928
+ baseToken(): Promise<`0x${string}`>;
1929
+ /**
1930
+ * baseTokenPriceFeed
1931
+ * view
1932
+ */
1933
+ baseTokenPriceFeed(): Promise<`0x${string}`>;
1934
+ /**
1935
+ * baseTrackingBorrowSpeed
1936
+ * view
1937
+ */
1938
+ baseTrackingBorrowSpeed(): Promise<bigint>;
1939
+ /**
1940
+ * baseTrackingSupplySpeed
1941
+ * view
1942
+ */
1943
+ baseTrackingSupplySpeed(): Promise<bigint>;
1944
+ /**
1945
+ * borrowBalanceOf
1946
+ * view
1947
+ */
1948
+ borrowBalanceOf(account: `0x${string}`): Promise<bigint>;
1949
+ /**
1950
+ * borrowKink
1951
+ * view
1952
+ */
1953
+ borrowKink(): Promise<bigint>;
1954
+ /**
1955
+ * borrowPerSecondInterestRateBase
1956
+ * view
1957
+ */
1958
+ borrowPerSecondInterestRateBase(): Promise<bigint>;
1959
+ /**
1960
+ * borrowPerSecondInterestRateSlopeHigh
1961
+ * view
1962
+ */
1963
+ borrowPerSecondInterestRateSlopeHigh(): Promise<bigint>;
1964
+ /**
1965
+ * borrowPerSecondInterestRateSlopeLow
1966
+ * view
1967
+ */
1968
+ borrowPerSecondInterestRateSlopeLow(): Promise<bigint>;
1969
+ /**
1970
+ * collateralsSupplyPauseFlags
1971
+ * view
1972
+ */
1973
+ collateralsSupplyPauseFlags(): Promise<bigint>;
1974
+ /**
1975
+ * collateralsTransferPauseFlags
1976
+ * view
1977
+ */
1978
+ collateralsTransferPauseFlags(): Promise<bigint>;
1979
+ /**
1980
+ * collateralsWithdrawPauseFlags
1981
+ * view
1982
+ */
1983
+ collateralsWithdrawPauseFlags(): Promise<bigint>;
1984
+ /**
1985
+ * deactivatedCollaterals
1986
+ * view
1987
+ */
1988
+ deactivatedCollaterals(): Promise<bigint>;
1989
+ /**
1990
+ * decimals
1991
+ * view
1992
+ */
1993
+ decimals(): Promise<bigint>;
1994
+ /**
1995
+ * extendedPauseFlags
1996
+ * view
1997
+ */
1998
+ extendedPauseFlags(): Promise<bigint>;
1999
+ /**
2000
+ * extensionDelegate
2001
+ * view
2002
+ */
2003
+ extensionDelegate(): Promise<`0x${string}`>;
2004
+ /**
2005
+ * getAssetInfo
2006
+ * view
2007
+ */
2008
+ getAssetInfo(i: bigint): Promise<CometCore_AssetInfo>;
2009
+ /**
2010
+ * getAssetInfoByAddress
2011
+ * view
2012
+ */
2013
+ getAssetInfoByAddress(asset: `0x${string}`): Promise<CometCore_AssetInfo>;
2014
+ /**
2015
+ * getBorrowRate
2016
+ * view
2017
+ */
2018
+ getBorrowRate(utilization: bigint): Promise<bigint>;
2019
+ /**
2020
+ * getCollateralReserves
2021
+ * view
2022
+ */
2023
+ getCollateralReserves(asset: `0x${string}`): Promise<bigint>;
2024
+ /**
2025
+ * getPrice
2026
+ * view
2027
+ */
2028
+ getPrice(priceFeed: `0x${string}`): Promise<bigint>;
2029
+ /**
2030
+ * getReserves
2031
+ * view
2032
+ */
2033
+ getReserves(): Promise<bigint>;
2034
+ /**
2035
+ * getSupplyRate
2036
+ * view
2037
+ */
2038
+ getSupplyRate(utilization: bigint): Promise<bigint>;
2039
+ /**
2040
+ * getUtilization
2041
+ * view
2042
+ */
2043
+ getUtilization(): Promise<bigint>;
2044
+ /**
2045
+ * governor
2046
+ * view
2047
+ */
2048
+ governor(): Promise<`0x${string}`>;
2049
+ /**
2050
+ * hasPermission
2051
+ * view
2052
+ */
2053
+ hasPermission(owner: `0x${string}`, manager: `0x${string}`): Promise<boolean>;
2054
+ /**
2055
+ * isAbsorbPaused
2056
+ * view
2057
+ */
2058
+ isAbsorbPaused(): Promise<boolean>;
2059
+ /**
2060
+ * isAllowed
2061
+ * view
2062
+ */
2063
+ isAllowed(arg0: `0x${string}`, arg1: `0x${string}`): Promise<boolean>;
2064
+ /**
2065
+ * isBaseSupplyPaused
2066
+ * view
2067
+ */
2068
+ isBaseSupplyPaused(): Promise<boolean>;
2069
+ /**
2070
+ * isBorrowCollateralized
2071
+ * view
2072
+ */
2073
+ isBorrowCollateralized(account: `0x${string}`): Promise<boolean>;
2074
+ /**
2075
+ * isBorrowersTransferPaused
2076
+ * view
2077
+ */
2078
+ isBorrowersTransferPaused(): Promise<boolean>;
2079
+ /**
2080
+ * isBorrowersWithdrawPaused
2081
+ * view
2082
+ */
2083
+ isBorrowersWithdrawPaused(): Promise<boolean>;
2084
+ /**
2085
+ * isBuyPaused
2086
+ * view
2087
+ */
2088
+ isBuyPaused(): Promise<boolean>;
2089
+ /**
2090
+ * isCollateralAssetSupplyPaused
2091
+ * view
2092
+ */
2093
+ isCollateralAssetSupplyPaused(assetIndex: bigint): Promise<boolean>;
2094
+ /**
2095
+ * isCollateralAssetTransferPaused
2096
+ * view
2097
+ */
2098
+ isCollateralAssetTransferPaused(assetIndex: bigint): Promise<boolean>;
2099
+ /**
2100
+ * isCollateralAssetWithdrawPaused
2101
+ * view
2102
+ */
2103
+ isCollateralAssetWithdrawPaused(assetIndex: bigint): Promise<boolean>;
2104
+ /**
2105
+ * isCollateralDeactivated
2106
+ * view
2107
+ */
2108
+ isCollateralDeactivated(assetIndex: bigint): Promise<boolean>;
2109
+ /**
2110
+ * isCollateralSupplyPaused
2111
+ * view
2112
+ */
2113
+ isCollateralSupplyPaused(): Promise<boolean>;
2114
+ /**
2115
+ * isCollateralTransferPaused
2116
+ * view
2117
+ */
2118
+ isCollateralTransferPaused(): Promise<boolean>;
2119
+ /**
2120
+ * isCollateralWithdrawPaused
2121
+ * view
2122
+ */
2123
+ isCollateralWithdrawPaused(): Promise<boolean>;
2124
+ /**
2125
+ * isLendersTransferPaused
2126
+ * view
2127
+ */
2128
+ isLendersTransferPaused(): Promise<boolean>;
2129
+ /**
2130
+ * isLendersWithdrawPaused
2131
+ * view
2132
+ */
2133
+ isLendersWithdrawPaused(): Promise<boolean>;
2134
+ /**
2135
+ * isLiquidatable
2136
+ * view
2137
+ */
2138
+ isLiquidatable(account: `0x${string}`): Promise<boolean>;
2139
+ /**
2140
+ * isSupplyPaused
2141
+ * view
2142
+ */
2143
+ isSupplyPaused(): Promise<boolean>;
2144
+ /**
2145
+ * isTransferPaused
2146
+ * view
2147
+ */
2148
+ isTransferPaused(): Promise<boolean>;
2149
+ /**
2150
+ * isWithdrawPaused
2151
+ * view
2152
+ */
2153
+ isWithdrawPaused(): Promise<boolean>;
2154
+ /**
2155
+ * liquidatorPoints
2156
+ * view
2157
+ */
2158
+ liquidatorPoints(arg0: `0x${string}`): Promise<[bigint, bigint, bigint, bigint]>;
2159
+ /**
2160
+ * numAssets
2161
+ * view
2162
+ */
2163
+ numAssets(): Promise<bigint>;
2164
+ /**
2165
+ * pauseGuardian
2166
+ * view
2167
+ */
2168
+ pauseGuardian(): Promise<`0x${string}`>;
2169
+ /**
2170
+ * quoteCollateral
2171
+ * view
2172
+ */
2173
+ quoteCollateral(asset: `0x${string}`, baseAmount: bigint): Promise<bigint>;
2174
+ /**
2175
+ * storeFrontPriceFactor
2176
+ * view
2177
+ */
2178
+ storeFrontPriceFactor(): Promise<bigint>;
2179
+ /**
2180
+ * supplyKink
2181
+ * view
2182
+ */
2183
+ supplyKink(): Promise<bigint>;
2184
+ /**
2185
+ * supplyPerSecondInterestRateBase
2186
+ * view
2187
+ */
2188
+ supplyPerSecondInterestRateBase(): Promise<bigint>;
2189
+ /**
2190
+ * supplyPerSecondInterestRateSlopeHigh
2191
+ * view
2192
+ */
2193
+ supplyPerSecondInterestRateSlopeHigh(): Promise<bigint>;
2194
+ /**
2195
+ * supplyPerSecondInterestRateSlopeLow
2196
+ * view
2197
+ */
2198
+ supplyPerSecondInterestRateSlopeLow(): Promise<bigint>;
2199
+ /**
2200
+ * targetReserves
2201
+ * view
2202
+ */
2203
+ targetReserves(): Promise<bigint>;
2204
+ /**
2205
+ * totalBorrow
2206
+ * view
2207
+ */
2208
+ totalBorrow(): Promise<bigint>;
2209
+ /**
2210
+ * totalSupply
2211
+ * view
2212
+ */
2213
+ totalSupply(): Promise<bigint>;
2214
+ /**
2215
+ * totalsCollateral
2216
+ * view
2217
+ */
2218
+ totalsCollateral(arg0: `0x${string}`): Promise<[bigint, bigint]>;
2219
+ /**
2220
+ * trackingIndexScale
2221
+ * view
2222
+ */
2223
+ trackingIndexScale(): Promise<bigint>;
2224
+ /**
2225
+ * userBasic
2226
+ * view
2227
+ */
2228
+ userBasic(arg0: `0x${string}`): Promise<[bigint, bigint, bigint, bigint, bigint]>;
2229
+ /**
2230
+ * userCollateral
2231
+ * view
2232
+ */
2233
+ userCollateral(arg0: `0x${string}`, arg1: `0x${string}`): Promise<[bigint, bigint]>;
2234
+ /**
2235
+ * userNonce
2236
+ * view
2237
+ */
2238
+ userNonce(arg0: `0x${string}`): Promise<bigint>;
2239
+ /**
2240
+ * absorb
2241
+ * nonpayable
2242
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2243
+ */
2244
+ absorb(absorber: `0x${string}`, accounts: `0x${string}`[], options?: {
2245
+ accessList?: import('viem').AccessList;
2246
+ authorizationList?: import('viem').AuthorizationList;
2247
+ chain?: import('viem').Chain | null;
2248
+ dataSuffix?: `0x${string}`;
2249
+ gas?: bigint;
2250
+ gasPrice?: bigint;
2251
+ maxFeePerGas?: bigint;
2252
+ maxPriorityFeePerGas?: bigint;
2253
+ nonce?: number;
2254
+ value?: bigint;
2255
+ }): Promise<`0x${string}`>;
2256
+ /**
2257
+ * accrueAccount
2258
+ * nonpayable
2259
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2260
+ */
2261
+ accrueAccount(account: `0x${string}`, options?: {
2262
+ accessList?: import('viem').AccessList;
2263
+ authorizationList?: import('viem').AuthorizationList;
2264
+ chain?: import('viem').Chain | null;
2265
+ dataSuffix?: `0x${string}`;
2266
+ gas?: bigint;
2267
+ gasPrice?: bigint;
2268
+ maxFeePerGas?: bigint;
2269
+ maxPriorityFeePerGas?: bigint;
2270
+ nonce?: number;
2271
+ value?: bigint;
2272
+ }): Promise<`0x${string}`>;
2273
+ /**
2274
+ * approveThis
2275
+ * nonpayable
2276
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2277
+ */
2278
+ approveThis(manager: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2279
+ accessList?: import('viem').AccessList;
2280
+ authorizationList?: import('viem').AuthorizationList;
2281
+ chain?: import('viem').Chain | null;
2282
+ dataSuffix?: `0x${string}`;
2283
+ gas?: bigint;
2284
+ gasPrice?: bigint;
2285
+ maxFeePerGas?: bigint;
2286
+ maxPriorityFeePerGas?: bigint;
2287
+ nonce?: number;
2288
+ value?: bigint;
2289
+ }): Promise<`0x${string}`>;
2290
+ /**
2291
+ * buyCollateral
2292
+ * nonpayable
2293
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2294
+ */
2295
+ buyCollateral(asset: `0x${string}`, minAmount: bigint, baseAmount: bigint, recipient: `0x${string}`, options?: {
2296
+ accessList?: import('viem').AccessList;
2297
+ authorizationList?: import('viem').AuthorizationList;
2298
+ chain?: import('viem').Chain | null;
2299
+ dataSuffix?: `0x${string}`;
2300
+ gas?: bigint;
2301
+ gasPrice?: bigint;
2302
+ maxFeePerGas?: bigint;
2303
+ maxPriorityFeePerGas?: bigint;
2304
+ nonce?: number;
2305
+ value?: bigint;
2306
+ }): Promise<`0x${string}`>;
2307
+ /**
2308
+ * initializeStorage
2309
+ * nonpayable
2310
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2311
+ */
2312
+ initializeStorage(options?: {
2313
+ accessList?: import('viem').AccessList;
2314
+ authorizationList?: import('viem').AuthorizationList;
2315
+ chain?: import('viem').Chain | null;
2316
+ dataSuffix?: `0x${string}`;
2317
+ gas?: bigint;
2318
+ gasPrice?: bigint;
2319
+ maxFeePerGas?: bigint;
2320
+ maxPriorityFeePerGas?: bigint;
2321
+ nonce?: number;
2322
+ value?: bigint;
2323
+ }): Promise<`0x${string}`>;
2324
+ /**
2325
+ * pause
2326
+ * nonpayable
2327
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2328
+ */
2329
+ pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, options?: {
2330
+ accessList?: import('viem').AccessList;
2331
+ authorizationList?: import('viem').AuthorizationList;
2332
+ chain?: import('viem').Chain | null;
2333
+ dataSuffix?: `0x${string}`;
2334
+ gas?: bigint;
2335
+ gasPrice?: bigint;
2336
+ maxFeePerGas?: bigint;
2337
+ maxPriorityFeePerGas?: bigint;
2338
+ nonce?: number;
2339
+ value?: bigint;
2340
+ }): Promise<`0x${string}`>;
2341
+ /**
2342
+ * supply
2343
+ * nonpayable
2344
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2345
+ */
2346
+ supply(asset: `0x${string}`, amount: bigint, options?: {
2347
+ accessList?: import('viem').AccessList;
2348
+ authorizationList?: import('viem').AuthorizationList;
2349
+ chain?: import('viem').Chain | null;
2350
+ dataSuffix?: `0x${string}`;
2351
+ gas?: bigint;
2352
+ gasPrice?: bigint;
2353
+ maxFeePerGas?: bigint;
2354
+ maxPriorityFeePerGas?: bigint;
2355
+ nonce?: number;
2356
+ value?: bigint;
2357
+ }): Promise<`0x${string}`>;
2358
+ /**
2359
+ * supplyFrom
2360
+ * nonpayable
2361
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2362
+ */
2363
+ supplyFrom(from: `0x${string}`, dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2364
+ accessList?: import('viem').AccessList;
2365
+ authorizationList?: import('viem').AuthorizationList;
2366
+ chain?: import('viem').Chain | null;
2367
+ dataSuffix?: `0x${string}`;
2368
+ gas?: bigint;
2369
+ gasPrice?: bigint;
2370
+ maxFeePerGas?: bigint;
2371
+ maxPriorityFeePerGas?: bigint;
2372
+ nonce?: number;
2373
+ value?: bigint;
2374
+ }): Promise<`0x${string}`>;
2375
+ /**
2376
+ * supplyTo
2377
+ * nonpayable
2378
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2379
+ */
2380
+ supplyTo(dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2381
+ accessList?: import('viem').AccessList;
2382
+ authorizationList?: import('viem').AuthorizationList;
2383
+ chain?: import('viem').Chain | null;
2384
+ dataSuffix?: `0x${string}`;
2385
+ gas?: bigint;
2386
+ gasPrice?: bigint;
2387
+ maxFeePerGas?: bigint;
2388
+ maxPriorityFeePerGas?: bigint;
2389
+ nonce?: number;
2390
+ value?: bigint;
2391
+ }): Promise<`0x${string}`>;
2392
+ /**
2393
+ * transfer
2394
+ * nonpayable
2395
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2396
+ */
2397
+ transfer(dst: `0x${string}`, amount: bigint, options?: {
2398
+ accessList?: import('viem').AccessList;
2399
+ authorizationList?: import('viem').AuthorizationList;
2400
+ chain?: import('viem').Chain | null;
2401
+ dataSuffix?: `0x${string}`;
2402
+ gas?: bigint;
2403
+ gasPrice?: bigint;
2404
+ maxFeePerGas?: bigint;
2405
+ maxPriorityFeePerGas?: bigint;
2406
+ nonce?: number;
2407
+ value?: bigint;
2408
+ }): Promise<`0x${string}`>;
2409
+ /**
2410
+ * transferAsset
2411
+ * nonpayable
2412
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2413
+ */
2414
+ transferAsset(dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2415
+ accessList?: import('viem').AccessList;
2416
+ authorizationList?: import('viem').AuthorizationList;
2417
+ chain?: import('viem').Chain | null;
2418
+ dataSuffix?: `0x${string}`;
2419
+ gas?: bigint;
2420
+ gasPrice?: bigint;
2421
+ maxFeePerGas?: bigint;
2422
+ maxPriorityFeePerGas?: bigint;
2423
+ nonce?: number;
2424
+ value?: bigint;
2425
+ }): Promise<`0x${string}`>;
2426
+ /**
2427
+ * transferAssetFrom
2428
+ * nonpayable
2429
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2430
+ */
2431
+ transferAssetFrom(src: `0x${string}`, dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2432
+ accessList?: import('viem').AccessList;
2433
+ authorizationList?: import('viem').AuthorizationList;
2434
+ chain?: import('viem').Chain | null;
2435
+ dataSuffix?: `0x${string}`;
2436
+ gas?: bigint;
2437
+ gasPrice?: bigint;
2438
+ maxFeePerGas?: bigint;
2439
+ maxPriorityFeePerGas?: bigint;
2440
+ nonce?: number;
2441
+ value?: bigint;
2442
+ }): Promise<`0x${string}`>;
2443
+ /**
2444
+ * transferFrom
2445
+ * nonpayable
2446
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2447
+ */
2448
+ transferFrom(src: `0x${string}`, dst: `0x${string}`, amount: bigint, options?: {
2449
+ accessList?: import('viem').AccessList;
2450
+ authorizationList?: import('viem').AuthorizationList;
2451
+ chain?: import('viem').Chain | null;
2452
+ dataSuffix?: `0x${string}`;
2453
+ gas?: bigint;
2454
+ gasPrice?: bigint;
2455
+ maxFeePerGas?: bigint;
2456
+ maxPriorityFeePerGas?: bigint;
2457
+ nonce?: number;
2458
+ value?: bigint;
2459
+ }): Promise<`0x${string}`>;
2460
+ /**
2461
+ * withdraw
2462
+ * nonpayable
2463
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2464
+ */
2465
+ withdraw(asset: `0x${string}`, amount: bigint, options?: {
2466
+ accessList?: import('viem').AccessList;
2467
+ authorizationList?: import('viem').AuthorizationList;
2468
+ chain?: import('viem').Chain | null;
2469
+ dataSuffix?: `0x${string}`;
2470
+ gas?: bigint;
2471
+ gasPrice?: bigint;
2472
+ maxFeePerGas?: bigint;
2473
+ maxPriorityFeePerGas?: bigint;
2474
+ nonce?: number;
2475
+ value?: bigint;
2476
+ }): Promise<`0x${string}`>;
2477
+ /**
2478
+ * withdrawFrom
2479
+ * nonpayable
2480
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2481
+ */
2482
+ withdrawFrom(src: `0x${string}`, to: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2483
+ accessList?: import('viem').AccessList;
2484
+ authorizationList?: import('viem').AuthorizationList;
2485
+ chain?: import('viem').Chain | null;
2486
+ dataSuffix?: `0x${string}`;
2487
+ gas?: bigint;
2488
+ gasPrice?: bigint;
2489
+ maxFeePerGas?: bigint;
2490
+ maxPriorityFeePerGas?: bigint;
2491
+ nonce?: number;
2492
+ value?: bigint;
2493
+ }): Promise<`0x${string}`>;
2494
+ /**
2495
+ * withdrawReserves
2496
+ * nonpayable
2497
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2498
+ */
2499
+ withdrawReserves(to: `0x${string}`, amount: bigint, options?: {
2500
+ accessList?: import('viem').AccessList;
2501
+ authorizationList?: import('viem').AuthorizationList;
2502
+ chain?: import('viem').Chain | null;
2503
+ dataSuffix?: `0x${string}`;
2504
+ gas?: bigint;
2505
+ gasPrice?: bigint;
2506
+ maxFeePerGas?: bigint;
2507
+ maxPriorityFeePerGas?: bigint;
2508
+ nonce?: number;
2509
+ value?: bigint;
2510
+ }): Promise<`0x${string}`>;
2511
+ /**
2512
+ * withdrawTo
2513
+ * nonpayable
2514
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2515
+ */
2516
+ withdrawTo(to: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2517
+ accessList?: import('viem').AccessList;
2518
+ authorizationList?: import('viem').AuthorizationList;
2519
+ chain?: import('viem').Chain | null;
2520
+ dataSuffix?: `0x${string}`;
2521
+ gas?: bigint;
2522
+ gasPrice?: bigint;
2523
+ maxFeePerGas?: bigint;
2524
+ maxPriorityFeePerGas?: bigint;
2525
+ nonce?: number;
2526
+ value?: bigint;
2527
+ }): Promise<`0x${string}`>;
2528
+ /**
2529
+ * Simulate contract write operations (dry-run without sending transaction)
2530
+ *
2531
+ * @example
2532
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2533
+ * console.log('Gas estimate:', result.request.gas);
2534
+ * console.log('Would succeed:', result.result);
2535
+ */
2536
+ get simulate(): {
2537
+ /**
2538
+ * Simulate absorb
2539
+ * Returns gas estimate and result without sending transaction
2540
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2541
+ */
2542
+ absorb(absorber: `0x${string}`, accounts: `0x${string}`[], options?: {
2543
+ accessList?: import("viem").AccessList;
2544
+ authorizationList?: import("viem").AuthorizationList;
2545
+ chain?: import("viem").Chain | null;
2546
+ dataSuffix?: `0x${string}`;
2547
+ gas?: bigint;
2548
+ gasPrice?: bigint;
2549
+ maxFeePerGas?: bigint;
2550
+ maxPriorityFeePerGas?: bigint;
2551
+ nonce?: number;
2552
+ value?: bigint;
2553
+ }): Promise<void>;
2554
+ /**
2555
+ * Simulate accrueAccount
2556
+ * Returns gas estimate and result without sending transaction
2557
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2558
+ */
2559
+ accrueAccount(account: `0x${string}`, options?: {
2560
+ accessList?: import("viem").AccessList;
2561
+ authorizationList?: import("viem").AuthorizationList;
2562
+ chain?: import("viem").Chain | null;
2563
+ dataSuffix?: `0x${string}`;
2564
+ gas?: bigint;
2565
+ gasPrice?: bigint;
2566
+ maxFeePerGas?: bigint;
2567
+ maxPriorityFeePerGas?: bigint;
2568
+ nonce?: number;
2569
+ value?: bigint;
2570
+ }): Promise<void>;
2571
+ /**
2572
+ * Simulate approveThis
2573
+ * Returns gas estimate and result without sending transaction
2574
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2575
+ */
2576
+ approveThis(manager: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2577
+ accessList?: import("viem").AccessList;
2578
+ authorizationList?: import("viem").AuthorizationList;
2579
+ chain?: import("viem").Chain | null;
2580
+ dataSuffix?: `0x${string}`;
2581
+ gas?: bigint;
2582
+ gasPrice?: bigint;
2583
+ maxFeePerGas?: bigint;
2584
+ maxPriorityFeePerGas?: bigint;
2585
+ nonce?: number;
2586
+ value?: bigint;
2587
+ }): Promise<void>;
2588
+ /**
2589
+ * Simulate buyCollateral
2590
+ * Returns gas estimate and result without sending transaction
2591
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2592
+ */
2593
+ buyCollateral(asset: `0x${string}`, minAmount: bigint, baseAmount: bigint, recipient: `0x${string}`, options?: {
2594
+ accessList?: import("viem").AccessList;
2595
+ authorizationList?: import("viem").AuthorizationList;
2596
+ chain?: import("viem").Chain | null;
2597
+ dataSuffix?: `0x${string}`;
2598
+ gas?: bigint;
2599
+ gasPrice?: bigint;
2600
+ maxFeePerGas?: bigint;
2601
+ maxPriorityFeePerGas?: bigint;
2602
+ nonce?: number;
2603
+ value?: bigint;
2604
+ }): Promise<void>;
2605
+ /**
2606
+ * Simulate initializeStorage
2607
+ * Returns gas estimate and result without sending transaction
2608
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2609
+ */
2610
+ initializeStorage(options?: {
2611
+ accessList?: import("viem").AccessList;
2612
+ authorizationList?: import("viem").AuthorizationList;
2613
+ chain?: import("viem").Chain | null;
2614
+ dataSuffix?: `0x${string}`;
2615
+ gas?: bigint;
2616
+ gasPrice?: bigint;
2617
+ maxFeePerGas?: bigint;
2618
+ maxPriorityFeePerGas?: bigint;
2619
+ nonce?: number;
2620
+ value?: bigint;
2621
+ }): Promise<void>;
2622
+ /**
2623
+ * Simulate pause
2624
+ * Returns gas estimate and result without sending transaction
2625
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2626
+ */
2627
+ pause(supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean, options?: {
2628
+ accessList?: import("viem").AccessList;
2629
+ authorizationList?: import("viem").AuthorizationList;
2630
+ chain?: import("viem").Chain | null;
2631
+ dataSuffix?: `0x${string}`;
2632
+ gas?: bigint;
2633
+ gasPrice?: bigint;
2634
+ maxFeePerGas?: bigint;
2635
+ maxPriorityFeePerGas?: bigint;
2636
+ nonce?: number;
2637
+ value?: bigint;
2638
+ }): Promise<void>;
2639
+ /**
2640
+ * Simulate supply
2641
+ * Returns gas estimate and result without sending transaction
2642
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2643
+ */
2644
+ supply(asset: `0x${string}`, amount: bigint, options?: {
2645
+ accessList?: import("viem").AccessList;
2646
+ authorizationList?: import("viem").AuthorizationList;
2647
+ chain?: import("viem").Chain | null;
2648
+ dataSuffix?: `0x${string}`;
2649
+ gas?: bigint;
2650
+ gasPrice?: bigint;
2651
+ maxFeePerGas?: bigint;
2652
+ maxPriorityFeePerGas?: bigint;
2653
+ nonce?: number;
2654
+ value?: bigint;
2655
+ }): Promise<void>;
2656
+ /**
2657
+ * Simulate supplyFrom
2658
+ * Returns gas estimate and result without sending transaction
2659
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2660
+ */
2661
+ supplyFrom(from: `0x${string}`, dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2662
+ accessList?: import("viem").AccessList;
2663
+ authorizationList?: import("viem").AuthorizationList;
2664
+ chain?: import("viem").Chain | null;
2665
+ dataSuffix?: `0x${string}`;
2666
+ gas?: bigint;
2667
+ gasPrice?: bigint;
2668
+ maxFeePerGas?: bigint;
2669
+ maxPriorityFeePerGas?: bigint;
2670
+ nonce?: number;
2671
+ value?: bigint;
2672
+ }): Promise<void>;
2673
+ /**
2674
+ * Simulate supplyTo
2675
+ * Returns gas estimate and result without sending transaction
2676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2677
+ */
2678
+ supplyTo(dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2679
+ accessList?: import("viem").AccessList;
2680
+ authorizationList?: import("viem").AuthorizationList;
2681
+ chain?: import("viem").Chain | null;
2682
+ dataSuffix?: `0x${string}`;
2683
+ gas?: bigint;
2684
+ gasPrice?: bigint;
2685
+ maxFeePerGas?: bigint;
2686
+ maxPriorityFeePerGas?: bigint;
2687
+ nonce?: number;
2688
+ value?: bigint;
2689
+ }): Promise<void>;
2690
+ /**
2691
+ * Simulate transfer
2692
+ * Returns gas estimate and result without sending transaction
2693
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2694
+ */
2695
+ transfer(dst: `0x${string}`, amount: bigint, options?: {
2696
+ accessList?: import("viem").AccessList;
2697
+ authorizationList?: import("viem").AuthorizationList;
2698
+ chain?: import("viem").Chain | null;
2699
+ dataSuffix?: `0x${string}`;
2700
+ gas?: bigint;
2701
+ gasPrice?: bigint;
2702
+ maxFeePerGas?: bigint;
2703
+ maxPriorityFeePerGas?: bigint;
2704
+ nonce?: number;
2705
+ value?: bigint;
2706
+ }): Promise<boolean>;
2707
+ /**
2708
+ * Simulate transferAsset
2709
+ * Returns gas estimate and result without sending transaction
2710
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2711
+ */
2712
+ transferAsset(dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2713
+ accessList?: import("viem").AccessList;
2714
+ authorizationList?: import("viem").AuthorizationList;
2715
+ chain?: import("viem").Chain | null;
2716
+ dataSuffix?: `0x${string}`;
2717
+ gas?: bigint;
2718
+ gasPrice?: bigint;
2719
+ maxFeePerGas?: bigint;
2720
+ maxPriorityFeePerGas?: bigint;
2721
+ nonce?: number;
2722
+ value?: bigint;
2723
+ }): Promise<void>;
2724
+ /**
2725
+ * Simulate transferAssetFrom
2726
+ * Returns gas estimate and result without sending transaction
2727
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2728
+ */
2729
+ transferAssetFrom(src: `0x${string}`, dst: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2730
+ accessList?: import("viem").AccessList;
2731
+ authorizationList?: import("viem").AuthorizationList;
2732
+ chain?: import("viem").Chain | null;
2733
+ dataSuffix?: `0x${string}`;
2734
+ gas?: bigint;
2735
+ gasPrice?: bigint;
2736
+ maxFeePerGas?: bigint;
2737
+ maxPriorityFeePerGas?: bigint;
2738
+ nonce?: number;
2739
+ value?: bigint;
2740
+ }): Promise<void>;
2741
+ /**
2742
+ * Simulate transferFrom
2743
+ * Returns gas estimate and result without sending transaction
2744
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2745
+ */
2746
+ transferFrom(src: `0x${string}`, dst: `0x${string}`, amount: bigint, options?: {
2747
+ accessList?: import("viem").AccessList;
2748
+ authorizationList?: import("viem").AuthorizationList;
2749
+ chain?: import("viem").Chain | null;
2750
+ dataSuffix?: `0x${string}`;
2751
+ gas?: bigint;
2752
+ gasPrice?: bigint;
2753
+ maxFeePerGas?: bigint;
2754
+ maxPriorityFeePerGas?: bigint;
2755
+ nonce?: number;
2756
+ value?: bigint;
2757
+ }): Promise<boolean>;
2758
+ /**
2759
+ * Simulate withdraw
2760
+ * Returns gas estimate and result without sending transaction
2761
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2762
+ */
2763
+ withdraw(asset: `0x${string}`, amount: bigint, options?: {
2764
+ accessList?: import("viem").AccessList;
2765
+ authorizationList?: import("viem").AuthorizationList;
2766
+ chain?: import("viem").Chain | null;
2767
+ dataSuffix?: `0x${string}`;
2768
+ gas?: bigint;
2769
+ gasPrice?: bigint;
2770
+ maxFeePerGas?: bigint;
2771
+ maxPriorityFeePerGas?: bigint;
2772
+ nonce?: number;
2773
+ value?: bigint;
2774
+ }): Promise<void>;
2775
+ /**
2776
+ * Simulate withdrawFrom
2777
+ * Returns gas estimate and result without sending transaction
2778
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2779
+ */
2780
+ withdrawFrom(src: `0x${string}`, to: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2781
+ accessList?: import("viem").AccessList;
2782
+ authorizationList?: import("viem").AuthorizationList;
2783
+ chain?: import("viem").Chain | null;
2784
+ dataSuffix?: `0x${string}`;
2785
+ gas?: bigint;
2786
+ gasPrice?: bigint;
2787
+ maxFeePerGas?: bigint;
2788
+ maxPriorityFeePerGas?: bigint;
2789
+ nonce?: number;
2790
+ value?: bigint;
2791
+ }): Promise<void>;
2792
+ /**
2793
+ * Simulate withdrawReserves
2794
+ * Returns gas estimate and result without sending transaction
2795
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2796
+ */
2797
+ withdrawReserves(to: `0x${string}`, amount: bigint, options?: {
2798
+ accessList?: import("viem").AccessList;
2799
+ authorizationList?: import("viem").AuthorizationList;
2800
+ chain?: import("viem").Chain | null;
2801
+ dataSuffix?: `0x${string}`;
2802
+ gas?: bigint;
2803
+ gasPrice?: bigint;
2804
+ maxFeePerGas?: bigint;
2805
+ maxPriorityFeePerGas?: bigint;
2806
+ nonce?: number;
2807
+ value?: bigint;
2808
+ }): Promise<void>;
2809
+ /**
2810
+ * Simulate withdrawTo
2811
+ * Returns gas estimate and result without sending transaction
2812
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2813
+ */
2814
+ withdrawTo(to: `0x${string}`, asset: `0x${string}`, amount: bigint, options?: {
2815
+ accessList?: import("viem").AccessList;
2816
+ authorizationList?: import("viem").AuthorizationList;
2817
+ chain?: import("viem").Chain | null;
2818
+ dataSuffix?: `0x${string}`;
2819
+ gas?: bigint;
2820
+ gasPrice?: bigint;
2821
+ maxFeePerGas?: bigint;
2822
+ maxPriorityFeePerGas?: bigint;
2823
+ nonce?: number;
2824
+ value?: bigint;
2825
+ }): Promise<void>;
2826
+ };
2827
+ /**
2828
+ * Watch contract events
2829
+ *
2830
+ * @example
2831
+ * // Watch all Transfer events
2832
+ * const unwatch = contract.watch.Transfer((event) => {
2833
+ * console.log('Transfer:', event);
2834
+ * });
2835
+ *
2836
+ * // Stop watching
2837
+ * unwatch();
2838
+ */
2839
+ get watch(): {
2840
+ /**
2841
+ * Watch AbsorbCollateral events
2842
+ * @param callback Function to call when event is emitted
2843
+ * @param filter Optional filter for indexed parameters
2844
+ * @returns Unwatch function to stop listening
2845
+ */
2846
+ AbsorbCollateral: (callback: (event: {
2847
+ absorber: `0x${string}`;
2848
+ borrower: `0x${string}`;
2849
+ asset: `0x${string}`;
2850
+ collateralAbsorbed: bigint;
2851
+ usdValue: bigint;
2852
+ }) => void, filter?: {
2853
+ absorber: `0x${string}`;
2854
+ borrower: `0x${string}`;
2855
+ asset: `0x${string}`;
2856
+ }) => () => void;
2857
+ /**
2858
+ * Watch AbsorbDebt events
2859
+ * @param callback Function to call when event is emitted
2860
+ * @param filter Optional filter for indexed parameters
2861
+ * @returns Unwatch function to stop listening
2862
+ */
2863
+ AbsorbDebt: (callback: (event: {
2864
+ absorber: `0x${string}`;
2865
+ borrower: `0x${string}`;
2866
+ basePaidOut: bigint;
2867
+ usdValue: bigint;
2868
+ }) => void, filter?: {
2869
+ absorber: `0x${string}`;
2870
+ borrower: `0x${string}`;
2871
+ }) => () => void;
2872
+ /**
2873
+ * Watch BuyCollateral events
2874
+ * @param callback Function to call when event is emitted
2875
+ * @param filter Optional filter for indexed parameters
2876
+ * @returns Unwatch function to stop listening
2877
+ */
2878
+ BuyCollateral: (callback: (event: {
2879
+ buyer: `0x${string}`;
2880
+ asset: `0x${string}`;
2881
+ baseAmount: bigint;
2882
+ collateralAmount: bigint;
2883
+ }) => void, filter?: {
2884
+ buyer: `0x${string}`;
2885
+ asset: `0x${string}`;
2886
+ }) => () => void;
2887
+ /**
2888
+ * Watch PauseAction events
2889
+ * @param callback Function to call when event is emitted
2890
+ * @param filter Optional filter for indexed parameters
2891
+ * @returns Unwatch function to stop listening
2892
+ */
2893
+ PauseAction: (callback: (event: {
2894
+ supplyPaused: boolean;
2895
+ transferPaused: boolean;
2896
+ withdrawPaused: boolean;
2897
+ absorbPaused: boolean;
2898
+ buyPaused: boolean;
2899
+ }) => void) => () => void;
2900
+ /**
2901
+ * Watch Supply events
2902
+ * @param callback Function to call when event is emitted
2903
+ * @param filter Optional filter for indexed parameters
2904
+ * @returns Unwatch function to stop listening
2905
+ */
2906
+ Supply: (callback: (event: {
2907
+ from: `0x${string}`;
2908
+ dst: `0x${string}`;
2909
+ amount: bigint;
2910
+ }) => void, filter?: {
2911
+ from: `0x${string}`;
2912
+ dst: `0x${string}`;
2913
+ }) => () => void;
2914
+ /**
2915
+ * Watch SupplyCollateral events
2916
+ * @param callback Function to call when event is emitted
2917
+ * @param filter Optional filter for indexed parameters
2918
+ * @returns Unwatch function to stop listening
2919
+ */
2920
+ SupplyCollateral: (callback: (event: {
2921
+ from: `0x${string}`;
2922
+ dst: `0x${string}`;
2923
+ asset: `0x${string}`;
2924
+ amount: bigint;
2925
+ }) => void, filter?: {
2926
+ from: `0x${string}`;
2927
+ dst: `0x${string}`;
2928
+ asset: `0x${string}`;
2929
+ }) => () => void;
2930
+ /**
2931
+ * Watch Transfer events
2932
+ * @param callback Function to call when event is emitted
2933
+ * @param filter Optional filter for indexed parameters
2934
+ * @returns Unwatch function to stop listening
2935
+ */
2936
+ Transfer: (callback: (event: {
2937
+ from: `0x${string}`;
2938
+ to: `0x${string}`;
2939
+ amount: bigint;
2940
+ }) => void, filter?: {
2941
+ from: `0x${string}`;
2942
+ to: `0x${string}`;
2943
+ }) => () => void;
2944
+ /**
2945
+ * Watch TransferCollateral events
2946
+ * @param callback Function to call when event is emitted
2947
+ * @param filter Optional filter for indexed parameters
2948
+ * @returns Unwatch function to stop listening
2949
+ */
2950
+ TransferCollateral: (callback: (event: {
2951
+ from: `0x${string}`;
2952
+ to: `0x${string}`;
2953
+ asset: `0x${string}`;
2954
+ amount: bigint;
2955
+ }) => void, filter?: {
2956
+ from: `0x${string}`;
2957
+ to: `0x${string}`;
2958
+ asset: `0x${string}`;
2959
+ }) => () => void;
2960
+ /**
2961
+ * Watch Withdraw events
2962
+ * @param callback Function to call when event is emitted
2963
+ * @param filter Optional filter for indexed parameters
2964
+ * @returns Unwatch function to stop listening
2965
+ */
2966
+ Withdraw: (callback: (event: {
2967
+ src: `0x${string}`;
2968
+ to: `0x${string}`;
2969
+ amount: bigint;
2970
+ }) => void, filter?: {
2971
+ src: `0x${string}`;
2972
+ to: `0x${string}`;
2973
+ }) => () => void;
2974
+ /**
2975
+ * Watch WithdrawCollateral events
2976
+ * @param callback Function to call when event is emitted
2977
+ * @param filter Optional filter for indexed parameters
2978
+ * @returns Unwatch function to stop listening
2979
+ */
2980
+ WithdrawCollateral: (callback: (event: {
2981
+ src: `0x${string}`;
2982
+ to: `0x${string}`;
2983
+ asset: `0x${string}`;
2984
+ amount: bigint;
2985
+ }) => void, filter?: {
2986
+ src: `0x${string}`;
2987
+ to: `0x${string}`;
2988
+ asset: `0x${string}`;
2989
+ }) => () => void;
2990
+ /**
2991
+ * Watch WithdrawReserves events
2992
+ * @param callback Function to call when event is emitted
2993
+ * @param filter Optional filter for indexed parameters
2994
+ * @returns Unwatch function to stop listening
2995
+ */
2996
+ WithdrawReserves: (callback: (event: {
2997
+ to: `0x${string}`;
2998
+ amount: bigint;
2999
+ }) => void, filter?: {
3000
+ to: `0x${string}`;
3001
+ }) => () => void;
3002
+ };
3003
+ }