@gitmyabi/sibo 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,3332 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SIBO_json = exports.SIBO_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * SIBO_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.SIBO_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": "uint48",
25
+ "name": "schedule",
26
+ "type": "uint48"
27
+ }
28
+ ],
29
+ "name": "AccessControlEnforcedDefaultAdminDelay",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "AccessControlEnforcedDefaultAdminRules",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "defaultAdmin",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "AccessControlInvalidDefaultAdmin",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "address",
52
+ "name": "account",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "internalType": "bytes32",
57
+ "name": "neededRole",
58
+ "type": "bytes32"
59
+ }
60
+ ],
61
+ "name": "AccessControlUnauthorizedAccount",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "target",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "AddressEmptyCode",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [],
77
+ "name": "ECDSAInvalidSignature",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "length",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "name": "ECDSAInvalidSignatureLength",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "bytes32",
95
+ "name": "s",
96
+ "type": "bytes32"
97
+ }
98
+ ],
99
+ "name": "ECDSAInvalidSignatureS",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "address",
106
+ "name": "implementation",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "ERC1967InvalidImplementation",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "ERC1967NonPayable",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [
120
+ {
121
+ "internalType": "address",
122
+ "name": "spender",
123
+ "type": "address"
124
+ },
125
+ {
126
+ "internalType": "uint256",
127
+ "name": "allowance",
128
+ "type": "uint256"
129
+ },
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "needed",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "ERC20InsufficientAllowance",
137
+ "type": "error"
138
+ },
139
+ {
140
+ "inputs": [
141
+ {
142
+ "internalType": "address",
143
+ "name": "sender",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "internalType": "uint256",
148
+ "name": "balance",
149
+ "type": "uint256"
150
+ },
151
+ {
152
+ "internalType": "uint256",
153
+ "name": "needed",
154
+ "type": "uint256"
155
+ }
156
+ ],
157
+ "name": "ERC20InsufficientBalance",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "address",
164
+ "name": "approver",
165
+ "type": "address"
166
+ }
167
+ ],
168
+ "name": "ERC20InvalidApprover",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [
173
+ {
174
+ "internalType": "address",
175
+ "name": "receiver",
176
+ "type": "address"
177
+ }
178
+ ],
179
+ "name": "ERC20InvalidReceiver",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "inputs": [
184
+ {
185
+ "internalType": "address",
186
+ "name": "sender",
187
+ "type": "address"
188
+ }
189
+ ],
190
+ "name": "ERC20InvalidSender",
191
+ "type": "error"
192
+ },
193
+ {
194
+ "inputs": [
195
+ {
196
+ "internalType": "address",
197
+ "name": "spender",
198
+ "type": "address"
199
+ }
200
+ ],
201
+ "name": "ERC20InvalidSpender",
202
+ "type": "error"
203
+ },
204
+ {
205
+ "inputs": [
206
+ {
207
+ "internalType": "uint256",
208
+ "name": "deadline",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "ERC2612ExpiredSignature",
213
+ "type": "error"
214
+ },
215
+ {
216
+ "inputs": [
217
+ {
218
+ "internalType": "address",
219
+ "name": "signer",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "internalType": "address",
224
+ "name": "owner",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "name": "ERC2612InvalidSigner",
229
+ "type": "error"
230
+ },
231
+ {
232
+ "inputs": [],
233
+ "name": "FailedCall",
234
+ "type": "error"
235
+ },
236
+ {
237
+ "inputs": [
238
+ {
239
+ "internalType": "address",
240
+ "name": "account",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "internalType": "uint256",
245
+ "name": "currentNonce",
246
+ "type": "uint256"
247
+ }
248
+ ],
249
+ "name": "InvalidAccountNonce",
250
+ "type": "error"
251
+ },
252
+ {
253
+ "inputs": [],
254
+ "name": "InvalidInitialization",
255
+ "type": "error"
256
+ },
257
+ {
258
+ "inputs": [],
259
+ "name": "NotInitializing",
260
+ "type": "error"
261
+ },
262
+ {
263
+ "inputs": [],
264
+ "name": "SIBOCannotBlacklistFeeCollector",
265
+ "type": "error"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "SIBOInvalidBlacklistAccount",
270
+ "type": "error"
271
+ },
272
+ {
273
+ "inputs": [],
274
+ "name": "SIBOInvalidFeeBounds",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "SIBOInvalidFeeCollector",
280
+ "type": "error"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "bytes32",
286
+ "name": "role",
287
+ "type": "bytes32"
288
+ }
289
+ ],
290
+ "name": "SIBOInvalidRoleHolder",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [],
295
+ "name": "SIBOInvalidTiers",
296
+ "type": "error"
297
+ },
298
+ {
299
+ "inputs": [
300
+ {
301
+ "internalType": "address",
302
+ "name": "account",
303
+ "type": "address"
304
+ }
305
+ ],
306
+ "name": "SIBONotBlacklisted",
307
+ "type": "error"
308
+ },
309
+ {
310
+ "inputs": [
311
+ {
312
+ "internalType": "address",
313
+ "name": "operator",
314
+ "type": "address"
315
+ }
316
+ ],
317
+ "name": "SIBOOperatorBlacklisted",
318
+ "type": "error"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "owner",
325
+ "type": "address"
326
+ }
327
+ ],
328
+ "name": "SIBOOwnerBlacklisted",
329
+ "type": "error"
330
+ },
331
+ {
332
+ "inputs": [
333
+ {
334
+ "internalType": "address",
335
+ "name": "recipient",
336
+ "type": "address"
337
+ }
338
+ ],
339
+ "name": "SIBORecipientBlacklisted",
340
+ "type": "error"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "sender",
347
+ "type": "address"
348
+ }
349
+ ],
350
+ "name": "SIBOSenderBlacklisted",
351
+ "type": "error"
352
+ },
353
+ {
354
+ "inputs": [
355
+ {
356
+ "internalType": "address",
357
+ "name": "spender",
358
+ "type": "address"
359
+ }
360
+ ],
361
+ "name": "SIBOSpenderBlacklisted",
362
+ "type": "error"
363
+ },
364
+ {
365
+ "inputs": [
366
+ {
367
+ "internalType": "uint8",
368
+ "name": "bits",
369
+ "type": "uint8"
370
+ },
371
+ {
372
+ "internalType": "uint256",
373
+ "name": "value",
374
+ "type": "uint256"
375
+ }
376
+ ],
377
+ "name": "SafeCastOverflowedUintDowncast",
378
+ "type": "error"
379
+ },
380
+ {
381
+ "inputs": [],
382
+ "name": "UUPSUnauthorizedCallContext",
383
+ "type": "error"
384
+ },
385
+ {
386
+ "inputs": [
387
+ {
388
+ "internalType": "bytes32",
389
+ "name": "slot",
390
+ "type": "bytes32"
391
+ }
392
+ ],
393
+ "name": "UUPSUnsupportedProxiableUUID",
394
+ "type": "error"
395
+ },
396
+ {
397
+ "anonymous": false,
398
+ "inputs": [
399
+ {
400
+ "indexed": true,
401
+ "internalType": "address",
402
+ "name": "owner",
403
+ "type": "address"
404
+ },
405
+ {
406
+ "indexed": true,
407
+ "internalType": "address",
408
+ "name": "spender",
409
+ "type": "address"
410
+ },
411
+ {
412
+ "indexed": false,
413
+ "internalType": "uint256",
414
+ "name": "value",
415
+ "type": "uint256"
416
+ }
417
+ ],
418
+ "name": "Approval",
419
+ "type": "event"
420
+ },
421
+ {
422
+ "anonymous": false,
423
+ "inputs": [
424
+ {
425
+ "indexed": true,
426
+ "internalType": "address",
427
+ "name": "account",
428
+ "type": "address"
429
+ }
430
+ ],
431
+ "name": "Blacklisted",
432
+ "type": "event"
433
+ },
434
+ {
435
+ "anonymous": false,
436
+ "inputs": [
437
+ {
438
+ "indexed": true,
439
+ "internalType": "address",
440
+ "name": "account",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "indexed": false,
445
+ "internalType": "uint256",
446
+ "name": "amount",
447
+ "type": "uint256"
448
+ }
449
+ ],
450
+ "name": "BlacklistedBurned",
451
+ "type": "event"
452
+ },
453
+ {
454
+ "anonymous": false,
455
+ "inputs": [],
456
+ "name": "DefaultAdminDelayChangeCanceled",
457
+ "type": "event"
458
+ },
459
+ {
460
+ "anonymous": false,
461
+ "inputs": [
462
+ {
463
+ "indexed": false,
464
+ "internalType": "uint48",
465
+ "name": "newDelay",
466
+ "type": "uint48"
467
+ },
468
+ {
469
+ "indexed": false,
470
+ "internalType": "uint48",
471
+ "name": "effectSchedule",
472
+ "type": "uint48"
473
+ }
474
+ ],
475
+ "name": "DefaultAdminDelayChangeScheduled",
476
+ "type": "event"
477
+ },
478
+ {
479
+ "anonymous": false,
480
+ "inputs": [],
481
+ "name": "DefaultAdminTransferCanceled",
482
+ "type": "event"
483
+ },
484
+ {
485
+ "anonymous": false,
486
+ "inputs": [
487
+ {
488
+ "indexed": true,
489
+ "internalType": "address",
490
+ "name": "newAdmin",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "indexed": false,
495
+ "internalType": "uint48",
496
+ "name": "acceptSchedule",
497
+ "type": "uint48"
498
+ }
499
+ ],
500
+ "name": "DefaultAdminTransferScheduled",
501
+ "type": "event"
502
+ },
503
+ {
504
+ "anonymous": false,
505
+ "inputs": [],
506
+ "name": "EIP712DomainChanged",
507
+ "type": "event"
508
+ },
509
+ {
510
+ "anonymous": false,
511
+ "inputs": [
512
+ {
513
+ "indexed": true,
514
+ "internalType": "address",
515
+ "name": "from",
516
+ "type": "address"
517
+ },
518
+ {
519
+ "indexed": true,
520
+ "internalType": "address",
521
+ "name": "to",
522
+ "type": "address"
523
+ },
524
+ {
525
+ "indexed": false,
526
+ "internalType": "uint256",
527
+ "name": "amount",
528
+ "type": "uint256"
529
+ },
530
+ {
531
+ "indexed": false,
532
+ "internalType": "uint256",
533
+ "name": "fee",
534
+ "type": "uint256"
535
+ }
536
+ ],
537
+ "name": "FeeCollected",
538
+ "type": "event"
539
+ },
540
+ {
541
+ "anonymous": false,
542
+ "inputs": [
543
+ {
544
+ "indexed": true,
545
+ "internalType": "address",
546
+ "name": "previous",
547
+ "type": "address"
548
+ },
549
+ {
550
+ "indexed": true,
551
+ "internalType": "address",
552
+ "name": "next",
553
+ "type": "address"
554
+ }
555
+ ],
556
+ "name": "FeeCollectorChanged",
557
+ "type": "event"
558
+ },
559
+ {
560
+ "anonymous": false,
561
+ "inputs": [
562
+ {
563
+ "indexed": true,
564
+ "internalType": "address",
565
+ "name": "account",
566
+ "type": "address"
567
+ }
568
+ ],
569
+ "name": "FeeExempted",
570
+ "type": "event"
571
+ },
572
+ {
573
+ "anonymous": false,
574
+ "inputs": [
575
+ {
576
+ "indexed": true,
577
+ "internalType": "address",
578
+ "name": "account",
579
+ "type": "address"
580
+ }
581
+ ],
582
+ "name": "FeeUnexempted",
583
+ "type": "event"
584
+ },
585
+ {
586
+ "anonymous": false,
587
+ "inputs": [
588
+ {
589
+ "indexed": false,
590
+ "internalType": "uint64",
591
+ "name": "version",
592
+ "type": "uint64"
593
+ }
594
+ ],
595
+ "name": "Initialized",
596
+ "type": "event"
597
+ },
598
+ {
599
+ "anonymous": false,
600
+ "inputs": [
601
+ {
602
+ "indexed": false,
603
+ "internalType": "uint256",
604
+ "name": "maxFee",
605
+ "type": "uint256"
606
+ }
607
+ ],
608
+ "name": "MaxFeeChanged",
609
+ "type": "event"
610
+ },
611
+ {
612
+ "anonymous": false,
613
+ "inputs": [
614
+ {
615
+ "indexed": false,
616
+ "internalType": "uint256",
617
+ "name": "minFee",
618
+ "type": "uint256"
619
+ }
620
+ ],
621
+ "name": "MinFeeChanged",
622
+ "type": "event"
623
+ },
624
+ {
625
+ "anonymous": false,
626
+ "inputs": [
627
+ {
628
+ "indexed": true,
629
+ "internalType": "bytes32",
630
+ "name": "role",
631
+ "type": "bytes32"
632
+ },
633
+ {
634
+ "indexed": true,
635
+ "internalType": "bytes32",
636
+ "name": "previousAdminRole",
637
+ "type": "bytes32"
638
+ },
639
+ {
640
+ "indexed": true,
641
+ "internalType": "bytes32",
642
+ "name": "newAdminRole",
643
+ "type": "bytes32"
644
+ }
645
+ ],
646
+ "name": "RoleAdminChanged",
647
+ "type": "event"
648
+ },
649
+ {
650
+ "anonymous": false,
651
+ "inputs": [
652
+ {
653
+ "indexed": true,
654
+ "internalType": "bytes32",
655
+ "name": "role",
656
+ "type": "bytes32"
657
+ },
658
+ {
659
+ "indexed": true,
660
+ "internalType": "address",
661
+ "name": "account",
662
+ "type": "address"
663
+ },
664
+ {
665
+ "indexed": true,
666
+ "internalType": "address",
667
+ "name": "sender",
668
+ "type": "address"
669
+ }
670
+ ],
671
+ "name": "RoleGranted",
672
+ "type": "event"
673
+ },
674
+ {
675
+ "anonymous": false,
676
+ "inputs": [
677
+ {
678
+ "indexed": true,
679
+ "internalType": "bytes32",
680
+ "name": "role",
681
+ "type": "bytes32"
682
+ },
683
+ {
684
+ "indexed": true,
685
+ "internalType": "address",
686
+ "name": "account",
687
+ "type": "address"
688
+ },
689
+ {
690
+ "indexed": true,
691
+ "internalType": "address",
692
+ "name": "sender",
693
+ "type": "address"
694
+ }
695
+ ],
696
+ "name": "RoleRevoked",
697
+ "type": "event"
698
+ },
699
+ {
700
+ "anonymous": false,
701
+ "inputs": [
702
+ {
703
+ "components": [
704
+ {
705
+ "internalType": "uint256",
706
+ "name": "upTo",
707
+ "type": "uint256"
708
+ },
709
+ {
710
+ "internalType": "enum SIBO.FeeKind",
711
+ "name": "kind",
712
+ "type": "uint8"
713
+ },
714
+ {
715
+ "internalType": "uint256",
716
+ "name": "amount",
717
+ "type": "uint256"
718
+ }
719
+ ],
720
+ "indexed": false,
721
+ "internalType": "struct SIBO.FeeTier[]",
722
+ "name": "tiers",
723
+ "type": "tuple[]"
724
+ }
725
+ ],
726
+ "name": "TiersChanged",
727
+ "type": "event"
728
+ },
729
+ {
730
+ "anonymous": false,
731
+ "inputs": [
732
+ {
733
+ "indexed": true,
734
+ "internalType": "address",
735
+ "name": "from",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "indexed": true,
740
+ "internalType": "address",
741
+ "name": "to",
742
+ "type": "address"
743
+ },
744
+ {
745
+ "indexed": false,
746
+ "internalType": "uint256",
747
+ "name": "value",
748
+ "type": "uint256"
749
+ }
750
+ ],
751
+ "name": "Transfer",
752
+ "type": "event"
753
+ },
754
+ {
755
+ "anonymous": false,
756
+ "inputs": [
757
+ {
758
+ "indexed": true,
759
+ "internalType": "address",
760
+ "name": "account",
761
+ "type": "address"
762
+ }
763
+ ],
764
+ "name": "UnBlacklisted",
765
+ "type": "event"
766
+ },
767
+ {
768
+ "anonymous": false,
769
+ "inputs": [
770
+ {
771
+ "indexed": true,
772
+ "internalType": "address",
773
+ "name": "implementation",
774
+ "type": "address"
775
+ }
776
+ ],
777
+ "name": "Upgraded",
778
+ "type": "event"
779
+ },
780
+ {
781
+ "anonymous": false,
782
+ "inputs": [
783
+ {
784
+ "indexed": true,
785
+ "internalType": "address",
786
+ "name": "account",
787
+ "type": "address"
788
+ }
789
+ ],
790
+ "name": "WalletFeeOverrideCleared",
791
+ "type": "event"
792
+ },
793
+ {
794
+ "anonymous": false,
795
+ "inputs": [
796
+ {
797
+ "indexed": true,
798
+ "internalType": "address",
799
+ "name": "account",
800
+ "type": "address"
801
+ },
802
+ {
803
+ "indexed": false,
804
+ "internalType": "enum SIBO.FeeKind",
805
+ "name": "kind",
806
+ "type": "uint8"
807
+ },
808
+ {
809
+ "indexed": false,
810
+ "internalType": "uint256",
811
+ "name": "amount",
812
+ "type": "uint256"
813
+ }
814
+ ],
815
+ "name": "WalletFeeOverrideSet",
816
+ "type": "event"
817
+ },
818
+ {
819
+ "inputs": [],
820
+ "name": "BLACKLISTER_ROLE",
821
+ "outputs": [
822
+ {
823
+ "internalType": "bytes32",
824
+ "name": "",
825
+ "type": "bytes32"
826
+ }
827
+ ],
828
+ "stateMutability": "view",
829
+ "type": "function"
830
+ },
831
+ {
832
+ "inputs": [],
833
+ "name": "BURNER_ROLE",
834
+ "outputs": [
835
+ {
836
+ "internalType": "bytes32",
837
+ "name": "",
838
+ "type": "bytes32"
839
+ }
840
+ ],
841
+ "stateMutability": "view",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [],
846
+ "name": "BURN_BLACKLISTED_ROLE",
847
+ "outputs": [
848
+ {
849
+ "internalType": "bytes32",
850
+ "name": "",
851
+ "type": "bytes32"
852
+ }
853
+ ],
854
+ "stateMutability": "view",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [],
859
+ "name": "DEFAULT_ADMIN_ROLE",
860
+ "outputs": [
861
+ {
862
+ "internalType": "bytes32",
863
+ "name": "",
864
+ "type": "bytes32"
865
+ }
866
+ ],
867
+ "stateMutability": "view",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [],
872
+ "name": "DOMAIN_SEPARATOR",
873
+ "outputs": [
874
+ {
875
+ "internalType": "bytes32",
876
+ "name": "",
877
+ "type": "bytes32"
878
+ }
879
+ ],
880
+ "stateMutability": "view",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [],
885
+ "name": "FEE_EXEMPTER_ROLE",
886
+ "outputs": [
887
+ {
888
+ "internalType": "bytes32",
889
+ "name": "",
890
+ "type": "bytes32"
891
+ }
892
+ ],
893
+ "stateMutability": "view",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [],
898
+ "name": "FEE_MANAGER_ROLE",
899
+ "outputs": [
900
+ {
901
+ "internalType": "bytes32",
902
+ "name": "",
903
+ "type": "bytes32"
904
+ }
905
+ ],
906
+ "stateMutability": "view",
907
+ "type": "function"
908
+ },
909
+ {
910
+ "inputs": [],
911
+ "name": "MINTER_ROLE",
912
+ "outputs": [
913
+ {
914
+ "internalType": "bytes32",
915
+ "name": "",
916
+ "type": "bytes32"
917
+ }
918
+ ],
919
+ "stateMutability": "view",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [],
924
+ "name": "UPGRADER_ROLE",
925
+ "outputs": [
926
+ {
927
+ "internalType": "bytes32",
928
+ "name": "",
929
+ "type": "bytes32"
930
+ }
931
+ ],
932
+ "stateMutability": "view",
933
+ "type": "function"
934
+ },
935
+ {
936
+ "inputs": [],
937
+ "name": "UPGRADE_INTERFACE_VERSION",
938
+ "outputs": [
939
+ {
940
+ "internalType": "string",
941
+ "name": "",
942
+ "type": "string"
943
+ }
944
+ ],
945
+ "stateMutability": "view",
946
+ "type": "function"
947
+ },
948
+ {
949
+ "inputs": [],
950
+ "name": "acceptDefaultAdminTransfer",
951
+ "outputs": [],
952
+ "stateMutability": "nonpayable",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [
957
+ {
958
+ "internalType": "address[]",
959
+ "name": "accounts",
960
+ "type": "address[]"
961
+ }
962
+ ],
963
+ "name": "addFeeExemption",
964
+ "outputs": [],
965
+ "stateMutability": "nonpayable",
966
+ "type": "function"
967
+ },
968
+ {
969
+ "inputs": [
970
+ {
971
+ "internalType": "address",
972
+ "name": "owner",
973
+ "type": "address"
974
+ },
975
+ {
976
+ "internalType": "address",
977
+ "name": "spender",
978
+ "type": "address"
979
+ }
980
+ ],
981
+ "name": "allowance",
982
+ "outputs": [
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "",
986
+ "type": "uint256"
987
+ }
988
+ ],
989
+ "stateMutability": "view",
990
+ "type": "function"
991
+ },
992
+ {
993
+ "inputs": [
994
+ {
995
+ "internalType": "address",
996
+ "name": "spender",
997
+ "type": "address"
998
+ },
999
+ {
1000
+ "internalType": "uint256",
1001
+ "name": "value",
1002
+ "type": "uint256"
1003
+ }
1004
+ ],
1005
+ "name": "approve",
1006
+ "outputs": [
1007
+ {
1008
+ "internalType": "bool",
1009
+ "name": "",
1010
+ "type": "bool"
1011
+ }
1012
+ ],
1013
+ "stateMutability": "nonpayable",
1014
+ "type": "function"
1015
+ },
1016
+ {
1017
+ "inputs": [
1018
+ {
1019
+ "internalType": "address",
1020
+ "name": "account",
1021
+ "type": "address"
1022
+ }
1023
+ ],
1024
+ "name": "balanceOf",
1025
+ "outputs": [
1026
+ {
1027
+ "internalType": "uint256",
1028
+ "name": "",
1029
+ "type": "uint256"
1030
+ }
1031
+ ],
1032
+ "stateMutability": "view",
1033
+ "type": "function"
1034
+ },
1035
+ {
1036
+ "inputs": [
1037
+ {
1038
+ "internalType": "address",
1039
+ "name": "newAdmin",
1040
+ "type": "address"
1041
+ }
1042
+ ],
1043
+ "name": "beginDefaultAdminTransfer",
1044
+ "outputs": [],
1045
+ "stateMutability": "nonpayable",
1046
+ "type": "function"
1047
+ },
1048
+ {
1049
+ "inputs": [
1050
+ {
1051
+ "internalType": "address[]",
1052
+ "name": "accounts",
1053
+ "type": "address[]"
1054
+ }
1055
+ ],
1056
+ "name": "blacklist",
1057
+ "outputs": [],
1058
+ "stateMutability": "nonpayable",
1059
+ "type": "function"
1060
+ },
1061
+ {
1062
+ "inputs": [
1063
+ {
1064
+ "internalType": "address",
1065
+ "name": "from",
1066
+ "type": "address"
1067
+ },
1068
+ {
1069
+ "internalType": "uint256",
1070
+ "name": "amount",
1071
+ "type": "uint256"
1072
+ }
1073
+ ],
1074
+ "name": "burn",
1075
+ "outputs": [],
1076
+ "stateMutability": "nonpayable",
1077
+ "type": "function"
1078
+ },
1079
+ {
1080
+ "inputs": [
1081
+ {
1082
+ "internalType": "address",
1083
+ "name": "account",
1084
+ "type": "address"
1085
+ },
1086
+ {
1087
+ "internalType": "uint256",
1088
+ "name": "amount",
1089
+ "type": "uint256"
1090
+ }
1091
+ ],
1092
+ "name": "burnBlacklisted",
1093
+ "outputs": [],
1094
+ "stateMutability": "nonpayable",
1095
+ "type": "function"
1096
+ },
1097
+ {
1098
+ "inputs": [
1099
+ {
1100
+ "internalType": "address",
1101
+ "name": "from",
1102
+ "type": "address"
1103
+ },
1104
+ {
1105
+ "internalType": "address",
1106
+ "name": "to",
1107
+ "type": "address"
1108
+ },
1109
+ {
1110
+ "internalType": "uint256",
1111
+ "name": "amount",
1112
+ "type": "uint256"
1113
+ }
1114
+ ],
1115
+ "name": "calculateFee",
1116
+ "outputs": [
1117
+ {
1118
+ "internalType": "uint256",
1119
+ "name": "",
1120
+ "type": "uint256"
1121
+ }
1122
+ ],
1123
+ "stateMutability": "view",
1124
+ "type": "function"
1125
+ },
1126
+ {
1127
+ "inputs": [],
1128
+ "name": "cancelDefaultAdminTransfer",
1129
+ "outputs": [],
1130
+ "stateMutability": "nonpayable",
1131
+ "type": "function"
1132
+ },
1133
+ {
1134
+ "inputs": [
1135
+ {
1136
+ "internalType": "uint48",
1137
+ "name": "newDelay",
1138
+ "type": "uint48"
1139
+ }
1140
+ ],
1141
+ "name": "changeDefaultAdminDelay",
1142
+ "outputs": [],
1143
+ "stateMutability": "nonpayable",
1144
+ "type": "function"
1145
+ },
1146
+ {
1147
+ "inputs": [
1148
+ {
1149
+ "internalType": "address[]",
1150
+ "name": "accounts",
1151
+ "type": "address[]"
1152
+ }
1153
+ ],
1154
+ "name": "clearWalletFeeOverride",
1155
+ "outputs": [],
1156
+ "stateMutability": "nonpayable",
1157
+ "type": "function"
1158
+ },
1159
+ {
1160
+ "inputs": [],
1161
+ "name": "decimals",
1162
+ "outputs": [
1163
+ {
1164
+ "internalType": "uint8",
1165
+ "name": "",
1166
+ "type": "uint8"
1167
+ }
1168
+ ],
1169
+ "stateMutability": "view",
1170
+ "type": "function"
1171
+ },
1172
+ {
1173
+ "inputs": [],
1174
+ "name": "defaultAdmin",
1175
+ "outputs": [
1176
+ {
1177
+ "internalType": "address",
1178
+ "name": "",
1179
+ "type": "address"
1180
+ }
1181
+ ],
1182
+ "stateMutability": "view",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "defaultAdminDelay",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "uint48",
1191
+ "name": "",
1192
+ "type": "uint48"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [],
1200
+ "name": "defaultAdminDelayIncreaseWait",
1201
+ "outputs": [
1202
+ {
1203
+ "internalType": "uint48",
1204
+ "name": "",
1205
+ "type": "uint48"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view",
1209
+ "type": "function"
1210
+ },
1211
+ {
1212
+ "inputs": [],
1213
+ "name": "eip712Domain",
1214
+ "outputs": [
1215
+ {
1216
+ "internalType": "bytes1",
1217
+ "name": "fields",
1218
+ "type": "bytes1"
1219
+ },
1220
+ {
1221
+ "internalType": "string",
1222
+ "name": "name",
1223
+ "type": "string"
1224
+ },
1225
+ {
1226
+ "internalType": "string",
1227
+ "name": "version",
1228
+ "type": "string"
1229
+ },
1230
+ {
1231
+ "internalType": "uint256",
1232
+ "name": "chainId",
1233
+ "type": "uint256"
1234
+ },
1235
+ {
1236
+ "internalType": "address",
1237
+ "name": "verifyingContract",
1238
+ "type": "address"
1239
+ },
1240
+ {
1241
+ "internalType": "bytes32",
1242
+ "name": "salt",
1243
+ "type": "bytes32"
1244
+ },
1245
+ {
1246
+ "internalType": "uint256[]",
1247
+ "name": "extensions",
1248
+ "type": "uint256[]"
1249
+ }
1250
+ ],
1251
+ "stateMutability": "view",
1252
+ "type": "function"
1253
+ },
1254
+ {
1255
+ "inputs": [],
1256
+ "name": "feeCollector",
1257
+ "outputs": [
1258
+ {
1259
+ "internalType": "address",
1260
+ "name": "",
1261
+ "type": "address"
1262
+ }
1263
+ ],
1264
+ "stateMutability": "view",
1265
+ "type": "function"
1266
+ },
1267
+ {
1268
+ "inputs": [
1269
+ {
1270
+ "internalType": "address",
1271
+ "name": "account",
1272
+ "type": "address"
1273
+ }
1274
+ ],
1275
+ "name": "feeOverride",
1276
+ "outputs": [
1277
+ {
1278
+ "components": [
1279
+ {
1280
+ "internalType": "uint256",
1281
+ "name": "upTo",
1282
+ "type": "uint256"
1283
+ },
1284
+ {
1285
+ "internalType": "enum SIBO.FeeKind",
1286
+ "name": "kind",
1287
+ "type": "uint8"
1288
+ },
1289
+ {
1290
+ "internalType": "uint256",
1291
+ "name": "amount",
1292
+ "type": "uint256"
1293
+ }
1294
+ ],
1295
+ "internalType": "struct SIBO.FeeTier",
1296
+ "name": "",
1297
+ "type": "tuple"
1298
+ }
1299
+ ],
1300
+ "stateMutability": "view",
1301
+ "type": "function"
1302
+ },
1303
+ {
1304
+ "inputs": [
1305
+ {
1306
+ "internalType": "bytes32",
1307
+ "name": "role",
1308
+ "type": "bytes32"
1309
+ }
1310
+ ],
1311
+ "name": "getRoleAdmin",
1312
+ "outputs": [
1313
+ {
1314
+ "internalType": "bytes32",
1315
+ "name": "",
1316
+ "type": "bytes32"
1317
+ }
1318
+ ],
1319
+ "stateMutability": "view",
1320
+ "type": "function"
1321
+ },
1322
+ {
1323
+ "inputs": [
1324
+ {
1325
+ "internalType": "bytes32",
1326
+ "name": "role",
1327
+ "type": "bytes32"
1328
+ },
1329
+ {
1330
+ "internalType": "address",
1331
+ "name": "account",
1332
+ "type": "address"
1333
+ }
1334
+ ],
1335
+ "name": "grantRole",
1336
+ "outputs": [],
1337
+ "stateMutability": "nonpayable",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [
1342
+ {
1343
+ "internalType": "bytes32",
1344
+ "name": "role",
1345
+ "type": "bytes32"
1346
+ },
1347
+ {
1348
+ "internalType": "address",
1349
+ "name": "account",
1350
+ "type": "address"
1351
+ }
1352
+ ],
1353
+ "name": "hasRole",
1354
+ "outputs": [
1355
+ {
1356
+ "internalType": "bool",
1357
+ "name": "",
1358
+ "type": "bool"
1359
+ }
1360
+ ],
1361
+ "stateMutability": "view",
1362
+ "type": "function"
1363
+ },
1364
+ {
1365
+ "inputs": [
1366
+ {
1367
+ "internalType": "string",
1368
+ "name": "name_",
1369
+ "type": "string"
1370
+ },
1371
+ {
1372
+ "internalType": "string",
1373
+ "name": "symbol_",
1374
+ "type": "string"
1375
+ },
1376
+ {
1377
+ "components": [
1378
+ {
1379
+ "internalType": "address",
1380
+ "name": "admin",
1381
+ "type": "address"
1382
+ },
1383
+ {
1384
+ "internalType": "address",
1385
+ "name": "minter",
1386
+ "type": "address"
1387
+ },
1388
+ {
1389
+ "internalType": "address",
1390
+ "name": "burner",
1391
+ "type": "address"
1392
+ },
1393
+ {
1394
+ "internalType": "address",
1395
+ "name": "upgrader",
1396
+ "type": "address"
1397
+ },
1398
+ {
1399
+ "internalType": "address",
1400
+ "name": "blacklister",
1401
+ "type": "address"
1402
+ },
1403
+ {
1404
+ "internalType": "address",
1405
+ "name": "burnBlacklister",
1406
+ "type": "address"
1407
+ },
1408
+ {
1409
+ "internalType": "address",
1410
+ "name": "feeManager",
1411
+ "type": "address"
1412
+ },
1413
+ {
1414
+ "internalType": "address",
1415
+ "name": "feeExempter",
1416
+ "type": "address"
1417
+ }
1418
+ ],
1419
+ "internalType": "struct SIBO.InitRoles",
1420
+ "name": "roles",
1421
+ "type": "tuple"
1422
+ },
1423
+ {
1424
+ "components": [
1425
+ {
1426
+ "internalType": "uint256",
1427
+ "name": "minFee",
1428
+ "type": "uint256"
1429
+ },
1430
+ {
1431
+ "internalType": "uint256",
1432
+ "name": "maxFee",
1433
+ "type": "uint256"
1434
+ },
1435
+ {
1436
+ "internalType": "address",
1437
+ "name": "feeCollector",
1438
+ "type": "address"
1439
+ }
1440
+ ],
1441
+ "internalType": "struct SIBO.InitFeeConfig",
1442
+ "name": "fee",
1443
+ "type": "tuple"
1444
+ },
1445
+ {
1446
+ "internalType": "uint48",
1447
+ "name": "adminTransferDelay",
1448
+ "type": "uint48"
1449
+ }
1450
+ ],
1451
+ "name": "initialize",
1452
+ "outputs": [],
1453
+ "stateMutability": "nonpayable",
1454
+ "type": "function"
1455
+ },
1456
+ {
1457
+ "inputs": [
1458
+ {
1459
+ "internalType": "address",
1460
+ "name": "account",
1461
+ "type": "address"
1462
+ }
1463
+ ],
1464
+ "name": "isBlacklisted",
1465
+ "outputs": [
1466
+ {
1467
+ "internalType": "bool",
1468
+ "name": "",
1469
+ "type": "bool"
1470
+ }
1471
+ ],
1472
+ "stateMutability": "view",
1473
+ "type": "function"
1474
+ },
1475
+ {
1476
+ "inputs": [
1477
+ {
1478
+ "internalType": "address",
1479
+ "name": "account",
1480
+ "type": "address"
1481
+ }
1482
+ ],
1483
+ "name": "isFeeExempt",
1484
+ "outputs": [
1485
+ {
1486
+ "internalType": "bool",
1487
+ "name": "",
1488
+ "type": "bool"
1489
+ }
1490
+ ],
1491
+ "stateMutability": "view",
1492
+ "type": "function"
1493
+ },
1494
+ {
1495
+ "inputs": [],
1496
+ "name": "maxFee",
1497
+ "outputs": [
1498
+ {
1499
+ "internalType": "uint256",
1500
+ "name": "",
1501
+ "type": "uint256"
1502
+ }
1503
+ ],
1504
+ "stateMutability": "view",
1505
+ "type": "function"
1506
+ },
1507
+ {
1508
+ "inputs": [],
1509
+ "name": "minFee",
1510
+ "outputs": [
1511
+ {
1512
+ "internalType": "uint256",
1513
+ "name": "",
1514
+ "type": "uint256"
1515
+ }
1516
+ ],
1517
+ "stateMutability": "view",
1518
+ "type": "function"
1519
+ },
1520
+ {
1521
+ "inputs": [
1522
+ {
1523
+ "internalType": "address",
1524
+ "name": "to",
1525
+ "type": "address"
1526
+ },
1527
+ {
1528
+ "internalType": "uint256",
1529
+ "name": "amount",
1530
+ "type": "uint256"
1531
+ }
1532
+ ],
1533
+ "name": "mint",
1534
+ "outputs": [],
1535
+ "stateMutability": "nonpayable",
1536
+ "type": "function"
1537
+ },
1538
+ {
1539
+ "inputs": [],
1540
+ "name": "name",
1541
+ "outputs": [
1542
+ {
1543
+ "internalType": "string",
1544
+ "name": "",
1545
+ "type": "string"
1546
+ }
1547
+ ],
1548
+ "stateMutability": "view",
1549
+ "type": "function"
1550
+ },
1551
+ {
1552
+ "inputs": [
1553
+ {
1554
+ "internalType": "address",
1555
+ "name": "owner",
1556
+ "type": "address"
1557
+ }
1558
+ ],
1559
+ "name": "nonces",
1560
+ "outputs": [
1561
+ {
1562
+ "internalType": "uint256",
1563
+ "name": "",
1564
+ "type": "uint256"
1565
+ }
1566
+ ],
1567
+ "stateMutability": "view",
1568
+ "type": "function"
1569
+ },
1570
+ {
1571
+ "inputs": [],
1572
+ "name": "owner",
1573
+ "outputs": [
1574
+ {
1575
+ "internalType": "address",
1576
+ "name": "",
1577
+ "type": "address"
1578
+ }
1579
+ ],
1580
+ "stateMutability": "view",
1581
+ "type": "function"
1582
+ },
1583
+ {
1584
+ "inputs": [],
1585
+ "name": "pendingDefaultAdmin",
1586
+ "outputs": [
1587
+ {
1588
+ "internalType": "address",
1589
+ "name": "newAdmin",
1590
+ "type": "address"
1591
+ },
1592
+ {
1593
+ "internalType": "uint48",
1594
+ "name": "schedule",
1595
+ "type": "uint48"
1596
+ }
1597
+ ],
1598
+ "stateMutability": "view",
1599
+ "type": "function"
1600
+ },
1601
+ {
1602
+ "inputs": [],
1603
+ "name": "pendingDefaultAdminDelay",
1604
+ "outputs": [
1605
+ {
1606
+ "internalType": "uint48",
1607
+ "name": "newDelay",
1608
+ "type": "uint48"
1609
+ },
1610
+ {
1611
+ "internalType": "uint48",
1612
+ "name": "schedule",
1613
+ "type": "uint48"
1614
+ }
1615
+ ],
1616
+ "stateMutability": "view",
1617
+ "type": "function"
1618
+ },
1619
+ {
1620
+ "inputs": [
1621
+ {
1622
+ "internalType": "address",
1623
+ "name": "owner",
1624
+ "type": "address"
1625
+ },
1626
+ {
1627
+ "internalType": "address",
1628
+ "name": "spender",
1629
+ "type": "address"
1630
+ },
1631
+ {
1632
+ "internalType": "uint256",
1633
+ "name": "value",
1634
+ "type": "uint256"
1635
+ },
1636
+ {
1637
+ "internalType": "uint256",
1638
+ "name": "deadline",
1639
+ "type": "uint256"
1640
+ },
1641
+ {
1642
+ "internalType": "uint8",
1643
+ "name": "v",
1644
+ "type": "uint8"
1645
+ },
1646
+ {
1647
+ "internalType": "bytes32",
1648
+ "name": "r",
1649
+ "type": "bytes32"
1650
+ },
1651
+ {
1652
+ "internalType": "bytes32",
1653
+ "name": "s",
1654
+ "type": "bytes32"
1655
+ }
1656
+ ],
1657
+ "name": "permit",
1658
+ "outputs": [],
1659
+ "stateMutability": "nonpayable",
1660
+ "type": "function"
1661
+ },
1662
+ {
1663
+ "inputs": [],
1664
+ "name": "proxiableUUID",
1665
+ "outputs": [
1666
+ {
1667
+ "internalType": "bytes32",
1668
+ "name": "",
1669
+ "type": "bytes32"
1670
+ }
1671
+ ],
1672
+ "stateMutability": "view",
1673
+ "type": "function"
1674
+ },
1675
+ {
1676
+ "inputs": [
1677
+ {
1678
+ "internalType": "address[]",
1679
+ "name": "accounts",
1680
+ "type": "address[]"
1681
+ }
1682
+ ],
1683
+ "name": "removeFeeExemption",
1684
+ "outputs": [],
1685
+ "stateMutability": "nonpayable",
1686
+ "type": "function"
1687
+ },
1688
+ {
1689
+ "inputs": [
1690
+ {
1691
+ "internalType": "bytes32",
1692
+ "name": "role",
1693
+ "type": "bytes32"
1694
+ },
1695
+ {
1696
+ "internalType": "address",
1697
+ "name": "account",
1698
+ "type": "address"
1699
+ }
1700
+ ],
1701
+ "name": "renounceRole",
1702
+ "outputs": [],
1703
+ "stateMutability": "nonpayable",
1704
+ "type": "function"
1705
+ },
1706
+ {
1707
+ "inputs": [
1708
+ {
1709
+ "internalType": "bytes32",
1710
+ "name": "role",
1711
+ "type": "bytes32"
1712
+ },
1713
+ {
1714
+ "internalType": "address",
1715
+ "name": "account",
1716
+ "type": "address"
1717
+ }
1718
+ ],
1719
+ "name": "revokeRole",
1720
+ "outputs": [],
1721
+ "stateMutability": "nonpayable",
1722
+ "type": "function"
1723
+ },
1724
+ {
1725
+ "inputs": [],
1726
+ "name": "rollbackDefaultAdminDelay",
1727
+ "outputs": [],
1728
+ "stateMutability": "nonpayable",
1729
+ "type": "function"
1730
+ },
1731
+ {
1732
+ "inputs": [
1733
+ {
1734
+ "internalType": "address",
1735
+ "name": "account",
1736
+ "type": "address"
1737
+ }
1738
+ ],
1739
+ "name": "setFeeCollector",
1740
+ "outputs": [],
1741
+ "stateMutability": "nonpayable",
1742
+ "type": "function"
1743
+ },
1744
+ {
1745
+ "inputs": [
1746
+ {
1747
+ "internalType": "uint256",
1748
+ "name": "amount",
1749
+ "type": "uint256"
1750
+ }
1751
+ ],
1752
+ "name": "setMaxFee",
1753
+ "outputs": [],
1754
+ "stateMutability": "nonpayable",
1755
+ "type": "function"
1756
+ },
1757
+ {
1758
+ "inputs": [
1759
+ {
1760
+ "internalType": "uint256",
1761
+ "name": "amount",
1762
+ "type": "uint256"
1763
+ }
1764
+ ],
1765
+ "name": "setMinFee",
1766
+ "outputs": [],
1767
+ "stateMutability": "nonpayable",
1768
+ "type": "function"
1769
+ },
1770
+ {
1771
+ "inputs": [
1772
+ {
1773
+ "components": [
1774
+ {
1775
+ "internalType": "uint256",
1776
+ "name": "upTo",
1777
+ "type": "uint256"
1778
+ },
1779
+ {
1780
+ "internalType": "enum SIBO.FeeKind",
1781
+ "name": "kind",
1782
+ "type": "uint8"
1783
+ },
1784
+ {
1785
+ "internalType": "uint256",
1786
+ "name": "amount",
1787
+ "type": "uint256"
1788
+ }
1789
+ ],
1790
+ "internalType": "struct SIBO.FeeTier[]",
1791
+ "name": "tiers",
1792
+ "type": "tuple[]"
1793
+ }
1794
+ ],
1795
+ "name": "setTiers",
1796
+ "outputs": [],
1797
+ "stateMutability": "nonpayable",
1798
+ "type": "function"
1799
+ },
1800
+ {
1801
+ "inputs": [
1802
+ {
1803
+ "internalType": "address[]",
1804
+ "name": "accounts",
1805
+ "type": "address[]"
1806
+ },
1807
+ {
1808
+ "internalType": "enum SIBO.FeeKind",
1809
+ "name": "kind",
1810
+ "type": "uint8"
1811
+ },
1812
+ {
1813
+ "internalType": "uint256",
1814
+ "name": "amount",
1815
+ "type": "uint256"
1816
+ }
1817
+ ],
1818
+ "name": "setWalletFeeOverride",
1819
+ "outputs": [],
1820
+ "stateMutability": "nonpayable",
1821
+ "type": "function"
1822
+ },
1823
+ {
1824
+ "inputs": [
1825
+ {
1826
+ "internalType": "bytes4",
1827
+ "name": "interfaceId",
1828
+ "type": "bytes4"
1829
+ }
1830
+ ],
1831
+ "name": "supportsInterface",
1832
+ "outputs": [
1833
+ {
1834
+ "internalType": "bool",
1835
+ "name": "",
1836
+ "type": "bool"
1837
+ }
1838
+ ],
1839
+ "stateMutability": "view",
1840
+ "type": "function"
1841
+ },
1842
+ {
1843
+ "inputs": [],
1844
+ "name": "symbol",
1845
+ "outputs": [
1846
+ {
1847
+ "internalType": "string",
1848
+ "name": "",
1849
+ "type": "string"
1850
+ }
1851
+ ],
1852
+ "stateMutability": "view",
1853
+ "type": "function"
1854
+ },
1855
+ {
1856
+ "inputs": [
1857
+ {
1858
+ "internalType": "uint256",
1859
+ "name": "i",
1860
+ "type": "uint256"
1861
+ }
1862
+ ],
1863
+ "name": "tierAt",
1864
+ "outputs": [
1865
+ {
1866
+ "components": [
1867
+ {
1868
+ "internalType": "uint256",
1869
+ "name": "upTo",
1870
+ "type": "uint256"
1871
+ },
1872
+ {
1873
+ "internalType": "enum SIBO.FeeKind",
1874
+ "name": "kind",
1875
+ "type": "uint8"
1876
+ },
1877
+ {
1878
+ "internalType": "uint256",
1879
+ "name": "amount",
1880
+ "type": "uint256"
1881
+ }
1882
+ ],
1883
+ "internalType": "struct SIBO.FeeTier",
1884
+ "name": "",
1885
+ "type": "tuple"
1886
+ }
1887
+ ],
1888
+ "stateMutability": "view",
1889
+ "type": "function"
1890
+ },
1891
+ {
1892
+ "inputs": [],
1893
+ "name": "tierCount",
1894
+ "outputs": [
1895
+ {
1896
+ "internalType": "uint256",
1897
+ "name": "",
1898
+ "type": "uint256"
1899
+ }
1900
+ ],
1901
+ "stateMutability": "view",
1902
+ "type": "function"
1903
+ },
1904
+ {
1905
+ "inputs": [],
1906
+ "name": "totalBlacklistedBalance",
1907
+ "outputs": [
1908
+ {
1909
+ "internalType": "uint256",
1910
+ "name": "",
1911
+ "type": "uint256"
1912
+ }
1913
+ ],
1914
+ "stateMutability": "view",
1915
+ "type": "function"
1916
+ },
1917
+ {
1918
+ "inputs": [],
1919
+ "name": "totalSupply",
1920
+ "outputs": [
1921
+ {
1922
+ "internalType": "uint256",
1923
+ "name": "",
1924
+ "type": "uint256"
1925
+ }
1926
+ ],
1927
+ "stateMutability": "view",
1928
+ "type": "function"
1929
+ },
1930
+ {
1931
+ "inputs": [
1932
+ {
1933
+ "internalType": "address",
1934
+ "name": "to",
1935
+ "type": "address"
1936
+ },
1937
+ {
1938
+ "internalType": "uint256",
1939
+ "name": "value",
1940
+ "type": "uint256"
1941
+ }
1942
+ ],
1943
+ "name": "transfer",
1944
+ "outputs": [
1945
+ {
1946
+ "internalType": "bool",
1947
+ "name": "",
1948
+ "type": "bool"
1949
+ }
1950
+ ],
1951
+ "stateMutability": "nonpayable",
1952
+ "type": "function"
1953
+ },
1954
+ {
1955
+ "inputs": [
1956
+ {
1957
+ "internalType": "address",
1958
+ "name": "from",
1959
+ "type": "address"
1960
+ },
1961
+ {
1962
+ "internalType": "address",
1963
+ "name": "to",
1964
+ "type": "address"
1965
+ },
1966
+ {
1967
+ "internalType": "uint256",
1968
+ "name": "value",
1969
+ "type": "uint256"
1970
+ }
1971
+ ],
1972
+ "name": "transferFrom",
1973
+ "outputs": [
1974
+ {
1975
+ "internalType": "bool",
1976
+ "name": "",
1977
+ "type": "bool"
1978
+ }
1979
+ ],
1980
+ "stateMutability": "nonpayable",
1981
+ "type": "function"
1982
+ },
1983
+ {
1984
+ "inputs": [
1985
+ {
1986
+ "internalType": "address[]",
1987
+ "name": "accounts",
1988
+ "type": "address[]"
1989
+ }
1990
+ ],
1991
+ "name": "unBlacklist",
1992
+ "outputs": [],
1993
+ "stateMutability": "nonpayable",
1994
+ "type": "function"
1995
+ },
1996
+ {
1997
+ "inputs": [
1998
+ {
1999
+ "internalType": "address",
2000
+ "name": "newImplementation",
2001
+ "type": "address"
2002
+ },
2003
+ {
2004
+ "internalType": "bytes",
2005
+ "name": "data",
2006
+ "type": "bytes"
2007
+ }
2008
+ ],
2009
+ "name": "upgradeToAndCall",
2010
+ "outputs": [],
2011
+ "stateMutability": "payable",
2012
+ "type": "function"
2013
+ }
2014
+ ];
2015
+ /**
2016
+ * SIBO_json Contract Class
2017
+ *
2018
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
2019
+ *
2020
+ * @example
2021
+ * ```typescript
2022
+ * import { createPublicClient, createWalletClient, http } from 'viem';
2023
+ * import { mainnet } from 'viem/chains';
2024
+ * import { SIBO_json } from 'SIBO_json';
2025
+ *
2026
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
2027
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
2028
+ *
2029
+ * const contract = new SIBO_json('0x...', { publicClient, walletClient });
2030
+ *
2031
+ * // Read functions
2032
+ * const result = await contract.balanceOf('0x...');
2033
+ *
2034
+ * // Write functions
2035
+ * const hash = await contract.transfer('0x...', 1000n);
2036
+ *
2037
+ * // Simulate transactions (dry-run)
2038
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
2039
+ * console.log('Gas estimate:', simulation.request.gas);
2040
+ *
2041
+ * // Watch events
2042
+ * const unwatch = contract.watch.Transfer((event) => {
2043
+ * console.log('Transfer event:', event);
2044
+ * });
2045
+ * ```
2046
+ */
2047
+ class SIBO_json {
2048
+ constructor(address, clients) {
2049
+ this.contractAddress = address;
2050
+ this.publicClient = clients.publicClient;
2051
+ this.contract = (0, viem_1.getContract)({
2052
+ address,
2053
+ abi: exports.SIBO_jsonAbi,
2054
+ client: {
2055
+ public: clients.publicClient,
2056
+ wallet: clients.walletClient,
2057
+ },
2058
+ });
2059
+ }
2060
+ /**
2061
+ * Get the contract address
2062
+ */
2063
+ get address() {
2064
+ return this.contractAddress;
2065
+ }
2066
+ /**
2067
+ * Get the underlying viem contract instance
2068
+ */
2069
+ getContract() {
2070
+ return this.contract;
2071
+ }
2072
+ /**
2073
+ * BLACKLISTER_ROLE
2074
+ * view
2075
+ */
2076
+ async BLACKLISTER_ROLE() {
2077
+ return this.contract.read.BLACKLISTER_ROLE();
2078
+ }
2079
+ /**
2080
+ * BURNER_ROLE
2081
+ * view
2082
+ */
2083
+ async BURNER_ROLE() {
2084
+ return this.contract.read.BURNER_ROLE();
2085
+ }
2086
+ /**
2087
+ * BURN_BLACKLISTED_ROLE
2088
+ * view
2089
+ */
2090
+ async BURN_BLACKLISTED_ROLE() {
2091
+ return this.contract.read.BURN_BLACKLISTED_ROLE();
2092
+ }
2093
+ /**
2094
+ * DEFAULT_ADMIN_ROLE
2095
+ * view
2096
+ */
2097
+ async DEFAULT_ADMIN_ROLE() {
2098
+ return this.contract.read.DEFAULT_ADMIN_ROLE();
2099
+ }
2100
+ /**
2101
+ * DOMAIN_SEPARATOR
2102
+ * view
2103
+ */
2104
+ async DOMAIN_SEPARATOR() {
2105
+ return this.contract.read.DOMAIN_SEPARATOR();
2106
+ }
2107
+ /**
2108
+ * FEE_EXEMPTER_ROLE
2109
+ * view
2110
+ */
2111
+ async FEE_EXEMPTER_ROLE() {
2112
+ return this.contract.read.FEE_EXEMPTER_ROLE();
2113
+ }
2114
+ /**
2115
+ * FEE_MANAGER_ROLE
2116
+ * view
2117
+ */
2118
+ async FEE_MANAGER_ROLE() {
2119
+ return this.contract.read.FEE_MANAGER_ROLE();
2120
+ }
2121
+ /**
2122
+ * MINTER_ROLE
2123
+ * view
2124
+ */
2125
+ async MINTER_ROLE() {
2126
+ return this.contract.read.MINTER_ROLE();
2127
+ }
2128
+ /**
2129
+ * UPGRADER_ROLE
2130
+ * view
2131
+ */
2132
+ async UPGRADER_ROLE() {
2133
+ return this.contract.read.UPGRADER_ROLE();
2134
+ }
2135
+ /**
2136
+ * UPGRADE_INTERFACE_VERSION
2137
+ * view
2138
+ */
2139
+ async UPGRADE_INTERFACE_VERSION() {
2140
+ return this.contract.read.UPGRADE_INTERFACE_VERSION();
2141
+ }
2142
+ /**
2143
+ * allowance
2144
+ * view
2145
+ */
2146
+ async allowance(owner, spender) {
2147
+ return this.contract.read.allowance([owner, spender]);
2148
+ }
2149
+ /**
2150
+ * balanceOf
2151
+ * view
2152
+ */
2153
+ async balanceOf(account) {
2154
+ return this.contract.read.balanceOf([account]);
2155
+ }
2156
+ /**
2157
+ * calculateFee
2158
+ * view
2159
+ */
2160
+ async calculateFee(from, to, amount) {
2161
+ return this.contract.read.calculateFee([from, to, amount]);
2162
+ }
2163
+ /**
2164
+ * decimals
2165
+ * view
2166
+ */
2167
+ async decimals() {
2168
+ return this.contract.read.decimals();
2169
+ }
2170
+ /**
2171
+ * defaultAdmin
2172
+ * view
2173
+ */
2174
+ async defaultAdmin() {
2175
+ return this.contract.read.defaultAdmin();
2176
+ }
2177
+ /**
2178
+ * defaultAdminDelay
2179
+ * view
2180
+ */
2181
+ async defaultAdminDelay() {
2182
+ return this.contract.read.defaultAdminDelay();
2183
+ }
2184
+ /**
2185
+ * defaultAdminDelayIncreaseWait
2186
+ * view
2187
+ */
2188
+ async defaultAdminDelayIncreaseWait() {
2189
+ return this.contract.read.defaultAdminDelayIncreaseWait();
2190
+ }
2191
+ /**
2192
+ * eip712Domain
2193
+ * view
2194
+ */
2195
+ async eip712Domain() {
2196
+ return this.contract.read.eip712Domain();
2197
+ }
2198
+ /**
2199
+ * feeCollector
2200
+ * view
2201
+ */
2202
+ async feeCollector() {
2203
+ return this.contract.read.feeCollector();
2204
+ }
2205
+ /**
2206
+ * feeOverride
2207
+ * view
2208
+ */
2209
+ async feeOverride(account) {
2210
+ return this.contract.read.feeOverride([account]);
2211
+ }
2212
+ /**
2213
+ * getRoleAdmin
2214
+ * view
2215
+ */
2216
+ async getRoleAdmin(role) {
2217
+ return this.contract.read.getRoleAdmin([role]);
2218
+ }
2219
+ /**
2220
+ * hasRole
2221
+ * view
2222
+ */
2223
+ async hasRole(role, account) {
2224
+ return this.contract.read.hasRole([role, account]);
2225
+ }
2226
+ /**
2227
+ * isBlacklisted
2228
+ * view
2229
+ */
2230
+ async isBlacklisted(account) {
2231
+ return this.contract.read.isBlacklisted([account]);
2232
+ }
2233
+ /**
2234
+ * isFeeExempt
2235
+ * view
2236
+ */
2237
+ async isFeeExempt(account) {
2238
+ return this.contract.read.isFeeExempt([account]);
2239
+ }
2240
+ /**
2241
+ * maxFee
2242
+ * view
2243
+ */
2244
+ async maxFee() {
2245
+ return this.contract.read.maxFee();
2246
+ }
2247
+ /**
2248
+ * minFee
2249
+ * view
2250
+ */
2251
+ async minFee() {
2252
+ return this.contract.read.minFee();
2253
+ }
2254
+ /**
2255
+ * name
2256
+ * view
2257
+ */
2258
+ async name() {
2259
+ return this.contract.read.name();
2260
+ }
2261
+ /**
2262
+ * nonces
2263
+ * view
2264
+ */
2265
+ async nonces(owner) {
2266
+ return this.contract.read.nonces([owner]);
2267
+ }
2268
+ /**
2269
+ * owner
2270
+ * view
2271
+ */
2272
+ async owner() {
2273
+ return this.contract.read.owner();
2274
+ }
2275
+ /**
2276
+ * pendingDefaultAdmin
2277
+ * view
2278
+ */
2279
+ async pendingDefaultAdmin() {
2280
+ return this.contract.read.pendingDefaultAdmin();
2281
+ }
2282
+ /**
2283
+ * pendingDefaultAdminDelay
2284
+ * view
2285
+ */
2286
+ async pendingDefaultAdminDelay() {
2287
+ return this.contract.read.pendingDefaultAdminDelay();
2288
+ }
2289
+ /**
2290
+ * proxiableUUID
2291
+ * view
2292
+ */
2293
+ async proxiableUUID() {
2294
+ return this.contract.read.proxiableUUID();
2295
+ }
2296
+ /**
2297
+ * supportsInterface
2298
+ * view
2299
+ */
2300
+ async supportsInterface(interfaceId) {
2301
+ return this.contract.read.supportsInterface([interfaceId]);
2302
+ }
2303
+ /**
2304
+ * symbol
2305
+ * view
2306
+ */
2307
+ async symbol() {
2308
+ return this.contract.read.symbol();
2309
+ }
2310
+ /**
2311
+ * tierAt
2312
+ * view
2313
+ */
2314
+ async tierAt(i) {
2315
+ return this.contract.read.tierAt([i]);
2316
+ }
2317
+ /**
2318
+ * tierCount
2319
+ * view
2320
+ */
2321
+ async tierCount() {
2322
+ return this.contract.read.tierCount();
2323
+ }
2324
+ /**
2325
+ * totalBlacklistedBalance
2326
+ * view
2327
+ */
2328
+ async totalBlacklistedBalance() {
2329
+ return this.contract.read.totalBlacklistedBalance();
2330
+ }
2331
+ /**
2332
+ * totalSupply
2333
+ * view
2334
+ */
2335
+ async totalSupply() {
2336
+ return this.contract.read.totalSupply();
2337
+ }
2338
+ /**
2339
+ * acceptDefaultAdminTransfer
2340
+ * nonpayable
2341
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2342
+ */
2343
+ async acceptDefaultAdminTransfer(options) {
2344
+ if (!this.contract.write) {
2345
+ throw new Error('Wallet client is required for write operations');
2346
+ }
2347
+ return this.contract.write.acceptDefaultAdminTransfer(options);
2348
+ }
2349
+ /**
2350
+ * addFeeExemption
2351
+ * nonpayable
2352
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2353
+ */
2354
+ async addFeeExemption(accounts, options) {
2355
+ if (!this.contract.write) {
2356
+ throw new Error('Wallet client is required for write operations');
2357
+ }
2358
+ return this.contract.write.addFeeExemption([accounts], options);
2359
+ }
2360
+ /**
2361
+ * approve
2362
+ * nonpayable
2363
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2364
+ */
2365
+ async approve(spender, value, options) {
2366
+ if (!this.contract.write) {
2367
+ throw new Error('Wallet client is required for write operations');
2368
+ }
2369
+ return this.contract.write.approve([spender, value], options);
2370
+ }
2371
+ /**
2372
+ * beginDefaultAdminTransfer
2373
+ * nonpayable
2374
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2375
+ */
2376
+ async beginDefaultAdminTransfer(newAdmin, options) {
2377
+ if (!this.contract.write) {
2378
+ throw new Error('Wallet client is required for write operations');
2379
+ }
2380
+ return this.contract.write.beginDefaultAdminTransfer([newAdmin], options);
2381
+ }
2382
+ /**
2383
+ * blacklist
2384
+ * nonpayable
2385
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2386
+ */
2387
+ async blacklist(accounts, options) {
2388
+ if (!this.contract.write) {
2389
+ throw new Error('Wallet client is required for write operations');
2390
+ }
2391
+ return this.contract.write.blacklist([accounts], options);
2392
+ }
2393
+ /**
2394
+ * burn
2395
+ * nonpayable
2396
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2397
+ */
2398
+ async burn(from, amount, options) {
2399
+ if (!this.contract.write) {
2400
+ throw new Error('Wallet client is required for write operations');
2401
+ }
2402
+ return this.contract.write.burn([from, amount], options);
2403
+ }
2404
+ /**
2405
+ * burnBlacklisted
2406
+ * nonpayable
2407
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2408
+ */
2409
+ async burnBlacklisted(account, amount, options) {
2410
+ if (!this.contract.write) {
2411
+ throw new Error('Wallet client is required for write operations');
2412
+ }
2413
+ return this.contract.write.burnBlacklisted([account, amount], options);
2414
+ }
2415
+ /**
2416
+ * cancelDefaultAdminTransfer
2417
+ * nonpayable
2418
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2419
+ */
2420
+ async cancelDefaultAdminTransfer(options) {
2421
+ if (!this.contract.write) {
2422
+ throw new Error('Wallet client is required for write operations');
2423
+ }
2424
+ return this.contract.write.cancelDefaultAdminTransfer(options);
2425
+ }
2426
+ /**
2427
+ * changeDefaultAdminDelay
2428
+ * nonpayable
2429
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2430
+ */
2431
+ async changeDefaultAdminDelay(newDelay, options) {
2432
+ if (!this.contract.write) {
2433
+ throw new Error('Wallet client is required for write operations');
2434
+ }
2435
+ return this.contract.write.changeDefaultAdminDelay([newDelay], options);
2436
+ }
2437
+ /**
2438
+ * clearWalletFeeOverride
2439
+ * nonpayable
2440
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2441
+ */
2442
+ async clearWalletFeeOverride(accounts, options) {
2443
+ if (!this.contract.write) {
2444
+ throw new Error('Wallet client is required for write operations');
2445
+ }
2446
+ return this.contract.write.clearWalletFeeOverride([accounts], options);
2447
+ }
2448
+ /**
2449
+ * grantRole
2450
+ * nonpayable
2451
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2452
+ */
2453
+ async grantRole(role, account, options) {
2454
+ if (!this.contract.write) {
2455
+ throw new Error('Wallet client is required for write operations');
2456
+ }
2457
+ return this.contract.write.grantRole([role, account], options);
2458
+ }
2459
+ /**
2460
+ * initialize
2461
+ * nonpayable
2462
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2463
+ */
2464
+ async initialize(name_, symbol_, roles, fee, adminTransferDelay, options) {
2465
+ if (!this.contract.write) {
2466
+ throw new Error('Wallet client is required for write operations');
2467
+ }
2468
+ return this.contract.write.initialize([name_, symbol_, roles, fee, adminTransferDelay], options);
2469
+ }
2470
+ /**
2471
+ * mint
2472
+ * nonpayable
2473
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2474
+ */
2475
+ async mint(to, amount, options) {
2476
+ if (!this.contract.write) {
2477
+ throw new Error('Wallet client is required for write operations');
2478
+ }
2479
+ return this.contract.write.mint([to, amount], options);
2480
+ }
2481
+ /**
2482
+ * permit
2483
+ * nonpayable
2484
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2485
+ */
2486
+ async permit(owner, spender, value, deadline, v, r, s, options) {
2487
+ if (!this.contract.write) {
2488
+ throw new Error('Wallet client is required for write operations');
2489
+ }
2490
+ return this.contract.write.permit([owner, spender, value, deadline, v, r, s], options);
2491
+ }
2492
+ /**
2493
+ * removeFeeExemption
2494
+ * nonpayable
2495
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2496
+ */
2497
+ async removeFeeExemption(accounts, options) {
2498
+ if (!this.contract.write) {
2499
+ throw new Error('Wallet client is required for write operations');
2500
+ }
2501
+ return this.contract.write.removeFeeExemption([accounts], options);
2502
+ }
2503
+ /**
2504
+ * renounceRole
2505
+ * nonpayable
2506
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2507
+ */
2508
+ async renounceRole(role, account, options) {
2509
+ if (!this.contract.write) {
2510
+ throw new Error('Wallet client is required for write operations');
2511
+ }
2512
+ return this.contract.write.renounceRole([role, account], options);
2513
+ }
2514
+ /**
2515
+ * revokeRole
2516
+ * nonpayable
2517
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2518
+ */
2519
+ async revokeRole(role, account, options) {
2520
+ if (!this.contract.write) {
2521
+ throw new Error('Wallet client is required for write operations');
2522
+ }
2523
+ return this.contract.write.revokeRole([role, account], options);
2524
+ }
2525
+ /**
2526
+ * rollbackDefaultAdminDelay
2527
+ * nonpayable
2528
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2529
+ */
2530
+ async rollbackDefaultAdminDelay(options) {
2531
+ if (!this.contract.write) {
2532
+ throw new Error('Wallet client is required for write operations');
2533
+ }
2534
+ return this.contract.write.rollbackDefaultAdminDelay(options);
2535
+ }
2536
+ /**
2537
+ * setFeeCollector
2538
+ * nonpayable
2539
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2540
+ */
2541
+ async setFeeCollector(account, options) {
2542
+ if (!this.contract.write) {
2543
+ throw new Error('Wallet client is required for write operations');
2544
+ }
2545
+ return this.contract.write.setFeeCollector([account], options);
2546
+ }
2547
+ /**
2548
+ * setMaxFee
2549
+ * nonpayable
2550
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2551
+ */
2552
+ async setMaxFee(amount, options) {
2553
+ if (!this.contract.write) {
2554
+ throw new Error('Wallet client is required for write operations');
2555
+ }
2556
+ return this.contract.write.setMaxFee([amount], options);
2557
+ }
2558
+ /**
2559
+ * setMinFee
2560
+ * nonpayable
2561
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2562
+ */
2563
+ async setMinFee(amount, options) {
2564
+ if (!this.contract.write) {
2565
+ throw new Error('Wallet client is required for write operations');
2566
+ }
2567
+ return this.contract.write.setMinFee([amount], options);
2568
+ }
2569
+ /**
2570
+ * setTiers
2571
+ * nonpayable
2572
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2573
+ */
2574
+ async setTiers(tiers, options) {
2575
+ if (!this.contract.write) {
2576
+ throw new Error('Wallet client is required for write operations');
2577
+ }
2578
+ return this.contract.write.setTiers([tiers], options);
2579
+ }
2580
+ /**
2581
+ * setWalletFeeOverride
2582
+ * nonpayable
2583
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2584
+ */
2585
+ async setWalletFeeOverride(accounts, kind, amount, options) {
2586
+ if (!this.contract.write) {
2587
+ throw new Error('Wallet client is required for write operations');
2588
+ }
2589
+ return this.contract.write.setWalletFeeOverride([accounts, kind, amount], options);
2590
+ }
2591
+ /**
2592
+ * transfer
2593
+ * nonpayable
2594
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2595
+ */
2596
+ async transfer(to, value, options) {
2597
+ if (!this.contract.write) {
2598
+ throw new Error('Wallet client is required for write operations');
2599
+ }
2600
+ return this.contract.write.transfer([to, value], options);
2601
+ }
2602
+ /**
2603
+ * transferFrom
2604
+ * nonpayable
2605
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2606
+ */
2607
+ async transferFrom(from, to, value, options) {
2608
+ if (!this.contract.write) {
2609
+ throw new Error('Wallet client is required for write operations');
2610
+ }
2611
+ return this.contract.write.transferFrom([from, to, value], options);
2612
+ }
2613
+ /**
2614
+ * unBlacklist
2615
+ * nonpayable
2616
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2617
+ */
2618
+ async unBlacklist(accounts, options) {
2619
+ if (!this.contract.write) {
2620
+ throw new Error('Wallet client is required for write operations');
2621
+ }
2622
+ return this.contract.write.unBlacklist([accounts], options);
2623
+ }
2624
+ /**
2625
+ * upgradeToAndCall
2626
+ * payable
2627
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2628
+ */
2629
+ async upgradeToAndCall(newImplementation, data, options) {
2630
+ if (!this.contract.write) {
2631
+ throw new Error('Wallet client is required for write operations');
2632
+ }
2633
+ return this.contract.write.upgradeToAndCall([newImplementation, data], options);
2634
+ }
2635
+ /**
2636
+ * Simulate contract write operations (dry-run without sending transaction)
2637
+ *
2638
+ * @example
2639
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2640
+ * console.log('Gas estimate:', result.request.gas);
2641
+ * console.log('Would succeed:', result.result);
2642
+ */
2643
+ get simulate() {
2644
+ const contract = this.contract;
2645
+ if (!contract.simulate) {
2646
+ throw new Error('Public client is required for simulation');
2647
+ }
2648
+ return {
2649
+ /**
2650
+ * Simulate acceptDefaultAdminTransfer
2651
+ * Returns gas estimate and result without sending transaction
2652
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2653
+ */
2654
+ async acceptDefaultAdminTransfer(options) {
2655
+ return contract.simulate.acceptDefaultAdminTransfer(options);
2656
+ },
2657
+ /**
2658
+ * Simulate addFeeExemption
2659
+ * Returns gas estimate and result without sending transaction
2660
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2661
+ */
2662
+ async addFeeExemption(accounts, options) {
2663
+ return contract.simulate.addFeeExemption([accounts], options);
2664
+ },
2665
+ /**
2666
+ * Simulate approve
2667
+ * Returns gas estimate and result without sending transaction
2668
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2669
+ */
2670
+ async approve(spender, value, options) {
2671
+ return contract.simulate.approve([spender, value], options);
2672
+ },
2673
+ /**
2674
+ * Simulate beginDefaultAdminTransfer
2675
+ * Returns gas estimate and result without sending transaction
2676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2677
+ */
2678
+ async beginDefaultAdminTransfer(newAdmin, options) {
2679
+ return contract.simulate.beginDefaultAdminTransfer([newAdmin], options);
2680
+ },
2681
+ /**
2682
+ * Simulate blacklist
2683
+ * Returns gas estimate and result without sending transaction
2684
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2685
+ */
2686
+ async blacklist(accounts, options) {
2687
+ return contract.simulate.blacklist([accounts], options);
2688
+ },
2689
+ /**
2690
+ * Simulate burn
2691
+ * Returns gas estimate and result without sending transaction
2692
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2693
+ */
2694
+ async burn(from, amount, options) {
2695
+ return contract.simulate.burn([from, amount], options);
2696
+ },
2697
+ /**
2698
+ * Simulate burnBlacklisted
2699
+ * Returns gas estimate and result without sending transaction
2700
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2701
+ */
2702
+ async burnBlacklisted(account, amount, options) {
2703
+ return contract.simulate.burnBlacklisted([account, amount], options);
2704
+ },
2705
+ /**
2706
+ * Simulate cancelDefaultAdminTransfer
2707
+ * Returns gas estimate and result without sending transaction
2708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2709
+ */
2710
+ async cancelDefaultAdminTransfer(options) {
2711
+ return contract.simulate.cancelDefaultAdminTransfer(options);
2712
+ },
2713
+ /**
2714
+ * Simulate changeDefaultAdminDelay
2715
+ * Returns gas estimate and result without sending transaction
2716
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2717
+ */
2718
+ async changeDefaultAdminDelay(newDelay, options) {
2719
+ return contract.simulate.changeDefaultAdminDelay([newDelay], options);
2720
+ },
2721
+ /**
2722
+ * Simulate clearWalletFeeOverride
2723
+ * Returns gas estimate and result without sending transaction
2724
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2725
+ */
2726
+ async clearWalletFeeOverride(accounts, options) {
2727
+ return contract.simulate.clearWalletFeeOverride([accounts], options);
2728
+ },
2729
+ /**
2730
+ * Simulate grantRole
2731
+ * Returns gas estimate and result without sending transaction
2732
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2733
+ */
2734
+ async grantRole(role, account, options) {
2735
+ return contract.simulate.grantRole([role, account], options);
2736
+ },
2737
+ /**
2738
+ * Simulate initialize
2739
+ * Returns gas estimate and result without sending transaction
2740
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2741
+ */
2742
+ async initialize(name_, symbol_, roles, fee, adminTransferDelay, options) {
2743
+ return contract.simulate.initialize([name_, symbol_, roles, fee, adminTransferDelay], options);
2744
+ },
2745
+ /**
2746
+ * Simulate mint
2747
+ * Returns gas estimate and result without sending transaction
2748
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2749
+ */
2750
+ async mint(to, amount, options) {
2751
+ return contract.simulate.mint([to, amount], options);
2752
+ },
2753
+ /**
2754
+ * Simulate permit
2755
+ * Returns gas estimate and result without sending transaction
2756
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2757
+ */
2758
+ async permit(owner, spender, value, deadline, v, r, s, options) {
2759
+ return contract.simulate.permit([owner, spender, value, deadline, v, r, s], options);
2760
+ },
2761
+ /**
2762
+ * Simulate removeFeeExemption
2763
+ * Returns gas estimate and result without sending transaction
2764
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2765
+ */
2766
+ async removeFeeExemption(accounts, options) {
2767
+ return contract.simulate.removeFeeExemption([accounts], options);
2768
+ },
2769
+ /**
2770
+ * Simulate renounceRole
2771
+ * Returns gas estimate and result without sending transaction
2772
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2773
+ */
2774
+ async renounceRole(role, account, options) {
2775
+ return contract.simulate.renounceRole([role, account], options);
2776
+ },
2777
+ /**
2778
+ * Simulate revokeRole
2779
+ * Returns gas estimate and result without sending transaction
2780
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2781
+ */
2782
+ async revokeRole(role, account, options) {
2783
+ return contract.simulate.revokeRole([role, account], options);
2784
+ },
2785
+ /**
2786
+ * Simulate rollbackDefaultAdminDelay
2787
+ * Returns gas estimate and result without sending transaction
2788
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2789
+ */
2790
+ async rollbackDefaultAdminDelay(options) {
2791
+ return contract.simulate.rollbackDefaultAdminDelay(options);
2792
+ },
2793
+ /**
2794
+ * Simulate setFeeCollector
2795
+ * Returns gas estimate and result without sending transaction
2796
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2797
+ */
2798
+ async setFeeCollector(account, options) {
2799
+ return contract.simulate.setFeeCollector([account], options);
2800
+ },
2801
+ /**
2802
+ * Simulate setMaxFee
2803
+ * Returns gas estimate and result without sending transaction
2804
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2805
+ */
2806
+ async setMaxFee(amount, options) {
2807
+ return contract.simulate.setMaxFee([amount], options);
2808
+ },
2809
+ /**
2810
+ * Simulate setMinFee
2811
+ * Returns gas estimate and result without sending transaction
2812
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2813
+ */
2814
+ async setMinFee(amount, options) {
2815
+ return contract.simulate.setMinFee([amount], options);
2816
+ },
2817
+ /**
2818
+ * Simulate setTiers
2819
+ * Returns gas estimate and result without sending transaction
2820
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2821
+ */
2822
+ async setTiers(tiers, options) {
2823
+ return contract.simulate.setTiers([tiers], options);
2824
+ },
2825
+ /**
2826
+ * Simulate setWalletFeeOverride
2827
+ * Returns gas estimate and result without sending transaction
2828
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2829
+ */
2830
+ async setWalletFeeOverride(accounts, kind, amount, options) {
2831
+ return contract.simulate.setWalletFeeOverride([accounts, kind, amount], options);
2832
+ },
2833
+ /**
2834
+ * Simulate transfer
2835
+ * Returns gas estimate and result without sending transaction
2836
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2837
+ */
2838
+ async transfer(to, value, options) {
2839
+ return contract.simulate.transfer([to, value], options);
2840
+ },
2841
+ /**
2842
+ * Simulate transferFrom
2843
+ * Returns gas estimate and result without sending transaction
2844
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2845
+ */
2846
+ async transferFrom(from, to, value, options) {
2847
+ return contract.simulate.transferFrom([from, to, value], options);
2848
+ },
2849
+ /**
2850
+ * Simulate unBlacklist
2851
+ * Returns gas estimate and result without sending transaction
2852
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2853
+ */
2854
+ async unBlacklist(accounts, options) {
2855
+ return contract.simulate.unBlacklist([accounts], options);
2856
+ },
2857
+ /**
2858
+ * Simulate upgradeToAndCall
2859
+ * Returns gas estimate and result without sending transaction
2860
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2861
+ */
2862
+ async upgradeToAndCall(newImplementation, data, options) {
2863
+ return contract.simulate.upgradeToAndCall([newImplementation, data], options);
2864
+ }
2865
+ };
2866
+ }
2867
+ /**
2868
+ * Watch contract events
2869
+ *
2870
+ * @example
2871
+ * // Watch all Transfer events
2872
+ * const unwatch = contract.watch.Transfer((event) => {
2873
+ * console.log('Transfer:', event);
2874
+ * });
2875
+ *
2876
+ * // Stop watching
2877
+ * unwatch();
2878
+ */
2879
+ get watch() {
2880
+ return {
2881
+ /**
2882
+ * Watch Approval events
2883
+ * @param callback Function to call when event is emitted
2884
+ * @param filter Optional filter for indexed parameters
2885
+ * @returns Unwatch function to stop listening
2886
+ */
2887
+ Approval: (callback, filter) => {
2888
+ return this.publicClient.watchContractEvent({
2889
+ address: this.contractAddress,
2890
+ abi: exports.SIBO_jsonAbi,
2891
+ eventName: 'Approval',
2892
+ args: filter,
2893
+ onLogs: (logs) => {
2894
+ logs.forEach((log) => {
2895
+ callback(log.args);
2896
+ });
2897
+ },
2898
+ });
2899
+ },
2900
+ /**
2901
+ * Watch Blacklisted events
2902
+ * @param callback Function to call when event is emitted
2903
+ * @param filter Optional filter for indexed parameters
2904
+ * @returns Unwatch function to stop listening
2905
+ */
2906
+ Blacklisted: (callback, filter) => {
2907
+ return this.publicClient.watchContractEvent({
2908
+ address: this.contractAddress,
2909
+ abi: exports.SIBO_jsonAbi,
2910
+ eventName: 'Blacklisted',
2911
+ args: filter,
2912
+ onLogs: (logs) => {
2913
+ logs.forEach((log) => {
2914
+ callback(log.args);
2915
+ });
2916
+ },
2917
+ });
2918
+ },
2919
+ /**
2920
+ * Watch BlacklistedBurned events
2921
+ * @param callback Function to call when event is emitted
2922
+ * @param filter Optional filter for indexed parameters
2923
+ * @returns Unwatch function to stop listening
2924
+ */
2925
+ BlacklistedBurned: (callback, filter) => {
2926
+ return this.publicClient.watchContractEvent({
2927
+ address: this.contractAddress,
2928
+ abi: exports.SIBO_jsonAbi,
2929
+ eventName: 'BlacklistedBurned',
2930
+ args: filter,
2931
+ onLogs: (logs) => {
2932
+ logs.forEach((log) => {
2933
+ callback(log.args);
2934
+ });
2935
+ },
2936
+ });
2937
+ },
2938
+ /**
2939
+ * Watch DefaultAdminDelayChangeCanceled events
2940
+ * @param callback Function to call when event is emitted
2941
+ * @param filter Optional filter for indexed parameters
2942
+ * @returns Unwatch function to stop listening
2943
+ */
2944
+ DefaultAdminDelayChangeCanceled: (callback) => {
2945
+ return this.publicClient.watchContractEvent({
2946
+ address: this.contractAddress,
2947
+ abi: exports.SIBO_jsonAbi,
2948
+ eventName: 'DefaultAdminDelayChangeCanceled',
2949
+ onLogs: (logs) => {
2950
+ logs.forEach((log) => {
2951
+ callback(log.args);
2952
+ });
2953
+ },
2954
+ });
2955
+ },
2956
+ /**
2957
+ * Watch DefaultAdminDelayChangeScheduled events
2958
+ * @param callback Function to call when event is emitted
2959
+ * @param filter Optional filter for indexed parameters
2960
+ * @returns Unwatch function to stop listening
2961
+ */
2962
+ DefaultAdminDelayChangeScheduled: (callback) => {
2963
+ return this.publicClient.watchContractEvent({
2964
+ address: this.contractAddress,
2965
+ abi: exports.SIBO_jsonAbi,
2966
+ eventName: 'DefaultAdminDelayChangeScheduled',
2967
+ onLogs: (logs) => {
2968
+ logs.forEach((log) => {
2969
+ callback(log.args);
2970
+ });
2971
+ },
2972
+ });
2973
+ },
2974
+ /**
2975
+ * Watch DefaultAdminTransferCanceled events
2976
+ * @param callback Function to call when event is emitted
2977
+ * @param filter Optional filter for indexed parameters
2978
+ * @returns Unwatch function to stop listening
2979
+ */
2980
+ DefaultAdminTransferCanceled: (callback) => {
2981
+ return this.publicClient.watchContractEvent({
2982
+ address: this.contractAddress,
2983
+ abi: exports.SIBO_jsonAbi,
2984
+ eventName: 'DefaultAdminTransferCanceled',
2985
+ onLogs: (logs) => {
2986
+ logs.forEach((log) => {
2987
+ callback(log.args);
2988
+ });
2989
+ },
2990
+ });
2991
+ },
2992
+ /**
2993
+ * Watch DefaultAdminTransferScheduled events
2994
+ * @param callback Function to call when event is emitted
2995
+ * @param filter Optional filter for indexed parameters
2996
+ * @returns Unwatch function to stop listening
2997
+ */
2998
+ DefaultAdminTransferScheduled: (callback, filter) => {
2999
+ return this.publicClient.watchContractEvent({
3000
+ address: this.contractAddress,
3001
+ abi: exports.SIBO_jsonAbi,
3002
+ eventName: 'DefaultAdminTransferScheduled',
3003
+ args: filter,
3004
+ onLogs: (logs) => {
3005
+ logs.forEach((log) => {
3006
+ callback(log.args);
3007
+ });
3008
+ },
3009
+ });
3010
+ },
3011
+ /**
3012
+ * Watch EIP712DomainChanged events
3013
+ * @param callback Function to call when event is emitted
3014
+ * @param filter Optional filter for indexed parameters
3015
+ * @returns Unwatch function to stop listening
3016
+ */
3017
+ EIP712DomainChanged: (callback) => {
3018
+ return this.publicClient.watchContractEvent({
3019
+ address: this.contractAddress,
3020
+ abi: exports.SIBO_jsonAbi,
3021
+ eventName: 'EIP712DomainChanged',
3022
+ onLogs: (logs) => {
3023
+ logs.forEach((log) => {
3024
+ callback(log.args);
3025
+ });
3026
+ },
3027
+ });
3028
+ },
3029
+ /**
3030
+ * Watch FeeCollected events
3031
+ * @param callback Function to call when event is emitted
3032
+ * @param filter Optional filter for indexed parameters
3033
+ * @returns Unwatch function to stop listening
3034
+ */
3035
+ FeeCollected: (callback, filter) => {
3036
+ return this.publicClient.watchContractEvent({
3037
+ address: this.contractAddress,
3038
+ abi: exports.SIBO_jsonAbi,
3039
+ eventName: 'FeeCollected',
3040
+ args: filter,
3041
+ onLogs: (logs) => {
3042
+ logs.forEach((log) => {
3043
+ callback(log.args);
3044
+ });
3045
+ },
3046
+ });
3047
+ },
3048
+ /**
3049
+ * Watch FeeCollectorChanged events
3050
+ * @param callback Function to call when event is emitted
3051
+ * @param filter Optional filter for indexed parameters
3052
+ * @returns Unwatch function to stop listening
3053
+ */
3054
+ FeeCollectorChanged: (callback, filter) => {
3055
+ return this.publicClient.watchContractEvent({
3056
+ address: this.contractAddress,
3057
+ abi: exports.SIBO_jsonAbi,
3058
+ eventName: 'FeeCollectorChanged',
3059
+ args: filter,
3060
+ onLogs: (logs) => {
3061
+ logs.forEach((log) => {
3062
+ callback(log.args);
3063
+ });
3064
+ },
3065
+ });
3066
+ },
3067
+ /**
3068
+ * Watch FeeExempted events
3069
+ * @param callback Function to call when event is emitted
3070
+ * @param filter Optional filter for indexed parameters
3071
+ * @returns Unwatch function to stop listening
3072
+ */
3073
+ FeeExempted: (callback, filter) => {
3074
+ return this.publicClient.watchContractEvent({
3075
+ address: this.contractAddress,
3076
+ abi: exports.SIBO_jsonAbi,
3077
+ eventName: 'FeeExempted',
3078
+ args: filter,
3079
+ onLogs: (logs) => {
3080
+ logs.forEach((log) => {
3081
+ callback(log.args);
3082
+ });
3083
+ },
3084
+ });
3085
+ },
3086
+ /**
3087
+ * Watch FeeUnexempted events
3088
+ * @param callback Function to call when event is emitted
3089
+ * @param filter Optional filter for indexed parameters
3090
+ * @returns Unwatch function to stop listening
3091
+ */
3092
+ FeeUnexempted: (callback, filter) => {
3093
+ return this.publicClient.watchContractEvent({
3094
+ address: this.contractAddress,
3095
+ abi: exports.SIBO_jsonAbi,
3096
+ eventName: 'FeeUnexempted',
3097
+ args: filter,
3098
+ onLogs: (logs) => {
3099
+ logs.forEach((log) => {
3100
+ callback(log.args);
3101
+ });
3102
+ },
3103
+ });
3104
+ },
3105
+ /**
3106
+ * Watch Initialized events
3107
+ * @param callback Function to call when event is emitted
3108
+ * @param filter Optional filter for indexed parameters
3109
+ * @returns Unwatch function to stop listening
3110
+ */
3111
+ Initialized: (callback) => {
3112
+ return this.publicClient.watchContractEvent({
3113
+ address: this.contractAddress,
3114
+ abi: exports.SIBO_jsonAbi,
3115
+ eventName: 'Initialized',
3116
+ onLogs: (logs) => {
3117
+ logs.forEach((log) => {
3118
+ callback(log.args);
3119
+ });
3120
+ },
3121
+ });
3122
+ },
3123
+ /**
3124
+ * Watch MaxFeeChanged events
3125
+ * @param callback Function to call when event is emitted
3126
+ * @param filter Optional filter for indexed parameters
3127
+ * @returns Unwatch function to stop listening
3128
+ */
3129
+ MaxFeeChanged: (callback) => {
3130
+ return this.publicClient.watchContractEvent({
3131
+ address: this.contractAddress,
3132
+ abi: exports.SIBO_jsonAbi,
3133
+ eventName: 'MaxFeeChanged',
3134
+ onLogs: (logs) => {
3135
+ logs.forEach((log) => {
3136
+ callback(log.args);
3137
+ });
3138
+ },
3139
+ });
3140
+ },
3141
+ /**
3142
+ * Watch MinFeeChanged events
3143
+ * @param callback Function to call when event is emitted
3144
+ * @param filter Optional filter for indexed parameters
3145
+ * @returns Unwatch function to stop listening
3146
+ */
3147
+ MinFeeChanged: (callback) => {
3148
+ return this.publicClient.watchContractEvent({
3149
+ address: this.contractAddress,
3150
+ abi: exports.SIBO_jsonAbi,
3151
+ eventName: 'MinFeeChanged',
3152
+ onLogs: (logs) => {
3153
+ logs.forEach((log) => {
3154
+ callback(log.args);
3155
+ });
3156
+ },
3157
+ });
3158
+ },
3159
+ /**
3160
+ * Watch RoleAdminChanged events
3161
+ * @param callback Function to call when event is emitted
3162
+ * @param filter Optional filter for indexed parameters
3163
+ * @returns Unwatch function to stop listening
3164
+ */
3165
+ RoleAdminChanged: (callback, filter) => {
3166
+ return this.publicClient.watchContractEvent({
3167
+ address: this.contractAddress,
3168
+ abi: exports.SIBO_jsonAbi,
3169
+ eventName: 'RoleAdminChanged',
3170
+ args: filter,
3171
+ onLogs: (logs) => {
3172
+ logs.forEach((log) => {
3173
+ callback(log.args);
3174
+ });
3175
+ },
3176
+ });
3177
+ },
3178
+ /**
3179
+ * Watch RoleGranted events
3180
+ * @param callback Function to call when event is emitted
3181
+ * @param filter Optional filter for indexed parameters
3182
+ * @returns Unwatch function to stop listening
3183
+ */
3184
+ RoleGranted: (callback, filter) => {
3185
+ return this.publicClient.watchContractEvent({
3186
+ address: this.contractAddress,
3187
+ abi: exports.SIBO_jsonAbi,
3188
+ eventName: 'RoleGranted',
3189
+ args: filter,
3190
+ onLogs: (logs) => {
3191
+ logs.forEach((log) => {
3192
+ callback(log.args);
3193
+ });
3194
+ },
3195
+ });
3196
+ },
3197
+ /**
3198
+ * Watch RoleRevoked events
3199
+ * @param callback Function to call when event is emitted
3200
+ * @param filter Optional filter for indexed parameters
3201
+ * @returns Unwatch function to stop listening
3202
+ */
3203
+ RoleRevoked: (callback, filter) => {
3204
+ return this.publicClient.watchContractEvent({
3205
+ address: this.contractAddress,
3206
+ abi: exports.SIBO_jsonAbi,
3207
+ eventName: 'RoleRevoked',
3208
+ args: filter,
3209
+ onLogs: (logs) => {
3210
+ logs.forEach((log) => {
3211
+ callback(log.args);
3212
+ });
3213
+ },
3214
+ });
3215
+ },
3216
+ /**
3217
+ * Watch TiersChanged events
3218
+ * @param callback Function to call when event is emitted
3219
+ * @param filter Optional filter for indexed parameters
3220
+ * @returns Unwatch function to stop listening
3221
+ */
3222
+ TiersChanged: (callback) => {
3223
+ return this.publicClient.watchContractEvent({
3224
+ address: this.contractAddress,
3225
+ abi: exports.SIBO_jsonAbi,
3226
+ eventName: 'TiersChanged',
3227
+ onLogs: (logs) => {
3228
+ logs.forEach((log) => {
3229
+ callback(log.args);
3230
+ });
3231
+ },
3232
+ });
3233
+ },
3234
+ /**
3235
+ * Watch Transfer events
3236
+ * @param callback Function to call when event is emitted
3237
+ * @param filter Optional filter for indexed parameters
3238
+ * @returns Unwatch function to stop listening
3239
+ */
3240
+ Transfer: (callback, filter) => {
3241
+ return this.publicClient.watchContractEvent({
3242
+ address: this.contractAddress,
3243
+ abi: exports.SIBO_jsonAbi,
3244
+ eventName: 'Transfer',
3245
+ args: filter,
3246
+ onLogs: (logs) => {
3247
+ logs.forEach((log) => {
3248
+ callback(log.args);
3249
+ });
3250
+ },
3251
+ });
3252
+ },
3253
+ /**
3254
+ * Watch UnBlacklisted events
3255
+ * @param callback Function to call when event is emitted
3256
+ * @param filter Optional filter for indexed parameters
3257
+ * @returns Unwatch function to stop listening
3258
+ */
3259
+ UnBlacklisted: (callback, filter) => {
3260
+ return this.publicClient.watchContractEvent({
3261
+ address: this.contractAddress,
3262
+ abi: exports.SIBO_jsonAbi,
3263
+ eventName: 'UnBlacklisted',
3264
+ args: filter,
3265
+ onLogs: (logs) => {
3266
+ logs.forEach((log) => {
3267
+ callback(log.args);
3268
+ });
3269
+ },
3270
+ });
3271
+ },
3272
+ /**
3273
+ * Watch Upgraded events
3274
+ * @param callback Function to call when event is emitted
3275
+ * @param filter Optional filter for indexed parameters
3276
+ * @returns Unwatch function to stop listening
3277
+ */
3278
+ Upgraded: (callback, filter) => {
3279
+ return this.publicClient.watchContractEvent({
3280
+ address: this.contractAddress,
3281
+ abi: exports.SIBO_jsonAbi,
3282
+ eventName: 'Upgraded',
3283
+ args: filter,
3284
+ onLogs: (logs) => {
3285
+ logs.forEach((log) => {
3286
+ callback(log.args);
3287
+ });
3288
+ },
3289
+ });
3290
+ },
3291
+ /**
3292
+ * Watch WalletFeeOverrideCleared events
3293
+ * @param callback Function to call when event is emitted
3294
+ * @param filter Optional filter for indexed parameters
3295
+ * @returns Unwatch function to stop listening
3296
+ */
3297
+ WalletFeeOverrideCleared: (callback, filter) => {
3298
+ return this.publicClient.watchContractEvent({
3299
+ address: this.contractAddress,
3300
+ abi: exports.SIBO_jsonAbi,
3301
+ eventName: 'WalletFeeOverrideCleared',
3302
+ args: filter,
3303
+ onLogs: (logs) => {
3304
+ logs.forEach((log) => {
3305
+ callback(log.args);
3306
+ });
3307
+ },
3308
+ });
3309
+ },
3310
+ /**
3311
+ * Watch WalletFeeOverrideSet events
3312
+ * @param callback Function to call when event is emitted
3313
+ * @param filter Optional filter for indexed parameters
3314
+ * @returns Unwatch function to stop listening
3315
+ */
3316
+ WalletFeeOverrideSet: (callback, filter) => {
3317
+ return this.publicClient.watchContractEvent({
3318
+ address: this.contractAddress,
3319
+ abi: exports.SIBO_jsonAbi,
3320
+ eventName: 'WalletFeeOverrideSet',
3321
+ args: filter,
3322
+ onLogs: (logs) => {
3323
+ logs.forEach((log) => {
3324
+ callback(log.args);
3325
+ });
3326
+ },
3327
+ });
3328
+ }
3329
+ };
3330
+ }
3331
+ }
3332
+ exports.SIBO_json = SIBO_json;