@gitmyabi/aethusdc 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,1571 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * ATokenInstance_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const ATokenInstance_jsonAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "contract IPool";
10
+ readonly name: "pool";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly internalType: "address";
14
+ readonly name: "rewardsController";
15
+ readonly type: "address";
16
+ }, {
17
+ readonly internalType: "address";
18
+ readonly name: "treasury";
19
+ readonly type: "address";
20
+ }];
21
+ readonly stateMutability: "nonpayable";
22
+ readonly type: "constructor";
23
+ }, {
24
+ readonly inputs: readonly [];
25
+ readonly name: "CallerMustBePool";
26
+ readonly type: "error";
27
+ }, {
28
+ readonly inputs: readonly [];
29
+ readonly name: "CallerNotPoolAdmin";
30
+ readonly type: "error";
31
+ }, {
32
+ readonly inputs: readonly [];
33
+ readonly name: "ECDSAInvalidSignature";
34
+ readonly type: "error";
35
+ }, {
36
+ readonly inputs: readonly [{
37
+ readonly internalType: "uint256";
38
+ readonly name: "length";
39
+ readonly type: "uint256";
40
+ }];
41
+ readonly name: "ECDSAInvalidSignatureLength";
42
+ readonly type: "error";
43
+ }, {
44
+ readonly inputs: readonly [{
45
+ readonly internalType: "bytes32";
46
+ readonly name: "s";
47
+ readonly type: "bytes32";
48
+ }];
49
+ readonly name: "ECDSAInvalidSignatureS";
50
+ readonly type: "error";
51
+ }, {
52
+ readonly inputs: readonly [{
53
+ readonly internalType: "address";
54
+ readonly name: "spender";
55
+ readonly type: "address";
56
+ }, {
57
+ readonly internalType: "uint256";
58
+ readonly name: "allowance";
59
+ readonly type: "uint256";
60
+ }, {
61
+ readonly internalType: "uint256";
62
+ readonly name: "needed";
63
+ readonly type: "uint256";
64
+ }];
65
+ readonly name: "ERC20InsufficientAllowance";
66
+ readonly type: "error";
67
+ }, {
68
+ readonly inputs: readonly [];
69
+ readonly name: "InvalidBurnAmount";
70
+ readonly type: "error";
71
+ }, {
72
+ readonly inputs: readonly [];
73
+ readonly name: "InvalidExpiration";
74
+ readonly type: "error";
75
+ }, {
76
+ readonly inputs: readonly [];
77
+ readonly name: "InvalidMintAmount";
78
+ readonly type: "error";
79
+ }, {
80
+ readonly inputs: readonly [];
81
+ readonly name: "InvalidSignature";
82
+ readonly type: "error";
83
+ }, {
84
+ readonly inputs: readonly [];
85
+ readonly name: "PoolAddressesDoNotMatch";
86
+ readonly type: "error";
87
+ }, {
88
+ readonly inputs: readonly [{
89
+ readonly internalType: "uint8";
90
+ readonly name: "bits";
91
+ readonly type: "uint8";
92
+ }, {
93
+ readonly internalType: "uint256";
94
+ readonly name: "value";
95
+ readonly type: "uint256";
96
+ }];
97
+ readonly name: "SafeCastOverflowedUintDowncast";
98
+ readonly type: "error";
99
+ }, {
100
+ readonly inputs: readonly [];
101
+ readonly name: "UnderlyingCannotBeRescued";
102
+ readonly type: "error";
103
+ }, {
104
+ readonly inputs: readonly [];
105
+ readonly name: "ZeroAddressNotValid";
106
+ readonly type: "error";
107
+ }, {
108
+ readonly anonymous: false;
109
+ readonly inputs: readonly [{
110
+ readonly indexed: true;
111
+ readonly internalType: "address";
112
+ readonly name: "owner";
113
+ readonly type: "address";
114
+ }, {
115
+ readonly indexed: true;
116
+ readonly internalType: "address";
117
+ readonly name: "spender";
118
+ readonly type: "address";
119
+ }, {
120
+ readonly indexed: false;
121
+ readonly internalType: "uint256";
122
+ readonly name: "value";
123
+ readonly type: "uint256";
124
+ }];
125
+ readonly name: "Approval";
126
+ readonly type: "event";
127
+ }, {
128
+ readonly anonymous: false;
129
+ readonly inputs: readonly [{
130
+ readonly indexed: true;
131
+ readonly internalType: "address";
132
+ readonly name: "from";
133
+ readonly type: "address";
134
+ }, {
135
+ readonly indexed: true;
136
+ readonly internalType: "address";
137
+ readonly name: "to";
138
+ readonly type: "address";
139
+ }, {
140
+ readonly indexed: false;
141
+ readonly internalType: "uint256";
142
+ readonly name: "value";
143
+ readonly type: "uint256";
144
+ }, {
145
+ readonly indexed: false;
146
+ readonly internalType: "uint256";
147
+ readonly name: "index";
148
+ readonly type: "uint256";
149
+ }];
150
+ readonly name: "BalanceTransfer";
151
+ readonly type: "event";
152
+ }, {
153
+ readonly anonymous: false;
154
+ readonly inputs: readonly [{
155
+ readonly indexed: true;
156
+ readonly internalType: "address";
157
+ readonly name: "from";
158
+ readonly type: "address";
159
+ }, {
160
+ readonly indexed: true;
161
+ readonly internalType: "address";
162
+ readonly name: "target";
163
+ readonly type: "address";
164
+ }, {
165
+ readonly indexed: false;
166
+ readonly internalType: "uint256";
167
+ readonly name: "value";
168
+ readonly type: "uint256";
169
+ }, {
170
+ readonly indexed: false;
171
+ readonly internalType: "uint256";
172
+ readonly name: "balanceIncrease";
173
+ readonly type: "uint256";
174
+ }, {
175
+ readonly indexed: false;
176
+ readonly internalType: "uint256";
177
+ readonly name: "index";
178
+ readonly type: "uint256";
179
+ }];
180
+ readonly name: "Burn";
181
+ readonly type: "event";
182
+ }, {
183
+ readonly anonymous: false;
184
+ readonly inputs: readonly [{
185
+ readonly indexed: true;
186
+ readonly internalType: "address";
187
+ readonly name: "underlyingAsset";
188
+ readonly type: "address";
189
+ }, {
190
+ readonly indexed: true;
191
+ readonly internalType: "address";
192
+ readonly name: "pool";
193
+ readonly type: "address";
194
+ }, {
195
+ readonly indexed: false;
196
+ readonly internalType: "address";
197
+ readonly name: "treasury";
198
+ readonly type: "address";
199
+ }, {
200
+ readonly indexed: false;
201
+ readonly internalType: "address";
202
+ readonly name: "incentivesController";
203
+ readonly type: "address";
204
+ }, {
205
+ readonly indexed: false;
206
+ readonly internalType: "uint8";
207
+ readonly name: "aTokenDecimals";
208
+ readonly type: "uint8";
209
+ }, {
210
+ readonly indexed: false;
211
+ readonly internalType: "string";
212
+ readonly name: "aTokenName";
213
+ readonly type: "string";
214
+ }, {
215
+ readonly indexed: false;
216
+ readonly internalType: "string";
217
+ readonly name: "aTokenSymbol";
218
+ readonly type: "string";
219
+ }, {
220
+ readonly indexed: false;
221
+ readonly internalType: "bytes";
222
+ readonly name: "params";
223
+ readonly type: "bytes";
224
+ }];
225
+ readonly name: "Initialized";
226
+ readonly type: "event";
227
+ }, {
228
+ readonly anonymous: false;
229
+ readonly inputs: readonly [{
230
+ readonly indexed: true;
231
+ readonly internalType: "address";
232
+ readonly name: "caller";
233
+ readonly type: "address";
234
+ }, {
235
+ readonly indexed: true;
236
+ readonly internalType: "address";
237
+ readonly name: "onBehalfOf";
238
+ readonly type: "address";
239
+ }, {
240
+ readonly indexed: false;
241
+ readonly internalType: "uint256";
242
+ readonly name: "value";
243
+ readonly type: "uint256";
244
+ }, {
245
+ readonly indexed: false;
246
+ readonly internalType: "uint256";
247
+ readonly name: "balanceIncrease";
248
+ readonly type: "uint256";
249
+ }, {
250
+ readonly indexed: false;
251
+ readonly internalType: "uint256";
252
+ readonly name: "index";
253
+ readonly type: "uint256";
254
+ }];
255
+ readonly name: "Mint";
256
+ readonly type: "event";
257
+ }, {
258
+ readonly anonymous: false;
259
+ readonly inputs: readonly [{
260
+ readonly indexed: true;
261
+ readonly internalType: "address";
262
+ readonly name: "from";
263
+ readonly type: "address";
264
+ }, {
265
+ readonly indexed: true;
266
+ readonly internalType: "address";
267
+ readonly name: "to";
268
+ readonly type: "address";
269
+ }, {
270
+ readonly indexed: false;
271
+ readonly internalType: "uint256";
272
+ readonly name: "value";
273
+ readonly type: "uint256";
274
+ }];
275
+ readonly name: "Transfer";
276
+ readonly type: "event";
277
+ }, {
278
+ readonly inputs: readonly [];
279
+ readonly name: "ATOKEN_REVISION";
280
+ readonly outputs: readonly [{
281
+ readonly internalType: "uint256";
282
+ readonly name: "";
283
+ readonly type: "uint256";
284
+ }];
285
+ readonly stateMutability: "view";
286
+ readonly type: "function";
287
+ }, {
288
+ readonly inputs: readonly [];
289
+ readonly name: "DOMAIN_SEPARATOR";
290
+ readonly outputs: readonly [{
291
+ readonly internalType: "bytes32";
292
+ readonly name: "";
293
+ readonly type: "bytes32";
294
+ }];
295
+ readonly stateMutability: "view";
296
+ readonly type: "function";
297
+ }, {
298
+ readonly inputs: readonly [];
299
+ readonly name: "EIP712_REVISION";
300
+ readonly outputs: readonly [{
301
+ readonly internalType: "bytes";
302
+ readonly name: "";
303
+ readonly type: "bytes";
304
+ }];
305
+ readonly stateMutability: "view";
306
+ readonly type: "function";
307
+ }, {
308
+ readonly inputs: readonly [];
309
+ readonly name: "PERMIT_TYPEHASH";
310
+ readonly outputs: readonly [{
311
+ readonly internalType: "bytes32";
312
+ readonly name: "";
313
+ readonly type: "bytes32";
314
+ }];
315
+ readonly stateMutability: "view";
316
+ readonly type: "function";
317
+ }, {
318
+ readonly inputs: readonly [];
319
+ readonly name: "POOL";
320
+ readonly outputs: readonly [{
321
+ readonly internalType: "contract IPool";
322
+ readonly name: "";
323
+ readonly type: "address";
324
+ }];
325
+ readonly stateMutability: "view";
326
+ readonly type: "function";
327
+ }, {
328
+ readonly inputs: readonly [];
329
+ readonly name: "RESERVE_TREASURY_ADDRESS";
330
+ readonly outputs: readonly [{
331
+ readonly internalType: "address";
332
+ readonly name: "";
333
+ readonly type: "address";
334
+ }];
335
+ readonly stateMutability: "view";
336
+ readonly type: "function";
337
+ }, {
338
+ readonly inputs: readonly [];
339
+ readonly name: "REWARDS_CONTROLLER";
340
+ readonly outputs: readonly [{
341
+ readonly internalType: "contract IAaveIncentivesController";
342
+ readonly name: "";
343
+ readonly type: "address";
344
+ }];
345
+ readonly stateMutability: "view";
346
+ readonly type: "function";
347
+ }, {
348
+ readonly inputs: readonly [];
349
+ readonly name: "TREASURY";
350
+ readonly outputs: readonly [{
351
+ readonly internalType: "address";
352
+ readonly name: "";
353
+ readonly type: "address";
354
+ }];
355
+ readonly stateMutability: "view";
356
+ readonly type: "function";
357
+ }, {
358
+ readonly inputs: readonly [];
359
+ readonly name: "UNDERLYING_ASSET_ADDRESS";
360
+ readonly outputs: readonly [{
361
+ readonly internalType: "address";
362
+ readonly name: "";
363
+ readonly type: "address";
364
+ }];
365
+ readonly stateMutability: "view";
366
+ readonly type: "function";
367
+ }, {
368
+ readonly inputs: readonly [{
369
+ readonly internalType: "address";
370
+ readonly name: "owner";
371
+ readonly type: "address";
372
+ }, {
373
+ readonly internalType: "address";
374
+ readonly name: "spender";
375
+ readonly type: "address";
376
+ }];
377
+ readonly name: "allowance";
378
+ readonly outputs: readonly [{
379
+ readonly internalType: "uint256";
380
+ readonly name: "";
381
+ readonly type: "uint256";
382
+ }];
383
+ readonly stateMutability: "view";
384
+ readonly type: "function";
385
+ }, {
386
+ readonly inputs: readonly [{
387
+ readonly internalType: "address";
388
+ readonly name: "spender";
389
+ readonly type: "address";
390
+ }, {
391
+ readonly internalType: "uint256";
392
+ readonly name: "amount";
393
+ readonly type: "uint256";
394
+ }];
395
+ readonly name: "approve";
396
+ readonly outputs: readonly [{
397
+ readonly internalType: "bool";
398
+ readonly name: "";
399
+ readonly type: "bool";
400
+ }];
401
+ readonly stateMutability: "nonpayable";
402
+ readonly type: "function";
403
+ }, {
404
+ readonly inputs: readonly [{
405
+ readonly internalType: "address";
406
+ readonly name: "user";
407
+ readonly type: "address";
408
+ }];
409
+ readonly name: "balanceOf";
410
+ readonly outputs: readonly [{
411
+ readonly internalType: "uint256";
412
+ readonly name: "";
413
+ readonly type: "uint256";
414
+ }];
415
+ readonly stateMutability: "view";
416
+ readonly type: "function";
417
+ }, {
418
+ readonly inputs: readonly [{
419
+ readonly internalType: "address";
420
+ readonly name: "from";
421
+ readonly type: "address";
422
+ }, {
423
+ readonly internalType: "address";
424
+ readonly name: "receiverOfUnderlying";
425
+ readonly type: "address";
426
+ }, {
427
+ readonly internalType: "uint256";
428
+ readonly name: "amount";
429
+ readonly type: "uint256";
430
+ }, {
431
+ readonly internalType: "uint256";
432
+ readonly name: "scaledAmount";
433
+ readonly type: "uint256";
434
+ }, {
435
+ readonly internalType: "uint256";
436
+ readonly name: "index";
437
+ readonly type: "uint256";
438
+ }];
439
+ readonly name: "burn";
440
+ readonly outputs: readonly [{
441
+ readonly internalType: "bool";
442
+ readonly name: "";
443
+ readonly type: "bool";
444
+ }];
445
+ readonly stateMutability: "nonpayable";
446
+ readonly type: "function";
447
+ }, {
448
+ readonly inputs: readonly [];
449
+ readonly name: "decimals";
450
+ readonly outputs: readonly [{
451
+ readonly internalType: "uint8";
452
+ readonly name: "";
453
+ readonly type: "uint8";
454
+ }];
455
+ readonly stateMutability: "view";
456
+ readonly type: "function";
457
+ }, {
458
+ readonly inputs: readonly [{
459
+ readonly internalType: "address";
460
+ readonly name: "spender";
461
+ readonly type: "address";
462
+ }, {
463
+ readonly internalType: "uint256";
464
+ readonly name: "subtractedValue";
465
+ readonly type: "uint256";
466
+ }];
467
+ readonly name: "decreaseAllowance";
468
+ readonly outputs: readonly [{
469
+ readonly internalType: "bool";
470
+ readonly name: "";
471
+ readonly type: "bool";
472
+ }];
473
+ readonly stateMutability: "nonpayable";
474
+ readonly type: "function";
475
+ }, {
476
+ readonly inputs: readonly [];
477
+ readonly name: "getIncentivesController";
478
+ readonly outputs: readonly [{
479
+ readonly internalType: "contract IAaveIncentivesController";
480
+ readonly name: "";
481
+ readonly type: "address";
482
+ }];
483
+ readonly stateMutability: "view";
484
+ readonly type: "function";
485
+ }, {
486
+ readonly inputs: readonly [{
487
+ readonly internalType: "address";
488
+ readonly name: "user";
489
+ readonly type: "address";
490
+ }];
491
+ readonly name: "getPreviousIndex";
492
+ readonly outputs: readonly [{
493
+ readonly internalType: "uint256";
494
+ readonly name: "";
495
+ readonly type: "uint256";
496
+ }];
497
+ readonly stateMutability: "view";
498
+ readonly type: "function";
499
+ }, {
500
+ readonly inputs: readonly [{
501
+ readonly internalType: "address";
502
+ readonly name: "user";
503
+ readonly type: "address";
504
+ }];
505
+ readonly name: "getScaledUserBalanceAndSupply";
506
+ readonly outputs: readonly [{
507
+ readonly internalType: "uint256";
508
+ readonly name: "";
509
+ readonly type: "uint256";
510
+ }, {
511
+ readonly internalType: "uint256";
512
+ readonly name: "";
513
+ readonly type: "uint256";
514
+ }];
515
+ readonly stateMutability: "view";
516
+ readonly type: "function";
517
+ }, {
518
+ readonly inputs: readonly [{
519
+ readonly internalType: "address";
520
+ readonly name: "spender";
521
+ readonly type: "address";
522
+ }, {
523
+ readonly internalType: "uint256";
524
+ readonly name: "addedValue";
525
+ readonly type: "uint256";
526
+ }];
527
+ readonly name: "increaseAllowance";
528
+ readonly outputs: readonly [{
529
+ readonly internalType: "bool";
530
+ readonly name: "";
531
+ readonly type: "bool";
532
+ }];
533
+ readonly stateMutability: "nonpayable";
534
+ readonly type: "function";
535
+ }, {
536
+ readonly inputs: readonly [{
537
+ readonly internalType: "contract IPool";
538
+ readonly name: "initializingPool";
539
+ readonly type: "address";
540
+ }, {
541
+ readonly internalType: "address";
542
+ readonly name: "underlyingAsset";
543
+ readonly type: "address";
544
+ }, {
545
+ readonly internalType: "uint8";
546
+ readonly name: "aTokenDecimals";
547
+ readonly type: "uint8";
548
+ }, {
549
+ readonly internalType: "string";
550
+ readonly name: "aTokenName";
551
+ readonly type: "string";
552
+ }, {
553
+ readonly internalType: "string";
554
+ readonly name: "aTokenSymbol";
555
+ readonly type: "string";
556
+ }, {
557
+ readonly internalType: "bytes";
558
+ readonly name: "params";
559
+ readonly type: "bytes";
560
+ }];
561
+ readonly name: "initialize";
562
+ readonly outputs: readonly [];
563
+ readonly stateMutability: "nonpayable";
564
+ readonly type: "function";
565
+ }, {
566
+ readonly inputs: readonly [{
567
+ readonly internalType: "address";
568
+ readonly name: "caller";
569
+ readonly type: "address";
570
+ }, {
571
+ readonly internalType: "address";
572
+ readonly name: "onBehalfOf";
573
+ readonly type: "address";
574
+ }, {
575
+ readonly internalType: "uint256";
576
+ readonly name: "scaledAmount";
577
+ readonly type: "uint256";
578
+ }, {
579
+ readonly internalType: "uint256";
580
+ readonly name: "index";
581
+ readonly type: "uint256";
582
+ }];
583
+ readonly name: "mint";
584
+ readonly outputs: readonly [{
585
+ readonly internalType: "bool";
586
+ readonly name: "";
587
+ readonly type: "bool";
588
+ }];
589
+ readonly stateMutability: "nonpayable";
590
+ readonly type: "function";
591
+ }, {
592
+ readonly inputs: readonly [{
593
+ readonly internalType: "uint256";
594
+ readonly name: "scaledAmount";
595
+ readonly type: "uint256";
596
+ }, {
597
+ readonly internalType: "uint256";
598
+ readonly name: "index";
599
+ readonly type: "uint256";
600
+ }];
601
+ readonly name: "mintToTreasury";
602
+ readonly outputs: readonly [];
603
+ readonly stateMutability: "nonpayable";
604
+ readonly type: "function";
605
+ }, {
606
+ readonly inputs: readonly [];
607
+ readonly name: "name";
608
+ readonly outputs: readonly [{
609
+ readonly internalType: "string";
610
+ readonly name: "";
611
+ readonly type: "string";
612
+ }];
613
+ readonly stateMutability: "view";
614
+ readonly type: "function";
615
+ }, {
616
+ readonly inputs: readonly [{
617
+ readonly internalType: "address";
618
+ readonly name: "owner";
619
+ readonly type: "address";
620
+ }];
621
+ readonly name: "nonces";
622
+ readonly outputs: readonly [{
623
+ readonly internalType: "uint256";
624
+ readonly name: "";
625
+ readonly type: "uint256";
626
+ }];
627
+ readonly stateMutability: "view";
628
+ readonly type: "function";
629
+ }, {
630
+ readonly inputs: readonly [{
631
+ readonly internalType: "address";
632
+ readonly name: "owner";
633
+ readonly type: "address";
634
+ }, {
635
+ readonly internalType: "address";
636
+ readonly name: "spender";
637
+ readonly type: "address";
638
+ }, {
639
+ readonly internalType: "uint256";
640
+ readonly name: "value";
641
+ readonly type: "uint256";
642
+ }, {
643
+ readonly internalType: "uint256";
644
+ readonly name: "deadline";
645
+ readonly type: "uint256";
646
+ }, {
647
+ readonly internalType: "uint8";
648
+ readonly name: "v";
649
+ readonly type: "uint8";
650
+ }, {
651
+ readonly internalType: "bytes32";
652
+ readonly name: "r";
653
+ readonly type: "bytes32";
654
+ }, {
655
+ readonly internalType: "bytes32";
656
+ readonly name: "s";
657
+ readonly type: "bytes32";
658
+ }];
659
+ readonly name: "permit";
660
+ readonly outputs: readonly [];
661
+ readonly stateMutability: "nonpayable";
662
+ readonly type: "function";
663
+ }, {
664
+ readonly inputs: readonly [{
665
+ readonly internalType: "address";
666
+ readonly name: "owner";
667
+ readonly type: "address";
668
+ }];
669
+ readonly name: "renounceAllowance";
670
+ readonly outputs: readonly [];
671
+ readonly stateMutability: "nonpayable";
672
+ readonly type: "function";
673
+ }, {
674
+ readonly inputs: readonly [{
675
+ readonly internalType: "address";
676
+ readonly name: "token";
677
+ readonly type: "address";
678
+ }, {
679
+ readonly internalType: "address";
680
+ readonly name: "to";
681
+ readonly type: "address";
682
+ }, {
683
+ readonly internalType: "uint256";
684
+ readonly name: "amount";
685
+ readonly type: "uint256";
686
+ }];
687
+ readonly name: "rescueTokens";
688
+ readonly outputs: readonly [];
689
+ readonly stateMutability: "nonpayable";
690
+ readonly type: "function";
691
+ }, {
692
+ readonly inputs: readonly [{
693
+ readonly internalType: "address";
694
+ readonly name: "user";
695
+ readonly type: "address";
696
+ }];
697
+ readonly name: "scaledBalanceOf";
698
+ readonly outputs: readonly [{
699
+ readonly internalType: "uint256";
700
+ readonly name: "";
701
+ readonly type: "uint256";
702
+ }];
703
+ readonly stateMutability: "view";
704
+ readonly type: "function";
705
+ }, {
706
+ readonly inputs: readonly [];
707
+ readonly name: "scaledTotalSupply";
708
+ readonly outputs: readonly [{
709
+ readonly internalType: "uint256";
710
+ readonly name: "";
711
+ readonly type: "uint256";
712
+ }];
713
+ readonly stateMutability: "view";
714
+ readonly type: "function";
715
+ }, {
716
+ readonly inputs: readonly [];
717
+ readonly name: "symbol";
718
+ readonly outputs: readonly [{
719
+ readonly internalType: "string";
720
+ readonly name: "";
721
+ readonly type: "string";
722
+ }];
723
+ readonly stateMutability: "view";
724
+ readonly type: "function";
725
+ }, {
726
+ readonly inputs: readonly [];
727
+ readonly name: "totalSupply";
728
+ readonly outputs: readonly [{
729
+ readonly internalType: "uint256";
730
+ readonly name: "";
731
+ readonly type: "uint256";
732
+ }];
733
+ readonly stateMutability: "view";
734
+ readonly type: "function";
735
+ }, {
736
+ readonly inputs: readonly [{
737
+ readonly internalType: "address";
738
+ readonly name: "recipient";
739
+ readonly type: "address";
740
+ }, {
741
+ readonly internalType: "uint256";
742
+ readonly name: "amount";
743
+ readonly type: "uint256";
744
+ }];
745
+ readonly name: "transfer";
746
+ readonly outputs: readonly [{
747
+ readonly internalType: "bool";
748
+ readonly name: "";
749
+ readonly type: "bool";
750
+ }];
751
+ readonly stateMutability: "nonpayable";
752
+ readonly type: "function";
753
+ }, {
754
+ readonly inputs: readonly [{
755
+ readonly internalType: "address";
756
+ readonly name: "sender";
757
+ readonly type: "address";
758
+ }, {
759
+ readonly internalType: "address";
760
+ readonly name: "recipient";
761
+ readonly type: "address";
762
+ }, {
763
+ readonly internalType: "uint256";
764
+ readonly name: "amount";
765
+ readonly type: "uint256";
766
+ }];
767
+ readonly name: "transferFrom";
768
+ readonly outputs: readonly [{
769
+ readonly internalType: "bool";
770
+ readonly name: "";
771
+ readonly type: "bool";
772
+ }];
773
+ readonly stateMutability: "nonpayable";
774
+ readonly type: "function";
775
+ }, {
776
+ readonly inputs: readonly [{
777
+ readonly internalType: "address";
778
+ readonly name: "from";
779
+ readonly type: "address";
780
+ }, {
781
+ readonly internalType: "address";
782
+ readonly name: "to";
783
+ readonly type: "address";
784
+ }, {
785
+ readonly internalType: "uint256";
786
+ readonly name: "amount";
787
+ readonly type: "uint256";
788
+ }, {
789
+ readonly internalType: "uint256";
790
+ readonly name: "scaledAmount";
791
+ readonly type: "uint256";
792
+ }, {
793
+ readonly internalType: "uint256";
794
+ readonly name: "index";
795
+ readonly type: "uint256";
796
+ }];
797
+ readonly name: "transferOnLiquidation";
798
+ readonly outputs: readonly [];
799
+ readonly stateMutability: "nonpayable";
800
+ readonly type: "function";
801
+ }, {
802
+ readonly inputs: readonly [{
803
+ readonly internalType: "address";
804
+ readonly name: "target";
805
+ readonly type: "address";
806
+ }, {
807
+ readonly internalType: "uint256";
808
+ readonly name: "amount";
809
+ readonly type: "uint256";
810
+ }];
811
+ readonly name: "transferUnderlyingTo";
812
+ readonly outputs: readonly [];
813
+ readonly stateMutability: "nonpayable";
814
+ readonly type: "function";
815
+ }];
816
+ /**
817
+ * Type-safe ABI for ATokenInstance_json
818
+ */
819
+ export type ATokenInstance_jsonAbi = typeof ATokenInstance_jsonAbi;
820
+ /**
821
+ * Contract instance type for ATokenInstance_json
822
+ */
823
+ export type ATokenInstance_jsonContract = any;
824
+ /**
825
+ * ATokenInstance_json Contract Class
826
+ *
827
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
828
+ *
829
+ * @example
830
+ * ```typescript
831
+ * import { createPublicClient, createWalletClient, http } from 'viem';
832
+ * import { mainnet } from 'viem/chains';
833
+ * import { ATokenInstance_json } from 'ATokenInstance_json';
834
+ *
835
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
836
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
837
+ *
838
+ * const contract = new ATokenInstance_json('0x...', { publicClient, walletClient });
839
+ *
840
+ * // Read functions
841
+ * const result = await contract.balanceOf('0x...');
842
+ *
843
+ * // Write functions
844
+ * const hash = await contract.transfer('0x...', 1000n);
845
+ *
846
+ * // Simulate transactions (dry-run)
847
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
848
+ * console.log('Gas estimate:', simulation.request.gas);
849
+ *
850
+ * // Watch events
851
+ * const unwatch = contract.watch.Transfer((event) => {
852
+ * console.log('Transfer event:', event);
853
+ * });
854
+ * ```
855
+ */
856
+ export declare class ATokenInstance_json {
857
+ private contract;
858
+ private contractAddress;
859
+ private publicClient;
860
+ constructor(address: Address, clients: {
861
+ publicClient: PublicClient;
862
+ walletClient?: WalletClient;
863
+ });
864
+ /**
865
+ * Get the contract address
866
+ */
867
+ get address(): Address;
868
+ /**
869
+ * Get the underlying viem contract instance
870
+ */
871
+ getContract(): ATokenInstance_jsonContract;
872
+ /**
873
+ * ATOKEN_REVISION
874
+ * view
875
+ */
876
+ ATOKEN_REVISION(): Promise<bigint>;
877
+ /**
878
+ * DOMAIN_SEPARATOR
879
+ * view
880
+ */
881
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
882
+ /**
883
+ * EIP712_REVISION
884
+ * view
885
+ */
886
+ EIP712_REVISION(): Promise<`0x${string}`>;
887
+ /**
888
+ * PERMIT_TYPEHASH
889
+ * view
890
+ */
891
+ PERMIT_TYPEHASH(): Promise<`0x${string}`>;
892
+ /**
893
+ * POOL
894
+ * view
895
+ */
896
+ POOL(): Promise<`0x${string}`>;
897
+ /**
898
+ * RESERVE_TREASURY_ADDRESS
899
+ * view
900
+ */
901
+ RESERVE_TREASURY_ADDRESS(): Promise<`0x${string}`>;
902
+ /**
903
+ * REWARDS_CONTROLLER
904
+ * view
905
+ */
906
+ REWARDS_CONTROLLER(): Promise<`0x${string}`>;
907
+ /**
908
+ * TREASURY
909
+ * view
910
+ */
911
+ TREASURY(): Promise<`0x${string}`>;
912
+ /**
913
+ * UNDERLYING_ASSET_ADDRESS
914
+ * view
915
+ */
916
+ UNDERLYING_ASSET_ADDRESS(): Promise<`0x${string}`>;
917
+ /**
918
+ * allowance
919
+ * view
920
+ */
921
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
922
+ /**
923
+ * balanceOf
924
+ * view
925
+ */
926
+ balanceOf(user: `0x${string}`): Promise<bigint>;
927
+ /**
928
+ * decimals
929
+ * view
930
+ */
931
+ decimals(): Promise<bigint>;
932
+ /**
933
+ * getIncentivesController
934
+ * view
935
+ */
936
+ getIncentivesController(): Promise<`0x${string}`>;
937
+ /**
938
+ * getPreviousIndex
939
+ * view
940
+ */
941
+ getPreviousIndex(user: `0x${string}`): Promise<bigint>;
942
+ /**
943
+ * getScaledUserBalanceAndSupply
944
+ * view
945
+ */
946
+ getScaledUserBalanceAndSupply(user: `0x${string}`): Promise<[bigint, bigint]>;
947
+ /**
948
+ * name
949
+ * view
950
+ */
951
+ name(): Promise<string>;
952
+ /**
953
+ * nonces
954
+ * view
955
+ */
956
+ nonces(owner: `0x${string}`): Promise<bigint>;
957
+ /**
958
+ * scaledBalanceOf
959
+ * view
960
+ */
961
+ scaledBalanceOf(user: `0x${string}`): Promise<bigint>;
962
+ /**
963
+ * scaledTotalSupply
964
+ * view
965
+ */
966
+ scaledTotalSupply(): Promise<bigint>;
967
+ /**
968
+ * symbol
969
+ * view
970
+ */
971
+ symbol(): Promise<string>;
972
+ /**
973
+ * totalSupply
974
+ * view
975
+ */
976
+ totalSupply(): Promise<bigint>;
977
+ /**
978
+ * approve
979
+ * nonpayable
980
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
981
+ */
982
+ approve(spender: `0x${string}`, amount: bigint, options?: {
983
+ accessList?: import('viem').AccessList;
984
+ authorizationList?: import('viem').AuthorizationList;
985
+ chain?: import('viem').Chain | null;
986
+ dataSuffix?: `0x${string}`;
987
+ gas?: bigint;
988
+ gasPrice?: bigint;
989
+ maxFeePerGas?: bigint;
990
+ maxPriorityFeePerGas?: bigint;
991
+ nonce?: number;
992
+ value?: bigint;
993
+ }): Promise<`0x${string}`>;
994
+ /**
995
+ * burn
996
+ * nonpayable
997
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
998
+ */
999
+ burn(from: `0x${string}`, receiverOfUnderlying: `0x${string}`, amount: bigint, scaledAmount: bigint, index: bigint, options?: {
1000
+ accessList?: import('viem').AccessList;
1001
+ authorizationList?: import('viem').AuthorizationList;
1002
+ chain?: import('viem').Chain | null;
1003
+ dataSuffix?: `0x${string}`;
1004
+ gas?: bigint;
1005
+ gasPrice?: bigint;
1006
+ maxFeePerGas?: bigint;
1007
+ maxPriorityFeePerGas?: bigint;
1008
+ nonce?: number;
1009
+ value?: bigint;
1010
+ }): Promise<`0x${string}`>;
1011
+ /**
1012
+ * decreaseAllowance
1013
+ * nonpayable
1014
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1015
+ */
1016
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
1017
+ accessList?: import('viem').AccessList;
1018
+ authorizationList?: import('viem').AuthorizationList;
1019
+ chain?: import('viem').Chain | null;
1020
+ dataSuffix?: `0x${string}`;
1021
+ gas?: bigint;
1022
+ gasPrice?: bigint;
1023
+ maxFeePerGas?: bigint;
1024
+ maxPriorityFeePerGas?: bigint;
1025
+ nonce?: number;
1026
+ value?: bigint;
1027
+ }): Promise<`0x${string}`>;
1028
+ /**
1029
+ * increaseAllowance
1030
+ * nonpayable
1031
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1032
+ */
1033
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1034
+ accessList?: import('viem').AccessList;
1035
+ authorizationList?: import('viem').AuthorizationList;
1036
+ chain?: import('viem').Chain | null;
1037
+ dataSuffix?: `0x${string}`;
1038
+ gas?: bigint;
1039
+ gasPrice?: bigint;
1040
+ maxFeePerGas?: bigint;
1041
+ maxPriorityFeePerGas?: bigint;
1042
+ nonce?: number;
1043
+ value?: bigint;
1044
+ }): Promise<`0x${string}`>;
1045
+ /**
1046
+ * initialize
1047
+ * nonpayable
1048
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1049
+ */
1050
+ initialize(initializingPool: `0x${string}`, underlyingAsset: `0x${string}`, aTokenDecimals: bigint, aTokenName: string, aTokenSymbol: string, params: `0x${string}`, options?: {
1051
+ accessList?: import('viem').AccessList;
1052
+ authorizationList?: import('viem').AuthorizationList;
1053
+ chain?: import('viem').Chain | null;
1054
+ dataSuffix?: `0x${string}`;
1055
+ gas?: bigint;
1056
+ gasPrice?: bigint;
1057
+ maxFeePerGas?: bigint;
1058
+ maxPriorityFeePerGas?: bigint;
1059
+ nonce?: number;
1060
+ value?: bigint;
1061
+ }): Promise<`0x${string}`>;
1062
+ /**
1063
+ * mint
1064
+ * nonpayable
1065
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1066
+ */
1067
+ mint(caller: `0x${string}`, onBehalfOf: `0x${string}`, scaledAmount: bigint, index: bigint, options?: {
1068
+ accessList?: import('viem').AccessList;
1069
+ authorizationList?: import('viem').AuthorizationList;
1070
+ chain?: import('viem').Chain | null;
1071
+ dataSuffix?: `0x${string}`;
1072
+ gas?: bigint;
1073
+ gasPrice?: bigint;
1074
+ maxFeePerGas?: bigint;
1075
+ maxPriorityFeePerGas?: bigint;
1076
+ nonce?: number;
1077
+ value?: bigint;
1078
+ }): Promise<`0x${string}`>;
1079
+ /**
1080
+ * mintToTreasury
1081
+ * nonpayable
1082
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1083
+ */
1084
+ mintToTreasury(scaledAmount: bigint, index: bigint, options?: {
1085
+ accessList?: import('viem').AccessList;
1086
+ authorizationList?: import('viem').AuthorizationList;
1087
+ chain?: import('viem').Chain | null;
1088
+ dataSuffix?: `0x${string}`;
1089
+ gas?: bigint;
1090
+ gasPrice?: bigint;
1091
+ maxFeePerGas?: bigint;
1092
+ maxPriorityFeePerGas?: bigint;
1093
+ nonce?: number;
1094
+ value?: bigint;
1095
+ }): Promise<`0x${string}`>;
1096
+ /**
1097
+ * permit
1098
+ * nonpayable
1099
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1100
+ */
1101
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1102
+ accessList?: import('viem').AccessList;
1103
+ authorizationList?: import('viem').AuthorizationList;
1104
+ chain?: import('viem').Chain | null;
1105
+ dataSuffix?: `0x${string}`;
1106
+ gas?: bigint;
1107
+ gasPrice?: bigint;
1108
+ maxFeePerGas?: bigint;
1109
+ maxPriorityFeePerGas?: bigint;
1110
+ nonce?: number;
1111
+ value?: bigint;
1112
+ }): Promise<`0x${string}`>;
1113
+ /**
1114
+ * renounceAllowance
1115
+ * nonpayable
1116
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1117
+ */
1118
+ renounceAllowance(owner: `0x${string}`, options?: {
1119
+ accessList?: import('viem').AccessList;
1120
+ authorizationList?: import('viem').AuthorizationList;
1121
+ chain?: import('viem').Chain | null;
1122
+ dataSuffix?: `0x${string}`;
1123
+ gas?: bigint;
1124
+ gasPrice?: bigint;
1125
+ maxFeePerGas?: bigint;
1126
+ maxPriorityFeePerGas?: bigint;
1127
+ nonce?: number;
1128
+ value?: bigint;
1129
+ }): Promise<`0x${string}`>;
1130
+ /**
1131
+ * rescueTokens
1132
+ * nonpayable
1133
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1134
+ */
1135
+ rescueTokens(token: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1136
+ accessList?: import('viem').AccessList;
1137
+ authorizationList?: import('viem').AuthorizationList;
1138
+ chain?: import('viem').Chain | null;
1139
+ dataSuffix?: `0x${string}`;
1140
+ gas?: bigint;
1141
+ gasPrice?: bigint;
1142
+ maxFeePerGas?: bigint;
1143
+ maxPriorityFeePerGas?: bigint;
1144
+ nonce?: number;
1145
+ value?: bigint;
1146
+ }): Promise<`0x${string}`>;
1147
+ /**
1148
+ * transfer
1149
+ * nonpayable
1150
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1151
+ */
1152
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
1153
+ accessList?: import('viem').AccessList;
1154
+ authorizationList?: import('viem').AuthorizationList;
1155
+ chain?: import('viem').Chain | null;
1156
+ dataSuffix?: `0x${string}`;
1157
+ gas?: bigint;
1158
+ gasPrice?: bigint;
1159
+ maxFeePerGas?: bigint;
1160
+ maxPriorityFeePerGas?: bigint;
1161
+ nonce?: number;
1162
+ value?: bigint;
1163
+ }): Promise<`0x${string}`>;
1164
+ /**
1165
+ * transferFrom
1166
+ * nonpayable
1167
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1168
+ */
1169
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
1170
+ accessList?: import('viem').AccessList;
1171
+ authorizationList?: import('viem').AuthorizationList;
1172
+ chain?: import('viem').Chain | null;
1173
+ dataSuffix?: `0x${string}`;
1174
+ gas?: bigint;
1175
+ gasPrice?: bigint;
1176
+ maxFeePerGas?: bigint;
1177
+ maxPriorityFeePerGas?: bigint;
1178
+ nonce?: number;
1179
+ value?: bigint;
1180
+ }): Promise<`0x${string}`>;
1181
+ /**
1182
+ * transferOnLiquidation
1183
+ * nonpayable
1184
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1185
+ */
1186
+ transferOnLiquidation(from: `0x${string}`, to: `0x${string}`, amount: bigint, scaledAmount: bigint, index: bigint, options?: {
1187
+ accessList?: import('viem').AccessList;
1188
+ authorizationList?: import('viem').AuthorizationList;
1189
+ chain?: import('viem').Chain | null;
1190
+ dataSuffix?: `0x${string}`;
1191
+ gas?: bigint;
1192
+ gasPrice?: bigint;
1193
+ maxFeePerGas?: bigint;
1194
+ maxPriorityFeePerGas?: bigint;
1195
+ nonce?: number;
1196
+ value?: bigint;
1197
+ }): Promise<`0x${string}`>;
1198
+ /**
1199
+ * transferUnderlyingTo
1200
+ * nonpayable
1201
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1202
+ */
1203
+ transferUnderlyingTo(target: `0x${string}`, amount: bigint, options?: {
1204
+ accessList?: import('viem').AccessList;
1205
+ authorizationList?: import('viem').AuthorizationList;
1206
+ chain?: import('viem').Chain | null;
1207
+ dataSuffix?: `0x${string}`;
1208
+ gas?: bigint;
1209
+ gasPrice?: bigint;
1210
+ maxFeePerGas?: bigint;
1211
+ maxPriorityFeePerGas?: bigint;
1212
+ nonce?: number;
1213
+ value?: bigint;
1214
+ }): Promise<`0x${string}`>;
1215
+ /**
1216
+ * Simulate contract write operations (dry-run without sending transaction)
1217
+ *
1218
+ * @example
1219
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1220
+ * console.log('Gas estimate:', result.request.gas);
1221
+ * console.log('Would succeed:', result.result);
1222
+ */
1223
+ get simulate(): {
1224
+ /**
1225
+ * Simulate approve
1226
+ * Returns gas estimate and result without sending transaction
1227
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1228
+ */
1229
+ approve(spender: `0x${string}`, amount: bigint, options?: {
1230
+ accessList?: import("viem").AccessList;
1231
+ authorizationList?: import("viem").AuthorizationList;
1232
+ chain?: import("viem").Chain | null;
1233
+ dataSuffix?: `0x${string}`;
1234
+ gas?: bigint;
1235
+ gasPrice?: bigint;
1236
+ maxFeePerGas?: bigint;
1237
+ maxPriorityFeePerGas?: bigint;
1238
+ nonce?: number;
1239
+ value?: bigint;
1240
+ }): Promise<boolean>;
1241
+ /**
1242
+ * Simulate burn
1243
+ * Returns gas estimate and result without sending transaction
1244
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1245
+ */
1246
+ burn(from: `0x${string}`, receiverOfUnderlying: `0x${string}`, amount: bigint, scaledAmount: bigint, index: bigint, options?: {
1247
+ accessList?: import("viem").AccessList;
1248
+ authorizationList?: import("viem").AuthorizationList;
1249
+ chain?: import("viem").Chain | null;
1250
+ dataSuffix?: `0x${string}`;
1251
+ gas?: bigint;
1252
+ gasPrice?: bigint;
1253
+ maxFeePerGas?: bigint;
1254
+ maxPriorityFeePerGas?: bigint;
1255
+ nonce?: number;
1256
+ value?: bigint;
1257
+ }): Promise<boolean>;
1258
+ /**
1259
+ * Simulate decreaseAllowance
1260
+ * Returns gas estimate and result without sending transaction
1261
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1262
+ */
1263
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
1264
+ accessList?: import("viem").AccessList;
1265
+ authorizationList?: import("viem").AuthorizationList;
1266
+ chain?: import("viem").Chain | null;
1267
+ dataSuffix?: `0x${string}`;
1268
+ gas?: bigint;
1269
+ gasPrice?: bigint;
1270
+ maxFeePerGas?: bigint;
1271
+ maxPriorityFeePerGas?: bigint;
1272
+ nonce?: number;
1273
+ value?: bigint;
1274
+ }): Promise<boolean>;
1275
+ /**
1276
+ * Simulate increaseAllowance
1277
+ * Returns gas estimate and result without sending transaction
1278
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1279
+ */
1280
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1281
+ accessList?: import("viem").AccessList;
1282
+ authorizationList?: import("viem").AuthorizationList;
1283
+ chain?: import("viem").Chain | null;
1284
+ dataSuffix?: `0x${string}`;
1285
+ gas?: bigint;
1286
+ gasPrice?: bigint;
1287
+ maxFeePerGas?: bigint;
1288
+ maxPriorityFeePerGas?: bigint;
1289
+ nonce?: number;
1290
+ value?: bigint;
1291
+ }): Promise<boolean>;
1292
+ /**
1293
+ * Simulate initialize
1294
+ * Returns gas estimate and result without sending transaction
1295
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1296
+ */
1297
+ initialize(initializingPool: `0x${string}`, underlyingAsset: `0x${string}`, aTokenDecimals: bigint, aTokenName: string, aTokenSymbol: string, params: `0x${string}`, options?: {
1298
+ accessList?: import("viem").AccessList;
1299
+ authorizationList?: import("viem").AuthorizationList;
1300
+ chain?: import("viem").Chain | null;
1301
+ dataSuffix?: `0x${string}`;
1302
+ gas?: bigint;
1303
+ gasPrice?: bigint;
1304
+ maxFeePerGas?: bigint;
1305
+ maxPriorityFeePerGas?: bigint;
1306
+ nonce?: number;
1307
+ value?: bigint;
1308
+ }): Promise<void>;
1309
+ /**
1310
+ * Simulate mint
1311
+ * Returns gas estimate and result without sending transaction
1312
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1313
+ */
1314
+ mint(caller: `0x${string}`, onBehalfOf: `0x${string}`, scaledAmount: bigint, index: bigint, options?: {
1315
+ accessList?: import("viem").AccessList;
1316
+ authorizationList?: import("viem").AuthorizationList;
1317
+ chain?: import("viem").Chain | null;
1318
+ dataSuffix?: `0x${string}`;
1319
+ gas?: bigint;
1320
+ gasPrice?: bigint;
1321
+ maxFeePerGas?: bigint;
1322
+ maxPriorityFeePerGas?: bigint;
1323
+ nonce?: number;
1324
+ value?: bigint;
1325
+ }): Promise<boolean>;
1326
+ /**
1327
+ * Simulate mintToTreasury
1328
+ * Returns gas estimate and result without sending transaction
1329
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1330
+ */
1331
+ mintToTreasury(scaledAmount: bigint, index: bigint, options?: {
1332
+ accessList?: import("viem").AccessList;
1333
+ authorizationList?: import("viem").AuthorizationList;
1334
+ chain?: import("viem").Chain | null;
1335
+ dataSuffix?: `0x${string}`;
1336
+ gas?: bigint;
1337
+ gasPrice?: bigint;
1338
+ maxFeePerGas?: bigint;
1339
+ maxPriorityFeePerGas?: bigint;
1340
+ nonce?: number;
1341
+ value?: bigint;
1342
+ }): Promise<void>;
1343
+ /**
1344
+ * Simulate permit
1345
+ * Returns gas estimate and result without sending transaction
1346
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1347
+ */
1348
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1349
+ accessList?: import("viem").AccessList;
1350
+ authorizationList?: import("viem").AuthorizationList;
1351
+ chain?: import("viem").Chain | null;
1352
+ dataSuffix?: `0x${string}`;
1353
+ gas?: bigint;
1354
+ gasPrice?: bigint;
1355
+ maxFeePerGas?: bigint;
1356
+ maxPriorityFeePerGas?: bigint;
1357
+ nonce?: number;
1358
+ value?: bigint;
1359
+ }): Promise<void>;
1360
+ /**
1361
+ * Simulate renounceAllowance
1362
+ * Returns gas estimate and result without sending transaction
1363
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1364
+ */
1365
+ renounceAllowance(owner: `0x${string}`, options?: {
1366
+ accessList?: import("viem").AccessList;
1367
+ authorizationList?: import("viem").AuthorizationList;
1368
+ chain?: import("viem").Chain | null;
1369
+ dataSuffix?: `0x${string}`;
1370
+ gas?: bigint;
1371
+ gasPrice?: bigint;
1372
+ maxFeePerGas?: bigint;
1373
+ maxPriorityFeePerGas?: bigint;
1374
+ nonce?: number;
1375
+ value?: bigint;
1376
+ }): Promise<void>;
1377
+ /**
1378
+ * Simulate rescueTokens
1379
+ * Returns gas estimate and result without sending transaction
1380
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1381
+ */
1382
+ rescueTokens(token: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1383
+ accessList?: import("viem").AccessList;
1384
+ authorizationList?: import("viem").AuthorizationList;
1385
+ chain?: import("viem").Chain | null;
1386
+ dataSuffix?: `0x${string}`;
1387
+ gas?: bigint;
1388
+ gasPrice?: bigint;
1389
+ maxFeePerGas?: bigint;
1390
+ maxPriorityFeePerGas?: bigint;
1391
+ nonce?: number;
1392
+ value?: bigint;
1393
+ }): Promise<void>;
1394
+ /**
1395
+ * Simulate transfer
1396
+ * Returns gas estimate and result without sending transaction
1397
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1398
+ */
1399
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
1400
+ accessList?: import("viem").AccessList;
1401
+ authorizationList?: import("viem").AuthorizationList;
1402
+ chain?: import("viem").Chain | null;
1403
+ dataSuffix?: `0x${string}`;
1404
+ gas?: bigint;
1405
+ gasPrice?: bigint;
1406
+ maxFeePerGas?: bigint;
1407
+ maxPriorityFeePerGas?: bigint;
1408
+ nonce?: number;
1409
+ value?: bigint;
1410
+ }): Promise<boolean>;
1411
+ /**
1412
+ * Simulate transferFrom
1413
+ * Returns gas estimate and result without sending transaction
1414
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1415
+ */
1416
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
1417
+ accessList?: import("viem").AccessList;
1418
+ authorizationList?: import("viem").AuthorizationList;
1419
+ chain?: import("viem").Chain | null;
1420
+ dataSuffix?: `0x${string}`;
1421
+ gas?: bigint;
1422
+ gasPrice?: bigint;
1423
+ maxFeePerGas?: bigint;
1424
+ maxPriorityFeePerGas?: bigint;
1425
+ nonce?: number;
1426
+ value?: bigint;
1427
+ }): Promise<boolean>;
1428
+ /**
1429
+ * Simulate transferOnLiquidation
1430
+ * Returns gas estimate and result without sending transaction
1431
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1432
+ */
1433
+ transferOnLiquidation(from: `0x${string}`, to: `0x${string}`, amount: bigint, scaledAmount: bigint, index: bigint, options?: {
1434
+ accessList?: import("viem").AccessList;
1435
+ authorizationList?: import("viem").AuthorizationList;
1436
+ chain?: import("viem").Chain | null;
1437
+ dataSuffix?: `0x${string}`;
1438
+ gas?: bigint;
1439
+ gasPrice?: bigint;
1440
+ maxFeePerGas?: bigint;
1441
+ maxPriorityFeePerGas?: bigint;
1442
+ nonce?: number;
1443
+ value?: bigint;
1444
+ }): Promise<void>;
1445
+ /**
1446
+ * Simulate transferUnderlyingTo
1447
+ * Returns gas estimate and result without sending transaction
1448
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1449
+ */
1450
+ transferUnderlyingTo(target: `0x${string}`, amount: bigint, options?: {
1451
+ accessList?: import("viem").AccessList;
1452
+ authorizationList?: import("viem").AuthorizationList;
1453
+ chain?: import("viem").Chain | null;
1454
+ dataSuffix?: `0x${string}`;
1455
+ gas?: bigint;
1456
+ gasPrice?: bigint;
1457
+ maxFeePerGas?: bigint;
1458
+ maxPriorityFeePerGas?: bigint;
1459
+ nonce?: number;
1460
+ value?: bigint;
1461
+ }): Promise<void>;
1462
+ };
1463
+ /**
1464
+ * Watch contract events
1465
+ *
1466
+ * @example
1467
+ * // Watch all Transfer events
1468
+ * const unwatch = contract.watch.Transfer((event) => {
1469
+ * console.log('Transfer:', event);
1470
+ * });
1471
+ *
1472
+ * // Stop watching
1473
+ * unwatch();
1474
+ */
1475
+ get watch(): {
1476
+ /**
1477
+ * Watch Approval events
1478
+ * @param callback Function to call when event is emitted
1479
+ * @param filter Optional filter for indexed parameters
1480
+ * @returns Unwatch function to stop listening
1481
+ */
1482
+ Approval: (callback: (event: {
1483
+ owner: `0x${string}`;
1484
+ spender: `0x${string}`;
1485
+ value: bigint;
1486
+ }) => void, filter?: {
1487
+ owner: `0x${string}`;
1488
+ spender: `0x${string}`;
1489
+ }) => () => void;
1490
+ /**
1491
+ * Watch BalanceTransfer events
1492
+ * @param callback Function to call when event is emitted
1493
+ * @param filter Optional filter for indexed parameters
1494
+ * @returns Unwatch function to stop listening
1495
+ */
1496
+ BalanceTransfer: (callback: (event: {
1497
+ from: `0x${string}`;
1498
+ to: `0x${string}`;
1499
+ value: bigint;
1500
+ index: bigint;
1501
+ }) => void, filter?: {
1502
+ from: `0x${string}`;
1503
+ to: `0x${string}`;
1504
+ }) => () => void;
1505
+ /**
1506
+ * Watch Burn events
1507
+ * @param callback Function to call when event is emitted
1508
+ * @param filter Optional filter for indexed parameters
1509
+ * @returns Unwatch function to stop listening
1510
+ */
1511
+ Burn: (callback: (event: {
1512
+ from: `0x${string}`;
1513
+ target: `0x${string}`;
1514
+ value: bigint;
1515
+ balanceIncrease: bigint;
1516
+ index: bigint;
1517
+ }) => void, filter?: {
1518
+ from: `0x${string}`;
1519
+ target: `0x${string}`;
1520
+ }) => () => void;
1521
+ /**
1522
+ * Watch Initialized events
1523
+ * @param callback Function to call when event is emitted
1524
+ * @param filter Optional filter for indexed parameters
1525
+ * @returns Unwatch function to stop listening
1526
+ */
1527
+ Initialized: (callback: (event: {
1528
+ underlyingAsset: `0x${string}`;
1529
+ pool: `0x${string}`;
1530
+ treasury: `0x${string}`;
1531
+ incentivesController: `0x${string}`;
1532
+ aTokenDecimals: bigint;
1533
+ aTokenName: string;
1534
+ aTokenSymbol: string;
1535
+ params: `0x${string}`;
1536
+ }) => void, filter?: {
1537
+ underlyingAsset: `0x${string}`;
1538
+ pool: `0x${string}`;
1539
+ }) => () => void;
1540
+ /**
1541
+ * Watch Mint events
1542
+ * @param callback Function to call when event is emitted
1543
+ * @param filter Optional filter for indexed parameters
1544
+ * @returns Unwatch function to stop listening
1545
+ */
1546
+ Mint: (callback: (event: {
1547
+ caller: `0x${string}`;
1548
+ onBehalfOf: `0x${string}`;
1549
+ value: bigint;
1550
+ balanceIncrease: bigint;
1551
+ index: bigint;
1552
+ }) => void, filter?: {
1553
+ caller: `0x${string}`;
1554
+ onBehalfOf: `0x${string}`;
1555
+ }) => () => void;
1556
+ /**
1557
+ * Watch Transfer events
1558
+ * @param callback Function to call when event is emitted
1559
+ * @param filter Optional filter for indexed parameters
1560
+ * @returns Unwatch function to stop listening
1561
+ */
1562
+ Transfer: (callback: (event: {
1563
+ from: `0x${string}`;
1564
+ to: `0x${string}`;
1565
+ value: bigint;
1566
+ }) => void, filter?: {
1567
+ from: `0x${string}`;
1568
+ to: `0x${string}`;
1569
+ }) => () => void;
1570
+ };
1571
+ }