@gitmyabi/tel 1.0.0 → 1.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,2199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TelcoinV3_json = exports.TelcoinV3_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * TelcoinV3_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.TelcoinV3_jsonAbi = [
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "admin_",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "AccessControlBadConfirmation",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "account",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "bytes32",
36
+ "name": "neededRole",
37
+ "type": "bytes32"
38
+ }
39
+ ],
40
+ "name": "AccessControlUnauthorizedAccount",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "AuthorizationAlreadyUsed",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "AuthorizationExpired",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "AuthorizationNotYetValid",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "CallerMustBePayee",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "CannotRenounceRole",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "spender",
73
+ "type": "address"
74
+ },
75
+ {
76
+ "internalType": "uint256",
77
+ "name": "allowance",
78
+ "type": "uint256"
79
+ },
80
+ {
81
+ "internalType": "uint256",
82
+ "name": "needed",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "name": "ERC20InsufficientAllowance",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "address",
93
+ "name": "sender",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "uint256",
98
+ "name": "balance",
99
+ "type": "uint256"
100
+ },
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "needed",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "name": "ERC20InsufficientBalance",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "address",
114
+ "name": "approver",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "name": "ERC20InvalidApprover",
119
+ "type": "error"
120
+ },
121
+ {
122
+ "inputs": [
123
+ {
124
+ "internalType": "address",
125
+ "name": "receiver",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "ERC20InvalidReceiver",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "address",
136
+ "name": "sender",
137
+ "type": "address"
138
+ }
139
+ ],
140
+ "name": "ERC20InvalidSender",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [
145
+ {
146
+ "internalType": "address",
147
+ "name": "spender",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "name": "ERC20InvalidSpender",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "uint256",
158
+ "name": "deadline",
159
+ "type": "uint256"
160
+ }
161
+ ],
162
+ "name": "ERC2612ExpiredSignature",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "address",
169
+ "name": "signer",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "internalType": "address",
174
+ "name": "owner",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "name": "ERC2612InvalidSigner",
179
+ "type": "error"
180
+ },
181
+ {
182
+ "inputs": [],
183
+ "name": "EnforcedPause",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "ExpectedPause",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "address",
195
+ "name": "account",
196
+ "type": "address"
197
+ },
198
+ {
199
+ "internalType": "uint256",
200
+ "name": "currentNonce",
201
+ "type": "uint256"
202
+ }
203
+ ],
204
+ "name": "InvalidAccountNonce",
205
+ "type": "error"
206
+ },
207
+ {
208
+ "inputs": [],
209
+ "name": "InvalidShortString",
210
+ "type": "error"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "InvalidSignature",
215
+ "type": "error"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "address",
221
+ "name": "token",
222
+ "type": "address"
223
+ }
224
+ ],
225
+ "name": "SafeERC20FailedOperation",
226
+ "type": "error"
227
+ },
228
+ {
229
+ "inputs": [
230
+ {
231
+ "internalType": "string",
232
+ "name": "str",
233
+ "type": "string"
234
+ }
235
+ ],
236
+ "name": "StringTooLong",
237
+ "type": "error"
238
+ },
239
+ {
240
+ "inputs": [],
241
+ "name": "SupplyCapExceeded",
242
+ "type": "error"
243
+ },
244
+ {
245
+ "inputs": [],
246
+ "name": "ZeroAddress",
247
+ "type": "error"
248
+ },
249
+ {
250
+ "inputs": [],
251
+ "name": "ZeroAmount",
252
+ "type": "error"
253
+ },
254
+ {
255
+ "anonymous": false,
256
+ "inputs": [
257
+ {
258
+ "indexed": true,
259
+ "internalType": "address",
260
+ "name": "owner",
261
+ "type": "address"
262
+ },
263
+ {
264
+ "indexed": true,
265
+ "internalType": "address",
266
+ "name": "spender",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "indexed": false,
271
+ "internalType": "uint256",
272
+ "name": "value",
273
+ "type": "uint256"
274
+ }
275
+ ],
276
+ "name": "Approval",
277
+ "type": "event"
278
+ },
279
+ {
280
+ "anonymous": false,
281
+ "inputs": [
282
+ {
283
+ "indexed": true,
284
+ "internalType": "address",
285
+ "name": "authorizer",
286
+ "type": "address"
287
+ },
288
+ {
289
+ "indexed": true,
290
+ "internalType": "bytes32",
291
+ "name": "nonce",
292
+ "type": "bytes32"
293
+ }
294
+ ],
295
+ "name": "AuthorizationCanceled",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": true,
303
+ "internalType": "address",
304
+ "name": "authorizer",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "indexed": true,
309
+ "internalType": "bytes32",
310
+ "name": "nonce",
311
+ "type": "bytes32"
312
+ }
313
+ ],
314
+ "name": "AuthorizationUsed",
315
+ "type": "event"
316
+ },
317
+ {
318
+ "anonymous": false,
319
+ "inputs": [],
320
+ "name": "EIP712DomainChanged",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": false,
328
+ "internalType": "address",
329
+ "name": "account",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "Paused",
334
+ "type": "event"
335
+ },
336
+ {
337
+ "anonymous": false,
338
+ "inputs": [
339
+ {
340
+ "indexed": true,
341
+ "internalType": "bytes32",
342
+ "name": "role",
343
+ "type": "bytes32"
344
+ },
345
+ {
346
+ "indexed": true,
347
+ "internalType": "bytes32",
348
+ "name": "previousAdminRole",
349
+ "type": "bytes32"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "bytes32",
354
+ "name": "newAdminRole",
355
+ "type": "bytes32"
356
+ }
357
+ ],
358
+ "name": "RoleAdminChanged",
359
+ "type": "event"
360
+ },
361
+ {
362
+ "anonymous": false,
363
+ "inputs": [
364
+ {
365
+ "indexed": true,
366
+ "internalType": "bytes32",
367
+ "name": "role",
368
+ "type": "bytes32"
369
+ },
370
+ {
371
+ "indexed": true,
372
+ "internalType": "address",
373
+ "name": "account",
374
+ "type": "address"
375
+ },
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "sender",
380
+ "type": "address"
381
+ }
382
+ ],
383
+ "name": "RoleGranted",
384
+ "type": "event"
385
+ },
386
+ {
387
+ "anonymous": false,
388
+ "inputs": [
389
+ {
390
+ "indexed": true,
391
+ "internalType": "bytes32",
392
+ "name": "role",
393
+ "type": "bytes32"
394
+ },
395
+ {
396
+ "indexed": true,
397
+ "internalType": "address",
398
+ "name": "account",
399
+ "type": "address"
400
+ },
401
+ {
402
+ "indexed": true,
403
+ "internalType": "address",
404
+ "name": "sender",
405
+ "type": "address"
406
+ }
407
+ ],
408
+ "name": "RoleRevoked",
409
+ "type": "event"
410
+ },
411
+ {
412
+ "anonymous": false,
413
+ "inputs": [
414
+ {
415
+ "indexed": true,
416
+ "internalType": "address",
417
+ "name": "from",
418
+ "type": "address"
419
+ },
420
+ {
421
+ "indexed": true,
422
+ "internalType": "address",
423
+ "name": "to",
424
+ "type": "address"
425
+ },
426
+ {
427
+ "indexed": false,
428
+ "internalType": "uint256",
429
+ "name": "value",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "name": "Transfer",
434
+ "type": "event"
435
+ },
436
+ {
437
+ "anonymous": false,
438
+ "inputs": [
439
+ {
440
+ "indexed": false,
441
+ "internalType": "address",
442
+ "name": "account",
443
+ "type": "address"
444
+ }
445
+ ],
446
+ "name": "Unpaused",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "inputs": [],
451
+ "name": "BURNER_ROLE",
452
+ "outputs": [
453
+ {
454
+ "internalType": "bytes32",
455
+ "name": "",
456
+ "type": "bytes32"
457
+ }
458
+ ],
459
+ "stateMutability": "view",
460
+ "type": "function"
461
+ },
462
+ {
463
+ "inputs": [],
464
+ "name": "CANCEL_AUTHORIZATION_TYPEHASH",
465
+ "outputs": [
466
+ {
467
+ "internalType": "bytes32",
468
+ "name": "",
469
+ "type": "bytes32"
470
+ }
471
+ ],
472
+ "stateMutability": "view",
473
+ "type": "function"
474
+ },
475
+ {
476
+ "inputs": [],
477
+ "name": "DEFAULT_ADMIN_ROLE",
478
+ "outputs": [
479
+ {
480
+ "internalType": "bytes32",
481
+ "name": "",
482
+ "type": "bytes32"
483
+ }
484
+ ],
485
+ "stateMutability": "view",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [],
490
+ "name": "DOMAIN_SEPARATOR",
491
+ "outputs": [
492
+ {
493
+ "internalType": "bytes32",
494
+ "name": "",
495
+ "type": "bytes32"
496
+ }
497
+ ],
498
+ "stateMutability": "view",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [],
503
+ "name": "MIGRATION_SUPPLY_CAP",
504
+ "outputs": [
505
+ {
506
+ "internalType": "uint256",
507
+ "name": "",
508
+ "type": "uint256"
509
+ }
510
+ ],
511
+ "stateMutability": "view",
512
+ "type": "function"
513
+ },
514
+ {
515
+ "inputs": [],
516
+ "name": "MINTER_ROLE",
517
+ "outputs": [
518
+ {
519
+ "internalType": "bytes32",
520
+ "name": "",
521
+ "type": "bytes32"
522
+ }
523
+ ],
524
+ "stateMutability": "view",
525
+ "type": "function"
526
+ },
527
+ {
528
+ "inputs": [],
529
+ "name": "PAUSER_ROLE",
530
+ "outputs": [
531
+ {
532
+ "internalType": "bytes32",
533
+ "name": "",
534
+ "type": "bytes32"
535
+ }
536
+ ],
537
+ "stateMutability": "view",
538
+ "type": "function"
539
+ },
540
+ {
541
+ "inputs": [],
542
+ "name": "PERMIT_TYPEHASH",
543
+ "outputs": [
544
+ {
545
+ "internalType": "bytes32",
546
+ "name": "",
547
+ "type": "bytes32"
548
+ }
549
+ ],
550
+ "stateMutability": "view",
551
+ "type": "function"
552
+ },
553
+ {
554
+ "inputs": [],
555
+ "name": "RECEIVE_WITH_AUTHORIZATION_TYPEHASH",
556
+ "outputs": [
557
+ {
558
+ "internalType": "bytes32",
559
+ "name": "",
560
+ "type": "bytes32"
561
+ }
562
+ ],
563
+ "stateMutability": "view",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [],
568
+ "name": "TRANSFER_WITH_AUTHORIZATION_TYPEHASH",
569
+ "outputs": [
570
+ {
571
+ "internalType": "bytes32",
572
+ "name": "",
573
+ "type": "bytes32"
574
+ }
575
+ ],
576
+ "stateMutability": "view",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [],
581
+ "name": "UNPAUSER_ROLE",
582
+ "outputs": [
583
+ {
584
+ "internalType": "bytes32",
585
+ "name": "",
586
+ "type": "bytes32"
587
+ }
588
+ ],
589
+ "stateMutability": "view",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [
594
+ {
595
+ "internalType": "address",
596
+ "name": "owner",
597
+ "type": "address"
598
+ },
599
+ {
600
+ "internalType": "address",
601
+ "name": "spender",
602
+ "type": "address"
603
+ }
604
+ ],
605
+ "name": "allowance",
606
+ "outputs": [
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "",
610
+ "type": "uint256"
611
+ }
612
+ ],
613
+ "stateMutability": "view",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [
618
+ {
619
+ "internalType": "address",
620
+ "name": "spender",
621
+ "type": "address"
622
+ },
623
+ {
624
+ "internalType": "uint256",
625
+ "name": "value",
626
+ "type": "uint256"
627
+ }
628
+ ],
629
+ "name": "approve",
630
+ "outputs": [
631
+ {
632
+ "internalType": "bool",
633
+ "name": "",
634
+ "type": "bool"
635
+ }
636
+ ],
637
+ "stateMutability": "nonpayable",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [
642
+ {
643
+ "internalType": "address",
644
+ "name": "authorizer",
645
+ "type": "address"
646
+ },
647
+ {
648
+ "internalType": "bytes32",
649
+ "name": "nonce",
650
+ "type": "bytes32"
651
+ }
652
+ ],
653
+ "name": "authorizationState",
654
+ "outputs": [
655
+ {
656
+ "internalType": "bool",
657
+ "name": "",
658
+ "type": "bool"
659
+ }
660
+ ],
661
+ "stateMutability": "view",
662
+ "type": "function"
663
+ },
664
+ {
665
+ "inputs": [
666
+ {
667
+ "internalType": "address",
668
+ "name": "account",
669
+ "type": "address"
670
+ }
671
+ ],
672
+ "name": "balanceOf",
673
+ "outputs": [
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "",
677
+ "type": "uint256"
678
+ }
679
+ ],
680
+ "stateMutability": "view",
681
+ "type": "function"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "address",
687
+ "name": "from",
688
+ "type": "address"
689
+ },
690
+ {
691
+ "internalType": "uint256",
692
+ "name": "amount",
693
+ "type": "uint256"
694
+ }
695
+ ],
696
+ "name": "burn",
697
+ "outputs": [],
698
+ "stateMutability": "nonpayable",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [
703
+ {
704
+ "internalType": "address",
705
+ "name": "authorizer",
706
+ "type": "address"
707
+ },
708
+ {
709
+ "internalType": "bytes32",
710
+ "name": "nonce",
711
+ "type": "bytes32"
712
+ },
713
+ {
714
+ "internalType": "uint8",
715
+ "name": "v",
716
+ "type": "uint8"
717
+ },
718
+ {
719
+ "internalType": "bytes32",
720
+ "name": "r",
721
+ "type": "bytes32"
722
+ },
723
+ {
724
+ "internalType": "bytes32",
725
+ "name": "s",
726
+ "type": "bytes32"
727
+ }
728
+ ],
729
+ "name": "cancelAuthorization",
730
+ "outputs": [],
731
+ "stateMutability": "nonpayable",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [
736
+ {
737
+ "internalType": "address",
738
+ "name": "authorizer",
739
+ "type": "address"
740
+ },
741
+ {
742
+ "internalType": "bytes32",
743
+ "name": "nonce",
744
+ "type": "bytes32"
745
+ },
746
+ {
747
+ "internalType": "bytes",
748
+ "name": "signature",
749
+ "type": "bytes"
750
+ }
751
+ ],
752
+ "name": "cancelAuthorization",
753
+ "outputs": [],
754
+ "stateMutability": "nonpayable",
755
+ "type": "function"
756
+ },
757
+ {
758
+ "inputs": [],
759
+ "name": "decimals",
760
+ "outputs": [
761
+ {
762
+ "internalType": "uint8",
763
+ "name": "",
764
+ "type": "uint8"
765
+ }
766
+ ],
767
+ "stateMutability": "view",
768
+ "type": "function"
769
+ },
770
+ {
771
+ "inputs": [],
772
+ "name": "eip712Domain",
773
+ "outputs": [
774
+ {
775
+ "internalType": "bytes1",
776
+ "name": "fields",
777
+ "type": "bytes1"
778
+ },
779
+ {
780
+ "internalType": "string",
781
+ "name": "name",
782
+ "type": "string"
783
+ },
784
+ {
785
+ "internalType": "string",
786
+ "name": "version",
787
+ "type": "string"
788
+ },
789
+ {
790
+ "internalType": "uint256",
791
+ "name": "chainId",
792
+ "type": "uint256"
793
+ },
794
+ {
795
+ "internalType": "address",
796
+ "name": "verifyingContract",
797
+ "type": "address"
798
+ },
799
+ {
800
+ "internalType": "bytes32",
801
+ "name": "salt",
802
+ "type": "bytes32"
803
+ },
804
+ {
805
+ "internalType": "uint256[]",
806
+ "name": "extensions",
807
+ "type": "uint256[]"
808
+ }
809
+ ],
810
+ "stateMutability": "view",
811
+ "type": "function"
812
+ },
813
+ {
814
+ "inputs": [
815
+ {
816
+ "internalType": "bytes32",
817
+ "name": "role",
818
+ "type": "bytes32"
819
+ }
820
+ ],
821
+ "name": "getRoleAdmin",
822
+ "outputs": [
823
+ {
824
+ "internalType": "bytes32",
825
+ "name": "",
826
+ "type": "bytes32"
827
+ }
828
+ ],
829
+ "stateMutability": "view",
830
+ "type": "function"
831
+ },
832
+ {
833
+ "inputs": [
834
+ {
835
+ "internalType": "bytes32",
836
+ "name": "role",
837
+ "type": "bytes32"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "index",
842
+ "type": "uint256"
843
+ }
844
+ ],
845
+ "name": "getRoleMember",
846
+ "outputs": [
847
+ {
848
+ "internalType": "address",
849
+ "name": "",
850
+ "type": "address"
851
+ }
852
+ ],
853
+ "stateMutability": "view",
854
+ "type": "function"
855
+ },
856
+ {
857
+ "inputs": [
858
+ {
859
+ "internalType": "bytes32",
860
+ "name": "role",
861
+ "type": "bytes32"
862
+ }
863
+ ],
864
+ "name": "getRoleMemberCount",
865
+ "outputs": [
866
+ {
867
+ "internalType": "uint256",
868
+ "name": "",
869
+ "type": "uint256"
870
+ }
871
+ ],
872
+ "stateMutability": "view",
873
+ "type": "function"
874
+ },
875
+ {
876
+ "inputs": [
877
+ {
878
+ "internalType": "bytes32",
879
+ "name": "role",
880
+ "type": "bytes32"
881
+ }
882
+ ],
883
+ "name": "getRoleMembers",
884
+ "outputs": [
885
+ {
886
+ "internalType": "address[]",
887
+ "name": "",
888
+ "type": "address[]"
889
+ }
890
+ ],
891
+ "stateMutability": "view",
892
+ "type": "function"
893
+ },
894
+ {
895
+ "inputs": [
896
+ {
897
+ "internalType": "bytes32",
898
+ "name": "role",
899
+ "type": "bytes32"
900
+ },
901
+ {
902
+ "internalType": "address",
903
+ "name": "account",
904
+ "type": "address"
905
+ }
906
+ ],
907
+ "name": "grantRole",
908
+ "outputs": [],
909
+ "stateMutability": "nonpayable",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [
914
+ {
915
+ "internalType": "bytes32",
916
+ "name": "role",
917
+ "type": "bytes32"
918
+ },
919
+ {
920
+ "internalType": "address",
921
+ "name": "account",
922
+ "type": "address"
923
+ }
924
+ ],
925
+ "name": "hasRole",
926
+ "outputs": [
927
+ {
928
+ "internalType": "bool",
929
+ "name": "",
930
+ "type": "bool"
931
+ }
932
+ ],
933
+ "stateMutability": "view",
934
+ "type": "function"
935
+ },
936
+ {
937
+ "inputs": [
938
+ {
939
+ "internalType": "address",
940
+ "name": "to",
941
+ "type": "address"
942
+ },
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "amount",
946
+ "type": "uint256"
947
+ }
948
+ ],
949
+ "name": "mint",
950
+ "outputs": [],
951
+ "stateMutability": "nonpayable",
952
+ "type": "function"
953
+ },
954
+ {
955
+ "inputs": [],
956
+ "name": "name",
957
+ "outputs": [
958
+ {
959
+ "internalType": "string",
960
+ "name": "",
961
+ "type": "string"
962
+ }
963
+ ],
964
+ "stateMutability": "view",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [
969
+ {
970
+ "internalType": "address",
971
+ "name": "owner",
972
+ "type": "address"
973
+ }
974
+ ],
975
+ "name": "nonces",
976
+ "outputs": [
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "",
980
+ "type": "uint256"
981
+ }
982
+ ],
983
+ "stateMutability": "view",
984
+ "type": "function"
985
+ },
986
+ {
987
+ "inputs": [],
988
+ "name": "pause",
989
+ "outputs": [],
990
+ "stateMutability": "nonpayable",
991
+ "type": "function"
992
+ },
993
+ {
994
+ "inputs": [],
995
+ "name": "paused",
996
+ "outputs": [
997
+ {
998
+ "internalType": "bool",
999
+ "name": "",
1000
+ "type": "bool"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "view",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [
1008
+ {
1009
+ "internalType": "address",
1010
+ "name": "owner_",
1011
+ "type": "address"
1012
+ },
1013
+ {
1014
+ "internalType": "address",
1015
+ "name": "spender",
1016
+ "type": "address"
1017
+ },
1018
+ {
1019
+ "internalType": "uint256",
1020
+ "name": "value",
1021
+ "type": "uint256"
1022
+ },
1023
+ {
1024
+ "internalType": "uint256",
1025
+ "name": "deadline",
1026
+ "type": "uint256"
1027
+ },
1028
+ {
1029
+ "internalType": "bytes",
1030
+ "name": "signature",
1031
+ "type": "bytes"
1032
+ }
1033
+ ],
1034
+ "name": "permit",
1035
+ "outputs": [],
1036
+ "stateMutability": "nonpayable",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [
1041
+ {
1042
+ "internalType": "address",
1043
+ "name": "owner_",
1044
+ "type": "address"
1045
+ },
1046
+ {
1047
+ "internalType": "address",
1048
+ "name": "spender",
1049
+ "type": "address"
1050
+ },
1051
+ {
1052
+ "internalType": "uint256",
1053
+ "name": "value",
1054
+ "type": "uint256"
1055
+ },
1056
+ {
1057
+ "internalType": "uint256",
1058
+ "name": "deadline",
1059
+ "type": "uint256"
1060
+ },
1061
+ {
1062
+ "internalType": "uint8",
1063
+ "name": "v",
1064
+ "type": "uint8"
1065
+ },
1066
+ {
1067
+ "internalType": "bytes32",
1068
+ "name": "r",
1069
+ "type": "bytes32"
1070
+ },
1071
+ {
1072
+ "internalType": "bytes32",
1073
+ "name": "s",
1074
+ "type": "bytes32"
1075
+ }
1076
+ ],
1077
+ "name": "permit",
1078
+ "outputs": [],
1079
+ "stateMutability": "nonpayable",
1080
+ "type": "function"
1081
+ },
1082
+ {
1083
+ "inputs": [
1084
+ {
1085
+ "internalType": "address",
1086
+ "name": "from",
1087
+ "type": "address"
1088
+ },
1089
+ {
1090
+ "internalType": "address",
1091
+ "name": "to",
1092
+ "type": "address"
1093
+ },
1094
+ {
1095
+ "internalType": "uint256",
1096
+ "name": "value",
1097
+ "type": "uint256"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "validAfter",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "validBefore",
1107
+ "type": "uint256"
1108
+ },
1109
+ {
1110
+ "internalType": "bytes32",
1111
+ "name": "nonce",
1112
+ "type": "bytes32"
1113
+ },
1114
+ {
1115
+ "internalType": "bytes",
1116
+ "name": "signature",
1117
+ "type": "bytes"
1118
+ }
1119
+ ],
1120
+ "name": "receiveWithAuthorization",
1121
+ "outputs": [],
1122
+ "stateMutability": "nonpayable",
1123
+ "type": "function"
1124
+ },
1125
+ {
1126
+ "inputs": [
1127
+ {
1128
+ "internalType": "address",
1129
+ "name": "from",
1130
+ "type": "address"
1131
+ },
1132
+ {
1133
+ "internalType": "address",
1134
+ "name": "to",
1135
+ "type": "address"
1136
+ },
1137
+ {
1138
+ "internalType": "uint256",
1139
+ "name": "value",
1140
+ "type": "uint256"
1141
+ },
1142
+ {
1143
+ "internalType": "uint256",
1144
+ "name": "validAfter",
1145
+ "type": "uint256"
1146
+ },
1147
+ {
1148
+ "internalType": "uint256",
1149
+ "name": "validBefore",
1150
+ "type": "uint256"
1151
+ },
1152
+ {
1153
+ "internalType": "bytes32",
1154
+ "name": "nonce",
1155
+ "type": "bytes32"
1156
+ },
1157
+ {
1158
+ "internalType": "uint8",
1159
+ "name": "v",
1160
+ "type": "uint8"
1161
+ },
1162
+ {
1163
+ "internalType": "bytes32",
1164
+ "name": "r",
1165
+ "type": "bytes32"
1166
+ },
1167
+ {
1168
+ "internalType": "bytes32",
1169
+ "name": "s",
1170
+ "type": "bytes32"
1171
+ }
1172
+ ],
1173
+ "name": "receiveWithAuthorization",
1174
+ "outputs": [],
1175
+ "stateMutability": "nonpayable",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "internalType": "bytes32",
1182
+ "name": "",
1183
+ "type": "bytes32"
1184
+ },
1185
+ {
1186
+ "internalType": "address",
1187
+ "name": "",
1188
+ "type": "address"
1189
+ }
1190
+ ],
1191
+ "name": "renounceRole",
1192
+ "outputs": [],
1193
+ "stateMutability": "pure",
1194
+ "type": "function"
1195
+ },
1196
+ {
1197
+ "inputs": [
1198
+ {
1199
+ "internalType": "address",
1200
+ "name": "from",
1201
+ "type": "address"
1202
+ },
1203
+ {
1204
+ "internalType": "uint256",
1205
+ "name": "amount",
1206
+ "type": "uint256"
1207
+ }
1208
+ ],
1209
+ "name": "rescueBurn",
1210
+ "outputs": [],
1211
+ "stateMutability": "nonpayable",
1212
+ "type": "function"
1213
+ },
1214
+ {
1215
+ "inputs": [
1216
+ {
1217
+ "internalType": "address",
1218
+ "name": "_token",
1219
+ "type": "address"
1220
+ },
1221
+ {
1222
+ "internalType": "uint256",
1223
+ "name": "_amount",
1224
+ "type": "uint256"
1225
+ },
1226
+ {
1227
+ "internalType": "address",
1228
+ "name": "_to",
1229
+ "type": "address"
1230
+ }
1231
+ ],
1232
+ "name": "rescueTokens",
1233
+ "outputs": [],
1234
+ "stateMutability": "nonpayable",
1235
+ "type": "function"
1236
+ },
1237
+ {
1238
+ "inputs": [
1239
+ {
1240
+ "internalType": "bytes32",
1241
+ "name": "role",
1242
+ "type": "bytes32"
1243
+ },
1244
+ {
1245
+ "internalType": "address",
1246
+ "name": "account",
1247
+ "type": "address"
1248
+ }
1249
+ ],
1250
+ "name": "revokeRole",
1251
+ "outputs": [],
1252
+ "stateMutability": "nonpayable",
1253
+ "type": "function"
1254
+ },
1255
+ {
1256
+ "inputs": [
1257
+ {
1258
+ "internalType": "bytes4",
1259
+ "name": "interfaceId",
1260
+ "type": "bytes4"
1261
+ }
1262
+ ],
1263
+ "name": "supportsInterface",
1264
+ "outputs": [
1265
+ {
1266
+ "internalType": "bool",
1267
+ "name": "",
1268
+ "type": "bool"
1269
+ }
1270
+ ],
1271
+ "stateMutability": "view",
1272
+ "type": "function"
1273
+ },
1274
+ {
1275
+ "inputs": [],
1276
+ "name": "symbol",
1277
+ "outputs": [
1278
+ {
1279
+ "internalType": "string",
1280
+ "name": "",
1281
+ "type": "string"
1282
+ }
1283
+ ],
1284
+ "stateMutability": "view",
1285
+ "type": "function"
1286
+ },
1287
+ {
1288
+ "inputs": [],
1289
+ "name": "totalSupply",
1290
+ "outputs": [
1291
+ {
1292
+ "internalType": "uint256",
1293
+ "name": "",
1294
+ "type": "uint256"
1295
+ }
1296
+ ],
1297
+ "stateMutability": "view",
1298
+ "type": "function"
1299
+ },
1300
+ {
1301
+ "inputs": [
1302
+ {
1303
+ "internalType": "address",
1304
+ "name": "to",
1305
+ "type": "address"
1306
+ },
1307
+ {
1308
+ "internalType": "uint256",
1309
+ "name": "value",
1310
+ "type": "uint256"
1311
+ }
1312
+ ],
1313
+ "name": "transfer",
1314
+ "outputs": [
1315
+ {
1316
+ "internalType": "bool",
1317
+ "name": "",
1318
+ "type": "bool"
1319
+ }
1320
+ ],
1321
+ "stateMutability": "nonpayable",
1322
+ "type": "function"
1323
+ },
1324
+ {
1325
+ "inputs": [
1326
+ {
1327
+ "internalType": "address",
1328
+ "name": "from",
1329
+ "type": "address"
1330
+ },
1331
+ {
1332
+ "internalType": "address",
1333
+ "name": "to",
1334
+ "type": "address"
1335
+ },
1336
+ {
1337
+ "internalType": "uint256",
1338
+ "name": "value",
1339
+ "type": "uint256"
1340
+ }
1341
+ ],
1342
+ "name": "transferFrom",
1343
+ "outputs": [
1344
+ {
1345
+ "internalType": "bool",
1346
+ "name": "",
1347
+ "type": "bool"
1348
+ }
1349
+ ],
1350
+ "stateMutability": "nonpayable",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [
1355
+ {
1356
+ "internalType": "address",
1357
+ "name": "from",
1358
+ "type": "address"
1359
+ },
1360
+ {
1361
+ "internalType": "address",
1362
+ "name": "to",
1363
+ "type": "address"
1364
+ },
1365
+ {
1366
+ "internalType": "uint256",
1367
+ "name": "value",
1368
+ "type": "uint256"
1369
+ },
1370
+ {
1371
+ "internalType": "uint256",
1372
+ "name": "validAfter",
1373
+ "type": "uint256"
1374
+ },
1375
+ {
1376
+ "internalType": "uint256",
1377
+ "name": "validBefore",
1378
+ "type": "uint256"
1379
+ },
1380
+ {
1381
+ "internalType": "bytes32",
1382
+ "name": "nonce",
1383
+ "type": "bytes32"
1384
+ },
1385
+ {
1386
+ "internalType": "bytes",
1387
+ "name": "signature",
1388
+ "type": "bytes"
1389
+ }
1390
+ ],
1391
+ "name": "transferWithAuthorization",
1392
+ "outputs": [],
1393
+ "stateMutability": "nonpayable",
1394
+ "type": "function"
1395
+ },
1396
+ {
1397
+ "inputs": [
1398
+ {
1399
+ "internalType": "address",
1400
+ "name": "from",
1401
+ "type": "address"
1402
+ },
1403
+ {
1404
+ "internalType": "address",
1405
+ "name": "to",
1406
+ "type": "address"
1407
+ },
1408
+ {
1409
+ "internalType": "uint256",
1410
+ "name": "value",
1411
+ "type": "uint256"
1412
+ },
1413
+ {
1414
+ "internalType": "uint256",
1415
+ "name": "validAfter",
1416
+ "type": "uint256"
1417
+ },
1418
+ {
1419
+ "internalType": "uint256",
1420
+ "name": "validBefore",
1421
+ "type": "uint256"
1422
+ },
1423
+ {
1424
+ "internalType": "bytes32",
1425
+ "name": "nonce",
1426
+ "type": "bytes32"
1427
+ },
1428
+ {
1429
+ "internalType": "uint8",
1430
+ "name": "v",
1431
+ "type": "uint8"
1432
+ },
1433
+ {
1434
+ "internalType": "bytes32",
1435
+ "name": "r",
1436
+ "type": "bytes32"
1437
+ },
1438
+ {
1439
+ "internalType": "bytes32",
1440
+ "name": "s",
1441
+ "type": "bytes32"
1442
+ }
1443
+ ],
1444
+ "name": "transferWithAuthorization",
1445
+ "outputs": [],
1446
+ "stateMutability": "nonpayable",
1447
+ "type": "function"
1448
+ },
1449
+ {
1450
+ "inputs": [],
1451
+ "name": "unpause",
1452
+ "outputs": [],
1453
+ "stateMutability": "nonpayable",
1454
+ "type": "function"
1455
+ }
1456
+ ];
1457
+ /**
1458
+ * TelcoinV3_json Contract Class
1459
+ *
1460
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1461
+ *
1462
+ * @example
1463
+ * ```typescript
1464
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1465
+ * import { mainnet } from 'viem/chains';
1466
+ * import { TelcoinV3_json } from 'TelcoinV3_json';
1467
+ *
1468
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1469
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1470
+ *
1471
+ * const contract = new TelcoinV3_json('0x...', { publicClient, walletClient });
1472
+ *
1473
+ * // Read functions
1474
+ * const result = await contract.balanceOf('0x...');
1475
+ *
1476
+ * // Write functions
1477
+ * const hash = await contract.transfer('0x...', 1000n);
1478
+ *
1479
+ * // Simulate transactions (dry-run)
1480
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1481
+ * console.log('Gas estimate:', simulation.request.gas);
1482
+ *
1483
+ * // Watch events
1484
+ * const unwatch = contract.watch.Transfer((event) => {
1485
+ * console.log('Transfer event:', event);
1486
+ * });
1487
+ * ```
1488
+ */
1489
+ class TelcoinV3_json {
1490
+ constructor(address, clients) {
1491
+ this.contractAddress = address;
1492
+ this.publicClient = clients.publicClient;
1493
+ this.contract = (0, viem_1.getContract)({
1494
+ address,
1495
+ abi: exports.TelcoinV3_jsonAbi,
1496
+ client: {
1497
+ public: clients.publicClient,
1498
+ wallet: clients.walletClient,
1499
+ },
1500
+ });
1501
+ }
1502
+ /**
1503
+ * Get the contract address
1504
+ */
1505
+ get address() {
1506
+ return this.contractAddress;
1507
+ }
1508
+ /**
1509
+ * Get the underlying viem contract instance
1510
+ */
1511
+ getContract() {
1512
+ return this.contract;
1513
+ }
1514
+ /**
1515
+ * BURNER_ROLE
1516
+ * view
1517
+ */
1518
+ async BURNER_ROLE() {
1519
+ return this.contract.read.BURNER_ROLE();
1520
+ }
1521
+ /**
1522
+ * CANCEL_AUTHORIZATION_TYPEHASH
1523
+ * view
1524
+ */
1525
+ async CANCEL_AUTHORIZATION_TYPEHASH() {
1526
+ return this.contract.read.CANCEL_AUTHORIZATION_TYPEHASH();
1527
+ }
1528
+ /**
1529
+ * DEFAULT_ADMIN_ROLE
1530
+ * view
1531
+ */
1532
+ async DEFAULT_ADMIN_ROLE() {
1533
+ return this.contract.read.DEFAULT_ADMIN_ROLE();
1534
+ }
1535
+ /**
1536
+ * DOMAIN_SEPARATOR
1537
+ * view
1538
+ */
1539
+ async DOMAIN_SEPARATOR() {
1540
+ return this.contract.read.DOMAIN_SEPARATOR();
1541
+ }
1542
+ /**
1543
+ * MIGRATION_SUPPLY_CAP
1544
+ * view
1545
+ */
1546
+ async MIGRATION_SUPPLY_CAP() {
1547
+ return this.contract.read.MIGRATION_SUPPLY_CAP();
1548
+ }
1549
+ /**
1550
+ * MINTER_ROLE
1551
+ * view
1552
+ */
1553
+ async MINTER_ROLE() {
1554
+ return this.contract.read.MINTER_ROLE();
1555
+ }
1556
+ /**
1557
+ * PAUSER_ROLE
1558
+ * view
1559
+ */
1560
+ async PAUSER_ROLE() {
1561
+ return this.contract.read.PAUSER_ROLE();
1562
+ }
1563
+ /**
1564
+ * PERMIT_TYPEHASH
1565
+ * view
1566
+ */
1567
+ async PERMIT_TYPEHASH() {
1568
+ return this.contract.read.PERMIT_TYPEHASH();
1569
+ }
1570
+ /**
1571
+ * RECEIVE_WITH_AUTHORIZATION_TYPEHASH
1572
+ * view
1573
+ */
1574
+ async RECEIVE_WITH_AUTHORIZATION_TYPEHASH() {
1575
+ return this.contract.read.RECEIVE_WITH_AUTHORIZATION_TYPEHASH();
1576
+ }
1577
+ /**
1578
+ * TRANSFER_WITH_AUTHORIZATION_TYPEHASH
1579
+ * view
1580
+ */
1581
+ async TRANSFER_WITH_AUTHORIZATION_TYPEHASH() {
1582
+ return this.contract.read.TRANSFER_WITH_AUTHORIZATION_TYPEHASH();
1583
+ }
1584
+ /**
1585
+ * UNPAUSER_ROLE
1586
+ * view
1587
+ */
1588
+ async UNPAUSER_ROLE() {
1589
+ return this.contract.read.UNPAUSER_ROLE();
1590
+ }
1591
+ /**
1592
+ * allowance
1593
+ * view
1594
+ */
1595
+ async allowance(owner, spender) {
1596
+ return this.contract.read.allowance([owner, spender]);
1597
+ }
1598
+ /**
1599
+ * authorizationState
1600
+ * view
1601
+ */
1602
+ async authorizationState(authorizer, nonce) {
1603
+ return this.contract.read.authorizationState([authorizer, nonce]);
1604
+ }
1605
+ /**
1606
+ * balanceOf
1607
+ * view
1608
+ */
1609
+ async balanceOf(account) {
1610
+ return this.contract.read.balanceOf([account]);
1611
+ }
1612
+ /**
1613
+ * decimals
1614
+ * view
1615
+ */
1616
+ async decimals() {
1617
+ return this.contract.read.decimals();
1618
+ }
1619
+ /**
1620
+ * eip712Domain
1621
+ * view
1622
+ */
1623
+ async eip712Domain() {
1624
+ return this.contract.read.eip712Domain();
1625
+ }
1626
+ /**
1627
+ * getRoleAdmin
1628
+ * view
1629
+ */
1630
+ async getRoleAdmin(role) {
1631
+ return this.contract.read.getRoleAdmin([role]);
1632
+ }
1633
+ /**
1634
+ * getRoleMember
1635
+ * view
1636
+ */
1637
+ async getRoleMember(role, index) {
1638
+ return this.contract.read.getRoleMember([role, index]);
1639
+ }
1640
+ /**
1641
+ * getRoleMemberCount
1642
+ * view
1643
+ */
1644
+ async getRoleMemberCount(role) {
1645
+ return this.contract.read.getRoleMemberCount([role]);
1646
+ }
1647
+ /**
1648
+ * getRoleMembers
1649
+ * view
1650
+ */
1651
+ async getRoleMembers(role) {
1652
+ return this.contract.read.getRoleMembers([role]);
1653
+ }
1654
+ /**
1655
+ * hasRole
1656
+ * view
1657
+ */
1658
+ async hasRole(role, account) {
1659
+ return this.contract.read.hasRole([role, account]);
1660
+ }
1661
+ /**
1662
+ * name
1663
+ * view
1664
+ */
1665
+ async name() {
1666
+ return this.contract.read.name();
1667
+ }
1668
+ /**
1669
+ * nonces
1670
+ * view
1671
+ */
1672
+ async nonces(owner) {
1673
+ return this.contract.read.nonces([owner]);
1674
+ }
1675
+ /**
1676
+ * paused
1677
+ * view
1678
+ */
1679
+ async paused() {
1680
+ return this.contract.read.paused();
1681
+ }
1682
+ /**
1683
+ * renounceRole
1684
+ * pure
1685
+ */
1686
+ async renounceRole(arg0, arg1) {
1687
+ return this.contract.read.renounceRole([arg0, arg1]);
1688
+ }
1689
+ /**
1690
+ * supportsInterface
1691
+ * view
1692
+ */
1693
+ async supportsInterface(interfaceId) {
1694
+ return this.contract.read.supportsInterface([interfaceId]);
1695
+ }
1696
+ /**
1697
+ * symbol
1698
+ * view
1699
+ */
1700
+ async symbol() {
1701
+ return this.contract.read.symbol();
1702
+ }
1703
+ /**
1704
+ * totalSupply
1705
+ * view
1706
+ */
1707
+ async totalSupply() {
1708
+ return this.contract.read.totalSupply();
1709
+ }
1710
+ /**
1711
+ * approve
1712
+ * nonpayable
1713
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1714
+ */
1715
+ async approve(spender, value, options) {
1716
+ if (!this.contract.write) {
1717
+ throw new Error('Wallet client is required for write operations');
1718
+ }
1719
+ return this.contract.write.approve([spender, value], options);
1720
+ }
1721
+ /**
1722
+ * burn
1723
+ * nonpayable
1724
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1725
+ */
1726
+ async burn(from, amount, options) {
1727
+ if (!this.contract.write) {
1728
+ throw new Error('Wallet client is required for write operations');
1729
+ }
1730
+ return this.contract.write.burn([from, amount], options);
1731
+ }
1732
+ async cancelAuthorization(...args) {
1733
+ if (!this.contract.write) {
1734
+ throw new Error('Wallet client is required for write operations');
1735
+ }
1736
+ return this.contract.write.cancelAuthorization(args);
1737
+ }
1738
+ /**
1739
+ * grantRole
1740
+ * nonpayable
1741
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1742
+ */
1743
+ async grantRole(role, account, options) {
1744
+ if (!this.contract.write) {
1745
+ throw new Error('Wallet client is required for write operations');
1746
+ }
1747
+ return this.contract.write.grantRole([role, account], options);
1748
+ }
1749
+ /**
1750
+ * mint
1751
+ * nonpayable
1752
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1753
+ */
1754
+ async mint(to, amount, options) {
1755
+ if (!this.contract.write) {
1756
+ throw new Error('Wallet client is required for write operations');
1757
+ }
1758
+ return this.contract.write.mint([to, amount], options);
1759
+ }
1760
+ /**
1761
+ * pause
1762
+ * nonpayable
1763
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1764
+ */
1765
+ async pause(options) {
1766
+ if (!this.contract.write) {
1767
+ throw new Error('Wallet client is required for write operations');
1768
+ }
1769
+ return this.contract.write.pause(options);
1770
+ }
1771
+ async permit(...args) {
1772
+ if (!this.contract.write) {
1773
+ throw new Error('Wallet client is required for write operations');
1774
+ }
1775
+ return this.contract.write.permit(args);
1776
+ }
1777
+ async receiveWithAuthorization(...args) {
1778
+ if (!this.contract.write) {
1779
+ throw new Error('Wallet client is required for write operations');
1780
+ }
1781
+ return this.contract.write.receiveWithAuthorization(args);
1782
+ }
1783
+ /**
1784
+ * rescueBurn
1785
+ * nonpayable
1786
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1787
+ */
1788
+ async rescueBurn(from, amount, options) {
1789
+ if (!this.contract.write) {
1790
+ throw new Error('Wallet client is required for write operations');
1791
+ }
1792
+ return this.contract.write.rescueBurn([from, amount], options);
1793
+ }
1794
+ /**
1795
+ * rescueTokens
1796
+ * nonpayable
1797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1798
+ */
1799
+ async rescueTokens(_token, _amount, _to, options) {
1800
+ if (!this.contract.write) {
1801
+ throw new Error('Wallet client is required for write operations');
1802
+ }
1803
+ return this.contract.write.rescueTokens([_token, _amount, _to], options);
1804
+ }
1805
+ /**
1806
+ * revokeRole
1807
+ * nonpayable
1808
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1809
+ */
1810
+ async revokeRole(role, account, options) {
1811
+ if (!this.contract.write) {
1812
+ throw new Error('Wallet client is required for write operations');
1813
+ }
1814
+ return this.contract.write.revokeRole([role, account], options);
1815
+ }
1816
+ /**
1817
+ * transfer
1818
+ * nonpayable
1819
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1820
+ */
1821
+ async transfer(to, value, options) {
1822
+ if (!this.contract.write) {
1823
+ throw new Error('Wallet client is required for write operations');
1824
+ }
1825
+ return this.contract.write.transfer([to, value], options);
1826
+ }
1827
+ /**
1828
+ * transferFrom
1829
+ * nonpayable
1830
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1831
+ */
1832
+ async transferFrom(from, to, value, options) {
1833
+ if (!this.contract.write) {
1834
+ throw new Error('Wallet client is required for write operations');
1835
+ }
1836
+ return this.contract.write.transferFrom([from, to, value], options);
1837
+ }
1838
+ async transferWithAuthorization(...args) {
1839
+ if (!this.contract.write) {
1840
+ throw new Error('Wallet client is required for write operations');
1841
+ }
1842
+ return this.contract.write.transferWithAuthorization(args);
1843
+ }
1844
+ /**
1845
+ * unpause
1846
+ * nonpayable
1847
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1848
+ */
1849
+ async unpause(options) {
1850
+ if (!this.contract.write) {
1851
+ throw new Error('Wallet client is required for write operations');
1852
+ }
1853
+ return this.contract.write.unpause(options);
1854
+ }
1855
+ /**
1856
+ * Simulate contract write operations (dry-run without sending transaction)
1857
+ *
1858
+ * @example
1859
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1860
+ * console.log('Gas estimate:', result.request.gas);
1861
+ * console.log('Would succeed:', result.result);
1862
+ */
1863
+ get simulate() {
1864
+ const contract = this.contract;
1865
+ if (!contract.simulate) {
1866
+ throw new Error('Public client is required for simulation');
1867
+ }
1868
+ return {
1869
+ /**
1870
+ * Simulate approve
1871
+ * Returns gas estimate and result without sending transaction
1872
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1873
+ */
1874
+ async approve(spender, value, options) {
1875
+ return contract.simulate.approve([spender, value], options);
1876
+ },
1877
+ /**
1878
+ * Simulate burn
1879
+ * Returns gas estimate and result without sending transaction
1880
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1881
+ */
1882
+ async burn(from, amount, options) {
1883
+ return contract.simulate.burn([from, amount], options);
1884
+ },
1885
+ /**
1886
+ * Simulate cancelAuthorization
1887
+ * Returns gas estimate and result without sending transaction
1888
+ * Supports multiple overloads: (address, bytes32, uint8, bytes32, bytes32), (address, bytes32, bytes)
1889
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1890
+ */
1891
+ async cancelAuthorization(...args) {
1892
+ return contract.simulate.cancelAuthorization(args);
1893
+ },
1894
+ /**
1895
+ * Simulate grantRole
1896
+ * Returns gas estimate and result without sending transaction
1897
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1898
+ */
1899
+ async grantRole(role, account, options) {
1900
+ return contract.simulate.grantRole([role, account], options);
1901
+ },
1902
+ /**
1903
+ * Simulate mint
1904
+ * Returns gas estimate and result without sending transaction
1905
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1906
+ */
1907
+ async mint(to, amount, options) {
1908
+ return contract.simulate.mint([to, amount], options);
1909
+ },
1910
+ /**
1911
+ * Simulate pause
1912
+ * Returns gas estimate and result without sending transaction
1913
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1914
+ */
1915
+ async pause(options) {
1916
+ return contract.simulate.pause(options);
1917
+ },
1918
+ /**
1919
+ * Simulate permit
1920
+ * Returns gas estimate and result without sending transaction
1921
+ * Supports multiple overloads: (address, address, uint256, uint256, bytes), (address, address, uint256, uint256, uint8, bytes32, bytes32)
1922
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1923
+ */
1924
+ async permit(...args) {
1925
+ return contract.simulate.permit(args);
1926
+ },
1927
+ /**
1928
+ * Simulate receiveWithAuthorization
1929
+ * Returns gas estimate and result without sending transaction
1930
+ * Supports multiple overloads: (address, address, uint256, uint256, uint256, bytes32, bytes), (address, address, uint256, uint256, uint256, bytes32, uint8, bytes32, bytes32)
1931
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1932
+ */
1933
+ async receiveWithAuthorization(...args) {
1934
+ return contract.simulate.receiveWithAuthorization(args);
1935
+ },
1936
+ /**
1937
+ * Simulate rescueBurn
1938
+ * Returns gas estimate and result without sending transaction
1939
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1940
+ */
1941
+ async rescueBurn(from, amount, options) {
1942
+ return contract.simulate.rescueBurn([from, amount], options);
1943
+ },
1944
+ /**
1945
+ * Simulate rescueTokens
1946
+ * Returns gas estimate and result without sending transaction
1947
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1948
+ */
1949
+ async rescueTokens(_token, _amount, _to, options) {
1950
+ return contract.simulate.rescueTokens([_token, _amount, _to], options);
1951
+ },
1952
+ /**
1953
+ * Simulate revokeRole
1954
+ * Returns gas estimate and result without sending transaction
1955
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1956
+ */
1957
+ async revokeRole(role, account, options) {
1958
+ return contract.simulate.revokeRole([role, account], options);
1959
+ },
1960
+ /**
1961
+ * Simulate transfer
1962
+ * Returns gas estimate and result without sending transaction
1963
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1964
+ */
1965
+ async transfer(to, value, options) {
1966
+ return contract.simulate.transfer([to, value], options);
1967
+ },
1968
+ /**
1969
+ * Simulate transferFrom
1970
+ * Returns gas estimate and result without sending transaction
1971
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1972
+ */
1973
+ async transferFrom(from, to, value, options) {
1974
+ return contract.simulate.transferFrom([from, to, value], options);
1975
+ },
1976
+ /**
1977
+ * Simulate transferWithAuthorization
1978
+ * Returns gas estimate and result without sending transaction
1979
+ * Supports multiple overloads: (address, address, uint256, uint256, uint256, bytes32, bytes), (address, address, uint256, uint256, uint256, bytes32, uint8, bytes32, bytes32)
1980
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1981
+ */
1982
+ async transferWithAuthorization(...args) {
1983
+ return contract.simulate.transferWithAuthorization(args);
1984
+ },
1985
+ /**
1986
+ * Simulate unpause
1987
+ * Returns gas estimate and result without sending transaction
1988
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1989
+ */
1990
+ async unpause(options) {
1991
+ return contract.simulate.unpause(options);
1992
+ }
1993
+ };
1994
+ }
1995
+ /**
1996
+ * Watch contract events
1997
+ *
1998
+ * @example
1999
+ * // Watch all Transfer events
2000
+ * const unwatch = contract.watch.Transfer((event) => {
2001
+ * console.log('Transfer:', event);
2002
+ * });
2003
+ *
2004
+ * // Stop watching
2005
+ * unwatch();
2006
+ */
2007
+ get watch() {
2008
+ return {
2009
+ /**
2010
+ * Watch Approval events
2011
+ * @param callback Function to call when event is emitted
2012
+ * @param filter Optional filter for indexed parameters
2013
+ * @returns Unwatch function to stop listening
2014
+ */
2015
+ Approval: (callback, filter) => {
2016
+ return this.publicClient.watchContractEvent({
2017
+ address: this.contractAddress,
2018
+ abi: exports.TelcoinV3_jsonAbi,
2019
+ eventName: 'Approval',
2020
+ args: filter,
2021
+ onLogs: (logs) => {
2022
+ logs.forEach((log) => {
2023
+ callback(log.args);
2024
+ });
2025
+ },
2026
+ });
2027
+ },
2028
+ /**
2029
+ * Watch AuthorizationCanceled events
2030
+ * @param callback Function to call when event is emitted
2031
+ * @param filter Optional filter for indexed parameters
2032
+ * @returns Unwatch function to stop listening
2033
+ */
2034
+ AuthorizationCanceled: (callback, filter) => {
2035
+ return this.publicClient.watchContractEvent({
2036
+ address: this.contractAddress,
2037
+ abi: exports.TelcoinV3_jsonAbi,
2038
+ eventName: 'AuthorizationCanceled',
2039
+ args: filter,
2040
+ onLogs: (logs) => {
2041
+ logs.forEach((log) => {
2042
+ callback(log.args);
2043
+ });
2044
+ },
2045
+ });
2046
+ },
2047
+ /**
2048
+ * Watch AuthorizationUsed events
2049
+ * @param callback Function to call when event is emitted
2050
+ * @param filter Optional filter for indexed parameters
2051
+ * @returns Unwatch function to stop listening
2052
+ */
2053
+ AuthorizationUsed: (callback, filter) => {
2054
+ return this.publicClient.watchContractEvent({
2055
+ address: this.contractAddress,
2056
+ abi: exports.TelcoinV3_jsonAbi,
2057
+ eventName: 'AuthorizationUsed',
2058
+ args: filter,
2059
+ onLogs: (logs) => {
2060
+ logs.forEach((log) => {
2061
+ callback(log.args);
2062
+ });
2063
+ },
2064
+ });
2065
+ },
2066
+ /**
2067
+ * Watch EIP712DomainChanged events
2068
+ * @param callback Function to call when event is emitted
2069
+ * @param filter Optional filter for indexed parameters
2070
+ * @returns Unwatch function to stop listening
2071
+ */
2072
+ EIP712DomainChanged: (callback) => {
2073
+ return this.publicClient.watchContractEvent({
2074
+ address: this.contractAddress,
2075
+ abi: exports.TelcoinV3_jsonAbi,
2076
+ eventName: 'EIP712DomainChanged',
2077
+ onLogs: (logs) => {
2078
+ logs.forEach((log) => {
2079
+ callback(log.args);
2080
+ });
2081
+ },
2082
+ });
2083
+ },
2084
+ /**
2085
+ * Watch Paused events
2086
+ * @param callback Function to call when event is emitted
2087
+ * @param filter Optional filter for indexed parameters
2088
+ * @returns Unwatch function to stop listening
2089
+ */
2090
+ Paused: (callback) => {
2091
+ return this.publicClient.watchContractEvent({
2092
+ address: this.contractAddress,
2093
+ abi: exports.TelcoinV3_jsonAbi,
2094
+ eventName: 'Paused',
2095
+ onLogs: (logs) => {
2096
+ logs.forEach((log) => {
2097
+ callback(log.args);
2098
+ });
2099
+ },
2100
+ });
2101
+ },
2102
+ /**
2103
+ * Watch RoleAdminChanged events
2104
+ * @param callback Function to call when event is emitted
2105
+ * @param filter Optional filter for indexed parameters
2106
+ * @returns Unwatch function to stop listening
2107
+ */
2108
+ RoleAdminChanged: (callback, filter) => {
2109
+ return this.publicClient.watchContractEvent({
2110
+ address: this.contractAddress,
2111
+ abi: exports.TelcoinV3_jsonAbi,
2112
+ eventName: 'RoleAdminChanged',
2113
+ args: filter,
2114
+ onLogs: (logs) => {
2115
+ logs.forEach((log) => {
2116
+ callback(log.args);
2117
+ });
2118
+ },
2119
+ });
2120
+ },
2121
+ /**
2122
+ * Watch RoleGranted events
2123
+ * @param callback Function to call when event is emitted
2124
+ * @param filter Optional filter for indexed parameters
2125
+ * @returns Unwatch function to stop listening
2126
+ */
2127
+ RoleGranted: (callback, filter) => {
2128
+ return this.publicClient.watchContractEvent({
2129
+ address: this.contractAddress,
2130
+ abi: exports.TelcoinV3_jsonAbi,
2131
+ eventName: 'RoleGranted',
2132
+ args: filter,
2133
+ onLogs: (logs) => {
2134
+ logs.forEach((log) => {
2135
+ callback(log.args);
2136
+ });
2137
+ },
2138
+ });
2139
+ },
2140
+ /**
2141
+ * Watch RoleRevoked events
2142
+ * @param callback Function to call when event is emitted
2143
+ * @param filter Optional filter for indexed parameters
2144
+ * @returns Unwatch function to stop listening
2145
+ */
2146
+ RoleRevoked: (callback, filter) => {
2147
+ return this.publicClient.watchContractEvent({
2148
+ address: this.contractAddress,
2149
+ abi: exports.TelcoinV3_jsonAbi,
2150
+ eventName: 'RoleRevoked',
2151
+ args: filter,
2152
+ onLogs: (logs) => {
2153
+ logs.forEach((log) => {
2154
+ callback(log.args);
2155
+ });
2156
+ },
2157
+ });
2158
+ },
2159
+ /**
2160
+ * Watch Transfer events
2161
+ * @param callback Function to call when event is emitted
2162
+ * @param filter Optional filter for indexed parameters
2163
+ * @returns Unwatch function to stop listening
2164
+ */
2165
+ Transfer: (callback, filter) => {
2166
+ return this.publicClient.watchContractEvent({
2167
+ address: this.contractAddress,
2168
+ abi: exports.TelcoinV3_jsonAbi,
2169
+ eventName: 'Transfer',
2170
+ args: filter,
2171
+ onLogs: (logs) => {
2172
+ logs.forEach((log) => {
2173
+ callback(log.args);
2174
+ });
2175
+ },
2176
+ });
2177
+ },
2178
+ /**
2179
+ * Watch Unpaused events
2180
+ * @param callback Function to call when event is emitted
2181
+ * @param filter Optional filter for indexed parameters
2182
+ * @returns Unwatch function to stop listening
2183
+ */
2184
+ Unpaused: (callback) => {
2185
+ return this.publicClient.watchContractEvent({
2186
+ address: this.contractAddress,
2187
+ abi: exports.TelcoinV3_jsonAbi,
2188
+ eventName: 'Unpaused',
2189
+ onLogs: (logs) => {
2190
+ logs.forEach((log) => {
2191
+ callback(log.args);
2192
+ });
2193
+ },
2194
+ });
2195
+ }
2196
+ };
2197
+ }
2198
+ }
2199
+ exports.TelcoinV3_json = TelcoinV3_json;