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