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