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