@gitmyabi/erc20 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,870 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * TaxableERC20_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const TaxableERC20_jsonAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "string";
10
+ readonly name: "name_";
11
+ readonly type: "string";
12
+ }, {
13
+ readonly internalType: "string";
14
+ readonly name: "symbol_";
15
+ readonly type: "string";
16
+ }, {
17
+ readonly internalType: "uint8";
18
+ readonly name: "decimals_";
19
+ readonly type: "uint8";
20
+ }, {
21
+ readonly internalType: "uint256";
22
+ readonly name: "initialBalance_";
23
+ readonly type: "uint256";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "taxFeePerMille_";
27
+ readonly type: "uint256";
28
+ }, {
29
+ readonly internalType: "address";
30
+ readonly name: "taxAddress_";
31
+ readonly type: "address";
32
+ }, {
33
+ readonly internalType: "bytes";
34
+ readonly name: "signature_";
35
+ readonly type: "bytes";
36
+ }, {
37
+ readonly internalType: "address payable";
38
+ readonly name: "feeReceiver_";
39
+ readonly type: "address";
40
+ }];
41
+ readonly stateMutability: "payable";
42
+ readonly type: "constructor";
43
+ }, {
44
+ readonly anonymous: false;
45
+ readonly inputs: readonly [{
46
+ readonly indexed: true;
47
+ readonly internalType: "address";
48
+ readonly name: "owner";
49
+ readonly type: "address";
50
+ }, {
51
+ readonly indexed: true;
52
+ readonly internalType: "address";
53
+ readonly name: "spender";
54
+ readonly type: "address";
55
+ }, {
56
+ readonly indexed: false;
57
+ readonly internalType: "uint256";
58
+ readonly name: "value";
59
+ readonly type: "uint256";
60
+ }];
61
+ readonly name: "Approval";
62
+ readonly type: "event";
63
+ }, {
64
+ readonly anonymous: false;
65
+ readonly inputs: readonly [{
66
+ readonly indexed: true;
67
+ readonly internalType: "address";
68
+ readonly name: "previousOwner";
69
+ readonly type: "address";
70
+ }, {
71
+ readonly indexed: true;
72
+ readonly internalType: "address";
73
+ readonly name: "newOwner";
74
+ readonly type: "address";
75
+ }];
76
+ readonly name: "OwnershipTransferred";
77
+ readonly type: "event";
78
+ }, {
79
+ readonly anonymous: false;
80
+ readonly inputs: readonly [{
81
+ readonly indexed: true;
82
+ readonly internalType: "address";
83
+ readonly name: "from";
84
+ readonly type: "address";
85
+ }, {
86
+ readonly indexed: true;
87
+ readonly internalType: "address";
88
+ readonly name: "to";
89
+ readonly type: "address";
90
+ }, {
91
+ readonly indexed: false;
92
+ readonly internalType: "uint256";
93
+ readonly name: "value";
94
+ readonly type: "uint256";
95
+ }];
96
+ readonly name: "Transfer";
97
+ readonly type: "event";
98
+ }, {
99
+ readonly inputs: readonly [{
100
+ readonly internalType: "address";
101
+ readonly name: "owner";
102
+ readonly type: "address";
103
+ }, {
104
+ readonly internalType: "address";
105
+ readonly name: "spender";
106
+ readonly type: "address";
107
+ }];
108
+ readonly name: "allowance";
109
+ readonly outputs: readonly [{
110
+ readonly internalType: "uint256";
111
+ readonly name: "";
112
+ readonly type: "uint256";
113
+ }];
114
+ readonly stateMutability: "view";
115
+ readonly type: "function";
116
+ }, {
117
+ readonly inputs: readonly [{
118
+ readonly internalType: "address";
119
+ readonly name: "spender";
120
+ readonly type: "address";
121
+ }, {
122
+ readonly internalType: "uint256";
123
+ readonly name: "amount";
124
+ readonly type: "uint256";
125
+ }];
126
+ readonly name: "approve";
127
+ readonly outputs: readonly [{
128
+ readonly internalType: "bool";
129
+ readonly name: "";
130
+ readonly type: "bool";
131
+ }];
132
+ readonly stateMutability: "nonpayable";
133
+ readonly type: "function";
134
+ }, {
135
+ readonly inputs: readonly [{
136
+ readonly internalType: "address";
137
+ readonly name: "account";
138
+ readonly type: "address";
139
+ }];
140
+ readonly name: "balanceOf";
141
+ readonly outputs: readonly [{
142
+ readonly internalType: "uint256";
143
+ readonly name: "";
144
+ readonly type: "uint256";
145
+ }];
146
+ readonly stateMutability: "view";
147
+ readonly type: "function";
148
+ }, {
149
+ readonly inputs: readonly [];
150
+ readonly name: "decimals";
151
+ readonly outputs: readonly [{
152
+ readonly internalType: "uint8";
153
+ readonly name: "";
154
+ readonly type: "uint8";
155
+ }];
156
+ readonly stateMutability: "view";
157
+ readonly type: "function";
158
+ }, {
159
+ readonly inputs: readonly [{
160
+ readonly internalType: "address";
161
+ readonly name: "spender";
162
+ readonly type: "address";
163
+ }, {
164
+ readonly internalType: "uint256";
165
+ readonly name: "subtractedValue";
166
+ readonly type: "uint256";
167
+ }];
168
+ readonly name: "decreaseAllowance";
169
+ readonly outputs: readonly [{
170
+ readonly internalType: "bool";
171
+ readonly name: "";
172
+ readonly type: "bool";
173
+ }];
174
+ readonly stateMutability: "nonpayable";
175
+ readonly type: "function";
176
+ }, {
177
+ readonly inputs: readonly [{
178
+ readonly internalType: "address";
179
+ readonly name: "spender";
180
+ readonly type: "address";
181
+ }, {
182
+ readonly internalType: "uint256";
183
+ readonly name: "addedValue";
184
+ readonly type: "uint256";
185
+ }];
186
+ readonly name: "increaseAllowance";
187
+ readonly outputs: readonly [{
188
+ readonly internalType: "bool";
189
+ readonly name: "";
190
+ readonly type: "bool";
191
+ }];
192
+ readonly stateMutability: "nonpayable";
193
+ readonly type: "function";
194
+ }, {
195
+ readonly inputs: readonly [{
196
+ readonly internalType: "address";
197
+ readonly name: "account";
198
+ readonly type: "address";
199
+ }];
200
+ readonly name: "isExcludedFromTaxFee";
201
+ readonly outputs: readonly [{
202
+ readonly internalType: "bool";
203
+ readonly name: "";
204
+ readonly type: "bool";
205
+ }];
206
+ readonly stateMutability: "view";
207
+ readonly type: "function";
208
+ }, {
209
+ readonly inputs: readonly [];
210
+ readonly name: "name";
211
+ readonly outputs: readonly [{
212
+ readonly internalType: "string";
213
+ readonly name: "";
214
+ readonly type: "string";
215
+ }];
216
+ readonly stateMutability: "view";
217
+ readonly type: "function";
218
+ }, {
219
+ readonly inputs: readonly [];
220
+ readonly name: "owner";
221
+ readonly outputs: readonly [{
222
+ readonly internalType: "address";
223
+ readonly name: "";
224
+ readonly type: "address";
225
+ }];
226
+ readonly stateMutability: "view";
227
+ readonly type: "function";
228
+ }, {
229
+ readonly inputs: readonly [];
230
+ readonly name: "renounceOwnership";
231
+ readonly outputs: readonly [];
232
+ readonly stateMutability: "nonpayable";
233
+ readonly type: "function";
234
+ }, {
235
+ readonly inputs: readonly [{
236
+ readonly internalType: "address";
237
+ readonly name: "account";
238
+ readonly type: "address";
239
+ }, {
240
+ readonly internalType: "bool";
241
+ readonly name: "status";
242
+ readonly type: "bool";
243
+ }];
244
+ readonly name: "setExclusionFromTaxFee";
245
+ readonly outputs: readonly [];
246
+ readonly stateMutability: "nonpayable";
247
+ readonly type: "function";
248
+ }, {
249
+ readonly inputs: readonly [{
250
+ readonly internalType: "address";
251
+ readonly name: "taxAddress";
252
+ readonly type: "address";
253
+ }];
254
+ readonly name: "setTaxAddress";
255
+ readonly outputs: readonly [];
256
+ readonly stateMutability: "nonpayable";
257
+ readonly type: "function";
258
+ }, {
259
+ readonly inputs: readonly [{
260
+ readonly internalType: "uint256";
261
+ readonly name: "taxFeePerMille";
262
+ readonly type: "uint256";
263
+ }];
264
+ readonly name: "setTaxFeePerMille";
265
+ readonly outputs: readonly [];
266
+ readonly stateMutability: "nonpayable";
267
+ readonly type: "function";
268
+ }, {
269
+ readonly inputs: readonly [];
270
+ readonly name: "symbol";
271
+ readonly outputs: readonly [{
272
+ readonly internalType: "string";
273
+ readonly name: "";
274
+ readonly type: "string";
275
+ }];
276
+ readonly stateMutability: "view";
277
+ readonly type: "function";
278
+ }, {
279
+ readonly inputs: readonly [];
280
+ readonly name: "taxAddress";
281
+ readonly outputs: readonly [{
282
+ readonly internalType: "address";
283
+ readonly name: "";
284
+ readonly type: "address";
285
+ }];
286
+ readonly stateMutability: "view";
287
+ readonly type: "function";
288
+ }, {
289
+ readonly inputs: readonly [];
290
+ readonly name: "taxFeePerMille";
291
+ readonly outputs: readonly [{
292
+ readonly internalType: "uint256";
293
+ readonly name: "";
294
+ readonly type: "uint256";
295
+ }];
296
+ readonly stateMutability: "view";
297
+ readonly type: "function";
298
+ }, {
299
+ readonly inputs: readonly [];
300
+ readonly name: "totalSupply";
301
+ readonly outputs: readonly [{
302
+ readonly internalType: "uint256";
303
+ readonly name: "";
304
+ readonly type: "uint256";
305
+ }];
306
+ readonly stateMutability: "view";
307
+ readonly type: "function";
308
+ }, {
309
+ readonly inputs: readonly [{
310
+ readonly internalType: "address";
311
+ readonly name: "to";
312
+ readonly type: "address";
313
+ }, {
314
+ readonly internalType: "uint256";
315
+ readonly name: "amount";
316
+ readonly type: "uint256";
317
+ }];
318
+ readonly name: "transfer";
319
+ readonly outputs: readonly [{
320
+ readonly internalType: "bool";
321
+ readonly name: "";
322
+ readonly type: "bool";
323
+ }];
324
+ readonly stateMutability: "nonpayable";
325
+ readonly type: "function";
326
+ }, {
327
+ readonly inputs: readonly [{
328
+ readonly internalType: "address";
329
+ readonly name: "from";
330
+ readonly type: "address";
331
+ }, {
332
+ readonly internalType: "address";
333
+ readonly name: "to";
334
+ readonly type: "address";
335
+ }, {
336
+ readonly internalType: "uint256";
337
+ readonly name: "amount";
338
+ readonly type: "uint256";
339
+ }];
340
+ readonly name: "transferFrom";
341
+ readonly outputs: readonly [{
342
+ readonly internalType: "bool";
343
+ readonly name: "";
344
+ readonly type: "bool";
345
+ }];
346
+ readonly stateMutability: "nonpayable";
347
+ readonly type: "function";
348
+ }, {
349
+ readonly inputs: readonly [{
350
+ readonly internalType: "address";
351
+ readonly name: "newOwner";
352
+ readonly type: "address";
353
+ }];
354
+ readonly name: "transferOwnership";
355
+ readonly outputs: readonly [];
356
+ readonly stateMutability: "nonpayable";
357
+ readonly type: "function";
358
+ }];
359
+ /**
360
+ * Type-safe ABI for TaxableERC20_json
361
+ */
362
+ export type TaxableERC20_jsonAbi = typeof TaxableERC20_jsonAbi;
363
+ /**
364
+ * Contract instance type for TaxableERC20_json
365
+ */
366
+ export type TaxableERC20_jsonContract = any;
367
+ /**
368
+ * TaxableERC20_json Contract Class
369
+ *
370
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * import { createPublicClient, createWalletClient, http } from 'viem';
375
+ * import { mainnet } from 'viem/chains';
376
+ * import { TaxableERC20_json } from 'TaxableERC20_json';
377
+ *
378
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
379
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
380
+ *
381
+ * const contract = new TaxableERC20_json('0x...', { publicClient, walletClient });
382
+ *
383
+ * // Read functions
384
+ * const result = await contract.balanceOf('0x...');
385
+ *
386
+ * // Write functions
387
+ * const hash = await contract.transfer('0x...', 1000n);
388
+ *
389
+ * // Simulate transactions (dry-run)
390
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
391
+ * console.log('Gas estimate:', simulation.request.gas);
392
+ *
393
+ * // Watch events
394
+ * const unwatch = contract.watch.Transfer((event) => {
395
+ * console.log('Transfer event:', event);
396
+ * });
397
+ * ```
398
+ */
399
+ export declare class TaxableERC20_json {
400
+ private contract;
401
+ private contractAddress;
402
+ private publicClient;
403
+ constructor(address: Address, clients: {
404
+ publicClient: PublicClient;
405
+ walletClient?: WalletClient;
406
+ });
407
+ /**
408
+ * Get the contract address
409
+ */
410
+ get address(): Address;
411
+ /**
412
+ * Get the underlying viem contract instance
413
+ */
414
+ getContract(): TaxableERC20_jsonContract;
415
+ /**
416
+ * allowance
417
+ * view
418
+ */
419
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
420
+ /**
421
+ * balanceOf
422
+ * view
423
+ */
424
+ balanceOf(account: `0x${string}`): Promise<bigint>;
425
+ /**
426
+ * decimals
427
+ * view
428
+ */
429
+ decimals(): Promise<bigint>;
430
+ /**
431
+ * isExcludedFromTaxFee
432
+ * view
433
+ */
434
+ isExcludedFromTaxFee(account: `0x${string}`): Promise<boolean>;
435
+ /**
436
+ * name
437
+ * view
438
+ */
439
+ name(): Promise<string>;
440
+ /**
441
+ * owner
442
+ * view
443
+ */
444
+ owner(): Promise<`0x${string}`>;
445
+ /**
446
+ * symbol
447
+ * view
448
+ */
449
+ symbol(): Promise<string>;
450
+ /**
451
+ * taxAddress
452
+ * view
453
+ */
454
+ taxAddress(): Promise<`0x${string}`>;
455
+ /**
456
+ * taxFeePerMille
457
+ * view
458
+ */
459
+ taxFeePerMille(): Promise<bigint>;
460
+ /**
461
+ * totalSupply
462
+ * view
463
+ */
464
+ totalSupply(): Promise<bigint>;
465
+ /**
466
+ * approve
467
+ * nonpayable
468
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
469
+ */
470
+ approve(spender: `0x${string}`, amount: bigint, options?: {
471
+ accessList?: import('viem').AccessList;
472
+ authorizationList?: import('viem').AuthorizationList;
473
+ chain?: import('viem').Chain | null;
474
+ dataSuffix?: `0x${string}`;
475
+ gas?: bigint;
476
+ gasPrice?: bigint;
477
+ maxFeePerGas?: bigint;
478
+ maxPriorityFeePerGas?: bigint;
479
+ nonce?: number;
480
+ value?: bigint;
481
+ }): Promise<`0x${string}`>;
482
+ /**
483
+ * decreaseAllowance
484
+ * nonpayable
485
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
486
+ */
487
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
488
+ accessList?: import('viem').AccessList;
489
+ authorizationList?: import('viem').AuthorizationList;
490
+ chain?: import('viem').Chain | null;
491
+ dataSuffix?: `0x${string}`;
492
+ gas?: bigint;
493
+ gasPrice?: bigint;
494
+ maxFeePerGas?: bigint;
495
+ maxPriorityFeePerGas?: bigint;
496
+ nonce?: number;
497
+ value?: bigint;
498
+ }): Promise<`0x${string}`>;
499
+ /**
500
+ * increaseAllowance
501
+ * nonpayable
502
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
503
+ */
504
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
505
+ accessList?: import('viem').AccessList;
506
+ authorizationList?: import('viem').AuthorizationList;
507
+ chain?: import('viem').Chain | null;
508
+ dataSuffix?: `0x${string}`;
509
+ gas?: bigint;
510
+ gasPrice?: bigint;
511
+ maxFeePerGas?: bigint;
512
+ maxPriorityFeePerGas?: bigint;
513
+ nonce?: number;
514
+ value?: bigint;
515
+ }): Promise<`0x${string}`>;
516
+ /**
517
+ * renounceOwnership
518
+ * nonpayable
519
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
520
+ */
521
+ renounceOwnership(options?: {
522
+ accessList?: import('viem').AccessList;
523
+ authorizationList?: import('viem').AuthorizationList;
524
+ chain?: import('viem').Chain | null;
525
+ dataSuffix?: `0x${string}`;
526
+ gas?: bigint;
527
+ gasPrice?: bigint;
528
+ maxFeePerGas?: bigint;
529
+ maxPriorityFeePerGas?: bigint;
530
+ nonce?: number;
531
+ value?: bigint;
532
+ }): Promise<`0x${string}`>;
533
+ /**
534
+ * setExclusionFromTaxFee
535
+ * nonpayable
536
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
537
+ */
538
+ setExclusionFromTaxFee(account: `0x${string}`, status: boolean, options?: {
539
+ accessList?: import('viem').AccessList;
540
+ authorizationList?: import('viem').AuthorizationList;
541
+ chain?: import('viem').Chain | null;
542
+ dataSuffix?: `0x${string}`;
543
+ gas?: bigint;
544
+ gasPrice?: bigint;
545
+ maxFeePerGas?: bigint;
546
+ maxPriorityFeePerGas?: bigint;
547
+ nonce?: number;
548
+ value?: bigint;
549
+ }): Promise<`0x${string}`>;
550
+ /**
551
+ * setTaxAddress
552
+ * nonpayable
553
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
554
+ */
555
+ setTaxAddress(taxAddress: `0x${string}`, options?: {
556
+ accessList?: import('viem').AccessList;
557
+ authorizationList?: import('viem').AuthorizationList;
558
+ chain?: import('viem').Chain | null;
559
+ dataSuffix?: `0x${string}`;
560
+ gas?: bigint;
561
+ gasPrice?: bigint;
562
+ maxFeePerGas?: bigint;
563
+ maxPriorityFeePerGas?: bigint;
564
+ nonce?: number;
565
+ value?: bigint;
566
+ }): Promise<`0x${string}`>;
567
+ /**
568
+ * setTaxFeePerMille
569
+ * nonpayable
570
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
571
+ */
572
+ setTaxFeePerMille(taxFeePerMille: bigint, options?: {
573
+ accessList?: import('viem').AccessList;
574
+ authorizationList?: import('viem').AuthorizationList;
575
+ chain?: import('viem').Chain | null;
576
+ dataSuffix?: `0x${string}`;
577
+ gas?: bigint;
578
+ gasPrice?: bigint;
579
+ maxFeePerGas?: bigint;
580
+ maxPriorityFeePerGas?: bigint;
581
+ nonce?: number;
582
+ value?: bigint;
583
+ }): Promise<`0x${string}`>;
584
+ /**
585
+ * transfer
586
+ * nonpayable
587
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
588
+ */
589
+ transfer(to: `0x${string}`, amount: bigint, options?: {
590
+ accessList?: import('viem').AccessList;
591
+ authorizationList?: import('viem').AuthorizationList;
592
+ chain?: import('viem').Chain | null;
593
+ dataSuffix?: `0x${string}`;
594
+ gas?: bigint;
595
+ gasPrice?: bigint;
596
+ maxFeePerGas?: bigint;
597
+ maxPriorityFeePerGas?: bigint;
598
+ nonce?: number;
599
+ value?: bigint;
600
+ }): Promise<`0x${string}`>;
601
+ /**
602
+ * transferFrom
603
+ * nonpayable
604
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
605
+ */
606
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
607
+ accessList?: import('viem').AccessList;
608
+ authorizationList?: import('viem').AuthorizationList;
609
+ chain?: import('viem').Chain | null;
610
+ dataSuffix?: `0x${string}`;
611
+ gas?: bigint;
612
+ gasPrice?: bigint;
613
+ maxFeePerGas?: bigint;
614
+ maxPriorityFeePerGas?: bigint;
615
+ nonce?: number;
616
+ value?: bigint;
617
+ }): Promise<`0x${string}`>;
618
+ /**
619
+ * transferOwnership
620
+ * nonpayable
621
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
622
+ */
623
+ transferOwnership(newOwner: `0x${string}`, options?: {
624
+ accessList?: import('viem').AccessList;
625
+ authorizationList?: import('viem').AuthorizationList;
626
+ chain?: import('viem').Chain | null;
627
+ dataSuffix?: `0x${string}`;
628
+ gas?: bigint;
629
+ gasPrice?: bigint;
630
+ maxFeePerGas?: bigint;
631
+ maxPriorityFeePerGas?: bigint;
632
+ nonce?: number;
633
+ value?: bigint;
634
+ }): Promise<`0x${string}`>;
635
+ /**
636
+ * Simulate contract write operations (dry-run without sending transaction)
637
+ *
638
+ * @example
639
+ * const result = await contract.simulate.transfer('0x...', 1000n);
640
+ * console.log('Gas estimate:', result.request.gas);
641
+ * console.log('Would succeed:', result.result);
642
+ */
643
+ get simulate(): {
644
+ /**
645
+ * Simulate approve
646
+ * Returns gas estimate and result without sending transaction
647
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
648
+ */
649
+ approve(spender: `0x${string}`, amount: bigint, options?: {
650
+ accessList?: import("viem").AccessList;
651
+ authorizationList?: import("viem").AuthorizationList;
652
+ chain?: import("viem").Chain | null;
653
+ dataSuffix?: `0x${string}`;
654
+ gas?: bigint;
655
+ gasPrice?: bigint;
656
+ maxFeePerGas?: bigint;
657
+ maxPriorityFeePerGas?: bigint;
658
+ nonce?: number;
659
+ value?: bigint;
660
+ }): Promise<boolean>;
661
+ /**
662
+ * Simulate decreaseAllowance
663
+ * Returns gas estimate and result without sending transaction
664
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
665
+ */
666
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
667
+ accessList?: import("viem").AccessList;
668
+ authorizationList?: import("viem").AuthorizationList;
669
+ chain?: import("viem").Chain | null;
670
+ dataSuffix?: `0x${string}`;
671
+ gas?: bigint;
672
+ gasPrice?: bigint;
673
+ maxFeePerGas?: bigint;
674
+ maxPriorityFeePerGas?: bigint;
675
+ nonce?: number;
676
+ value?: bigint;
677
+ }): Promise<boolean>;
678
+ /**
679
+ * Simulate increaseAllowance
680
+ * Returns gas estimate and result without sending transaction
681
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
682
+ */
683
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
684
+ accessList?: import("viem").AccessList;
685
+ authorizationList?: import("viem").AuthorizationList;
686
+ chain?: import("viem").Chain | null;
687
+ dataSuffix?: `0x${string}`;
688
+ gas?: bigint;
689
+ gasPrice?: bigint;
690
+ maxFeePerGas?: bigint;
691
+ maxPriorityFeePerGas?: bigint;
692
+ nonce?: number;
693
+ value?: bigint;
694
+ }): Promise<boolean>;
695
+ /**
696
+ * Simulate renounceOwnership
697
+ * Returns gas estimate and result without sending transaction
698
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
699
+ */
700
+ renounceOwnership(options?: {
701
+ accessList?: import("viem").AccessList;
702
+ authorizationList?: import("viem").AuthorizationList;
703
+ chain?: import("viem").Chain | null;
704
+ dataSuffix?: `0x${string}`;
705
+ gas?: bigint;
706
+ gasPrice?: bigint;
707
+ maxFeePerGas?: bigint;
708
+ maxPriorityFeePerGas?: bigint;
709
+ nonce?: number;
710
+ value?: bigint;
711
+ }): Promise<void>;
712
+ /**
713
+ * Simulate setExclusionFromTaxFee
714
+ * Returns gas estimate and result without sending transaction
715
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
716
+ */
717
+ setExclusionFromTaxFee(account: `0x${string}`, status: boolean, options?: {
718
+ accessList?: import("viem").AccessList;
719
+ authorizationList?: import("viem").AuthorizationList;
720
+ chain?: import("viem").Chain | null;
721
+ dataSuffix?: `0x${string}`;
722
+ gas?: bigint;
723
+ gasPrice?: bigint;
724
+ maxFeePerGas?: bigint;
725
+ maxPriorityFeePerGas?: bigint;
726
+ nonce?: number;
727
+ value?: bigint;
728
+ }): Promise<void>;
729
+ /**
730
+ * Simulate setTaxAddress
731
+ * Returns gas estimate and result without sending transaction
732
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
733
+ */
734
+ setTaxAddress(taxAddress: `0x${string}`, options?: {
735
+ accessList?: import("viem").AccessList;
736
+ authorizationList?: import("viem").AuthorizationList;
737
+ chain?: import("viem").Chain | null;
738
+ dataSuffix?: `0x${string}`;
739
+ gas?: bigint;
740
+ gasPrice?: bigint;
741
+ maxFeePerGas?: bigint;
742
+ maxPriorityFeePerGas?: bigint;
743
+ nonce?: number;
744
+ value?: bigint;
745
+ }): Promise<void>;
746
+ /**
747
+ * Simulate setTaxFeePerMille
748
+ * Returns gas estimate and result without sending transaction
749
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
750
+ */
751
+ setTaxFeePerMille(taxFeePerMille: bigint, options?: {
752
+ accessList?: import("viem").AccessList;
753
+ authorizationList?: import("viem").AuthorizationList;
754
+ chain?: import("viem").Chain | null;
755
+ dataSuffix?: `0x${string}`;
756
+ gas?: bigint;
757
+ gasPrice?: bigint;
758
+ maxFeePerGas?: bigint;
759
+ maxPriorityFeePerGas?: bigint;
760
+ nonce?: number;
761
+ value?: bigint;
762
+ }): Promise<void>;
763
+ /**
764
+ * Simulate transfer
765
+ * Returns gas estimate and result without sending transaction
766
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
767
+ */
768
+ transfer(to: `0x${string}`, amount: bigint, options?: {
769
+ accessList?: import("viem").AccessList;
770
+ authorizationList?: import("viem").AuthorizationList;
771
+ chain?: import("viem").Chain | null;
772
+ dataSuffix?: `0x${string}`;
773
+ gas?: bigint;
774
+ gasPrice?: bigint;
775
+ maxFeePerGas?: bigint;
776
+ maxPriorityFeePerGas?: bigint;
777
+ nonce?: number;
778
+ value?: bigint;
779
+ }): Promise<boolean>;
780
+ /**
781
+ * Simulate transferFrom
782
+ * Returns gas estimate and result without sending transaction
783
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
784
+ */
785
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
786
+ accessList?: import("viem").AccessList;
787
+ authorizationList?: import("viem").AuthorizationList;
788
+ chain?: import("viem").Chain | null;
789
+ dataSuffix?: `0x${string}`;
790
+ gas?: bigint;
791
+ gasPrice?: bigint;
792
+ maxFeePerGas?: bigint;
793
+ maxPriorityFeePerGas?: bigint;
794
+ nonce?: number;
795
+ value?: bigint;
796
+ }): Promise<boolean>;
797
+ /**
798
+ * Simulate transferOwnership
799
+ * Returns gas estimate and result without sending transaction
800
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
801
+ */
802
+ transferOwnership(newOwner: `0x${string}`, options?: {
803
+ accessList?: import("viem").AccessList;
804
+ authorizationList?: import("viem").AuthorizationList;
805
+ chain?: import("viem").Chain | null;
806
+ dataSuffix?: `0x${string}`;
807
+ gas?: bigint;
808
+ gasPrice?: bigint;
809
+ maxFeePerGas?: bigint;
810
+ maxPriorityFeePerGas?: bigint;
811
+ nonce?: number;
812
+ value?: bigint;
813
+ }): Promise<void>;
814
+ };
815
+ /**
816
+ * Watch contract events
817
+ *
818
+ * @example
819
+ * // Watch all Transfer events
820
+ * const unwatch = contract.watch.Transfer((event) => {
821
+ * console.log('Transfer:', event);
822
+ * });
823
+ *
824
+ * // Stop watching
825
+ * unwatch();
826
+ */
827
+ get watch(): {
828
+ /**
829
+ * Watch Approval events
830
+ * @param callback Function to call when event is emitted
831
+ * @param filter Optional filter for indexed parameters
832
+ * @returns Unwatch function to stop listening
833
+ */
834
+ Approval: (callback: (event: {
835
+ owner: `0x${string}`;
836
+ spender: `0x${string}`;
837
+ value: bigint;
838
+ }) => void, filter?: {
839
+ owner: `0x${string}`;
840
+ spender: `0x${string}`;
841
+ }) => () => void;
842
+ /**
843
+ * Watch OwnershipTransferred events
844
+ * @param callback Function to call when event is emitted
845
+ * @param filter Optional filter for indexed parameters
846
+ * @returns Unwatch function to stop listening
847
+ */
848
+ OwnershipTransferred: (callback: (event: {
849
+ previousOwner: `0x${string}`;
850
+ newOwner: `0x${string}`;
851
+ }) => void, filter?: {
852
+ previousOwner: `0x${string}`;
853
+ newOwner: `0x${string}`;
854
+ }) => () => void;
855
+ /**
856
+ * Watch Transfer events
857
+ * @param callback Function to call when event is emitted
858
+ * @param filter Optional filter for indexed parameters
859
+ * @returns Unwatch function to stop listening
860
+ */
861
+ Transfer: (callback: (event: {
862
+ from: `0x${string}`;
863
+ to: `0x${string}`;
864
+ value: bigint;
865
+ }) => void, filter?: {
866
+ from: `0x${string}`;
867
+ to: `0x${string}`;
868
+ }) => () => void;
869
+ };
870
+ }