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