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