@gitmyabi-stg/ath 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1279 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * AethirToken ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const AethirTokenAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "_adminMultisigWallet";
11
+ readonly type: "address";
12
+ }];
13
+ readonly stateMutability: "nonpayable";
14
+ readonly type: "constructor";
15
+ }, {
16
+ readonly inputs: readonly [];
17
+ readonly name: "InvalidShortString";
18
+ readonly type: "error";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "string";
22
+ readonly name: "str";
23
+ readonly type: "string";
24
+ }];
25
+ readonly name: "StringTooLong";
26
+ readonly type: "error";
27
+ }, {
28
+ readonly anonymous: false;
29
+ readonly inputs: readonly [{
30
+ readonly indexed: true;
31
+ readonly internalType: "address";
32
+ readonly name: "owner";
33
+ readonly type: "address";
34
+ }, {
35
+ readonly indexed: true;
36
+ readonly internalType: "address";
37
+ readonly name: "spender";
38
+ readonly type: "address";
39
+ }, {
40
+ readonly indexed: false;
41
+ readonly internalType: "uint256";
42
+ readonly name: "value";
43
+ readonly type: "uint256";
44
+ }];
45
+ readonly name: "Approval";
46
+ readonly type: "event";
47
+ }, {
48
+ readonly anonymous: false;
49
+ readonly inputs: readonly [];
50
+ readonly name: "EIP712DomainChanged";
51
+ readonly type: "event";
52
+ }, {
53
+ readonly anonymous: false;
54
+ readonly inputs: readonly [{
55
+ readonly indexed: true;
56
+ readonly internalType: "address";
57
+ readonly name: "previousOwner";
58
+ readonly type: "address";
59
+ }, {
60
+ readonly indexed: true;
61
+ readonly internalType: "address";
62
+ readonly name: "newOwner";
63
+ readonly type: "address";
64
+ }];
65
+ readonly name: "OwnershipTransferred";
66
+ readonly type: "event";
67
+ }, {
68
+ readonly anonymous: false;
69
+ readonly inputs: readonly [{
70
+ readonly indexed: true;
71
+ readonly internalType: "address";
72
+ readonly name: "from";
73
+ readonly type: "address";
74
+ }, {
75
+ readonly indexed: true;
76
+ readonly internalType: "address";
77
+ readonly name: "to";
78
+ readonly type: "address";
79
+ }, {
80
+ readonly indexed: false;
81
+ readonly internalType: "uint256";
82
+ readonly name: "value";
83
+ readonly type: "uint256";
84
+ }];
85
+ readonly name: "Transfer";
86
+ readonly type: "event";
87
+ }, {
88
+ readonly anonymous: false;
89
+ readonly inputs: readonly [{
90
+ readonly indexed: false;
91
+ readonly internalType: "address";
92
+ readonly name: "account";
93
+ readonly type: "address";
94
+ }, {
95
+ readonly indexed: false;
96
+ readonly internalType: "uint256";
97
+ readonly name: "maxAmount";
98
+ readonly type: "uint256";
99
+ }];
100
+ readonly name: "WhitelistedAdded";
101
+ readonly type: "event";
102
+ }, {
103
+ readonly anonymous: false;
104
+ readonly inputs: readonly [{
105
+ readonly indexed: false;
106
+ readonly internalType: "address";
107
+ readonly name: "account";
108
+ readonly type: "address";
109
+ }, {
110
+ readonly indexed: false;
111
+ readonly internalType: "address";
112
+ readonly name: "newAddress";
113
+ readonly type: "address";
114
+ }];
115
+ readonly name: "WhitelistedAddressUpdated";
116
+ readonly type: "event";
117
+ }, {
118
+ readonly anonymous: false;
119
+ readonly inputs: readonly [{
120
+ readonly indexed: false;
121
+ readonly internalType: "address";
122
+ readonly name: "account";
123
+ readonly type: "address";
124
+ }, {
125
+ readonly indexed: false;
126
+ readonly internalType: "uint256";
127
+ readonly name: "newMaxAmount";
128
+ readonly type: "uint256";
129
+ }];
130
+ readonly name: "WhitelistedMaxAmountUpdated";
131
+ readonly type: "event";
132
+ }, {
133
+ readonly anonymous: false;
134
+ readonly inputs: readonly [{
135
+ readonly indexed: false;
136
+ readonly internalType: "address";
137
+ readonly name: "account";
138
+ readonly type: "address";
139
+ }];
140
+ readonly name: "WhitelistedRemoved";
141
+ readonly type: "event";
142
+ }, {
143
+ readonly inputs: readonly [];
144
+ readonly name: "DOMAIN_SEPARATOR";
145
+ readonly outputs: readonly [{
146
+ readonly internalType: "bytes32";
147
+ readonly name: "";
148
+ readonly type: "bytes32";
149
+ }];
150
+ readonly stateMutability: "view";
151
+ readonly type: "function";
152
+ }, {
153
+ readonly inputs: readonly [];
154
+ readonly name: "MAX_SUPPLY";
155
+ readonly outputs: readonly [{
156
+ readonly internalType: "uint256";
157
+ readonly name: "";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly stateMutability: "view";
161
+ readonly type: "function";
162
+ }, {
163
+ readonly inputs: readonly [{
164
+ readonly internalType: "address";
165
+ readonly name: "account";
166
+ readonly type: "address";
167
+ }, {
168
+ readonly internalType: "uint256";
169
+ readonly name: "maxAmount";
170
+ readonly type: "uint256";
171
+ }];
172
+ readonly name: "addWhitelisted";
173
+ readonly outputs: readonly [];
174
+ readonly stateMutability: "nonpayable";
175
+ readonly type: "function";
176
+ }, {
177
+ readonly inputs: readonly [{
178
+ readonly internalType: "address";
179
+ readonly name: "owner";
180
+ readonly type: "address";
181
+ }, {
182
+ readonly internalType: "address";
183
+ readonly name: "spender";
184
+ readonly type: "address";
185
+ }];
186
+ readonly name: "allowance";
187
+ readonly outputs: readonly [{
188
+ readonly internalType: "uint256";
189
+ readonly name: "";
190
+ readonly type: "uint256";
191
+ }];
192
+ readonly stateMutability: "view";
193
+ readonly type: "function";
194
+ }, {
195
+ readonly inputs: readonly [{
196
+ readonly internalType: "address";
197
+ readonly name: "";
198
+ readonly type: "address";
199
+ }];
200
+ readonly name: "allowedAmount";
201
+ readonly outputs: readonly [{
202
+ readonly internalType: "uint256";
203
+ readonly name: "";
204
+ readonly type: "uint256";
205
+ }];
206
+ readonly stateMutability: "view";
207
+ readonly type: "function";
208
+ }, {
209
+ readonly inputs: readonly [{
210
+ readonly internalType: "address";
211
+ readonly name: "spender";
212
+ readonly type: "address";
213
+ }, {
214
+ readonly internalType: "uint256";
215
+ readonly name: "amount";
216
+ readonly type: "uint256";
217
+ }];
218
+ readonly name: "approve";
219
+ readonly outputs: readonly [{
220
+ readonly internalType: "bool";
221
+ readonly name: "";
222
+ readonly type: "bool";
223
+ }];
224
+ readonly stateMutability: "nonpayable";
225
+ readonly type: "function";
226
+ }, {
227
+ readonly inputs: readonly [{
228
+ readonly internalType: "address";
229
+ readonly name: "account";
230
+ readonly type: "address";
231
+ }];
232
+ readonly name: "balanceOf";
233
+ readonly outputs: readonly [{
234
+ readonly internalType: "uint256";
235
+ readonly name: "";
236
+ readonly type: "uint256";
237
+ }];
238
+ readonly stateMutability: "view";
239
+ readonly type: "function";
240
+ }, {
241
+ readonly inputs: readonly [];
242
+ readonly name: "decimals";
243
+ readonly outputs: readonly [{
244
+ readonly internalType: "uint8";
245
+ readonly name: "";
246
+ readonly type: "uint8";
247
+ }];
248
+ readonly stateMutability: "view";
249
+ readonly type: "function";
250
+ }, {
251
+ readonly inputs: readonly [{
252
+ readonly internalType: "address";
253
+ readonly name: "spender";
254
+ readonly type: "address";
255
+ }, {
256
+ readonly internalType: "uint256";
257
+ readonly name: "subtractedValue";
258
+ readonly type: "uint256";
259
+ }];
260
+ readonly name: "decreaseAllowance";
261
+ readonly outputs: readonly [{
262
+ readonly internalType: "bool";
263
+ readonly name: "";
264
+ readonly type: "bool";
265
+ }];
266
+ readonly stateMutability: "nonpayable";
267
+ readonly type: "function";
268
+ }, {
269
+ readonly inputs: readonly [];
270
+ readonly name: "eip712Domain";
271
+ readonly outputs: readonly [{
272
+ readonly internalType: "bytes1";
273
+ readonly name: "fields";
274
+ readonly type: "bytes1";
275
+ }, {
276
+ readonly internalType: "string";
277
+ readonly name: "name";
278
+ readonly type: "string";
279
+ }, {
280
+ readonly internalType: "string";
281
+ readonly name: "version";
282
+ readonly type: "string";
283
+ }, {
284
+ readonly internalType: "uint256";
285
+ readonly name: "chainId";
286
+ readonly type: "uint256";
287
+ }, {
288
+ readonly internalType: "address";
289
+ readonly name: "verifyingContract";
290
+ readonly type: "address";
291
+ }, {
292
+ readonly internalType: "bytes32";
293
+ readonly name: "salt";
294
+ readonly type: "bytes32";
295
+ }, {
296
+ readonly internalType: "uint256[]";
297
+ readonly name: "extensions";
298
+ readonly type: "uint256[]";
299
+ }];
300
+ readonly stateMutability: "view";
301
+ readonly type: "function";
302
+ }, {
303
+ readonly inputs: readonly [{
304
+ readonly internalType: "address";
305
+ readonly name: "spender";
306
+ readonly type: "address";
307
+ }, {
308
+ readonly internalType: "uint256";
309
+ readonly name: "addedValue";
310
+ readonly type: "uint256";
311
+ }];
312
+ readonly name: "increaseAllowance";
313
+ readonly outputs: readonly [{
314
+ readonly internalType: "bool";
315
+ readonly name: "";
316
+ readonly type: "bool";
317
+ }];
318
+ readonly stateMutability: "nonpayable";
319
+ readonly type: "function";
320
+ }, {
321
+ readonly inputs: readonly [{
322
+ readonly internalType: "uint256";
323
+ readonly name: "amount";
324
+ readonly type: "uint256";
325
+ }];
326
+ readonly name: "mint";
327
+ readonly outputs: readonly [];
328
+ readonly stateMutability: "nonpayable";
329
+ readonly type: "function";
330
+ }, {
331
+ readonly inputs: readonly [];
332
+ readonly name: "name";
333
+ readonly outputs: readonly [{
334
+ readonly internalType: "string";
335
+ readonly name: "";
336
+ readonly type: "string";
337
+ }];
338
+ readonly stateMutability: "view";
339
+ readonly type: "function";
340
+ }, {
341
+ readonly inputs: readonly [{
342
+ readonly internalType: "address";
343
+ readonly name: "owner";
344
+ readonly type: "address";
345
+ }];
346
+ readonly name: "nonces";
347
+ readonly outputs: readonly [{
348
+ readonly internalType: "uint256";
349
+ readonly name: "";
350
+ readonly type: "uint256";
351
+ }];
352
+ readonly stateMutability: "view";
353
+ readonly type: "function";
354
+ }, {
355
+ readonly inputs: readonly [];
356
+ readonly name: "owner";
357
+ readonly outputs: readonly [{
358
+ readonly internalType: "address";
359
+ readonly name: "";
360
+ readonly type: "address";
361
+ }];
362
+ readonly stateMutability: "view";
363
+ readonly type: "function";
364
+ }, {
365
+ readonly inputs: readonly [{
366
+ readonly internalType: "address";
367
+ readonly name: "owner";
368
+ readonly type: "address";
369
+ }, {
370
+ readonly internalType: "address";
371
+ readonly name: "spender";
372
+ readonly type: "address";
373
+ }, {
374
+ readonly internalType: "uint256";
375
+ readonly name: "value";
376
+ readonly type: "uint256";
377
+ }, {
378
+ readonly internalType: "uint256";
379
+ readonly name: "deadline";
380
+ readonly type: "uint256";
381
+ }, {
382
+ readonly internalType: "uint8";
383
+ readonly name: "v";
384
+ readonly type: "uint8";
385
+ }, {
386
+ readonly internalType: "bytes32";
387
+ readonly name: "r";
388
+ readonly type: "bytes32";
389
+ }, {
390
+ readonly internalType: "bytes32";
391
+ readonly name: "s";
392
+ readonly type: "bytes32";
393
+ }];
394
+ readonly name: "permit";
395
+ readonly outputs: readonly [];
396
+ readonly stateMutability: "nonpayable";
397
+ readonly type: "function";
398
+ }, {
399
+ readonly inputs: readonly [];
400
+ readonly name: "remainWhitelisted";
401
+ readonly outputs: readonly [{
402
+ readonly internalType: "uint256";
403
+ readonly name: "";
404
+ readonly type: "uint256";
405
+ }];
406
+ readonly stateMutability: "view";
407
+ readonly type: "function";
408
+ }, {
409
+ readonly inputs: readonly [{
410
+ readonly internalType: "address";
411
+ readonly name: "account";
412
+ readonly type: "address";
413
+ }];
414
+ readonly name: "removeWhitelisted";
415
+ readonly outputs: readonly [];
416
+ readonly stateMutability: "nonpayable";
417
+ readonly type: "function";
418
+ }, {
419
+ readonly inputs: readonly [];
420
+ readonly name: "renounceOwnership";
421
+ readonly outputs: readonly [];
422
+ readonly stateMutability: "nonpayable";
423
+ readonly type: "function";
424
+ }, {
425
+ readonly inputs: readonly [];
426
+ readonly name: "symbol";
427
+ readonly outputs: readonly [{
428
+ readonly internalType: "string";
429
+ readonly name: "";
430
+ readonly type: "string";
431
+ }];
432
+ readonly stateMutability: "view";
433
+ readonly type: "function";
434
+ }, {
435
+ readonly inputs: readonly [];
436
+ readonly name: "totalSupply";
437
+ readonly outputs: readonly [{
438
+ readonly internalType: "uint256";
439
+ readonly name: "";
440
+ readonly type: "uint256";
441
+ }];
442
+ readonly stateMutability: "view";
443
+ readonly type: "function";
444
+ }, {
445
+ readonly inputs: readonly [];
446
+ readonly name: "totalTransferred";
447
+ readonly outputs: readonly [{
448
+ readonly internalType: "uint256";
449
+ readonly name: "";
450
+ readonly type: "uint256";
451
+ }];
452
+ readonly stateMutability: "view";
453
+ readonly type: "function";
454
+ }, {
455
+ readonly inputs: readonly [{
456
+ readonly internalType: "address";
457
+ readonly name: "to";
458
+ readonly type: "address";
459
+ }, {
460
+ readonly internalType: "uint256";
461
+ readonly name: "amount";
462
+ readonly type: "uint256";
463
+ }];
464
+ readonly name: "transfer";
465
+ readonly outputs: readonly [{
466
+ readonly internalType: "bool";
467
+ readonly name: "";
468
+ readonly type: "bool";
469
+ }];
470
+ readonly stateMutability: "nonpayable";
471
+ readonly type: "function";
472
+ }, {
473
+ readonly inputs: readonly [{
474
+ readonly internalType: "address";
475
+ readonly name: "from";
476
+ readonly type: "address";
477
+ }, {
478
+ readonly internalType: "address";
479
+ readonly name: "to";
480
+ readonly type: "address";
481
+ }, {
482
+ readonly internalType: "uint256";
483
+ readonly name: "amount";
484
+ readonly type: "uint256";
485
+ }];
486
+ readonly name: "transferFrom";
487
+ readonly outputs: readonly [{
488
+ readonly internalType: "bool";
489
+ readonly name: "";
490
+ readonly type: "bool";
491
+ }];
492
+ readonly stateMutability: "nonpayable";
493
+ readonly type: "function";
494
+ }, {
495
+ readonly inputs: readonly [{
496
+ readonly internalType: "address";
497
+ readonly name: "newOwner";
498
+ readonly type: "address";
499
+ }];
500
+ readonly name: "transferOwnership";
501
+ readonly outputs: readonly [];
502
+ readonly stateMutability: "nonpayable";
503
+ readonly type: "function";
504
+ }, {
505
+ readonly inputs: readonly [{
506
+ readonly internalType: "address";
507
+ readonly name: "to";
508
+ readonly type: "address";
509
+ }, {
510
+ readonly internalType: "uint256";
511
+ readonly name: "amount";
512
+ readonly type: "uint256";
513
+ }];
514
+ readonly name: "transferToWhitelisted";
515
+ readonly outputs: readonly [];
516
+ readonly stateMutability: "nonpayable";
517
+ readonly type: "function";
518
+ }, {
519
+ readonly inputs: readonly [{
520
+ readonly internalType: "address";
521
+ readonly name: "";
522
+ readonly type: "address";
523
+ }];
524
+ readonly name: "transferredAmount";
525
+ readonly outputs: readonly [{
526
+ readonly internalType: "uint256";
527
+ readonly name: "";
528
+ readonly type: "uint256";
529
+ }];
530
+ readonly stateMutability: "view";
531
+ readonly type: "function";
532
+ }, {
533
+ readonly inputs: readonly [{
534
+ readonly internalType: "address";
535
+ readonly name: "account";
536
+ readonly type: "address";
537
+ }, {
538
+ readonly internalType: "address";
539
+ readonly name: "newAddress";
540
+ readonly type: "address";
541
+ }];
542
+ readonly name: "updateWhitelistedAddress";
543
+ readonly outputs: readonly [];
544
+ readonly stateMutability: "nonpayable";
545
+ readonly type: "function";
546
+ }, {
547
+ readonly inputs: readonly [{
548
+ readonly internalType: "address";
549
+ readonly name: "account";
550
+ readonly type: "address";
551
+ }, {
552
+ readonly internalType: "uint256";
553
+ readonly name: "newMaxAmount";
554
+ readonly type: "uint256";
555
+ }];
556
+ readonly name: "updateWhitelistedMaxAmount";
557
+ readonly outputs: readonly [];
558
+ readonly stateMutability: "nonpayable";
559
+ readonly type: "function";
560
+ }];
561
+ /**
562
+ * Type-safe ABI for AethirToken
563
+ */
564
+ export type AethirTokenAbi = typeof AethirTokenAbi;
565
+ /**
566
+ * Contract instance type for AethirToken
567
+ */
568
+ export type AethirTokenContract = any;
569
+ /**
570
+ * AethirToken Contract Class
571
+ *
572
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
573
+ *
574
+ * @example
575
+ * ```typescript
576
+ * import { createPublicClient, createWalletClient, http } from 'viem';
577
+ * import { mainnet } from 'viem/chains';
578
+ * import { AethirToken } from 'AethirToken';
579
+ *
580
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
581
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
582
+ *
583
+ * const contract = new AethirToken('0x...', { publicClient, walletClient });
584
+ *
585
+ * // Read functions
586
+ * const result = await contract.balanceOf('0x...');
587
+ *
588
+ * // Write functions
589
+ * const hash = await contract.transfer('0x...', 1000n);
590
+ *
591
+ * // Simulate transactions (dry-run)
592
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
593
+ * console.log('Gas estimate:', simulation.request.gas);
594
+ *
595
+ * // Watch events
596
+ * const unwatch = contract.watch.Transfer((event) => {
597
+ * console.log('Transfer event:', event);
598
+ * });
599
+ * ```
600
+ */
601
+ export declare class AethirToken {
602
+ private contract;
603
+ private contractAddress;
604
+ private publicClient;
605
+ constructor(address: Address, clients: {
606
+ publicClient: PublicClient;
607
+ walletClient?: WalletClient;
608
+ });
609
+ /**
610
+ * Get the contract address
611
+ */
612
+ get address(): Address;
613
+ /**
614
+ * Get the underlying viem contract instance.
615
+ */
616
+ getContract(): AethirTokenContract;
617
+ /**
618
+ * DOMAIN_SEPARATOR
619
+ * view
620
+ */
621
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
622
+ /**
623
+ * MAX_SUPPLY
624
+ * view
625
+ */
626
+ MAX_SUPPLY(): Promise<bigint>;
627
+ /**
628
+ * allowance
629
+ * view
630
+ */
631
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
632
+ /**
633
+ * allowedAmount
634
+ * view
635
+ */
636
+ allowedAmount(arg0: `0x${string}`): Promise<bigint>;
637
+ /**
638
+ * balanceOf
639
+ * view
640
+ */
641
+ balanceOf(account: `0x${string}`): Promise<bigint>;
642
+ /**
643
+ * decimals
644
+ * view
645
+ */
646
+ decimals(): Promise<bigint>;
647
+ /**
648
+ * eip712Domain
649
+ * view
650
+ */
651
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
652
+ /**
653
+ * name
654
+ * view
655
+ */
656
+ name(): Promise<string>;
657
+ /**
658
+ * nonces
659
+ * view
660
+ */
661
+ nonces(owner: `0x${string}`): Promise<bigint>;
662
+ /**
663
+ * owner
664
+ * view
665
+ */
666
+ owner(): Promise<`0x${string}`>;
667
+ /**
668
+ * remainWhitelisted
669
+ * view
670
+ */
671
+ remainWhitelisted(): Promise<bigint>;
672
+ /**
673
+ * symbol
674
+ * view
675
+ */
676
+ symbol(): Promise<string>;
677
+ /**
678
+ * totalSupply
679
+ * view
680
+ */
681
+ totalSupply(): Promise<bigint>;
682
+ /**
683
+ * totalTransferred
684
+ * view
685
+ */
686
+ totalTransferred(): Promise<bigint>;
687
+ /**
688
+ * transferredAmount
689
+ * view
690
+ */
691
+ transferredAmount(arg0: `0x${string}`): Promise<bigint>;
692
+ /**
693
+ * addWhitelisted
694
+ * nonpayable
695
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
696
+ */
697
+ addWhitelisted(account: `0x${string}`, maxAmount: bigint, options?: {
698
+ accessList?: import('viem').AccessList;
699
+ authorizationList?: import('viem').AuthorizationList;
700
+ chain?: import('viem').Chain | null;
701
+ dataSuffix?: `0x${string}`;
702
+ gas?: bigint;
703
+ gasPrice?: bigint;
704
+ maxFeePerGas?: bigint;
705
+ maxPriorityFeePerGas?: bigint;
706
+ nonce?: number;
707
+ value?: bigint;
708
+ }): Promise<`0x${string}`>;
709
+ /**
710
+ * approve
711
+ * nonpayable
712
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
713
+ */
714
+ approve(spender: `0x${string}`, amount: bigint, options?: {
715
+ accessList?: import('viem').AccessList;
716
+ authorizationList?: import('viem').AuthorizationList;
717
+ chain?: import('viem').Chain | null;
718
+ dataSuffix?: `0x${string}`;
719
+ gas?: bigint;
720
+ gasPrice?: bigint;
721
+ maxFeePerGas?: bigint;
722
+ maxPriorityFeePerGas?: bigint;
723
+ nonce?: number;
724
+ value?: bigint;
725
+ }): Promise<`0x${string}`>;
726
+ /**
727
+ * decreaseAllowance
728
+ * nonpayable
729
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
730
+ */
731
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
732
+ accessList?: import('viem').AccessList;
733
+ authorizationList?: import('viem').AuthorizationList;
734
+ chain?: import('viem').Chain | null;
735
+ dataSuffix?: `0x${string}`;
736
+ gas?: bigint;
737
+ gasPrice?: bigint;
738
+ maxFeePerGas?: bigint;
739
+ maxPriorityFeePerGas?: bigint;
740
+ nonce?: number;
741
+ value?: bigint;
742
+ }): Promise<`0x${string}`>;
743
+ /**
744
+ * increaseAllowance
745
+ * nonpayable
746
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
747
+ */
748
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
749
+ accessList?: import('viem').AccessList;
750
+ authorizationList?: import('viem').AuthorizationList;
751
+ chain?: import('viem').Chain | null;
752
+ dataSuffix?: `0x${string}`;
753
+ gas?: bigint;
754
+ gasPrice?: bigint;
755
+ maxFeePerGas?: bigint;
756
+ maxPriorityFeePerGas?: bigint;
757
+ nonce?: number;
758
+ value?: bigint;
759
+ }): Promise<`0x${string}`>;
760
+ /**
761
+ * mint
762
+ * nonpayable
763
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
764
+ */
765
+ mint(amount: bigint, options?: {
766
+ accessList?: import('viem').AccessList;
767
+ authorizationList?: import('viem').AuthorizationList;
768
+ chain?: import('viem').Chain | null;
769
+ dataSuffix?: `0x${string}`;
770
+ gas?: bigint;
771
+ gasPrice?: bigint;
772
+ maxFeePerGas?: bigint;
773
+ maxPriorityFeePerGas?: bigint;
774
+ nonce?: number;
775
+ value?: bigint;
776
+ }): Promise<`0x${string}`>;
777
+ /**
778
+ * permit
779
+ * nonpayable
780
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
781
+ */
782
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
783
+ accessList?: import('viem').AccessList;
784
+ authorizationList?: import('viem').AuthorizationList;
785
+ chain?: import('viem').Chain | null;
786
+ dataSuffix?: `0x${string}`;
787
+ gas?: bigint;
788
+ gasPrice?: bigint;
789
+ maxFeePerGas?: bigint;
790
+ maxPriorityFeePerGas?: bigint;
791
+ nonce?: number;
792
+ value?: bigint;
793
+ }): Promise<`0x${string}`>;
794
+ /**
795
+ * removeWhitelisted
796
+ * nonpayable
797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
798
+ */
799
+ removeWhitelisted(account: `0x${string}`, options?: {
800
+ accessList?: import('viem').AccessList;
801
+ authorizationList?: import('viem').AuthorizationList;
802
+ chain?: import('viem').Chain | null;
803
+ dataSuffix?: `0x${string}`;
804
+ gas?: bigint;
805
+ gasPrice?: bigint;
806
+ maxFeePerGas?: bigint;
807
+ maxPriorityFeePerGas?: bigint;
808
+ nonce?: number;
809
+ value?: bigint;
810
+ }): Promise<`0x${string}`>;
811
+ /**
812
+ * renounceOwnership
813
+ * nonpayable
814
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
815
+ */
816
+ renounceOwnership(options?: {
817
+ accessList?: import('viem').AccessList;
818
+ authorizationList?: import('viem').AuthorizationList;
819
+ chain?: import('viem').Chain | null;
820
+ dataSuffix?: `0x${string}`;
821
+ gas?: bigint;
822
+ gasPrice?: bigint;
823
+ maxFeePerGas?: bigint;
824
+ maxPriorityFeePerGas?: bigint;
825
+ nonce?: number;
826
+ value?: bigint;
827
+ }): Promise<`0x${string}`>;
828
+ /**
829
+ * transfer
830
+ * nonpayable
831
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
832
+ */
833
+ transfer(to: `0x${string}`, amount: bigint, options?: {
834
+ accessList?: import('viem').AccessList;
835
+ authorizationList?: import('viem').AuthorizationList;
836
+ chain?: import('viem').Chain | null;
837
+ dataSuffix?: `0x${string}`;
838
+ gas?: bigint;
839
+ gasPrice?: bigint;
840
+ maxFeePerGas?: bigint;
841
+ maxPriorityFeePerGas?: bigint;
842
+ nonce?: number;
843
+ value?: bigint;
844
+ }): Promise<`0x${string}`>;
845
+ /**
846
+ * transferFrom
847
+ * nonpayable
848
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
849
+ */
850
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
851
+ accessList?: import('viem').AccessList;
852
+ authorizationList?: import('viem').AuthorizationList;
853
+ chain?: import('viem').Chain | null;
854
+ dataSuffix?: `0x${string}`;
855
+ gas?: bigint;
856
+ gasPrice?: bigint;
857
+ maxFeePerGas?: bigint;
858
+ maxPriorityFeePerGas?: bigint;
859
+ nonce?: number;
860
+ value?: bigint;
861
+ }): Promise<`0x${string}`>;
862
+ /**
863
+ * transferOwnership
864
+ * nonpayable
865
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
866
+ */
867
+ transferOwnership(newOwner: `0x${string}`, options?: {
868
+ accessList?: import('viem').AccessList;
869
+ authorizationList?: import('viem').AuthorizationList;
870
+ chain?: import('viem').Chain | null;
871
+ dataSuffix?: `0x${string}`;
872
+ gas?: bigint;
873
+ gasPrice?: bigint;
874
+ maxFeePerGas?: bigint;
875
+ maxPriorityFeePerGas?: bigint;
876
+ nonce?: number;
877
+ value?: bigint;
878
+ }): Promise<`0x${string}`>;
879
+ /**
880
+ * transferToWhitelisted
881
+ * nonpayable
882
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
883
+ */
884
+ transferToWhitelisted(to: `0x${string}`, amount: bigint, options?: {
885
+ accessList?: import('viem').AccessList;
886
+ authorizationList?: import('viem').AuthorizationList;
887
+ chain?: import('viem').Chain | null;
888
+ dataSuffix?: `0x${string}`;
889
+ gas?: bigint;
890
+ gasPrice?: bigint;
891
+ maxFeePerGas?: bigint;
892
+ maxPriorityFeePerGas?: bigint;
893
+ nonce?: number;
894
+ value?: bigint;
895
+ }): Promise<`0x${string}`>;
896
+ /**
897
+ * updateWhitelistedAddress
898
+ * nonpayable
899
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
900
+ */
901
+ updateWhitelistedAddress(account: `0x${string}`, newAddress: `0x${string}`, options?: {
902
+ accessList?: import('viem').AccessList;
903
+ authorizationList?: import('viem').AuthorizationList;
904
+ chain?: import('viem').Chain | null;
905
+ dataSuffix?: `0x${string}`;
906
+ gas?: bigint;
907
+ gasPrice?: bigint;
908
+ maxFeePerGas?: bigint;
909
+ maxPriorityFeePerGas?: bigint;
910
+ nonce?: number;
911
+ value?: bigint;
912
+ }): Promise<`0x${string}`>;
913
+ /**
914
+ * updateWhitelistedMaxAmount
915
+ * nonpayable
916
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
917
+ */
918
+ updateWhitelistedMaxAmount(account: `0x${string}`, newMaxAmount: bigint, options?: {
919
+ accessList?: import('viem').AccessList;
920
+ authorizationList?: import('viem').AuthorizationList;
921
+ chain?: import('viem').Chain | null;
922
+ dataSuffix?: `0x${string}`;
923
+ gas?: bigint;
924
+ gasPrice?: bigint;
925
+ maxFeePerGas?: bigint;
926
+ maxPriorityFeePerGas?: bigint;
927
+ nonce?: number;
928
+ value?: bigint;
929
+ }): Promise<`0x${string}`>;
930
+ /**
931
+ * Simulate contract write operations (dry-run without sending transaction)
932
+ *
933
+ * @example
934
+ * const result = await contract.simulate.transfer('0x...', 1000n);
935
+ * console.log('Gas estimate:', result.request.gas);
936
+ * console.log('Would succeed:', result.result);
937
+ */
938
+ get simulate(): {
939
+ /**
940
+ * Simulate addWhitelisted
941
+ * Returns gas estimate and result without sending transaction
942
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
943
+ */
944
+ addWhitelisted(account: `0x${string}`, maxAmount: bigint, options?: {
945
+ accessList?: import("viem").AccessList;
946
+ authorizationList?: import("viem").AuthorizationList;
947
+ chain?: import("viem").Chain | null;
948
+ dataSuffix?: `0x${string}`;
949
+ gas?: bigint;
950
+ gasPrice?: bigint;
951
+ maxFeePerGas?: bigint;
952
+ maxPriorityFeePerGas?: bigint;
953
+ nonce?: number;
954
+ value?: bigint;
955
+ }): Promise<void>;
956
+ /**
957
+ * Simulate approve
958
+ * Returns gas estimate and result without sending transaction
959
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
960
+ */
961
+ approve(spender: `0x${string}`, amount: bigint, options?: {
962
+ accessList?: import("viem").AccessList;
963
+ authorizationList?: import("viem").AuthorizationList;
964
+ chain?: import("viem").Chain | null;
965
+ dataSuffix?: `0x${string}`;
966
+ gas?: bigint;
967
+ gasPrice?: bigint;
968
+ maxFeePerGas?: bigint;
969
+ maxPriorityFeePerGas?: bigint;
970
+ nonce?: number;
971
+ value?: bigint;
972
+ }): Promise<boolean>;
973
+ /**
974
+ * Simulate decreaseAllowance
975
+ * Returns gas estimate and result without sending transaction
976
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
977
+ */
978
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
979
+ accessList?: import("viem").AccessList;
980
+ authorizationList?: import("viem").AuthorizationList;
981
+ chain?: import("viem").Chain | null;
982
+ dataSuffix?: `0x${string}`;
983
+ gas?: bigint;
984
+ gasPrice?: bigint;
985
+ maxFeePerGas?: bigint;
986
+ maxPriorityFeePerGas?: bigint;
987
+ nonce?: number;
988
+ value?: bigint;
989
+ }): Promise<boolean>;
990
+ /**
991
+ * Simulate increaseAllowance
992
+ * Returns gas estimate and result without sending transaction
993
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
994
+ */
995
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
996
+ accessList?: import("viem").AccessList;
997
+ authorizationList?: import("viem").AuthorizationList;
998
+ chain?: import("viem").Chain | null;
999
+ dataSuffix?: `0x${string}`;
1000
+ gas?: bigint;
1001
+ gasPrice?: bigint;
1002
+ maxFeePerGas?: bigint;
1003
+ maxPriorityFeePerGas?: bigint;
1004
+ nonce?: number;
1005
+ value?: bigint;
1006
+ }): Promise<boolean>;
1007
+ /**
1008
+ * Simulate mint
1009
+ * Returns gas estimate and result without sending transaction
1010
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1011
+ */
1012
+ mint(amount: bigint, options?: {
1013
+ accessList?: import("viem").AccessList;
1014
+ authorizationList?: import("viem").AuthorizationList;
1015
+ chain?: import("viem").Chain | null;
1016
+ dataSuffix?: `0x${string}`;
1017
+ gas?: bigint;
1018
+ gasPrice?: bigint;
1019
+ maxFeePerGas?: bigint;
1020
+ maxPriorityFeePerGas?: bigint;
1021
+ nonce?: number;
1022
+ value?: bigint;
1023
+ }): Promise<void>;
1024
+ /**
1025
+ * Simulate permit
1026
+ * Returns gas estimate and result without sending transaction
1027
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1028
+ */
1029
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1030
+ accessList?: import("viem").AccessList;
1031
+ authorizationList?: import("viem").AuthorizationList;
1032
+ chain?: import("viem").Chain | null;
1033
+ dataSuffix?: `0x${string}`;
1034
+ gas?: bigint;
1035
+ gasPrice?: bigint;
1036
+ maxFeePerGas?: bigint;
1037
+ maxPriorityFeePerGas?: bigint;
1038
+ nonce?: number;
1039
+ value?: bigint;
1040
+ }): Promise<void>;
1041
+ /**
1042
+ * Simulate removeWhitelisted
1043
+ * Returns gas estimate and result without sending transaction
1044
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1045
+ */
1046
+ removeWhitelisted(account: `0x${string}`, options?: {
1047
+ accessList?: import("viem").AccessList;
1048
+ authorizationList?: import("viem").AuthorizationList;
1049
+ chain?: import("viem").Chain | null;
1050
+ dataSuffix?: `0x${string}`;
1051
+ gas?: bigint;
1052
+ gasPrice?: bigint;
1053
+ maxFeePerGas?: bigint;
1054
+ maxPriorityFeePerGas?: bigint;
1055
+ nonce?: number;
1056
+ value?: bigint;
1057
+ }): Promise<void>;
1058
+ /**
1059
+ * Simulate renounceOwnership
1060
+ * Returns gas estimate and result without sending transaction
1061
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1062
+ */
1063
+ renounceOwnership(options?: {
1064
+ accessList?: import("viem").AccessList;
1065
+ authorizationList?: import("viem").AuthorizationList;
1066
+ chain?: import("viem").Chain | null;
1067
+ dataSuffix?: `0x${string}`;
1068
+ gas?: bigint;
1069
+ gasPrice?: bigint;
1070
+ maxFeePerGas?: bigint;
1071
+ maxPriorityFeePerGas?: bigint;
1072
+ nonce?: number;
1073
+ value?: bigint;
1074
+ }): Promise<void>;
1075
+ /**
1076
+ * Simulate transfer
1077
+ * Returns gas estimate and result without sending transaction
1078
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1079
+ */
1080
+ transfer(to: `0x${string}`, amount: bigint, options?: {
1081
+ accessList?: import("viem").AccessList;
1082
+ authorizationList?: import("viem").AuthorizationList;
1083
+ chain?: import("viem").Chain | null;
1084
+ dataSuffix?: `0x${string}`;
1085
+ gas?: bigint;
1086
+ gasPrice?: bigint;
1087
+ maxFeePerGas?: bigint;
1088
+ maxPriorityFeePerGas?: bigint;
1089
+ nonce?: number;
1090
+ value?: bigint;
1091
+ }): Promise<boolean>;
1092
+ /**
1093
+ * Simulate transferFrom
1094
+ * Returns gas estimate and result without sending transaction
1095
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1096
+ */
1097
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1098
+ accessList?: import("viem").AccessList;
1099
+ authorizationList?: import("viem").AuthorizationList;
1100
+ chain?: import("viem").Chain | null;
1101
+ dataSuffix?: `0x${string}`;
1102
+ gas?: bigint;
1103
+ gasPrice?: bigint;
1104
+ maxFeePerGas?: bigint;
1105
+ maxPriorityFeePerGas?: bigint;
1106
+ nonce?: number;
1107
+ value?: bigint;
1108
+ }): Promise<boolean>;
1109
+ /**
1110
+ * Simulate transferOwnership
1111
+ * Returns gas estimate and result without sending transaction
1112
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1113
+ */
1114
+ transferOwnership(newOwner: `0x${string}`, options?: {
1115
+ accessList?: import("viem").AccessList;
1116
+ authorizationList?: import("viem").AuthorizationList;
1117
+ chain?: import("viem").Chain | null;
1118
+ dataSuffix?: `0x${string}`;
1119
+ gas?: bigint;
1120
+ gasPrice?: bigint;
1121
+ maxFeePerGas?: bigint;
1122
+ maxPriorityFeePerGas?: bigint;
1123
+ nonce?: number;
1124
+ value?: bigint;
1125
+ }): Promise<void>;
1126
+ /**
1127
+ * Simulate transferToWhitelisted
1128
+ * Returns gas estimate and result without sending transaction
1129
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1130
+ */
1131
+ transferToWhitelisted(to: `0x${string}`, amount: bigint, options?: {
1132
+ accessList?: import("viem").AccessList;
1133
+ authorizationList?: import("viem").AuthorizationList;
1134
+ chain?: import("viem").Chain | null;
1135
+ dataSuffix?: `0x${string}`;
1136
+ gas?: bigint;
1137
+ gasPrice?: bigint;
1138
+ maxFeePerGas?: bigint;
1139
+ maxPriorityFeePerGas?: bigint;
1140
+ nonce?: number;
1141
+ value?: bigint;
1142
+ }): Promise<void>;
1143
+ /**
1144
+ * Simulate updateWhitelistedAddress
1145
+ * Returns gas estimate and result without sending transaction
1146
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1147
+ */
1148
+ updateWhitelistedAddress(account: `0x${string}`, newAddress: `0x${string}`, options?: {
1149
+ accessList?: import("viem").AccessList;
1150
+ authorizationList?: import("viem").AuthorizationList;
1151
+ chain?: import("viem").Chain | null;
1152
+ dataSuffix?: `0x${string}`;
1153
+ gas?: bigint;
1154
+ gasPrice?: bigint;
1155
+ maxFeePerGas?: bigint;
1156
+ maxPriorityFeePerGas?: bigint;
1157
+ nonce?: number;
1158
+ value?: bigint;
1159
+ }): Promise<void>;
1160
+ /**
1161
+ * Simulate updateWhitelistedMaxAmount
1162
+ * Returns gas estimate and result without sending transaction
1163
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1164
+ */
1165
+ updateWhitelistedMaxAmount(account: `0x${string}`, newMaxAmount: bigint, options?: {
1166
+ accessList?: import("viem").AccessList;
1167
+ authorizationList?: import("viem").AuthorizationList;
1168
+ chain?: import("viem").Chain | null;
1169
+ dataSuffix?: `0x${string}`;
1170
+ gas?: bigint;
1171
+ gasPrice?: bigint;
1172
+ maxFeePerGas?: bigint;
1173
+ maxPriorityFeePerGas?: bigint;
1174
+ nonce?: number;
1175
+ value?: bigint;
1176
+ }): Promise<void>;
1177
+ };
1178
+ /**
1179
+ * Watch contract events
1180
+ *
1181
+ * @example
1182
+ * // Watch all Transfer events
1183
+ * const unwatch = contract.watch.Transfer((event) => {
1184
+ * console.log('Transfer:', event);
1185
+ * });
1186
+ *
1187
+ * // Stop watching
1188
+ * unwatch();
1189
+ */
1190
+ get watch(): {
1191
+ /**
1192
+ * Watch Approval events
1193
+ * @param callback Function to call when event is emitted
1194
+ * @param filter Optional filter for indexed parameters
1195
+ * @returns Unwatch function to stop listening
1196
+ */
1197
+ Approval: (callback: (event: {
1198
+ owner: `0x${string}`;
1199
+ spender: `0x${string}`;
1200
+ value: bigint;
1201
+ }) => void, filter?: {
1202
+ owner?: `0x${string}` | `0x${string}`[] | null;
1203
+ spender?: `0x${string}` | `0x${string}`[] | null;
1204
+ }) => () => void;
1205
+ /**
1206
+ * Watch EIP712DomainChanged events
1207
+ * @param callback Function to call when event is emitted
1208
+ * @param filter Optional filter for indexed parameters
1209
+ * @returns Unwatch function to stop listening
1210
+ */
1211
+ EIP712DomainChanged: (callback: (event: {}) => void) => () => void;
1212
+ /**
1213
+ * Watch OwnershipTransferred events
1214
+ * @param callback Function to call when event is emitted
1215
+ * @param filter Optional filter for indexed parameters
1216
+ * @returns Unwatch function to stop listening
1217
+ */
1218
+ OwnershipTransferred: (callback: (event: {
1219
+ previousOwner: `0x${string}`;
1220
+ newOwner: `0x${string}`;
1221
+ }) => void, filter?: {
1222
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1223
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1224
+ }) => () => void;
1225
+ /**
1226
+ * Watch Transfer events
1227
+ * @param callback Function to call when event is emitted
1228
+ * @param filter Optional filter for indexed parameters
1229
+ * @returns Unwatch function to stop listening
1230
+ */
1231
+ Transfer: (callback: (event: {
1232
+ from: `0x${string}`;
1233
+ to: `0x${string}`;
1234
+ value: bigint;
1235
+ }) => void, filter?: {
1236
+ from?: `0x${string}` | `0x${string}`[] | null;
1237
+ to?: `0x${string}` | `0x${string}`[] | null;
1238
+ }) => () => void;
1239
+ /**
1240
+ * Watch WhitelistedAdded events
1241
+ * @param callback Function to call when event is emitted
1242
+ * @param filter Optional filter for indexed parameters
1243
+ * @returns Unwatch function to stop listening
1244
+ */
1245
+ WhitelistedAdded: (callback: (event: {
1246
+ account: `0x${string}`;
1247
+ maxAmount: bigint;
1248
+ }) => void) => () => void;
1249
+ /**
1250
+ * Watch WhitelistedAddressUpdated events
1251
+ * @param callback Function to call when event is emitted
1252
+ * @param filter Optional filter for indexed parameters
1253
+ * @returns Unwatch function to stop listening
1254
+ */
1255
+ WhitelistedAddressUpdated: (callback: (event: {
1256
+ account: `0x${string}`;
1257
+ newAddress: `0x${string}`;
1258
+ }) => void) => () => void;
1259
+ /**
1260
+ * Watch WhitelistedMaxAmountUpdated events
1261
+ * @param callback Function to call when event is emitted
1262
+ * @param filter Optional filter for indexed parameters
1263
+ * @returns Unwatch function to stop listening
1264
+ */
1265
+ WhitelistedMaxAmountUpdated: (callback: (event: {
1266
+ account: `0x${string}`;
1267
+ newMaxAmount: bigint;
1268
+ }) => void) => () => void;
1269
+ /**
1270
+ * Watch WhitelistedRemoved events
1271
+ * @param callback Function to call when event is emitted
1272
+ * @param filter Optional filter for indexed parameters
1273
+ * @returns Unwatch function to stop listening
1274
+ */
1275
+ WhitelistedRemoved: (callback: (event: {
1276
+ account: `0x${string}`;
1277
+ }) => void) => () => void;
1278
+ };
1279
+ }