@gitmyabi/wuyu 1.0.0

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