@gitmyabi-stg/vbill 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3904 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+ /**
5
+ * DSToken ABI
6
+ *
7
+ * This ABI is typed using viem's type system for full type safety.
8
+ */
9
+ export const DSTokenAbi = [
10
+ {
11
+ "inputs": [
12
+ {
13
+ "internalType": "address",
14
+ "name": "target",
15
+ "type": "address"
16
+ }
17
+ ],
18
+ "name": "AddressEmptyCode",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "implementation",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "name": "ERC1967InvalidImplementation",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "ERC1967NonPayable",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "FailedInnerCall",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "InvalidInitialization",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "NotInitializing",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "address",
56
+ "name": "owner",
57
+ "type": "address"
58
+ }
59
+ ],
60
+ "name": "OwnableInvalidOwner",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [
65
+ {
66
+ "internalType": "address",
67
+ "name": "account",
68
+ "type": "address"
69
+ }
70
+ ],
71
+ "name": "OwnableUnauthorizedAccount",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "UUPSUnauthorizedCallContext",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [
81
+ {
82
+ "internalType": "bytes32",
83
+ "name": "slot",
84
+ "type": "bytes32"
85
+ }
86
+ ],
87
+ "name": "UUPSUnsupportedProxiableUUID",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "anonymous": false,
92
+ "inputs": [
93
+ {
94
+ "indexed": true,
95
+ "internalType": "address",
96
+ "name": "owner",
97
+ "type": "address"
98
+ },
99
+ {
100
+ "indexed": true,
101
+ "internalType": "address",
102
+ "name": "spender",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "indexed": false,
107
+ "internalType": "uint256",
108
+ "name": "value",
109
+ "type": "uint256"
110
+ }
111
+ ],
112
+ "name": "Approval",
113
+ "type": "event"
114
+ },
115
+ {
116
+ "anonymous": false,
117
+ "inputs": [
118
+ {
119
+ "indexed": true,
120
+ "internalType": "address",
121
+ "name": "burner",
122
+ "type": "address"
123
+ },
124
+ {
125
+ "indexed": false,
126
+ "internalType": "uint256",
127
+ "name": "value",
128
+ "type": "uint256"
129
+ },
130
+ {
131
+ "indexed": false,
132
+ "internalType": "string",
133
+ "name": "reason",
134
+ "type": "string"
135
+ }
136
+ ],
137
+ "name": "Burn",
138
+ "type": "event"
139
+ },
140
+ {
141
+ "anonymous": false,
142
+ "inputs": [
143
+ {
144
+ "indexed": false,
145
+ "internalType": "uint256",
146
+ "name": "serviceId",
147
+ "type": "uint256"
148
+ },
149
+ {
150
+ "indexed": false,
151
+ "internalType": "address",
152
+ "name": "serviceAddress",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "DSServiceSet",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": false,
164
+ "internalType": "uint64",
165
+ "name": "version",
166
+ "type": "uint64"
167
+ }
168
+ ],
169
+ "name": "Initialized",
170
+ "type": "event"
171
+ },
172
+ {
173
+ "anonymous": false,
174
+ "inputs": [
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "to",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint256",
184
+ "name": "value",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "indexed": false,
189
+ "internalType": "uint256",
190
+ "name": "valueLocked",
191
+ "type": "uint256"
192
+ }
193
+ ],
194
+ "name": "Issue",
195
+ "type": "event"
196
+ },
197
+ {
198
+ "anonymous": false,
199
+ "inputs": [
200
+ {
201
+ "indexed": true,
202
+ "internalType": "address",
203
+ "name": "omnibusWallet",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "indexed": false,
208
+ "internalType": "address",
209
+ "name": "who",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "indexed": false,
214
+ "internalType": "uint256",
215
+ "name": "value",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "indexed": false,
220
+ "internalType": "string",
221
+ "name": "reason",
222
+ "type": "string"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint8",
227
+ "name": "assetTrackingMode",
228
+ "type": "uint8"
229
+ }
230
+ ],
231
+ "name": "OmnibusBurn",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": true,
239
+ "internalType": "address",
240
+ "name": "omnibusWallet",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "indexed": false,
245
+ "internalType": "address",
246
+ "name": "to",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "indexed": false,
251
+ "internalType": "uint256",
252
+ "name": "value",
253
+ "type": "uint256"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "uint8",
258
+ "name": "assetTrackingMode",
259
+ "type": "uint8"
260
+ }
261
+ ],
262
+ "name": "OmnibusDeposit",
263
+ "type": "event"
264
+ },
265
+ {
266
+ "anonymous": false,
267
+ "inputs": [
268
+ {
269
+ "indexed": true,
270
+ "internalType": "address",
271
+ "name": "omnibusWallet",
272
+ "type": "address"
273
+ },
274
+ {
275
+ "indexed": false,
276
+ "internalType": "address",
277
+ "name": "from",
278
+ "type": "address"
279
+ },
280
+ {
281
+ "indexed": false,
282
+ "internalType": "uint256",
283
+ "name": "value",
284
+ "type": "uint256"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "string",
289
+ "name": "reason",
290
+ "type": "string"
291
+ },
292
+ {
293
+ "indexed": false,
294
+ "internalType": "uint8",
295
+ "name": "assetTrackingMode",
296
+ "type": "uint8"
297
+ }
298
+ ],
299
+ "name": "OmnibusSeize",
300
+ "type": "event"
301
+ },
302
+ {
303
+ "anonymous": false,
304
+ "inputs": [
305
+ {
306
+ "indexed": true,
307
+ "internalType": "address",
308
+ "name": "omnibusWallet",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "indexed": false,
313
+ "internalType": "int256",
314
+ "name": "totalDelta",
315
+ "type": "int256"
316
+ },
317
+ {
318
+ "indexed": false,
319
+ "internalType": "int256",
320
+ "name": "accreditedDelta",
321
+ "type": "int256"
322
+ },
323
+ {
324
+ "indexed": false,
325
+ "internalType": "int256",
326
+ "name": "usAccreditedDelta",
327
+ "type": "int256"
328
+ },
329
+ {
330
+ "indexed": false,
331
+ "internalType": "int256",
332
+ "name": "usTotalDelta",
333
+ "type": "int256"
334
+ },
335
+ {
336
+ "indexed": false,
337
+ "internalType": "int256",
338
+ "name": "jpTotalDelta",
339
+ "type": "int256"
340
+ }
341
+ ],
342
+ "name": "OmnibusTBEOperation",
343
+ "type": "event"
344
+ },
345
+ {
346
+ "anonymous": false,
347
+ "inputs": [
348
+ {
349
+ "indexed": false,
350
+ "internalType": "address",
351
+ "name": "omnibusWallet",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "indexed": false,
356
+ "internalType": "string",
357
+ "name": "externalId",
358
+ "type": "string"
359
+ }
360
+ ],
361
+ "name": "OmnibusTBETransfer",
362
+ "type": "event"
363
+ },
364
+ {
365
+ "anonymous": false,
366
+ "inputs": [
367
+ {
368
+ "indexed": true,
369
+ "internalType": "address",
370
+ "name": "omnibusWallet",
371
+ "type": "address"
372
+ },
373
+ {
374
+ "indexed": false,
375
+ "internalType": "address",
376
+ "name": "from",
377
+ "type": "address"
378
+ },
379
+ {
380
+ "indexed": false,
381
+ "internalType": "address",
382
+ "name": "to",
383
+ "type": "address"
384
+ },
385
+ {
386
+ "indexed": false,
387
+ "internalType": "uint256",
388
+ "name": "value",
389
+ "type": "uint256"
390
+ },
391
+ {
392
+ "indexed": false,
393
+ "internalType": "uint8",
394
+ "name": "assetTrackingMode",
395
+ "type": "uint8"
396
+ }
397
+ ],
398
+ "name": "OmnibusTransfer",
399
+ "type": "event"
400
+ },
401
+ {
402
+ "anonymous": false,
403
+ "inputs": [
404
+ {
405
+ "indexed": true,
406
+ "internalType": "address",
407
+ "name": "omnibusWallet",
408
+ "type": "address"
409
+ },
410
+ {
411
+ "indexed": false,
412
+ "internalType": "address",
413
+ "name": "from",
414
+ "type": "address"
415
+ },
416
+ {
417
+ "indexed": false,
418
+ "internalType": "uint256",
419
+ "name": "value",
420
+ "type": "uint256"
421
+ },
422
+ {
423
+ "indexed": false,
424
+ "internalType": "uint8",
425
+ "name": "assetTrackingMode",
426
+ "type": "uint8"
427
+ }
428
+ ],
429
+ "name": "OmnibusWithdraw",
430
+ "type": "event"
431
+ },
432
+ {
433
+ "anonymous": false,
434
+ "inputs": [
435
+ {
436
+ "indexed": true,
437
+ "internalType": "address",
438
+ "name": "previousOwner",
439
+ "type": "address"
440
+ },
441
+ {
442
+ "indexed": true,
443
+ "internalType": "address",
444
+ "name": "newOwner",
445
+ "type": "address"
446
+ }
447
+ ],
448
+ "name": "OwnershipTransferred",
449
+ "type": "event"
450
+ },
451
+ {
452
+ "anonymous": false,
453
+ "inputs": [],
454
+ "name": "Pause",
455
+ "type": "event"
456
+ },
457
+ {
458
+ "anonymous": false,
459
+ "inputs": [
460
+ {
461
+ "indexed": true,
462
+ "internalType": "address",
463
+ "name": "from",
464
+ "type": "address"
465
+ },
466
+ {
467
+ "indexed": true,
468
+ "internalType": "address",
469
+ "name": "to",
470
+ "type": "address"
471
+ },
472
+ {
473
+ "indexed": false,
474
+ "internalType": "uint256",
475
+ "name": "value",
476
+ "type": "uint256"
477
+ },
478
+ {
479
+ "indexed": false,
480
+ "internalType": "string",
481
+ "name": "reason",
482
+ "type": "string"
483
+ }
484
+ ],
485
+ "name": "Seize",
486
+ "type": "event"
487
+ },
488
+ {
489
+ "anonymous": false,
490
+ "inputs": [
491
+ {
492
+ "indexed": true,
493
+ "internalType": "address",
494
+ "name": "from",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "indexed": true,
499
+ "internalType": "address",
500
+ "name": "to",
501
+ "type": "address"
502
+ },
503
+ {
504
+ "indexed": false,
505
+ "internalType": "uint256",
506
+ "name": "value",
507
+ "type": "uint256"
508
+ }
509
+ ],
510
+ "name": "Transfer",
511
+ "type": "event"
512
+ },
513
+ {
514
+ "anonymous": false,
515
+ "inputs": [],
516
+ "name": "Unpause",
517
+ "type": "event"
518
+ },
519
+ {
520
+ "anonymous": false,
521
+ "inputs": [
522
+ {
523
+ "indexed": true,
524
+ "internalType": "address",
525
+ "name": "implementation",
526
+ "type": "address"
527
+ }
528
+ ],
529
+ "name": "Upgraded",
530
+ "type": "event"
531
+ },
532
+ {
533
+ "anonymous": false,
534
+ "inputs": [
535
+ {
536
+ "indexed": false,
537
+ "internalType": "address",
538
+ "name": "wallet",
539
+ "type": "address"
540
+ }
541
+ ],
542
+ "name": "WalletAdded",
543
+ "type": "event"
544
+ },
545
+ {
546
+ "anonymous": false,
547
+ "inputs": [
548
+ {
549
+ "indexed": false,
550
+ "internalType": "address",
551
+ "name": "wallet",
552
+ "type": "address"
553
+ }
554
+ ],
555
+ "name": "WalletRemoved",
556
+ "type": "event"
557
+ },
558
+ {
559
+ "inputs": [],
560
+ "name": "COMPLIANCE_CONFIGURATION_SERVICE",
561
+ "outputs": [
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "",
565
+ "type": "uint256"
566
+ }
567
+ ],
568
+ "stateMutability": "view",
569
+ "type": "function"
570
+ },
571
+ {
572
+ "inputs": [],
573
+ "name": "COMPLIANCE_SERVICE",
574
+ "outputs": [
575
+ {
576
+ "internalType": "uint256",
577
+ "name": "",
578
+ "type": "uint256"
579
+ }
580
+ ],
581
+ "stateMutability": "view",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [],
586
+ "name": "DS_TOKEN",
587
+ "outputs": [
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "stateMutability": "view",
595
+ "type": "function"
596
+ },
597
+ {
598
+ "inputs": [],
599
+ "name": "ISSUER_MULTICALL",
600
+ "outputs": [
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "stateMutability": "view",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [],
612
+ "name": "LOCK_MANAGER",
613
+ "outputs": [
614
+ {
615
+ "internalType": "uint256",
616
+ "name": "",
617
+ "type": "uint256"
618
+ }
619
+ ],
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [],
625
+ "name": "OMNIBUS_TBE_CONTROLLER",
626
+ "outputs": [
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "",
630
+ "type": "uint256"
631
+ }
632
+ ],
633
+ "stateMutability": "view",
634
+ "type": "function"
635
+ },
636
+ {
637
+ "inputs": [],
638
+ "name": "PARTITIONS_MANAGER",
639
+ "outputs": [
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "",
643
+ "type": "uint256"
644
+ }
645
+ ],
646
+ "stateMutability": "view",
647
+ "type": "function"
648
+ },
649
+ {
650
+ "inputs": [],
651
+ "name": "REGISTRY_SERVICE",
652
+ "outputs": [
653
+ {
654
+ "internalType": "uint256",
655
+ "name": "",
656
+ "type": "uint256"
657
+ }
658
+ ],
659
+ "stateMutability": "view",
660
+ "type": "function"
661
+ },
662
+ {
663
+ "inputs": [],
664
+ "name": "ROLE_EXCHANGE",
665
+ "outputs": [
666
+ {
667
+ "internalType": "uint8",
668
+ "name": "",
669
+ "type": "uint8"
670
+ }
671
+ ],
672
+ "stateMutability": "view",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [],
677
+ "name": "ROLE_ISSUER",
678
+ "outputs": [
679
+ {
680
+ "internalType": "uint8",
681
+ "name": "",
682
+ "type": "uint8"
683
+ }
684
+ ],
685
+ "stateMutability": "view",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [],
690
+ "name": "ROLE_MASTER",
691
+ "outputs": [
692
+ {
693
+ "internalType": "uint8",
694
+ "name": "",
695
+ "type": "uint8"
696
+ }
697
+ ],
698
+ "stateMutability": "view",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [],
703
+ "name": "ROLE_NONE",
704
+ "outputs": [
705
+ {
706
+ "internalType": "uint8",
707
+ "name": "",
708
+ "type": "uint8"
709
+ }
710
+ ],
711
+ "stateMutability": "view",
712
+ "type": "function"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "ROLE_TRANSFER_AGENT",
717
+ "outputs": [
718
+ {
719
+ "internalType": "uint8",
720
+ "name": "",
721
+ "type": "uint8"
722
+ }
723
+ ],
724
+ "stateMutability": "view",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [],
729
+ "name": "SECURITIZE_SWAP",
730
+ "outputs": [
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "",
734
+ "type": "uint256"
735
+ }
736
+ ],
737
+ "stateMutability": "view",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [],
742
+ "name": "TA_MULTICALL",
743
+ "outputs": [
744
+ {
745
+ "internalType": "uint256",
746
+ "name": "",
747
+ "type": "uint256"
748
+ }
749
+ ],
750
+ "stateMutability": "view",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [],
755
+ "name": "TOKEN_ISSUER",
756
+ "outputs": [
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "",
760
+ "type": "uint256"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [],
768
+ "name": "TOKEN_REALLOCATOR",
769
+ "outputs": [
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "",
773
+ "type": "uint256"
774
+ }
775
+ ],
776
+ "stateMutability": "view",
777
+ "type": "function"
778
+ },
779
+ {
780
+ "inputs": [],
781
+ "name": "TRANSACTION_RELAYER",
782
+ "outputs": [
783
+ {
784
+ "internalType": "uint256",
785
+ "name": "",
786
+ "type": "uint256"
787
+ }
788
+ ],
789
+ "stateMutability": "view",
790
+ "type": "function"
791
+ },
792
+ {
793
+ "inputs": [],
794
+ "name": "TRUST_SERVICE",
795
+ "outputs": [
796
+ {
797
+ "internalType": "uint256",
798
+ "name": "",
799
+ "type": "uint256"
800
+ }
801
+ ],
802
+ "stateMutability": "view",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [],
807
+ "name": "UNUSED_1",
808
+ "outputs": [
809
+ {
810
+ "internalType": "uint256",
811
+ "name": "",
812
+ "type": "uint256"
813
+ }
814
+ ],
815
+ "stateMutability": "view",
816
+ "type": "function"
817
+ },
818
+ {
819
+ "inputs": [],
820
+ "name": "UPGRADE_INTERFACE_VERSION",
821
+ "outputs": [
822
+ {
823
+ "internalType": "string",
824
+ "name": "",
825
+ "type": "string"
826
+ }
827
+ ],
828
+ "stateMutability": "view",
829
+ "type": "function"
830
+ },
831
+ {
832
+ "inputs": [],
833
+ "name": "WALLET_MANAGER",
834
+ "outputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "",
838
+ "type": "uint256"
839
+ }
840
+ ],
841
+ "stateMutability": "view",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [],
846
+ "name": "WALLET_REGISTRAR",
847
+ "outputs": [
848
+ {
849
+ "internalType": "uint256",
850
+ "name": "",
851
+ "type": "uint256"
852
+ }
853
+ ],
854
+ "stateMutability": "view",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [],
859
+ "name": "__BaseDSContract_init",
860
+ "outputs": [],
861
+ "stateMutability": "nonpayable",
862
+ "type": "function"
863
+ },
864
+ {
865
+ "inputs": [],
866
+ "name": "__ServiceConsumer_init",
867
+ "outputs": [],
868
+ "stateMutability": "nonpayable",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [],
873
+ "name": "__StandardToken_init",
874
+ "outputs": [],
875
+ "stateMutability": "nonpayable",
876
+ "type": "function"
877
+ },
878
+ {
879
+ "inputs": [
880
+ {
881
+ "internalType": "address",
882
+ "name": "_owner",
883
+ "type": "address"
884
+ },
885
+ {
886
+ "internalType": "address",
887
+ "name": "_spender",
888
+ "type": "address"
889
+ }
890
+ ],
891
+ "name": "allowance",
892
+ "outputs": [
893
+ {
894
+ "internalType": "uint256",
895
+ "name": "",
896
+ "type": "uint256"
897
+ }
898
+ ],
899
+ "stateMutability": "view",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "address",
906
+ "name": "_spender",
907
+ "type": "address"
908
+ },
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "_value",
912
+ "type": "uint256"
913
+ }
914
+ ],
915
+ "name": "approve",
916
+ "outputs": [
917
+ {
918
+ "internalType": "bool",
919
+ "name": "",
920
+ "type": "bool"
921
+ }
922
+ ],
923
+ "stateMutability": "nonpayable",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [
928
+ {
929
+ "internalType": "address",
930
+ "name": "_owner",
931
+ "type": "address"
932
+ }
933
+ ],
934
+ "name": "balanceOf",
935
+ "outputs": [
936
+ {
937
+ "internalType": "uint256",
938
+ "name": "",
939
+ "type": "uint256"
940
+ }
941
+ ],
942
+ "stateMutability": "view",
943
+ "type": "function"
944
+ },
945
+ {
946
+ "inputs": [
947
+ {
948
+ "internalType": "string",
949
+ "name": "_id",
950
+ "type": "string"
951
+ }
952
+ ],
953
+ "name": "balanceOfInvestor",
954
+ "outputs": [
955
+ {
956
+ "internalType": "uint256",
957
+ "name": "",
958
+ "type": "uint256"
959
+ }
960
+ ],
961
+ "stateMutability": "view",
962
+ "type": "function"
963
+ },
964
+ {
965
+ "inputs": [
966
+ {
967
+ "internalType": "address",
968
+ "name": "_who",
969
+ "type": "address"
970
+ },
971
+ {
972
+ "internalType": "uint256",
973
+ "name": "_value",
974
+ "type": "uint256"
975
+ },
976
+ {
977
+ "internalType": "string",
978
+ "name": "_reason",
979
+ "type": "string"
980
+ }
981
+ ],
982
+ "name": "burn",
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [],
989
+ "name": "cap",
990
+ "outputs": [
991
+ {
992
+ "internalType": "uint256",
993
+ "name": "",
994
+ "type": "uint256"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [],
1002
+ "name": "decimals",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "uint8",
1006
+ "name": "",
1007
+ "type": "uint8"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [
1015
+ {
1016
+ "internalType": "address",
1017
+ "name": "_spender",
1018
+ "type": "address"
1019
+ },
1020
+ {
1021
+ "internalType": "uint256",
1022
+ "name": "_subtractedValue",
1023
+ "type": "uint256"
1024
+ }
1025
+ ],
1026
+ "name": "decreaseApproval",
1027
+ "outputs": [
1028
+ {
1029
+ "internalType": "bool",
1030
+ "name": "",
1031
+ "type": "bool"
1032
+ }
1033
+ ],
1034
+ "stateMutability": "nonpayable",
1035
+ "type": "function"
1036
+ },
1037
+ {
1038
+ "inputs": [
1039
+ {
1040
+ "internalType": "address",
1041
+ "name": "omnibusWallet",
1042
+ "type": "address"
1043
+ },
1044
+ {
1045
+ "internalType": "int256",
1046
+ "name": "totalDelta",
1047
+ "type": "int256"
1048
+ },
1049
+ {
1050
+ "internalType": "int256",
1051
+ "name": "accreditedDelta",
1052
+ "type": "int256"
1053
+ },
1054
+ {
1055
+ "internalType": "int256",
1056
+ "name": "usAccreditedDelta",
1057
+ "type": "int256"
1058
+ },
1059
+ {
1060
+ "internalType": "int256",
1061
+ "name": "usTotalDelta",
1062
+ "type": "int256"
1063
+ },
1064
+ {
1065
+ "internalType": "int256",
1066
+ "name": "jpTotalDelta",
1067
+ "type": "int256"
1068
+ }
1069
+ ],
1070
+ "name": "emitOmnibusTBEEvent",
1071
+ "outputs": [],
1072
+ "stateMutability": "nonpayable",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [
1077
+ {
1078
+ "internalType": "address",
1079
+ "name": "omnibusWallet",
1080
+ "type": "address"
1081
+ },
1082
+ {
1083
+ "internalType": "string",
1084
+ "name": "externalId",
1085
+ "type": "string"
1086
+ }
1087
+ ],
1088
+ "name": "emitOmnibusTBETransferEvent",
1089
+ "outputs": [],
1090
+ "stateMutability": "nonpayable",
1091
+ "type": "function"
1092
+ },
1093
+ {
1094
+ "inputs": [
1095
+ {
1096
+ "internalType": "address",
1097
+ "name": "_omnibusWallet",
1098
+ "type": "address"
1099
+ },
1100
+ {
1101
+ "internalType": "address",
1102
+ "name": "_from",
1103
+ "type": "address"
1104
+ },
1105
+ {
1106
+ "internalType": "address",
1107
+ "name": "_to",
1108
+ "type": "address"
1109
+ },
1110
+ {
1111
+ "internalType": "uint256",
1112
+ "name": "_value",
1113
+ "type": "uint256"
1114
+ }
1115
+ ],
1116
+ "name": "emitOmnibusTransferEvent",
1117
+ "outputs": [],
1118
+ "stateMutability": "nonpayable",
1119
+ "type": "function"
1120
+ },
1121
+ {
1122
+ "inputs": [
1123
+ {
1124
+ "internalType": "uint256",
1125
+ "name": "_serviceId",
1126
+ "type": "uint256"
1127
+ }
1128
+ ],
1129
+ "name": "getDSService",
1130
+ "outputs": [
1131
+ {
1132
+ "internalType": "address",
1133
+ "name": "",
1134
+ "type": "address"
1135
+ }
1136
+ ],
1137
+ "stateMutability": "view",
1138
+ "type": "function"
1139
+ },
1140
+ {
1141
+ "inputs": [],
1142
+ "name": "getImplementationAddress",
1143
+ "outputs": [
1144
+ {
1145
+ "internalType": "address",
1146
+ "name": "",
1147
+ "type": "address"
1148
+ }
1149
+ ],
1150
+ "stateMutability": "view",
1151
+ "type": "function"
1152
+ },
1153
+ {
1154
+ "inputs": [],
1155
+ "name": "getInitializedVersion",
1156
+ "outputs": [
1157
+ {
1158
+ "internalType": "uint64",
1159
+ "name": "",
1160
+ "type": "uint64"
1161
+ }
1162
+ ],
1163
+ "stateMutability": "view",
1164
+ "type": "function"
1165
+ },
1166
+ {
1167
+ "inputs": [
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "_index",
1171
+ "type": "uint256"
1172
+ }
1173
+ ],
1174
+ "name": "getWalletAt",
1175
+ "outputs": [
1176
+ {
1177
+ "internalType": "address",
1178
+ "name": "",
1179
+ "type": "address"
1180
+ }
1181
+ ],
1182
+ "stateMutability": "view",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [
1187
+ {
1188
+ "internalType": "address",
1189
+ "name": "_spender",
1190
+ "type": "address"
1191
+ },
1192
+ {
1193
+ "internalType": "uint256",
1194
+ "name": "_addedValue",
1195
+ "type": "uint256"
1196
+ }
1197
+ ],
1198
+ "name": "increaseApproval",
1199
+ "outputs": [
1200
+ {
1201
+ "internalType": "bool",
1202
+ "name": "",
1203
+ "type": "bool"
1204
+ }
1205
+ ],
1206
+ "stateMutability": "nonpayable",
1207
+ "type": "function"
1208
+ },
1209
+ {
1210
+ "inputs": [
1211
+ {
1212
+ "internalType": "string",
1213
+ "name": "_name",
1214
+ "type": "string"
1215
+ },
1216
+ {
1217
+ "internalType": "string",
1218
+ "name": "_symbol",
1219
+ "type": "string"
1220
+ },
1221
+ {
1222
+ "internalType": "uint8",
1223
+ "name": "_decimals",
1224
+ "type": "uint8"
1225
+ }
1226
+ ],
1227
+ "name": "initialize",
1228
+ "outputs": [],
1229
+ "stateMutability": "nonpayable",
1230
+ "type": "function"
1231
+ },
1232
+ {
1233
+ "inputs": [],
1234
+ "name": "isPaused",
1235
+ "outputs": [
1236
+ {
1237
+ "internalType": "bool",
1238
+ "name": "",
1239
+ "type": "bool"
1240
+ }
1241
+ ],
1242
+ "stateMutability": "view",
1243
+ "type": "function"
1244
+ },
1245
+ {
1246
+ "inputs": [
1247
+ {
1248
+ "internalType": "address",
1249
+ "name": "_to",
1250
+ "type": "address"
1251
+ },
1252
+ {
1253
+ "internalType": "uint256",
1254
+ "name": "_value",
1255
+ "type": "uint256"
1256
+ }
1257
+ ],
1258
+ "name": "issueTokens",
1259
+ "outputs": [
1260
+ {
1261
+ "internalType": "bool",
1262
+ "name": "",
1263
+ "type": "bool"
1264
+ }
1265
+ ],
1266
+ "stateMutability": "nonpayable",
1267
+ "type": "function"
1268
+ },
1269
+ {
1270
+ "inputs": [
1271
+ {
1272
+ "internalType": "address",
1273
+ "name": "_to",
1274
+ "type": "address"
1275
+ },
1276
+ {
1277
+ "internalType": "uint256",
1278
+ "name": "_value",
1279
+ "type": "uint256"
1280
+ },
1281
+ {
1282
+ "internalType": "uint256",
1283
+ "name": "_issuanceTime",
1284
+ "type": "uint256"
1285
+ },
1286
+ {
1287
+ "internalType": "uint256",
1288
+ "name": "_valueLocked",
1289
+ "type": "uint256"
1290
+ },
1291
+ {
1292
+ "internalType": "string",
1293
+ "name": "_reason",
1294
+ "type": "string"
1295
+ },
1296
+ {
1297
+ "internalType": "uint64",
1298
+ "name": "_releaseTime",
1299
+ "type": "uint64"
1300
+ }
1301
+ ],
1302
+ "name": "issueTokensCustom",
1303
+ "outputs": [
1304
+ {
1305
+ "internalType": "bool",
1306
+ "name": "",
1307
+ "type": "bool"
1308
+ }
1309
+ ],
1310
+ "stateMutability": "nonpayable",
1311
+ "type": "function"
1312
+ },
1313
+ {
1314
+ "inputs": [
1315
+ {
1316
+ "internalType": "address",
1317
+ "name": "_to",
1318
+ "type": "address"
1319
+ },
1320
+ {
1321
+ "internalType": "uint256",
1322
+ "name": "_value",
1323
+ "type": "uint256"
1324
+ },
1325
+ {
1326
+ "internalType": "uint256",
1327
+ "name": "_issuanceTime",
1328
+ "type": "uint256"
1329
+ },
1330
+ {
1331
+ "internalType": "uint256[]",
1332
+ "name": "_valuesLocked",
1333
+ "type": "uint256[]"
1334
+ },
1335
+ {
1336
+ "internalType": "string",
1337
+ "name": "_reason",
1338
+ "type": "string"
1339
+ },
1340
+ {
1341
+ "internalType": "uint64[]",
1342
+ "name": "_releaseTimes",
1343
+ "type": "uint64[]"
1344
+ }
1345
+ ],
1346
+ "name": "issueTokensWithMultipleLocks",
1347
+ "outputs": [
1348
+ {
1349
+ "internalType": "bool",
1350
+ "name": "",
1351
+ "type": "bool"
1352
+ }
1353
+ ],
1354
+ "stateMutability": "nonpayable",
1355
+ "type": "function"
1356
+ },
1357
+ {
1358
+ "inputs": [
1359
+ {
1360
+ "internalType": "address",
1361
+ "name": "_to",
1362
+ "type": "address"
1363
+ },
1364
+ {
1365
+ "internalType": "uint256",
1366
+ "name": "_value",
1367
+ "type": "uint256"
1368
+ }
1369
+ ],
1370
+ "name": "issueTokensWithNoCompliance",
1371
+ "outputs": [],
1372
+ "stateMutability": "nonpayable",
1373
+ "type": "function"
1374
+ },
1375
+ {
1376
+ "inputs": [],
1377
+ "name": "name",
1378
+ "outputs": [
1379
+ {
1380
+ "internalType": "string",
1381
+ "name": "",
1382
+ "type": "string"
1383
+ }
1384
+ ],
1385
+ "stateMutability": "view",
1386
+ "type": "function"
1387
+ },
1388
+ {
1389
+ "inputs": [
1390
+ {
1391
+ "internalType": "address",
1392
+ "name": "_omnibusWallet",
1393
+ "type": "address"
1394
+ },
1395
+ {
1396
+ "internalType": "address",
1397
+ "name": "_who",
1398
+ "type": "address"
1399
+ },
1400
+ {
1401
+ "internalType": "uint256",
1402
+ "name": "_value",
1403
+ "type": "uint256"
1404
+ },
1405
+ {
1406
+ "internalType": "string",
1407
+ "name": "_reason",
1408
+ "type": "string"
1409
+ }
1410
+ ],
1411
+ "name": "omnibusBurn",
1412
+ "outputs": [],
1413
+ "stateMutability": "nonpayable",
1414
+ "type": "function"
1415
+ },
1416
+ {
1417
+ "inputs": [
1418
+ {
1419
+ "internalType": "address",
1420
+ "name": "_omnibusWallet",
1421
+ "type": "address"
1422
+ },
1423
+ {
1424
+ "internalType": "address",
1425
+ "name": "_from",
1426
+ "type": "address"
1427
+ },
1428
+ {
1429
+ "internalType": "address",
1430
+ "name": "_to",
1431
+ "type": "address"
1432
+ },
1433
+ {
1434
+ "internalType": "uint256",
1435
+ "name": "_value",
1436
+ "type": "uint256"
1437
+ },
1438
+ {
1439
+ "internalType": "string",
1440
+ "name": "_reason",
1441
+ "type": "string"
1442
+ }
1443
+ ],
1444
+ "name": "omnibusSeize",
1445
+ "outputs": [],
1446
+ "stateMutability": "nonpayable",
1447
+ "type": "function"
1448
+ },
1449
+ {
1450
+ "inputs": [],
1451
+ "name": "owner",
1452
+ "outputs": [
1453
+ {
1454
+ "internalType": "address",
1455
+ "name": "",
1456
+ "type": "address"
1457
+ }
1458
+ ],
1459
+ "stateMutability": "view",
1460
+ "type": "function"
1461
+ },
1462
+ {
1463
+ "inputs": [],
1464
+ "name": "pause",
1465
+ "outputs": [],
1466
+ "stateMutability": "nonpayable",
1467
+ "type": "function"
1468
+ },
1469
+ {
1470
+ "inputs": [
1471
+ {
1472
+ "internalType": "address",
1473
+ "name": "_from",
1474
+ "type": "address"
1475
+ },
1476
+ {
1477
+ "internalType": "address",
1478
+ "name": "_to",
1479
+ "type": "address"
1480
+ },
1481
+ {
1482
+ "internalType": "uint256",
1483
+ "name": "_value",
1484
+ "type": "uint256"
1485
+ }
1486
+ ],
1487
+ "name": "preTransferCheck",
1488
+ "outputs": [
1489
+ {
1490
+ "internalType": "uint256",
1491
+ "name": "code",
1492
+ "type": "uint256"
1493
+ },
1494
+ {
1495
+ "internalType": "string",
1496
+ "name": "reason",
1497
+ "type": "string"
1498
+ }
1499
+ ],
1500
+ "stateMutability": "view",
1501
+ "type": "function"
1502
+ },
1503
+ {
1504
+ "inputs": [],
1505
+ "name": "proxiableUUID",
1506
+ "outputs": [
1507
+ {
1508
+ "internalType": "bytes32",
1509
+ "name": "",
1510
+ "type": "bytes32"
1511
+ }
1512
+ ],
1513
+ "stateMutability": "view",
1514
+ "type": "function"
1515
+ },
1516
+ {
1517
+ "inputs": [],
1518
+ "name": "renounceOwnership",
1519
+ "outputs": [],
1520
+ "stateMutability": "nonpayable",
1521
+ "type": "function"
1522
+ },
1523
+ {
1524
+ "inputs": [
1525
+ {
1526
+ "internalType": "address",
1527
+ "name": "_from",
1528
+ "type": "address"
1529
+ },
1530
+ {
1531
+ "internalType": "address",
1532
+ "name": "_to",
1533
+ "type": "address"
1534
+ },
1535
+ {
1536
+ "internalType": "uint256",
1537
+ "name": "_value",
1538
+ "type": "uint256"
1539
+ },
1540
+ {
1541
+ "internalType": "string",
1542
+ "name": "_reason",
1543
+ "type": "string"
1544
+ }
1545
+ ],
1546
+ "name": "seize",
1547
+ "outputs": [],
1548
+ "stateMutability": "nonpayable",
1549
+ "type": "function"
1550
+ },
1551
+ {
1552
+ "inputs": [
1553
+ {
1554
+ "internalType": "uint256",
1555
+ "name": "_cap",
1556
+ "type": "uint256"
1557
+ }
1558
+ ],
1559
+ "name": "setCap",
1560
+ "outputs": [],
1561
+ "stateMutability": "nonpayable",
1562
+ "type": "function"
1563
+ },
1564
+ {
1565
+ "inputs": [
1566
+ {
1567
+ "internalType": "uint256",
1568
+ "name": "_serviceId",
1569
+ "type": "uint256"
1570
+ },
1571
+ {
1572
+ "internalType": "address",
1573
+ "name": "_address",
1574
+ "type": "address"
1575
+ }
1576
+ ],
1577
+ "name": "setDSService",
1578
+ "outputs": [
1579
+ {
1580
+ "internalType": "bool",
1581
+ "name": "",
1582
+ "type": "bool"
1583
+ }
1584
+ ],
1585
+ "stateMutability": "nonpayable",
1586
+ "type": "function"
1587
+ },
1588
+ {
1589
+ "inputs": [
1590
+ {
1591
+ "internalType": "uint8",
1592
+ "name": "featureIndex",
1593
+ "type": "uint8"
1594
+ },
1595
+ {
1596
+ "internalType": "bool",
1597
+ "name": "enable",
1598
+ "type": "bool"
1599
+ }
1600
+ ],
1601
+ "name": "setFeature",
1602
+ "outputs": [],
1603
+ "stateMutability": "nonpayable",
1604
+ "type": "function"
1605
+ },
1606
+ {
1607
+ "inputs": [
1608
+ {
1609
+ "internalType": "uint256",
1610
+ "name": "features",
1611
+ "type": "uint256"
1612
+ }
1613
+ ],
1614
+ "name": "setFeatures",
1615
+ "outputs": [],
1616
+ "stateMutability": "nonpayable",
1617
+ "type": "function"
1618
+ },
1619
+ {
1620
+ "inputs": [],
1621
+ "name": "supportedFeatures",
1622
+ "outputs": [
1623
+ {
1624
+ "internalType": "uint256",
1625
+ "name": "value",
1626
+ "type": "uint256"
1627
+ }
1628
+ ],
1629
+ "stateMutability": "view",
1630
+ "type": "function"
1631
+ },
1632
+ {
1633
+ "inputs": [],
1634
+ "name": "symbol",
1635
+ "outputs": [
1636
+ {
1637
+ "internalType": "string",
1638
+ "name": "",
1639
+ "type": "string"
1640
+ }
1641
+ ],
1642
+ "stateMutability": "view",
1643
+ "type": "function"
1644
+ },
1645
+ {
1646
+ "inputs": [],
1647
+ "name": "totalIssued",
1648
+ "outputs": [
1649
+ {
1650
+ "internalType": "uint256",
1651
+ "name": "",
1652
+ "type": "uint256"
1653
+ }
1654
+ ],
1655
+ "stateMutability": "view",
1656
+ "type": "function"
1657
+ },
1658
+ {
1659
+ "inputs": [],
1660
+ "name": "totalSupply",
1661
+ "outputs": [
1662
+ {
1663
+ "internalType": "uint256",
1664
+ "name": "",
1665
+ "type": "uint256"
1666
+ }
1667
+ ],
1668
+ "stateMutability": "view",
1669
+ "type": "function"
1670
+ },
1671
+ {
1672
+ "inputs": [
1673
+ {
1674
+ "internalType": "address",
1675
+ "name": "_to",
1676
+ "type": "address"
1677
+ },
1678
+ {
1679
+ "internalType": "uint256",
1680
+ "name": "_value",
1681
+ "type": "uint256"
1682
+ }
1683
+ ],
1684
+ "name": "transfer",
1685
+ "outputs": [
1686
+ {
1687
+ "internalType": "bool",
1688
+ "name": "",
1689
+ "type": "bool"
1690
+ }
1691
+ ],
1692
+ "stateMutability": "nonpayable",
1693
+ "type": "function"
1694
+ },
1695
+ {
1696
+ "inputs": [
1697
+ {
1698
+ "internalType": "address",
1699
+ "name": "_from",
1700
+ "type": "address"
1701
+ },
1702
+ {
1703
+ "internalType": "address",
1704
+ "name": "_to",
1705
+ "type": "address"
1706
+ },
1707
+ {
1708
+ "internalType": "uint256",
1709
+ "name": "_value",
1710
+ "type": "uint256"
1711
+ }
1712
+ ],
1713
+ "name": "transferFrom",
1714
+ "outputs": [
1715
+ {
1716
+ "internalType": "bool",
1717
+ "name": "",
1718
+ "type": "bool"
1719
+ }
1720
+ ],
1721
+ "stateMutability": "nonpayable",
1722
+ "type": "function"
1723
+ },
1724
+ {
1725
+ "inputs": [
1726
+ {
1727
+ "internalType": "address",
1728
+ "name": "newOwner",
1729
+ "type": "address"
1730
+ }
1731
+ ],
1732
+ "name": "transferOwnership",
1733
+ "outputs": [],
1734
+ "stateMutability": "nonpayable",
1735
+ "type": "function"
1736
+ },
1737
+ {
1738
+ "inputs": [],
1739
+ "name": "unpause",
1740
+ "outputs": [],
1741
+ "stateMutability": "nonpayable",
1742
+ "type": "function"
1743
+ },
1744
+ {
1745
+ "inputs": [
1746
+ {
1747
+ "internalType": "address",
1748
+ "name": "_omnibusWallet",
1749
+ "type": "address"
1750
+ },
1751
+ {
1752
+ "internalType": "address",
1753
+ "name": "_wallet",
1754
+ "type": "address"
1755
+ },
1756
+ {
1757
+ "internalType": "uint256",
1758
+ "name": "_value",
1759
+ "type": "uint256"
1760
+ },
1761
+ {
1762
+ "internalType": "enum CommonUtils.IncDec",
1763
+ "name": "_increase",
1764
+ "type": "uint8"
1765
+ }
1766
+ ],
1767
+ "name": "updateOmnibusInvestorBalance",
1768
+ "outputs": [
1769
+ {
1770
+ "internalType": "bool",
1771
+ "name": "",
1772
+ "type": "bool"
1773
+ }
1774
+ ],
1775
+ "stateMutability": "nonpayable",
1776
+ "type": "function"
1777
+ },
1778
+ {
1779
+ "inputs": [
1780
+ {
1781
+ "internalType": "address",
1782
+ "name": "newImplementation",
1783
+ "type": "address"
1784
+ },
1785
+ {
1786
+ "internalType": "bytes",
1787
+ "name": "data",
1788
+ "type": "bytes"
1789
+ }
1790
+ ],
1791
+ "name": "upgradeToAndCall",
1792
+ "outputs": [],
1793
+ "stateMutability": "payable",
1794
+ "type": "function"
1795
+ },
1796
+ {
1797
+ "inputs": [],
1798
+ "name": "walletCount",
1799
+ "outputs": [
1800
+ {
1801
+ "internalType": "uint256",
1802
+ "name": "",
1803
+ "type": "uint256"
1804
+ }
1805
+ ],
1806
+ "stateMutability": "view",
1807
+ "type": "function"
1808
+ }
1809
+ ] as const satisfies Abi;
1810
+
1811
+ /**
1812
+ * Type-safe ABI for DSToken
1813
+ */
1814
+ export type DSTokenAbi = typeof DSTokenAbi;
1815
+
1816
+ /**
1817
+ * Contract instance type for DSToken
1818
+ */
1819
+ // Use any for contract type to avoid complex viem type issues
1820
+ // The runtime behavior is type-safe through viem's ABI typing
1821
+ export type DSTokenContract = any;
1822
+
1823
+ /**
1824
+ * DSToken Contract Class
1825
+ *
1826
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1827
+ *
1828
+ * @example
1829
+ * ```typescript
1830
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1831
+ * import { mainnet } from 'viem/chains';
1832
+ * import { DSToken } from 'DSToken';
1833
+ *
1834
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1835
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1836
+ *
1837
+ * const contract = new DSToken('0x...', { publicClient, walletClient });
1838
+ *
1839
+ * // Read functions
1840
+ * const result = await contract.balanceOf('0x...');
1841
+ *
1842
+ * // Write functions
1843
+ * const hash = await contract.transfer('0x...', 1000n);
1844
+ *
1845
+ * // Simulate transactions (dry-run)
1846
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1847
+ * console.log('Gas estimate:', simulation.request.gas);
1848
+ *
1849
+ * // Watch events
1850
+ * const unwatch = contract.watch.Transfer((event) => {
1851
+ * console.log('Transfer event:', event);
1852
+ * });
1853
+ * ```
1854
+ */
1855
+ export class DSToken {
1856
+ private contract: DSTokenContract;
1857
+ private contractAddress: Address;
1858
+ private publicClient: PublicClient;
1859
+
1860
+ constructor(
1861
+ address: Address,
1862
+ clients: {
1863
+ publicClient: PublicClient;
1864
+ walletClient?: WalletClient;
1865
+ }
1866
+ ) {
1867
+ this.contractAddress = address;
1868
+ this.publicClient = clients.publicClient;
1869
+ this.contract = getContract({
1870
+ address,
1871
+ abi: DSTokenAbi,
1872
+ client: {
1873
+ public: clients.publicClient,
1874
+ wallet: clients.walletClient,
1875
+ },
1876
+ });
1877
+ }
1878
+
1879
+ /**
1880
+ * Get the contract address
1881
+ */
1882
+ get address(): Address {
1883
+ return this.contractAddress;
1884
+ }
1885
+
1886
+ /**
1887
+ * Get the underlying viem contract instance.
1888
+ */
1889
+ getContract(): DSTokenContract {
1890
+ return this.contract;
1891
+ }
1892
+
1893
+ /**
1894
+ * COMPLIANCE_CONFIGURATION_SERVICE
1895
+ * view
1896
+ */
1897
+ async COMPLIANCE_CONFIGURATION_SERVICE(): Promise<bigint> {
1898
+ return this.contract.read.COMPLIANCE_CONFIGURATION_SERVICE() as Promise<bigint>;
1899
+ }
1900
+
1901
+ /**
1902
+ * COMPLIANCE_SERVICE
1903
+ * view
1904
+ */
1905
+ async COMPLIANCE_SERVICE(): Promise<bigint> {
1906
+ return this.contract.read.COMPLIANCE_SERVICE() as Promise<bigint>;
1907
+ }
1908
+
1909
+ /**
1910
+ * DS_TOKEN
1911
+ * view
1912
+ */
1913
+ async DS_TOKEN(): Promise<bigint> {
1914
+ return this.contract.read.DS_TOKEN() as Promise<bigint>;
1915
+ }
1916
+
1917
+ /**
1918
+ * ISSUER_MULTICALL
1919
+ * view
1920
+ */
1921
+ async ISSUER_MULTICALL(): Promise<bigint> {
1922
+ return this.contract.read.ISSUER_MULTICALL() as Promise<bigint>;
1923
+ }
1924
+
1925
+ /**
1926
+ * LOCK_MANAGER
1927
+ * view
1928
+ */
1929
+ async LOCK_MANAGER(): Promise<bigint> {
1930
+ return this.contract.read.LOCK_MANAGER() as Promise<bigint>;
1931
+ }
1932
+
1933
+ /**
1934
+ * OMNIBUS_TBE_CONTROLLER
1935
+ * view
1936
+ */
1937
+ async OMNIBUS_TBE_CONTROLLER(): Promise<bigint> {
1938
+ return this.contract.read.OMNIBUS_TBE_CONTROLLER() as Promise<bigint>;
1939
+ }
1940
+
1941
+ /**
1942
+ * PARTITIONS_MANAGER
1943
+ * view
1944
+ */
1945
+ async PARTITIONS_MANAGER(): Promise<bigint> {
1946
+ return this.contract.read.PARTITIONS_MANAGER() as Promise<bigint>;
1947
+ }
1948
+
1949
+ /**
1950
+ * REGISTRY_SERVICE
1951
+ * view
1952
+ */
1953
+ async REGISTRY_SERVICE(): Promise<bigint> {
1954
+ return this.contract.read.REGISTRY_SERVICE() as Promise<bigint>;
1955
+ }
1956
+
1957
+ /**
1958
+ * ROLE_EXCHANGE
1959
+ * view
1960
+ */
1961
+ async ROLE_EXCHANGE(): Promise<bigint> {
1962
+ return this.contract.read.ROLE_EXCHANGE() as Promise<bigint>;
1963
+ }
1964
+
1965
+ /**
1966
+ * ROLE_ISSUER
1967
+ * view
1968
+ */
1969
+ async ROLE_ISSUER(): Promise<bigint> {
1970
+ return this.contract.read.ROLE_ISSUER() as Promise<bigint>;
1971
+ }
1972
+
1973
+ /**
1974
+ * ROLE_MASTER
1975
+ * view
1976
+ */
1977
+ async ROLE_MASTER(): Promise<bigint> {
1978
+ return this.contract.read.ROLE_MASTER() as Promise<bigint>;
1979
+ }
1980
+
1981
+ /**
1982
+ * ROLE_NONE
1983
+ * view
1984
+ */
1985
+ async ROLE_NONE(): Promise<bigint> {
1986
+ return this.contract.read.ROLE_NONE() as Promise<bigint>;
1987
+ }
1988
+
1989
+ /**
1990
+ * ROLE_TRANSFER_AGENT
1991
+ * view
1992
+ */
1993
+ async ROLE_TRANSFER_AGENT(): Promise<bigint> {
1994
+ return this.contract.read.ROLE_TRANSFER_AGENT() as Promise<bigint>;
1995
+ }
1996
+
1997
+ /**
1998
+ * SECURITIZE_SWAP
1999
+ * view
2000
+ */
2001
+ async SECURITIZE_SWAP(): Promise<bigint> {
2002
+ return this.contract.read.SECURITIZE_SWAP() as Promise<bigint>;
2003
+ }
2004
+
2005
+ /**
2006
+ * TA_MULTICALL
2007
+ * view
2008
+ */
2009
+ async TA_MULTICALL(): Promise<bigint> {
2010
+ return this.contract.read.TA_MULTICALL() as Promise<bigint>;
2011
+ }
2012
+
2013
+ /**
2014
+ * TOKEN_ISSUER
2015
+ * view
2016
+ */
2017
+ async TOKEN_ISSUER(): Promise<bigint> {
2018
+ return this.contract.read.TOKEN_ISSUER() as Promise<bigint>;
2019
+ }
2020
+
2021
+ /**
2022
+ * TOKEN_REALLOCATOR
2023
+ * view
2024
+ */
2025
+ async TOKEN_REALLOCATOR(): Promise<bigint> {
2026
+ return this.contract.read.TOKEN_REALLOCATOR() as Promise<bigint>;
2027
+ }
2028
+
2029
+ /**
2030
+ * TRANSACTION_RELAYER
2031
+ * view
2032
+ */
2033
+ async TRANSACTION_RELAYER(): Promise<bigint> {
2034
+ return this.contract.read.TRANSACTION_RELAYER() as Promise<bigint>;
2035
+ }
2036
+
2037
+ /**
2038
+ * TRUST_SERVICE
2039
+ * view
2040
+ */
2041
+ async TRUST_SERVICE(): Promise<bigint> {
2042
+ return this.contract.read.TRUST_SERVICE() as Promise<bigint>;
2043
+ }
2044
+
2045
+ /**
2046
+ * UNUSED_1
2047
+ * view
2048
+ */
2049
+ async UNUSED_1(): Promise<bigint> {
2050
+ return this.contract.read.UNUSED_1() as Promise<bigint>;
2051
+ }
2052
+
2053
+ /**
2054
+ * UPGRADE_INTERFACE_VERSION
2055
+ * view
2056
+ */
2057
+ async UPGRADE_INTERFACE_VERSION(): Promise<string> {
2058
+ return this.contract.read.UPGRADE_INTERFACE_VERSION() as Promise<string>;
2059
+ }
2060
+
2061
+ /**
2062
+ * WALLET_MANAGER
2063
+ * view
2064
+ */
2065
+ async WALLET_MANAGER(): Promise<bigint> {
2066
+ return this.contract.read.WALLET_MANAGER() as Promise<bigint>;
2067
+ }
2068
+
2069
+ /**
2070
+ * WALLET_REGISTRAR
2071
+ * view
2072
+ */
2073
+ async WALLET_REGISTRAR(): Promise<bigint> {
2074
+ return this.contract.read.WALLET_REGISTRAR() as Promise<bigint>;
2075
+ }
2076
+
2077
+ /**
2078
+ * allowance
2079
+ * view
2080
+ */
2081
+ async allowance(_owner: `0x${string}`, _spender: `0x${string}`): Promise<bigint> {
2082
+ return this.contract.read.allowance([_owner, _spender] as const) as Promise<bigint>;
2083
+ }
2084
+
2085
+ /**
2086
+ * balanceOf
2087
+ * view
2088
+ */
2089
+ async balanceOf(_owner: `0x${string}`): Promise<bigint> {
2090
+ return this.contract.read.balanceOf([_owner] as const) as Promise<bigint>;
2091
+ }
2092
+
2093
+ /**
2094
+ * balanceOfInvestor
2095
+ * view
2096
+ */
2097
+ async balanceOfInvestor(_id: string): Promise<bigint> {
2098
+ return this.contract.read.balanceOfInvestor([_id] as const) as Promise<bigint>;
2099
+ }
2100
+
2101
+ /**
2102
+ * cap
2103
+ * view
2104
+ */
2105
+ async cap(): Promise<bigint> {
2106
+ return this.contract.read.cap() as Promise<bigint>;
2107
+ }
2108
+
2109
+ /**
2110
+ * decimals
2111
+ * view
2112
+ */
2113
+ async decimals(): Promise<bigint> {
2114
+ return this.contract.read.decimals() as Promise<bigint>;
2115
+ }
2116
+
2117
+ /**
2118
+ * getDSService
2119
+ * view
2120
+ */
2121
+ async getDSService(_serviceId: bigint): Promise<`0x${string}`> {
2122
+ return this.contract.read.getDSService([_serviceId] as const) as Promise<`0x${string}`>;
2123
+ }
2124
+
2125
+ /**
2126
+ * getImplementationAddress
2127
+ * view
2128
+ */
2129
+ async getImplementationAddress(): Promise<`0x${string}`> {
2130
+ return this.contract.read.getImplementationAddress() as Promise<`0x${string}`>;
2131
+ }
2132
+
2133
+ /**
2134
+ * getInitializedVersion
2135
+ * view
2136
+ */
2137
+ async getInitializedVersion(): Promise<bigint> {
2138
+ return this.contract.read.getInitializedVersion() as Promise<bigint>;
2139
+ }
2140
+
2141
+ /**
2142
+ * getWalletAt
2143
+ * view
2144
+ */
2145
+ async getWalletAt(_index: bigint): Promise<`0x${string}`> {
2146
+ return this.contract.read.getWalletAt([_index] as const) as Promise<`0x${string}`>;
2147
+ }
2148
+
2149
+ /**
2150
+ * isPaused
2151
+ * view
2152
+ */
2153
+ async isPaused(): Promise<boolean> {
2154
+ return this.contract.read.isPaused() as Promise<boolean>;
2155
+ }
2156
+
2157
+ /**
2158
+ * name
2159
+ * view
2160
+ */
2161
+ async name(): Promise<string> {
2162
+ return this.contract.read.name() as Promise<string>;
2163
+ }
2164
+
2165
+ /**
2166
+ * owner
2167
+ * view
2168
+ */
2169
+ async owner(): Promise<`0x${string}`> {
2170
+ return this.contract.read.owner() as Promise<`0x${string}`>;
2171
+ }
2172
+
2173
+ /**
2174
+ * preTransferCheck
2175
+ * view
2176
+ */
2177
+ async preTransferCheck(_from: `0x${string}`, _to: `0x${string}`, _value: bigint): Promise<[bigint, string]> {
2178
+ return this.contract.read.preTransferCheck([_from, _to, _value] as const) as Promise<[bigint, string]>;
2179
+ }
2180
+
2181
+ /**
2182
+ * proxiableUUID
2183
+ * view
2184
+ */
2185
+ async proxiableUUID(): Promise<`0x${string}`> {
2186
+ return this.contract.read.proxiableUUID() as Promise<`0x${string}`>;
2187
+ }
2188
+
2189
+ /**
2190
+ * supportedFeatures
2191
+ * view
2192
+ */
2193
+ async supportedFeatures(): Promise<bigint> {
2194
+ return this.contract.read.supportedFeatures() as Promise<bigint>;
2195
+ }
2196
+
2197
+ /**
2198
+ * symbol
2199
+ * view
2200
+ */
2201
+ async symbol(): Promise<string> {
2202
+ return this.contract.read.symbol() as Promise<string>;
2203
+ }
2204
+
2205
+ /**
2206
+ * totalIssued
2207
+ * view
2208
+ */
2209
+ async totalIssued(): Promise<bigint> {
2210
+ return this.contract.read.totalIssued() as Promise<bigint>;
2211
+ }
2212
+
2213
+ /**
2214
+ * totalSupply
2215
+ * view
2216
+ */
2217
+ async totalSupply(): Promise<bigint> {
2218
+ return this.contract.read.totalSupply() as Promise<bigint>;
2219
+ }
2220
+
2221
+ /**
2222
+ * walletCount
2223
+ * view
2224
+ */
2225
+ async walletCount(): Promise<bigint> {
2226
+ return this.contract.read.walletCount() as Promise<bigint>;
2227
+ }
2228
+
2229
+ /**
2230
+ * __BaseDSContract_init
2231
+ * nonpayable
2232
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2233
+ */
2234
+ async __BaseDSContract_init(options?: {
2235
+ accessList?: import('viem').AccessList;
2236
+ authorizationList?: import('viem').AuthorizationList;
2237
+ chain?: import('viem').Chain | null;
2238
+ dataSuffix?: `0x${string}`;
2239
+ gas?: bigint;
2240
+ gasPrice?: bigint;
2241
+ maxFeePerGas?: bigint;
2242
+ maxPriorityFeePerGas?: bigint;
2243
+ nonce?: number;
2244
+ value?: bigint;
2245
+ }): Promise<`0x${string}`> {
2246
+ if (!this.contract.write) {
2247
+ throw new Error('Wallet client is required for write operations');
2248
+ }
2249
+ return this.contract.write.__BaseDSContract_init(options) as Promise<`0x${string}`>;
2250
+ }
2251
+
2252
+ /**
2253
+ * __ServiceConsumer_init
2254
+ * nonpayable
2255
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2256
+ */
2257
+ async __ServiceConsumer_init(options?: {
2258
+ accessList?: import('viem').AccessList;
2259
+ authorizationList?: import('viem').AuthorizationList;
2260
+ chain?: import('viem').Chain | null;
2261
+ dataSuffix?: `0x${string}`;
2262
+ gas?: bigint;
2263
+ gasPrice?: bigint;
2264
+ maxFeePerGas?: bigint;
2265
+ maxPriorityFeePerGas?: bigint;
2266
+ nonce?: number;
2267
+ value?: bigint;
2268
+ }): Promise<`0x${string}`> {
2269
+ if (!this.contract.write) {
2270
+ throw new Error('Wallet client is required for write operations');
2271
+ }
2272
+ return this.contract.write.__ServiceConsumer_init(options) as Promise<`0x${string}`>;
2273
+ }
2274
+
2275
+ /**
2276
+ * __StandardToken_init
2277
+ * nonpayable
2278
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2279
+ */
2280
+ async __StandardToken_init(options?: {
2281
+ accessList?: import('viem').AccessList;
2282
+ authorizationList?: import('viem').AuthorizationList;
2283
+ chain?: import('viem').Chain | null;
2284
+ dataSuffix?: `0x${string}`;
2285
+ gas?: bigint;
2286
+ gasPrice?: bigint;
2287
+ maxFeePerGas?: bigint;
2288
+ maxPriorityFeePerGas?: bigint;
2289
+ nonce?: number;
2290
+ value?: bigint;
2291
+ }): Promise<`0x${string}`> {
2292
+ if (!this.contract.write) {
2293
+ throw new Error('Wallet client is required for write operations');
2294
+ }
2295
+ return this.contract.write.__StandardToken_init(options) as Promise<`0x${string}`>;
2296
+ }
2297
+
2298
+ /**
2299
+ * approve
2300
+ * nonpayable
2301
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2302
+ */
2303
+ async approve(_spender: `0x${string}`, _value: bigint, options?: {
2304
+ accessList?: import('viem').AccessList;
2305
+ authorizationList?: import('viem').AuthorizationList;
2306
+ chain?: import('viem').Chain | null;
2307
+ dataSuffix?: `0x${string}`;
2308
+ gas?: bigint;
2309
+ gasPrice?: bigint;
2310
+ maxFeePerGas?: bigint;
2311
+ maxPriorityFeePerGas?: bigint;
2312
+ nonce?: number;
2313
+ value?: bigint;
2314
+ }): Promise<`0x${string}`> {
2315
+ if (!this.contract.write) {
2316
+ throw new Error('Wallet client is required for write operations');
2317
+ }
2318
+ return this.contract.write.approve([_spender, _value] as const, options) as Promise<`0x${string}`>;
2319
+ }
2320
+
2321
+ /**
2322
+ * burn
2323
+ * nonpayable
2324
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2325
+ */
2326
+ async burn(_who: `0x${string}`, _value: bigint, _reason: string, options?: {
2327
+ accessList?: import('viem').AccessList;
2328
+ authorizationList?: import('viem').AuthorizationList;
2329
+ chain?: import('viem').Chain | null;
2330
+ dataSuffix?: `0x${string}`;
2331
+ gas?: bigint;
2332
+ gasPrice?: bigint;
2333
+ maxFeePerGas?: bigint;
2334
+ maxPriorityFeePerGas?: bigint;
2335
+ nonce?: number;
2336
+ value?: bigint;
2337
+ }): Promise<`0x${string}`> {
2338
+ if (!this.contract.write) {
2339
+ throw new Error('Wallet client is required for write operations');
2340
+ }
2341
+ return this.contract.write.burn([_who, _value, _reason] as const, options) as Promise<`0x${string}`>;
2342
+ }
2343
+
2344
+ /**
2345
+ * decreaseApproval
2346
+ * nonpayable
2347
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2348
+ */
2349
+ async decreaseApproval(_spender: `0x${string}`, _subtractedValue: bigint, options?: {
2350
+ accessList?: import('viem').AccessList;
2351
+ authorizationList?: import('viem').AuthorizationList;
2352
+ chain?: import('viem').Chain | null;
2353
+ dataSuffix?: `0x${string}`;
2354
+ gas?: bigint;
2355
+ gasPrice?: bigint;
2356
+ maxFeePerGas?: bigint;
2357
+ maxPriorityFeePerGas?: bigint;
2358
+ nonce?: number;
2359
+ value?: bigint;
2360
+ }): Promise<`0x${string}`> {
2361
+ if (!this.contract.write) {
2362
+ throw new Error('Wallet client is required for write operations');
2363
+ }
2364
+ return this.contract.write.decreaseApproval([_spender, _subtractedValue] as const, options) as Promise<`0x${string}`>;
2365
+ }
2366
+
2367
+ /**
2368
+ * emitOmnibusTBEEvent
2369
+ * nonpayable
2370
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2371
+ */
2372
+ async emitOmnibusTBEEvent(omnibusWallet: `0x${string}`, totalDelta: bigint, accreditedDelta: bigint, usAccreditedDelta: bigint, usTotalDelta: bigint, jpTotalDelta: bigint, options?: {
2373
+ accessList?: import('viem').AccessList;
2374
+ authorizationList?: import('viem').AuthorizationList;
2375
+ chain?: import('viem').Chain | null;
2376
+ dataSuffix?: `0x${string}`;
2377
+ gas?: bigint;
2378
+ gasPrice?: bigint;
2379
+ maxFeePerGas?: bigint;
2380
+ maxPriorityFeePerGas?: bigint;
2381
+ nonce?: number;
2382
+ value?: bigint;
2383
+ }): Promise<`0x${string}`> {
2384
+ if (!this.contract.write) {
2385
+ throw new Error('Wallet client is required for write operations');
2386
+ }
2387
+ return this.contract.write.emitOmnibusTBEEvent([omnibusWallet, totalDelta, accreditedDelta, usAccreditedDelta, usTotalDelta, jpTotalDelta] as const, options) as Promise<`0x${string}`>;
2388
+ }
2389
+
2390
+ /**
2391
+ * emitOmnibusTBETransferEvent
2392
+ * nonpayable
2393
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2394
+ */
2395
+ async emitOmnibusTBETransferEvent(omnibusWallet: `0x${string}`, externalId: string, options?: {
2396
+ accessList?: import('viem').AccessList;
2397
+ authorizationList?: import('viem').AuthorizationList;
2398
+ chain?: import('viem').Chain | null;
2399
+ dataSuffix?: `0x${string}`;
2400
+ gas?: bigint;
2401
+ gasPrice?: bigint;
2402
+ maxFeePerGas?: bigint;
2403
+ maxPriorityFeePerGas?: bigint;
2404
+ nonce?: number;
2405
+ value?: bigint;
2406
+ }): Promise<`0x${string}`> {
2407
+ if (!this.contract.write) {
2408
+ throw new Error('Wallet client is required for write operations');
2409
+ }
2410
+ return this.contract.write.emitOmnibusTBETransferEvent([omnibusWallet, externalId] as const, options) as Promise<`0x${string}`>;
2411
+ }
2412
+
2413
+ /**
2414
+ * emitOmnibusTransferEvent
2415
+ * nonpayable
2416
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2417
+ */
2418
+ async emitOmnibusTransferEvent(_omnibusWallet: `0x${string}`, _from: `0x${string}`, _to: `0x${string}`, _value: bigint, options?: {
2419
+ accessList?: import('viem').AccessList;
2420
+ authorizationList?: import('viem').AuthorizationList;
2421
+ chain?: import('viem').Chain | null;
2422
+ dataSuffix?: `0x${string}`;
2423
+ gas?: bigint;
2424
+ gasPrice?: bigint;
2425
+ maxFeePerGas?: bigint;
2426
+ maxPriorityFeePerGas?: bigint;
2427
+ nonce?: number;
2428
+ value?: bigint;
2429
+ }): Promise<`0x${string}`> {
2430
+ if (!this.contract.write) {
2431
+ throw new Error('Wallet client is required for write operations');
2432
+ }
2433
+ return this.contract.write.emitOmnibusTransferEvent([_omnibusWallet, _from, _to, _value] as const, options) as Promise<`0x${string}`>;
2434
+ }
2435
+
2436
+ /**
2437
+ * increaseApproval
2438
+ * nonpayable
2439
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2440
+ */
2441
+ async increaseApproval(_spender: `0x${string}`, _addedValue: bigint, options?: {
2442
+ accessList?: import('viem').AccessList;
2443
+ authorizationList?: import('viem').AuthorizationList;
2444
+ chain?: import('viem').Chain | null;
2445
+ dataSuffix?: `0x${string}`;
2446
+ gas?: bigint;
2447
+ gasPrice?: bigint;
2448
+ maxFeePerGas?: bigint;
2449
+ maxPriorityFeePerGas?: bigint;
2450
+ nonce?: number;
2451
+ value?: bigint;
2452
+ }): Promise<`0x${string}`> {
2453
+ if (!this.contract.write) {
2454
+ throw new Error('Wallet client is required for write operations');
2455
+ }
2456
+ return this.contract.write.increaseApproval([_spender, _addedValue] as const, options) as Promise<`0x${string}`>;
2457
+ }
2458
+
2459
+ /**
2460
+ * initialize
2461
+ * nonpayable
2462
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2463
+ */
2464
+ async initialize(_name: string, _symbol: string, _decimals: bigint, options?: {
2465
+ accessList?: import('viem').AccessList;
2466
+ authorizationList?: import('viem').AuthorizationList;
2467
+ chain?: import('viem').Chain | null;
2468
+ dataSuffix?: `0x${string}`;
2469
+ gas?: bigint;
2470
+ gasPrice?: bigint;
2471
+ maxFeePerGas?: bigint;
2472
+ maxPriorityFeePerGas?: bigint;
2473
+ nonce?: number;
2474
+ value?: bigint;
2475
+ }): Promise<`0x${string}`> {
2476
+ if (!this.contract.write) {
2477
+ throw new Error('Wallet client is required for write operations');
2478
+ }
2479
+ return this.contract.write.initialize([_name, _symbol, _decimals] as const, options) as Promise<`0x${string}`>;
2480
+ }
2481
+
2482
+ /**
2483
+ * issueTokens
2484
+ * nonpayable
2485
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2486
+ */
2487
+ async issueTokens(_to: `0x${string}`, _value: bigint, options?: {
2488
+ accessList?: import('viem').AccessList;
2489
+ authorizationList?: import('viem').AuthorizationList;
2490
+ chain?: import('viem').Chain | null;
2491
+ dataSuffix?: `0x${string}`;
2492
+ gas?: bigint;
2493
+ gasPrice?: bigint;
2494
+ maxFeePerGas?: bigint;
2495
+ maxPriorityFeePerGas?: bigint;
2496
+ nonce?: number;
2497
+ value?: bigint;
2498
+ }): Promise<`0x${string}`> {
2499
+ if (!this.contract.write) {
2500
+ throw new Error('Wallet client is required for write operations');
2501
+ }
2502
+ return this.contract.write.issueTokens([_to, _value] as const, options) as Promise<`0x${string}`>;
2503
+ }
2504
+
2505
+ /**
2506
+ * issueTokensCustom
2507
+ * nonpayable
2508
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2509
+ */
2510
+ async issueTokensCustom(_to: `0x${string}`, _value: bigint, _issuanceTime: bigint, _valueLocked: bigint, _reason: string, _releaseTime: bigint, options?: {
2511
+ accessList?: import('viem').AccessList;
2512
+ authorizationList?: import('viem').AuthorizationList;
2513
+ chain?: import('viem').Chain | null;
2514
+ dataSuffix?: `0x${string}`;
2515
+ gas?: bigint;
2516
+ gasPrice?: bigint;
2517
+ maxFeePerGas?: bigint;
2518
+ maxPriorityFeePerGas?: bigint;
2519
+ nonce?: number;
2520
+ value?: bigint;
2521
+ }): Promise<`0x${string}`> {
2522
+ if (!this.contract.write) {
2523
+ throw new Error('Wallet client is required for write operations');
2524
+ }
2525
+ return this.contract.write.issueTokensCustom([_to, _value, _issuanceTime, _valueLocked, _reason, _releaseTime] as const, options) as Promise<`0x${string}`>;
2526
+ }
2527
+
2528
+ /**
2529
+ * issueTokensWithMultipleLocks
2530
+ * nonpayable
2531
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2532
+ */
2533
+ async issueTokensWithMultipleLocks(_to: `0x${string}`, _value: bigint, _issuanceTime: bigint, _valuesLocked: bigint[], _reason: string, _releaseTimes: bigint[], options?: {
2534
+ accessList?: import('viem').AccessList;
2535
+ authorizationList?: import('viem').AuthorizationList;
2536
+ chain?: import('viem').Chain | null;
2537
+ dataSuffix?: `0x${string}`;
2538
+ gas?: bigint;
2539
+ gasPrice?: bigint;
2540
+ maxFeePerGas?: bigint;
2541
+ maxPriorityFeePerGas?: bigint;
2542
+ nonce?: number;
2543
+ value?: bigint;
2544
+ }): Promise<`0x${string}`> {
2545
+ if (!this.contract.write) {
2546
+ throw new Error('Wallet client is required for write operations');
2547
+ }
2548
+ return this.contract.write.issueTokensWithMultipleLocks([_to, _value, _issuanceTime, _valuesLocked, _reason, _releaseTimes] as const, options) as Promise<`0x${string}`>;
2549
+ }
2550
+
2551
+ /**
2552
+ * issueTokensWithNoCompliance
2553
+ * nonpayable
2554
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2555
+ */
2556
+ async issueTokensWithNoCompliance(_to: `0x${string}`, _value: bigint, options?: {
2557
+ accessList?: import('viem').AccessList;
2558
+ authorizationList?: import('viem').AuthorizationList;
2559
+ chain?: import('viem').Chain | null;
2560
+ dataSuffix?: `0x${string}`;
2561
+ gas?: bigint;
2562
+ gasPrice?: bigint;
2563
+ maxFeePerGas?: bigint;
2564
+ maxPriorityFeePerGas?: bigint;
2565
+ nonce?: number;
2566
+ value?: bigint;
2567
+ }): Promise<`0x${string}`> {
2568
+ if (!this.contract.write) {
2569
+ throw new Error('Wallet client is required for write operations');
2570
+ }
2571
+ return this.contract.write.issueTokensWithNoCompliance([_to, _value] as const, options) as Promise<`0x${string}`>;
2572
+ }
2573
+
2574
+ /**
2575
+ * omnibusBurn
2576
+ * nonpayable
2577
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2578
+ */
2579
+ async omnibusBurn(_omnibusWallet: `0x${string}`, _who: `0x${string}`, _value: bigint, _reason: string, options?: {
2580
+ accessList?: import('viem').AccessList;
2581
+ authorizationList?: import('viem').AuthorizationList;
2582
+ chain?: import('viem').Chain | null;
2583
+ dataSuffix?: `0x${string}`;
2584
+ gas?: bigint;
2585
+ gasPrice?: bigint;
2586
+ maxFeePerGas?: bigint;
2587
+ maxPriorityFeePerGas?: bigint;
2588
+ nonce?: number;
2589
+ value?: bigint;
2590
+ }): Promise<`0x${string}`> {
2591
+ if (!this.contract.write) {
2592
+ throw new Error('Wallet client is required for write operations');
2593
+ }
2594
+ return this.contract.write.omnibusBurn([_omnibusWallet, _who, _value, _reason] as const, options) as Promise<`0x${string}`>;
2595
+ }
2596
+
2597
+ /**
2598
+ * omnibusSeize
2599
+ * nonpayable
2600
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2601
+ */
2602
+ async omnibusSeize(_omnibusWallet: `0x${string}`, _from: `0x${string}`, _to: `0x${string}`, _value: bigint, _reason: 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<`0x${string}`> {
2614
+ if (!this.contract.write) {
2615
+ throw new Error('Wallet client is required for write operations');
2616
+ }
2617
+ return this.contract.write.omnibusSeize([_omnibusWallet, _from, _to, _value, _reason] as const, options) as Promise<`0x${string}`>;
2618
+ }
2619
+
2620
+ /**
2621
+ * pause
2622
+ * nonpayable
2623
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2624
+ */
2625
+ async pause(options?: {
2626
+ accessList?: import('viem').AccessList;
2627
+ authorizationList?: import('viem').AuthorizationList;
2628
+ chain?: import('viem').Chain | null;
2629
+ dataSuffix?: `0x${string}`;
2630
+ gas?: bigint;
2631
+ gasPrice?: bigint;
2632
+ maxFeePerGas?: bigint;
2633
+ maxPriorityFeePerGas?: bigint;
2634
+ nonce?: number;
2635
+ value?: bigint;
2636
+ }): Promise<`0x${string}`> {
2637
+ if (!this.contract.write) {
2638
+ throw new Error('Wallet client is required for write operations');
2639
+ }
2640
+ return this.contract.write.pause(options) as Promise<`0x${string}`>;
2641
+ }
2642
+
2643
+ /**
2644
+ * renounceOwnership
2645
+ * nonpayable
2646
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2647
+ */
2648
+ async renounceOwnership(options?: {
2649
+ accessList?: import('viem').AccessList;
2650
+ authorizationList?: import('viem').AuthorizationList;
2651
+ chain?: import('viem').Chain | null;
2652
+ dataSuffix?: `0x${string}`;
2653
+ gas?: bigint;
2654
+ gasPrice?: bigint;
2655
+ maxFeePerGas?: bigint;
2656
+ maxPriorityFeePerGas?: bigint;
2657
+ nonce?: number;
2658
+ value?: bigint;
2659
+ }): Promise<`0x${string}`> {
2660
+ if (!this.contract.write) {
2661
+ throw new Error('Wallet client is required for write operations');
2662
+ }
2663
+ return this.contract.write.renounceOwnership(options) as Promise<`0x${string}`>;
2664
+ }
2665
+
2666
+ /**
2667
+ * seize
2668
+ * nonpayable
2669
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2670
+ */
2671
+ async seize(_from: `0x${string}`, _to: `0x${string}`, _value: bigint, _reason: string, options?: {
2672
+ accessList?: import('viem').AccessList;
2673
+ authorizationList?: import('viem').AuthorizationList;
2674
+ chain?: import('viem').Chain | null;
2675
+ dataSuffix?: `0x${string}`;
2676
+ gas?: bigint;
2677
+ gasPrice?: bigint;
2678
+ maxFeePerGas?: bigint;
2679
+ maxPriorityFeePerGas?: bigint;
2680
+ nonce?: number;
2681
+ value?: bigint;
2682
+ }): Promise<`0x${string}`> {
2683
+ if (!this.contract.write) {
2684
+ throw new Error('Wallet client is required for write operations');
2685
+ }
2686
+ return this.contract.write.seize([_from, _to, _value, _reason] as const, options) as Promise<`0x${string}`>;
2687
+ }
2688
+
2689
+ /**
2690
+ * setCap
2691
+ * nonpayable
2692
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2693
+ */
2694
+ async setCap(_cap: bigint, options?: {
2695
+ accessList?: import('viem').AccessList;
2696
+ authorizationList?: import('viem').AuthorizationList;
2697
+ chain?: import('viem').Chain | null;
2698
+ dataSuffix?: `0x${string}`;
2699
+ gas?: bigint;
2700
+ gasPrice?: bigint;
2701
+ maxFeePerGas?: bigint;
2702
+ maxPriorityFeePerGas?: bigint;
2703
+ nonce?: number;
2704
+ value?: bigint;
2705
+ }): Promise<`0x${string}`> {
2706
+ if (!this.contract.write) {
2707
+ throw new Error('Wallet client is required for write operations');
2708
+ }
2709
+ return this.contract.write.setCap([_cap] as const, options) as Promise<`0x${string}`>;
2710
+ }
2711
+
2712
+ /**
2713
+ * setDSService
2714
+ * nonpayable
2715
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2716
+ */
2717
+ async setDSService(_serviceId: bigint, _address: `0x${string}`, options?: {
2718
+ accessList?: import('viem').AccessList;
2719
+ authorizationList?: import('viem').AuthorizationList;
2720
+ chain?: import('viem').Chain | null;
2721
+ dataSuffix?: `0x${string}`;
2722
+ gas?: bigint;
2723
+ gasPrice?: bigint;
2724
+ maxFeePerGas?: bigint;
2725
+ maxPriorityFeePerGas?: bigint;
2726
+ nonce?: number;
2727
+ value?: bigint;
2728
+ }): Promise<`0x${string}`> {
2729
+ if (!this.contract.write) {
2730
+ throw new Error('Wallet client is required for write operations');
2731
+ }
2732
+ return this.contract.write.setDSService([_serviceId, _address] as const, options) as Promise<`0x${string}`>;
2733
+ }
2734
+
2735
+ /**
2736
+ * setFeature
2737
+ * nonpayable
2738
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2739
+ */
2740
+ async setFeature(featureIndex: bigint, enable: boolean, options?: {
2741
+ accessList?: import('viem').AccessList;
2742
+ authorizationList?: import('viem').AuthorizationList;
2743
+ chain?: import('viem').Chain | null;
2744
+ dataSuffix?: `0x${string}`;
2745
+ gas?: bigint;
2746
+ gasPrice?: bigint;
2747
+ maxFeePerGas?: bigint;
2748
+ maxPriorityFeePerGas?: bigint;
2749
+ nonce?: number;
2750
+ value?: bigint;
2751
+ }): Promise<`0x${string}`> {
2752
+ if (!this.contract.write) {
2753
+ throw new Error('Wallet client is required for write operations');
2754
+ }
2755
+ return this.contract.write.setFeature([featureIndex, enable] as const, options) as Promise<`0x${string}`>;
2756
+ }
2757
+
2758
+ /**
2759
+ * setFeatures
2760
+ * nonpayable
2761
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2762
+ */
2763
+ async setFeatures(features: bigint, options?: {
2764
+ accessList?: import('viem').AccessList;
2765
+ authorizationList?: import('viem').AuthorizationList;
2766
+ chain?: import('viem').Chain | null;
2767
+ dataSuffix?: `0x${string}`;
2768
+ gas?: bigint;
2769
+ gasPrice?: bigint;
2770
+ maxFeePerGas?: bigint;
2771
+ maxPriorityFeePerGas?: bigint;
2772
+ nonce?: number;
2773
+ value?: bigint;
2774
+ }): Promise<`0x${string}`> {
2775
+ if (!this.contract.write) {
2776
+ throw new Error('Wallet client is required for write operations');
2777
+ }
2778
+ return this.contract.write.setFeatures([features] as const, options) as Promise<`0x${string}`>;
2779
+ }
2780
+
2781
+ /**
2782
+ * transfer
2783
+ * nonpayable
2784
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2785
+ */
2786
+ async transfer(_to: `0x${string}`, _value: bigint, options?: {
2787
+ accessList?: import('viem').AccessList;
2788
+ authorizationList?: import('viem').AuthorizationList;
2789
+ chain?: import('viem').Chain | null;
2790
+ dataSuffix?: `0x${string}`;
2791
+ gas?: bigint;
2792
+ gasPrice?: bigint;
2793
+ maxFeePerGas?: bigint;
2794
+ maxPriorityFeePerGas?: bigint;
2795
+ nonce?: number;
2796
+ value?: bigint;
2797
+ }): Promise<`0x${string}`> {
2798
+ if (!this.contract.write) {
2799
+ throw new Error('Wallet client is required for write operations');
2800
+ }
2801
+ return this.contract.write.transfer([_to, _value] as const, options) as Promise<`0x${string}`>;
2802
+ }
2803
+
2804
+ /**
2805
+ * transferFrom
2806
+ * nonpayable
2807
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2808
+ */
2809
+ async transferFrom(_from: `0x${string}`, _to: `0x${string}`, _value: bigint, options?: {
2810
+ accessList?: import('viem').AccessList;
2811
+ authorizationList?: import('viem').AuthorizationList;
2812
+ chain?: import('viem').Chain | null;
2813
+ dataSuffix?: `0x${string}`;
2814
+ gas?: bigint;
2815
+ gasPrice?: bigint;
2816
+ maxFeePerGas?: bigint;
2817
+ maxPriorityFeePerGas?: bigint;
2818
+ nonce?: number;
2819
+ value?: bigint;
2820
+ }): Promise<`0x${string}`> {
2821
+ if (!this.contract.write) {
2822
+ throw new Error('Wallet client is required for write operations');
2823
+ }
2824
+ return this.contract.write.transferFrom([_from, _to, _value] as const, options) as Promise<`0x${string}`>;
2825
+ }
2826
+
2827
+ /**
2828
+ * transferOwnership
2829
+ * nonpayable
2830
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2831
+ */
2832
+ async transferOwnership(newOwner: `0x${string}`, options?: {
2833
+ accessList?: import('viem').AccessList;
2834
+ authorizationList?: import('viem').AuthorizationList;
2835
+ chain?: import('viem').Chain | null;
2836
+ dataSuffix?: `0x${string}`;
2837
+ gas?: bigint;
2838
+ gasPrice?: bigint;
2839
+ maxFeePerGas?: bigint;
2840
+ maxPriorityFeePerGas?: bigint;
2841
+ nonce?: number;
2842
+ value?: bigint;
2843
+ }): Promise<`0x${string}`> {
2844
+ if (!this.contract.write) {
2845
+ throw new Error('Wallet client is required for write operations');
2846
+ }
2847
+ return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
2848
+ }
2849
+
2850
+ /**
2851
+ * unpause
2852
+ * nonpayable
2853
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2854
+ */
2855
+ async unpause(options?: {
2856
+ accessList?: import('viem').AccessList;
2857
+ authorizationList?: import('viem').AuthorizationList;
2858
+ chain?: import('viem').Chain | null;
2859
+ dataSuffix?: `0x${string}`;
2860
+ gas?: bigint;
2861
+ gasPrice?: bigint;
2862
+ maxFeePerGas?: bigint;
2863
+ maxPriorityFeePerGas?: bigint;
2864
+ nonce?: number;
2865
+ value?: bigint;
2866
+ }): Promise<`0x${string}`> {
2867
+ if (!this.contract.write) {
2868
+ throw new Error('Wallet client is required for write operations');
2869
+ }
2870
+ return this.contract.write.unpause(options) as Promise<`0x${string}`>;
2871
+ }
2872
+
2873
+ /**
2874
+ * updateOmnibusInvestorBalance
2875
+ * nonpayable
2876
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2877
+ */
2878
+ async updateOmnibusInvestorBalance(_omnibusWallet: `0x${string}`, _wallet: `0x${string}`, _value: bigint, _increase: bigint, options?: {
2879
+ accessList?: import('viem').AccessList;
2880
+ authorizationList?: import('viem').AuthorizationList;
2881
+ chain?: import('viem').Chain | null;
2882
+ dataSuffix?: `0x${string}`;
2883
+ gas?: bigint;
2884
+ gasPrice?: bigint;
2885
+ maxFeePerGas?: bigint;
2886
+ maxPriorityFeePerGas?: bigint;
2887
+ nonce?: number;
2888
+ value?: bigint;
2889
+ }): Promise<`0x${string}`> {
2890
+ if (!this.contract.write) {
2891
+ throw new Error('Wallet client is required for write operations');
2892
+ }
2893
+ return this.contract.write.updateOmnibusInvestorBalance([_omnibusWallet, _wallet, _value, _increase] as const, options) as Promise<`0x${string}`>;
2894
+ }
2895
+
2896
+ /**
2897
+ * upgradeToAndCall
2898
+ * payable
2899
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2900
+ */
2901
+ async upgradeToAndCall(newImplementation: `0x${string}`, data: `0x${string}`, options?: {
2902
+ accessList?: import('viem').AccessList;
2903
+ authorizationList?: import('viem').AuthorizationList;
2904
+ chain?: import('viem').Chain | null;
2905
+ dataSuffix?: `0x${string}`;
2906
+ gas?: bigint;
2907
+ gasPrice?: bigint;
2908
+ maxFeePerGas?: bigint;
2909
+ maxPriorityFeePerGas?: bigint;
2910
+ nonce?: number;
2911
+ value?: bigint;
2912
+ }): Promise<`0x${string}`> {
2913
+ if (!this.contract.write) {
2914
+ throw new Error('Wallet client is required for write operations');
2915
+ }
2916
+ return this.contract.write.upgradeToAndCall([newImplementation, data] as const, options) as Promise<`0x${string}`>;
2917
+ }
2918
+
2919
+
2920
+
2921
+ /**
2922
+ * Simulate contract write operations (dry-run without sending transaction)
2923
+ *
2924
+ * @example
2925
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2926
+ * console.log('Gas estimate:', result.request.gas);
2927
+ * console.log('Would succeed:', result.result);
2928
+ */
2929
+ get simulate() {
2930
+ const contract = this.contract;
2931
+ if (!contract.simulate) {
2932
+ throw new Error('Public client is required for simulation');
2933
+ }
2934
+ return {
2935
+ /**
2936
+ * Simulate __BaseDSContract_init
2937
+ * Returns gas estimate and result without sending transaction
2938
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2939
+ */
2940
+ async __BaseDSContract_init(options?: {
2941
+ accessList?: import('viem').AccessList;
2942
+ authorizationList?: import('viem').AuthorizationList;
2943
+ chain?: import('viem').Chain | null;
2944
+ dataSuffix?: `0x${string}`;
2945
+ gas?: bigint;
2946
+ gasPrice?: bigint;
2947
+ maxFeePerGas?: bigint;
2948
+ maxPriorityFeePerGas?: bigint;
2949
+ nonce?: number;
2950
+ value?: bigint;
2951
+ }): Promise<void> {
2952
+ return contract.simulate.__BaseDSContract_init(options) as Promise<void>;
2953
+ },
2954
+ /**
2955
+ * Simulate __ServiceConsumer_init
2956
+ * Returns gas estimate and result without sending transaction
2957
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2958
+ */
2959
+ async __ServiceConsumer_init(options?: {
2960
+ accessList?: import('viem').AccessList;
2961
+ authorizationList?: import('viem').AuthorizationList;
2962
+ chain?: import('viem').Chain | null;
2963
+ dataSuffix?: `0x${string}`;
2964
+ gas?: bigint;
2965
+ gasPrice?: bigint;
2966
+ maxFeePerGas?: bigint;
2967
+ maxPriorityFeePerGas?: bigint;
2968
+ nonce?: number;
2969
+ value?: bigint;
2970
+ }): Promise<void> {
2971
+ return contract.simulate.__ServiceConsumer_init(options) as Promise<void>;
2972
+ },
2973
+ /**
2974
+ * Simulate __StandardToken_init
2975
+ * Returns gas estimate and result without sending transaction
2976
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2977
+ */
2978
+ async __StandardToken_init(options?: {
2979
+ accessList?: import('viem').AccessList;
2980
+ authorizationList?: import('viem').AuthorizationList;
2981
+ chain?: import('viem').Chain | null;
2982
+ dataSuffix?: `0x${string}`;
2983
+ gas?: bigint;
2984
+ gasPrice?: bigint;
2985
+ maxFeePerGas?: bigint;
2986
+ maxPriorityFeePerGas?: bigint;
2987
+ nonce?: number;
2988
+ value?: bigint;
2989
+ }): Promise<void> {
2990
+ return contract.simulate.__StandardToken_init(options) as Promise<void>;
2991
+ },
2992
+ /**
2993
+ * Simulate approve
2994
+ * Returns gas estimate and result without sending transaction
2995
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2996
+ */
2997
+ async approve(_spender: `0x${string}`, _value: bigint, options?: {
2998
+ accessList?: import('viem').AccessList;
2999
+ authorizationList?: import('viem').AuthorizationList;
3000
+ chain?: import('viem').Chain | null;
3001
+ dataSuffix?: `0x${string}`;
3002
+ gas?: bigint;
3003
+ gasPrice?: bigint;
3004
+ maxFeePerGas?: bigint;
3005
+ maxPriorityFeePerGas?: bigint;
3006
+ nonce?: number;
3007
+ value?: bigint;
3008
+ }): Promise<boolean> {
3009
+ return contract.simulate.approve([_spender, _value] as const, options) as Promise<boolean>;
3010
+ },
3011
+ /**
3012
+ * Simulate burn
3013
+ * Returns gas estimate and result without sending transaction
3014
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3015
+ */
3016
+ async burn(_who: `0x${string}`, _value: bigint, _reason: string, options?: {
3017
+ accessList?: import('viem').AccessList;
3018
+ authorizationList?: import('viem').AuthorizationList;
3019
+ chain?: import('viem').Chain | null;
3020
+ dataSuffix?: `0x${string}`;
3021
+ gas?: bigint;
3022
+ gasPrice?: bigint;
3023
+ maxFeePerGas?: bigint;
3024
+ maxPriorityFeePerGas?: bigint;
3025
+ nonce?: number;
3026
+ value?: bigint;
3027
+ }): Promise<void> {
3028
+ return contract.simulate.burn([_who, _value, _reason] as const, options) as Promise<void>;
3029
+ },
3030
+ /**
3031
+ * Simulate decreaseApproval
3032
+ * Returns gas estimate and result without sending transaction
3033
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3034
+ */
3035
+ async decreaseApproval(_spender: `0x${string}`, _subtractedValue: bigint, options?: {
3036
+ accessList?: import('viem').AccessList;
3037
+ authorizationList?: import('viem').AuthorizationList;
3038
+ chain?: import('viem').Chain | null;
3039
+ dataSuffix?: `0x${string}`;
3040
+ gas?: bigint;
3041
+ gasPrice?: bigint;
3042
+ maxFeePerGas?: bigint;
3043
+ maxPriorityFeePerGas?: bigint;
3044
+ nonce?: number;
3045
+ value?: bigint;
3046
+ }): Promise<boolean> {
3047
+ return contract.simulate.decreaseApproval([_spender, _subtractedValue] as const, options) as Promise<boolean>;
3048
+ },
3049
+ /**
3050
+ * Simulate emitOmnibusTBEEvent
3051
+ * Returns gas estimate and result without sending transaction
3052
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3053
+ */
3054
+ async emitOmnibusTBEEvent(omnibusWallet: `0x${string}`, totalDelta: bigint, accreditedDelta: bigint, usAccreditedDelta: bigint, usTotalDelta: bigint, jpTotalDelta: bigint, options?: {
3055
+ accessList?: import('viem').AccessList;
3056
+ authorizationList?: import('viem').AuthorizationList;
3057
+ chain?: import('viem').Chain | null;
3058
+ dataSuffix?: `0x${string}`;
3059
+ gas?: bigint;
3060
+ gasPrice?: bigint;
3061
+ maxFeePerGas?: bigint;
3062
+ maxPriorityFeePerGas?: bigint;
3063
+ nonce?: number;
3064
+ value?: bigint;
3065
+ }): Promise<void> {
3066
+ return contract.simulate.emitOmnibusTBEEvent([omnibusWallet, totalDelta, accreditedDelta, usAccreditedDelta, usTotalDelta, jpTotalDelta] as const, options) as Promise<void>;
3067
+ },
3068
+ /**
3069
+ * Simulate emitOmnibusTBETransferEvent
3070
+ * Returns gas estimate and result without sending transaction
3071
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3072
+ */
3073
+ async emitOmnibusTBETransferEvent(omnibusWallet: `0x${string}`, externalId: string, options?: {
3074
+ accessList?: import('viem').AccessList;
3075
+ authorizationList?: import('viem').AuthorizationList;
3076
+ chain?: import('viem').Chain | null;
3077
+ dataSuffix?: `0x${string}`;
3078
+ gas?: bigint;
3079
+ gasPrice?: bigint;
3080
+ maxFeePerGas?: bigint;
3081
+ maxPriorityFeePerGas?: bigint;
3082
+ nonce?: number;
3083
+ value?: bigint;
3084
+ }): Promise<void> {
3085
+ return contract.simulate.emitOmnibusTBETransferEvent([omnibusWallet, externalId] as const, options) as Promise<void>;
3086
+ },
3087
+ /**
3088
+ * Simulate emitOmnibusTransferEvent
3089
+ * Returns gas estimate and result without sending transaction
3090
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3091
+ */
3092
+ async emitOmnibusTransferEvent(_omnibusWallet: `0x${string}`, _from: `0x${string}`, _to: `0x${string}`, _value: bigint, options?: {
3093
+ accessList?: import('viem').AccessList;
3094
+ authorizationList?: import('viem').AuthorizationList;
3095
+ chain?: import('viem').Chain | null;
3096
+ dataSuffix?: `0x${string}`;
3097
+ gas?: bigint;
3098
+ gasPrice?: bigint;
3099
+ maxFeePerGas?: bigint;
3100
+ maxPriorityFeePerGas?: bigint;
3101
+ nonce?: number;
3102
+ value?: bigint;
3103
+ }): Promise<void> {
3104
+ return contract.simulate.emitOmnibusTransferEvent([_omnibusWallet, _from, _to, _value] as const, options) as Promise<void>;
3105
+ },
3106
+ /**
3107
+ * Simulate increaseApproval
3108
+ * Returns gas estimate and result without sending transaction
3109
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3110
+ */
3111
+ async increaseApproval(_spender: `0x${string}`, _addedValue: bigint, options?: {
3112
+ accessList?: import('viem').AccessList;
3113
+ authorizationList?: import('viem').AuthorizationList;
3114
+ chain?: import('viem').Chain | null;
3115
+ dataSuffix?: `0x${string}`;
3116
+ gas?: bigint;
3117
+ gasPrice?: bigint;
3118
+ maxFeePerGas?: bigint;
3119
+ maxPriorityFeePerGas?: bigint;
3120
+ nonce?: number;
3121
+ value?: bigint;
3122
+ }): Promise<boolean> {
3123
+ return contract.simulate.increaseApproval([_spender, _addedValue] as const, options) as Promise<boolean>;
3124
+ },
3125
+ /**
3126
+ * Simulate initialize
3127
+ * Returns gas estimate and result without sending transaction
3128
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3129
+ */
3130
+ async initialize(_name: string, _symbol: string, _decimals: bigint, options?: {
3131
+ accessList?: import('viem').AccessList;
3132
+ authorizationList?: import('viem').AuthorizationList;
3133
+ chain?: import('viem').Chain | null;
3134
+ dataSuffix?: `0x${string}`;
3135
+ gas?: bigint;
3136
+ gasPrice?: bigint;
3137
+ maxFeePerGas?: bigint;
3138
+ maxPriorityFeePerGas?: bigint;
3139
+ nonce?: number;
3140
+ value?: bigint;
3141
+ }): Promise<void> {
3142
+ return contract.simulate.initialize([_name, _symbol, _decimals] as const, options) as Promise<void>;
3143
+ },
3144
+ /**
3145
+ * Simulate issueTokens
3146
+ * Returns gas estimate and result without sending transaction
3147
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3148
+ */
3149
+ async issueTokens(_to: `0x${string}`, _value: bigint, options?: {
3150
+ accessList?: import('viem').AccessList;
3151
+ authorizationList?: import('viem').AuthorizationList;
3152
+ chain?: import('viem').Chain | null;
3153
+ dataSuffix?: `0x${string}`;
3154
+ gas?: bigint;
3155
+ gasPrice?: bigint;
3156
+ maxFeePerGas?: bigint;
3157
+ maxPriorityFeePerGas?: bigint;
3158
+ nonce?: number;
3159
+ value?: bigint;
3160
+ }): Promise<boolean> {
3161
+ return contract.simulate.issueTokens([_to, _value] as const, options) as Promise<boolean>;
3162
+ },
3163
+ /**
3164
+ * Simulate issueTokensCustom
3165
+ * Returns gas estimate and result without sending transaction
3166
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3167
+ */
3168
+ async issueTokensCustom(_to: `0x${string}`, _value: bigint, _issuanceTime: bigint, _valueLocked: bigint, _reason: string, _releaseTime: bigint, options?: {
3169
+ accessList?: import('viem').AccessList;
3170
+ authorizationList?: import('viem').AuthorizationList;
3171
+ chain?: import('viem').Chain | null;
3172
+ dataSuffix?: `0x${string}`;
3173
+ gas?: bigint;
3174
+ gasPrice?: bigint;
3175
+ maxFeePerGas?: bigint;
3176
+ maxPriorityFeePerGas?: bigint;
3177
+ nonce?: number;
3178
+ value?: bigint;
3179
+ }): Promise<boolean> {
3180
+ return contract.simulate.issueTokensCustom([_to, _value, _issuanceTime, _valueLocked, _reason, _releaseTime] as const, options) as Promise<boolean>;
3181
+ },
3182
+ /**
3183
+ * Simulate issueTokensWithMultipleLocks
3184
+ * Returns gas estimate and result without sending transaction
3185
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3186
+ */
3187
+ async issueTokensWithMultipleLocks(_to: `0x${string}`, _value: bigint, _issuanceTime: bigint, _valuesLocked: bigint[], _reason: string, _releaseTimes: bigint[], options?: {
3188
+ accessList?: import('viem').AccessList;
3189
+ authorizationList?: import('viem').AuthorizationList;
3190
+ chain?: import('viem').Chain | null;
3191
+ dataSuffix?: `0x${string}`;
3192
+ gas?: bigint;
3193
+ gasPrice?: bigint;
3194
+ maxFeePerGas?: bigint;
3195
+ maxPriorityFeePerGas?: bigint;
3196
+ nonce?: number;
3197
+ value?: bigint;
3198
+ }): Promise<boolean> {
3199
+ return contract.simulate.issueTokensWithMultipleLocks([_to, _value, _issuanceTime, _valuesLocked, _reason, _releaseTimes] as const, options) as Promise<boolean>;
3200
+ },
3201
+ /**
3202
+ * Simulate issueTokensWithNoCompliance
3203
+ * Returns gas estimate and result without sending transaction
3204
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3205
+ */
3206
+ async issueTokensWithNoCompliance(_to: `0x${string}`, _value: bigint, options?: {
3207
+ accessList?: import('viem').AccessList;
3208
+ authorizationList?: import('viem').AuthorizationList;
3209
+ chain?: import('viem').Chain | null;
3210
+ dataSuffix?: `0x${string}`;
3211
+ gas?: bigint;
3212
+ gasPrice?: bigint;
3213
+ maxFeePerGas?: bigint;
3214
+ maxPriorityFeePerGas?: bigint;
3215
+ nonce?: number;
3216
+ value?: bigint;
3217
+ }): Promise<void> {
3218
+ return contract.simulate.issueTokensWithNoCompliance([_to, _value] as const, options) as Promise<void>;
3219
+ },
3220
+ /**
3221
+ * Simulate omnibusBurn
3222
+ * Returns gas estimate and result without sending transaction
3223
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3224
+ */
3225
+ async omnibusBurn(_omnibusWallet: `0x${string}`, _who: `0x${string}`, _value: bigint, _reason: string, options?: {
3226
+ accessList?: import('viem').AccessList;
3227
+ authorizationList?: import('viem').AuthorizationList;
3228
+ chain?: import('viem').Chain | null;
3229
+ dataSuffix?: `0x${string}`;
3230
+ gas?: bigint;
3231
+ gasPrice?: bigint;
3232
+ maxFeePerGas?: bigint;
3233
+ maxPriorityFeePerGas?: bigint;
3234
+ nonce?: number;
3235
+ value?: bigint;
3236
+ }): Promise<void> {
3237
+ return contract.simulate.omnibusBurn([_omnibusWallet, _who, _value, _reason] as const, options) as Promise<void>;
3238
+ },
3239
+ /**
3240
+ * Simulate omnibusSeize
3241
+ * Returns gas estimate and result without sending transaction
3242
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3243
+ */
3244
+ async omnibusSeize(_omnibusWallet: `0x${string}`, _from: `0x${string}`, _to: `0x${string}`, _value: bigint, _reason: string, options?: {
3245
+ accessList?: import('viem').AccessList;
3246
+ authorizationList?: import('viem').AuthorizationList;
3247
+ chain?: import('viem').Chain | null;
3248
+ dataSuffix?: `0x${string}`;
3249
+ gas?: bigint;
3250
+ gasPrice?: bigint;
3251
+ maxFeePerGas?: bigint;
3252
+ maxPriorityFeePerGas?: bigint;
3253
+ nonce?: number;
3254
+ value?: bigint;
3255
+ }): Promise<void> {
3256
+ return contract.simulate.omnibusSeize([_omnibusWallet, _from, _to, _value, _reason] as const, options) as Promise<void>;
3257
+ },
3258
+ /**
3259
+ * Simulate pause
3260
+ * Returns gas estimate and result without sending transaction
3261
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3262
+ */
3263
+ async pause(options?: {
3264
+ accessList?: import('viem').AccessList;
3265
+ authorizationList?: import('viem').AuthorizationList;
3266
+ chain?: import('viem').Chain | null;
3267
+ dataSuffix?: `0x${string}`;
3268
+ gas?: bigint;
3269
+ gasPrice?: bigint;
3270
+ maxFeePerGas?: bigint;
3271
+ maxPriorityFeePerGas?: bigint;
3272
+ nonce?: number;
3273
+ value?: bigint;
3274
+ }): Promise<void> {
3275
+ return contract.simulate.pause(options) as Promise<void>;
3276
+ },
3277
+ /**
3278
+ * Simulate renounceOwnership
3279
+ * Returns gas estimate and result without sending transaction
3280
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3281
+ */
3282
+ async renounceOwnership(options?: {
3283
+ accessList?: import('viem').AccessList;
3284
+ authorizationList?: import('viem').AuthorizationList;
3285
+ chain?: import('viem').Chain | null;
3286
+ dataSuffix?: `0x${string}`;
3287
+ gas?: bigint;
3288
+ gasPrice?: bigint;
3289
+ maxFeePerGas?: bigint;
3290
+ maxPriorityFeePerGas?: bigint;
3291
+ nonce?: number;
3292
+ value?: bigint;
3293
+ }): Promise<void> {
3294
+ return contract.simulate.renounceOwnership(options) as Promise<void>;
3295
+ },
3296
+ /**
3297
+ * Simulate seize
3298
+ * Returns gas estimate and result without sending transaction
3299
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3300
+ */
3301
+ async seize(_from: `0x${string}`, _to: `0x${string}`, _value: bigint, _reason: string, options?: {
3302
+ accessList?: import('viem').AccessList;
3303
+ authorizationList?: import('viem').AuthorizationList;
3304
+ chain?: import('viem').Chain | null;
3305
+ dataSuffix?: `0x${string}`;
3306
+ gas?: bigint;
3307
+ gasPrice?: bigint;
3308
+ maxFeePerGas?: bigint;
3309
+ maxPriorityFeePerGas?: bigint;
3310
+ nonce?: number;
3311
+ value?: bigint;
3312
+ }): Promise<void> {
3313
+ return contract.simulate.seize([_from, _to, _value, _reason] as const, options) as Promise<void>;
3314
+ },
3315
+ /**
3316
+ * Simulate setCap
3317
+ * Returns gas estimate and result without sending transaction
3318
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3319
+ */
3320
+ async setCap(_cap: bigint, options?: {
3321
+ accessList?: import('viem').AccessList;
3322
+ authorizationList?: import('viem').AuthorizationList;
3323
+ chain?: import('viem').Chain | null;
3324
+ dataSuffix?: `0x${string}`;
3325
+ gas?: bigint;
3326
+ gasPrice?: bigint;
3327
+ maxFeePerGas?: bigint;
3328
+ maxPriorityFeePerGas?: bigint;
3329
+ nonce?: number;
3330
+ value?: bigint;
3331
+ }): Promise<void> {
3332
+ return contract.simulate.setCap([_cap] as const, options) as Promise<void>;
3333
+ },
3334
+ /**
3335
+ * Simulate setDSService
3336
+ * Returns gas estimate and result without sending transaction
3337
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3338
+ */
3339
+ async setDSService(_serviceId: bigint, _address: `0x${string}`, options?: {
3340
+ accessList?: import('viem').AccessList;
3341
+ authorizationList?: import('viem').AuthorizationList;
3342
+ chain?: import('viem').Chain | null;
3343
+ dataSuffix?: `0x${string}`;
3344
+ gas?: bigint;
3345
+ gasPrice?: bigint;
3346
+ maxFeePerGas?: bigint;
3347
+ maxPriorityFeePerGas?: bigint;
3348
+ nonce?: number;
3349
+ value?: bigint;
3350
+ }): Promise<boolean> {
3351
+ return contract.simulate.setDSService([_serviceId, _address] as const, options) as Promise<boolean>;
3352
+ },
3353
+ /**
3354
+ * Simulate setFeature
3355
+ * Returns gas estimate and result without sending transaction
3356
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3357
+ */
3358
+ async setFeature(featureIndex: bigint, enable: boolean, options?: {
3359
+ accessList?: import('viem').AccessList;
3360
+ authorizationList?: import('viem').AuthorizationList;
3361
+ chain?: import('viem').Chain | null;
3362
+ dataSuffix?: `0x${string}`;
3363
+ gas?: bigint;
3364
+ gasPrice?: bigint;
3365
+ maxFeePerGas?: bigint;
3366
+ maxPriorityFeePerGas?: bigint;
3367
+ nonce?: number;
3368
+ value?: bigint;
3369
+ }): Promise<void> {
3370
+ return contract.simulate.setFeature([featureIndex, enable] as const, options) as Promise<void>;
3371
+ },
3372
+ /**
3373
+ * Simulate setFeatures
3374
+ * Returns gas estimate and result without sending transaction
3375
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3376
+ */
3377
+ async setFeatures(features: bigint, options?: {
3378
+ accessList?: import('viem').AccessList;
3379
+ authorizationList?: import('viem').AuthorizationList;
3380
+ chain?: import('viem').Chain | null;
3381
+ dataSuffix?: `0x${string}`;
3382
+ gas?: bigint;
3383
+ gasPrice?: bigint;
3384
+ maxFeePerGas?: bigint;
3385
+ maxPriorityFeePerGas?: bigint;
3386
+ nonce?: number;
3387
+ value?: bigint;
3388
+ }): Promise<void> {
3389
+ return contract.simulate.setFeatures([features] as const, options) as Promise<void>;
3390
+ },
3391
+ /**
3392
+ * Simulate transfer
3393
+ * Returns gas estimate and result without sending transaction
3394
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3395
+ */
3396
+ async transfer(_to: `0x${string}`, _value: bigint, options?: {
3397
+ accessList?: import('viem').AccessList;
3398
+ authorizationList?: import('viem').AuthorizationList;
3399
+ chain?: import('viem').Chain | null;
3400
+ dataSuffix?: `0x${string}`;
3401
+ gas?: bigint;
3402
+ gasPrice?: bigint;
3403
+ maxFeePerGas?: bigint;
3404
+ maxPriorityFeePerGas?: bigint;
3405
+ nonce?: number;
3406
+ value?: bigint;
3407
+ }): Promise<boolean> {
3408
+ return contract.simulate.transfer([_to, _value] as const, options) as Promise<boolean>;
3409
+ },
3410
+ /**
3411
+ * Simulate transferFrom
3412
+ * Returns gas estimate and result without sending transaction
3413
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3414
+ */
3415
+ async transferFrom(_from: `0x${string}`, _to: `0x${string}`, _value: bigint, options?: {
3416
+ accessList?: import('viem').AccessList;
3417
+ authorizationList?: import('viem').AuthorizationList;
3418
+ chain?: import('viem').Chain | null;
3419
+ dataSuffix?: `0x${string}`;
3420
+ gas?: bigint;
3421
+ gasPrice?: bigint;
3422
+ maxFeePerGas?: bigint;
3423
+ maxPriorityFeePerGas?: bigint;
3424
+ nonce?: number;
3425
+ value?: bigint;
3426
+ }): Promise<boolean> {
3427
+ return contract.simulate.transferFrom([_from, _to, _value] as const, options) as Promise<boolean>;
3428
+ },
3429
+ /**
3430
+ * Simulate transferOwnership
3431
+ * Returns gas estimate and result without sending transaction
3432
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3433
+ */
3434
+ async transferOwnership(newOwner: `0x${string}`, options?: {
3435
+ accessList?: import('viem').AccessList;
3436
+ authorizationList?: import('viem').AuthorizationList;
3437
+ chain?: import('viem').Chain | null;
3438
+ dataSuffix?: `0x${string}`;
3439
+ gas?: bigint;
3440
+ gasPrice?: bigint;
3441
+ maxFeePerGas?: bigint;
3442
+ maxPriorityFeePerGas?: bigint;
3443
+ nonce?: number;
3444
+ value?: bigint;
3445
+ }): Promise<void> {
3446
+ return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
3447
+ },
3448
+ /**
3449
+ * Simulate unpause
3450
+ * Returns gas estimate and result without sending transaction
3451
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3452
+ */
3453
+ async unpause(options?: {
3454
+ accessList?: import('viem').AccessList;
3455
+ authorizationList?: import('viem').AuthorizationList;
3456
+ chain?: import('viem').Chain | null;
3457
+ dataSuffix?: `0x${string}`;
3458
+ gas?: bigint;
3459
+ gasPrice?: bigint;
3460
+ maxFeePerGas?: bigint;
3461
+ maxPriorityFeePerGas?: bigint;
3462
+ nonce?: number;
3463
+ value?: bigint;
3464
+ }): Promise<void> {
3465
+ return contract.simulate.unpause(options) as Promise<void>;
3466
+ },
3467
+ /**
3468
+ * Simulate updateOmnibusInvestorBalance
3469
+ * Returns gas estimate and result without sending transaction
3470
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3471
+ */
3472
+ async updateOmnibusInvestorBalance(_omnibusWallet: `0x${string}`, _wallet: `0x${string}`, _value: bigint, _increase: bigint, options?: {
3473
+ accessList?: import('viem').AccessList;
3474
+ authorizationList?: import('viem').AuthorizationList;
3475
+ chain?: import('viem').Chain | null;
3476
+ dataSuffix?: `0x${string}`;
3477
+ gas?: bigint;
3478
+ gasPrice?: bigint;
3479
+ maxFeePerGas?: bigint;
3480
+ maxPriorityFeePerGas?: bigint;
3481
+ nonce?: number;
3482
+ value?: bigint;
3483
+ }): Promise<boolean> {
3484
+ return contract.simulate.updateOmnibusInvestorBalance([_omnibusWallet, _wallet, _value, _increase] as const, options) as Promise<boolean>;
3485
+ },
3486
+ /**
3487
+ * Simulate upgradeToAndCall
3488
+ * Returns gas estimate and result without sending transaction
3489
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3490
+ */
3491
+ async upgradeToAndCall(newImplementation: `0x${string}`, data: `0x${string}`, options?: {
3492
+ accessList?: import('viem').AccessList;
3493
+ authorizationList?: import('viem').AuthorizationList;
3494
+ chain?: import('viem').Chain | null;
3495
+ dataSuffix?: `0x${string}`;
3496
+ gas?: bigint;
3497
+ gasPrice?: bigint;
3498
+ maxFeePerGas?: bigint;
3499
+ maxPriorityFeePerGas?: bigint;
3500
+ nonce?: number;
3501
+ value?: bigint;
3502
+ }): Promise<void> {
3503
+ return contract.simulate.upgradeToAndCall([newImplementation, data] as const, options) as Promise<void>;
3504
+ }
3505
+ };
3506
+ }
3507
+
3508
+ /**
3509
+ * Watch contract events
3510
+ *
3511
+ * @example
3512
+ * // Watch all Transfer events
3513
+ * const unwatch = contract.watch.Transfer((event) => {
3514
+ * console.log('Transfer:', event);
3515
+ * });
3516
+ *
3517
+ * // Stop watching
3518
+ * unwatch();
3519
+ */
3520
+ get watch() {
3521
+ return {
3522
+ /**
3523
+ * Watch Approval events
3524
+ * @param callback Function to call when event is emitted
3525
+ * @param filter Optional filter for indexed parameters
3526
+ * @returns Unwatch function to stop listening
3527
+ */
3528
+ Approval: (callback: (event: { owner: `0x${string}`; spender: `0x${string}`; value: bigint }) => void, filter?: { owner?: `0x${string}` | `0x${string}`[] | null; spender?: `0x${string}` | `0x${string}`[] | null }) => {
3529
+ return this.publicClient.watchContractEvent({
3530
+ address: this.contractAddress,
3531
+ abi: DSTokenAbi,
3532
+ eventName: 'Approval',
3533
+ args: filter as any,
3534
+ onLogs: (logs: any[]) => {
3535
+ logs.forEach((log: any) => {
3536
+ callback(log.args as any);
3537
+ });
3538
+ },
3539
+ }) as () => void;
3540
+ },
3541
+ /**
3542
+ * Watch Burn events
3543
+ * @param callback Function to call when event is emitted
3544
+ * @param filter Optional filter for indexed parameters
3545
+ * @returns Unwatch function to stop listening
3546
+ */
3547
+ Burn: (callback: (event: { burner: `0x${string}`; value: bigint; reason: string }) => void, filter?: { burner?: `0x${string}` | `0x${string}`[] | null }) => {
3548
+ return this.publicClient.watchContractEvent({
3549
+ address: this.contractAddress,
3550
+ abi: DSTokenAbi,
3551
+ eventName: 'Burn',
3552
+ args: filter as any,
3553
+ onLogs: (logs: any[]) => {
3554
+ logs.forEach((log: any) => {
3555
+ callback(log.args as any);
3556
+ });
3557
+ },
3558
+ }) as () => void;
3559
+ },
3560
+ /**
3561
+ * Watch DSServiceSet events
3562
+ * @param callback Function to call when event is emitted
3563
+ * @param filter Optional filter for indexed parameters
3564
+ * @returns Unwatch function to stop listening
3565
+ */
3566
+ DSServiceSet: (callback: (event: { serviceId: bigint; serviceAddress: `0x${string}` }) => void) => {
3567
+ return this.publicClient.watchContractEvent({
3568
+ address: this.contractAddress,
3569
+ abi: DSTokenAbi,
3570
+ eventName: 'DSServiceSet',
3571
+
3572
+ onLogs: (logs: any[]) => {
3573
+ logs.forEach((log: any) => {
3574
+ callback(log.args as any);
3575
+ });
3576
+ },
3577
+ }) as () => void;
3578
+ },
3579
+ /**
3580
+ * Watch Initialized events
3581
+ * @param callback Function to call when event is emitted
3582
+ * @param filter Optional filter for indexed parameters
3583
+ * @returns Unwatch function to stop listening
3584
+ */
3585
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3586
+ return this.publicClient.watchContractEvent({
3587
+ address: this.contractAddress,
3588
+ abi: DSTokenAbi,
3589
+ eventName: 'Initialized',
3590
+
3591
+ onLogs: (logs: any[]) => {
3592
+ logs.forEach((log: any) => {
3593
+ callback(log.args as any);
3594
+ });
3595
+ },
3596
+ }) as () => void;
3597
+ },
3598
+ /**
3599
+ * Watch Issue events
3600
+ * @param callback Function to call when event is emitted
3601
+ * @param filter Optional filter for indexed parameters
3602
+ * @returns Unwatch function to stop listening
3603
+ */
3604
+ Issue: (callback: (event: { to: `0x${string}`; value: bigint; valueLocked: bigint }) => void, filter?: { to?: `0x${string}` | `0x${string}`[] | null }) => {
3605
+ return this.publicClient.watchContractEvent({
3606
+ address: this.contractAddress,
3607
+ abi: DSTokenAbi,
3608
+ eventName: 'Issue',
3609
+ args: filter as any,
3610
+ onLogs: (logs: any[]) => {
3611
+ logs.forEach((log: any) => {
3612
+ callback(log.args as any);
3613
+ });
3614
+ },
3615
+ }) as () => void;
3616
+ },
3617
+ /**
3618
+ * Watch OmnibusBurn events
3619
+ * @param callback Function to call when event is emitted
3620
+ * @param filter Optional filter for indexed parameters
3621
+ * @returns Unwatch function to stop listening
3622
+ */
3623
+ OmnibusBurn: (callback: (event: { omnibusWallet: `0x${string}`; who: `0x${string}`; value: bigint; reason: string; assetTrackingMode: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3624
+ return this.publicClient.watchContractEvent({
3625
+ address: this.contractAddress,
3626
+ abi: DSTokenAbi,
3627
+ eventName: 'OmnibusBurn',
3628
+ args: filter as any,
3629
+ onLogs: (logs: any[]) => {
3630
+ logs.forEach((log: any) => {
3631
+ callback(log.args as any);
3632
+ });
3633
+ },
3634
+ }) as () => void;
3635
+ },
3636
+ /**
3637
+ * Watch OmnibusDeposit events
3638
+ * @param callback Function to call when event is emitted
3639
+ * @param filter Optional filter for indexed parameters
3640
+ * @returns Unwatch function to stop listening
3641
+ */
3642
+ OmnibusDeposit: (callback: (event: { omnibusWallet: `0x${string}`; to: `0x${string}`; value: bigint; assetTrackingMode: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3643
+ return this.publicClient.watchContractEvent({
3644
+ address: this.contractAddress,
3645
+ abi: DSTokenAbi,
3646
+ eventName: 'OmnibusDeposit',
3647
+ args: filter as any,
3648
+ onLogs: (logs: any[]) => {
3649
+ logs.forEach((log: any) => {
3650
+ callback(log.args as any);
3651
+ });
3652
+ },
3653
+ }) as () => void;
3654
+ },
3655
+ /**
3656
+ * Watch OmnibusSeize events
3657
+ * @param callback Function to call when event is emitted
3658
+ * @param filter Optional filter for indexed parameters
3659
+ * @returns Unwatch function to stop listening
3660
+ */
3661
+ OmnibusSeize: (callback: (event: { omnibusWallet: `0x${string}`; from: `0x${string}`; value: bigint; reason: string; assetTrackingMode: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3662
+ return this.publicClient.watchContractEvent({
3663
+ address: this.contractAddress,
3664
+ abi: DSTokenAbi,
3665
+ eventName: 'OmnibusSeize',
3666
+ args: filter as any,
3667
+ onLogs: (logs: any[]) => {
3668
+ logs.forEach((log: any) => {
3669
+ callback(log.args as any);
3670
+ });
3671
+ },
3672
+ }) as () => void;
3673
+ },
3674
+ /**
3675
+ * Watch OmnibusTBEOperation events
3676
+ * @param callback Function to call when event is emitted
3677
+ * @param filter Optional filter for indexed parameters
3678
+ * @returns Unwatch function to stop listening
3679
+ */
3680
+ OmnibusTBEOperation: (callback: (event: { omnibusWallet: `0x${string}`; totalDelta: bigint; accreditedDelta: bigint; usAccreditedDelta: bigint; usTotalDelta: bigint; jpTotalDelta: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3681
+ return this.publicClient.watchContractEvent({
3682
+ address: this.contractAddress,
3683
+ abi: DSTokenAbi,
3684
+ eventName: 'OmnibusTBEOperation',
3685
+ args: filter as any,
3686
+ onLogs: (logs: any[]) => {
3687
+ logs.forEach((log: any) => {
3688
+ callback(log.args as any);
3689
+ });
3690
+ },
3691
+ }) as () => void;
3692
+ },
3693
+ /**
3694
+ * Watch OmnibusTBETransfer events
3695
+ * @param callback Function to call when event is emitted
3696
+ * @param filter Optional filter for indexed parameters
3697
+ * @returns Unwatch function to stop listening
3698
+ */
3699
+ OmnibusTBETransfer: (callback: (event: { omnibusWallet: `0x${string}`; externalId: string }) => void) => {
3700
+ return this.publicClient.watchContractEvent({
3701
+ address: this.contractAddress,
3702
+ abi: DSTokenAbi,
3703
+ eventName: 'OmnibusTBETransfer',
3704
+
3705
+ onLogs: (logs: any[]) => {
3706
+ logs.forEach((log: any) => {
3707
+ callback(log.args as any);
3708
+ });
3709
+ },
3710
+ }) as () => void;
3711
+ },
3712
+ /**
3713
+ * Watch OmnibusTransfer events
3714
+ * @param callback Function to call when event is emitted
3715
+ * @param filter Optional filter for indexed parameters
3716
+ * @returns Unwatch function to stop listening
3717
+ */
3718
+ OmnibusTransfer: (callback: (event: { omnibusWallet: `0x${string}`; from: `0x${string}`; to: `0x${string}`; value: bigint; assetTrackingMode: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3719
+ return this.publicClient.watchContractEvent({
3720
+ address: this.contractAddress,
3721
+ abi: DSTokenAbi,
3722
+ eventName: 'OmnibusTransfer',
3723
+ args: filter as any,
3724
+ onLogs: (logs: any[]) => {
3725
+ logs.forEach((log: any) => {
3726
+ callback(log.args as any);
3727
+ });
3728
+ },
3729
+ }) as () => void;
3730
+ },
3731
+ /**
3732
+ * Watch OmnibusWithdraw events
3733
+ * @param callback Function to call when event is emitted
3734
+ * @param filter Optional filter for indexed parameters
3735
+ * @returns Unwatch function to stop listening
3736
+ */
3737
+ OmnibusWithdraw: (callback: (event: { omnibusWallet: `0x${string}`; from: `0x${string}`; value: bigint; assetTrackingMode: bigint }) => void, filter?: { omnibusWallet?: `0x${string}` | `0x${string}`[] | null }) => {
3738
+ return this.publicClient.watchContractEvent({
3739
+ address: this.contractAddress,
3740
+ abi: DSTokenAbi,
3741
+ eventName: 'OmnibusWithdraw',
3742
+ args: filter as any,
3743
+ onLogs: (logs: any[]) => {
3744
+ logs.forEach((log: any) => {
3745
+ callback(log.args as any);
3746
+ });
3747
+ },
3748
+ }) as () => void;
3749
+ },
3750
+ /**
3751
+ * Watch OwnershipTransferred events
3752
+ * @param callback Function to call when event is emitted
3753
+ * @param filter Optional filter for indexed parameters
3754
+ * @returns Unwatch function to stop listening
3755
+ */
3756
+ OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner?: `0x${string}` | `0x${string}`[] | null; newOwner?: `0x${string}` | `0x${string}`[] | null }) => {
3757
+ return this.publicClient.watchContractEvent({
3758
+ address: this.contractAddress,
3759
+ abi: DSTokenAbi,
3760
+ eventName: 'OwnershipTransferred',
3761
+ args: filter as any,
3762
+ onLogs: (logs: any[]) => {
3763
+ logs.forEach((log: any) => {
3764
+ callback(log.args as any);
3765
+ });
3766
+ },
3767
+ }) as () => void;
3768
+ },
3769
+ /**
3770
+ * Watch Pause events
3771
+ * @param callback Function to call when event is emitted
3772
+ * @param filter Optional filter for indexed parameters
3773
+ * @returns Unwatch function to stop listening
3774
+ */
3775
+ Pause: (callback: (event: { }) => void) => {
3776
+ return this.publicClient.watchContractEvent({
3777
+ address: this.contractAddress,
3778
+ abi: DSTokenAbi,
3779
+ eventName: 'Pause',
3780
+
3781
+ onLogs: (logs: any[]) => {
3782
+ logs.forEach((log: any) => {
3783
+ callback(log.args as any);
3784
+ });
3785
+ },
3786
+ }) as () => void;
3787
+ },
3788
+ /**
3789
+ * Watch Seize events
3790
+ * @param callback Function to call when event is emitted
3791
+ * @param filter Optional filter for indexed parameters
3792
+ * @returns Unwatch function to stop listening
3793
+ */
3794
+ Seize: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint; reason: string }) => void, filter?: { from?: `0x${string}` | `0x${string}`[] | null; to?: `0x${string}` | `0x${string}`[] | null }) => {
3795
+ return this.publicClient.watchContractEvent({
3796
+ address: this.contractAddress,
3797
+ abi: DSTokenAbi,
3798
+ eventName: 'Seize',
3799
+ args: filter as any,
3800
+ onLogs: (logs: any[]) => {
3801
+ logs.forEach((log: any) => {
3802
+ callback(log.args as any);
3803
+ });
3804
+ },
3805
+ }) as () => void;
3806
+ },
3807
+ /**
3808
+ * Watch Transfer events
3809
+ * @param callback Function to call when event is emitted
3810
+ * @param filter Optional filter for indexed parameters
3811
+ * @returns Unwatch function to stop listening
3812
+ */
3813
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint }) => void, filter?: { from?: `0x${string}` | `0x${string}`[] | null; to?: `0x${string}` | `0x${string}`[] | null }) => {
3814
+ return this.publicClient.watchContractEvent({
3815
+ address: this.contractAddress,
3816
+ abi: DSTokenAbi,
3817
+ eventName: 'Transfer',
3818
+ args: filter as any,
3819
+ onLogs: (logs: any[]) => {
3820
+ logs.forEach((log: any) => {
3821
+ callback(log.args as any);
3822
+ });
3823
+ },
3824
+ }) as () => void;
3825
+ },
3826
+ /**
3827
+ * Watch Unpause events
3828
+ * @param callback Function to call when event is emitted
3829
+ * @param filter Optional filter for indexed parameters
3830
+ * @returns Unwatch function to stop listening
3831
+ */
3832
+ Unpause: (callback: (event: { }) => void) => {
3833
+ return this.publicClient.watchContractEvent({
3834
+ address: this.contractAddress,
3835
+ abi: DSTokenAbi,
3836
+ eventName: 'Unpause',
3837
+
3838
+ onLogs: (logs: any[]) => {
3839
+ logs.forEach((log: any) => {
3840
+ callback(log.args as any);
3841
+ });
3842
+ },
3843
+ }) as () => void;
3844
+ },
3845
+ /**
3846
+ * Watch Upgraded events
3847
+ * @param callback Function to call when event is emitted
3848
+ * @param filter Optional filter for indexed parameters
3849
+ * @returns Unwatch function to stop listening
3850
+ */
3851
+ Upgraded: (callback: (event: { implementation: `0x${string}` }) => void, filter?: { implementation?: `0x${string}` | `0x${string}`[] | null }) => {
3852
+ return this.publicClient.watchContractEvent({
3853
+ address: this.contractAddress,
3854
+ abi: DSTokenAbi,
3855
+ eventName: 'Upgraded',
3856
+ args: filter as any,
3857
+ onLogs: (logs: any[]) => {
3858
+ logs.forEach((log: any) => {
3859
+ callback(log.args as any);
3860
+ });
3861
+ },
3862
+ }) as () => void;
3863
+ },
3864
+ /**
3865
+ * Watch WalletAdded events
3866
+ * @param callback Function to call when event is emitted
3867
+ * @param filter Optional filter for indexed parameters
3868
+ * @returns Unwatch function to stop listening
3869
+ */
3870
+ WalletAdded: (callback: (event: { wallet: `0x${string}` }) => void) => {
3871
+ return this.publicClient.watchContractEvent({
3872
+ address: this.contractAddress,
3873
+ abi: DSTokenAbi,
3874
+ eventName: 'WalletAdded',
3875
+
3876
+ onLogs: (logs: any[]) => {
3877
+ logs.forEach((log: any) => {
3878
+ callback(log.args as any);
3879
+ });
3880
+ },
3881
+ }) as () => void;
3882
+ },
3883
+ /**
3884
+ * Watch WalletRemoved events
3885
+ * @param callback Function to call when event is emitted
3886
+ * @param filter Optional filter for indexed parameters
3887
+ * @returns Unwatch function to stop listening
3888
+ */
3889
+ WalletRemoved: (callback: (event: { wallet: `0x${string}` }) => void) => {
3890
+ return this.publicClient.watchContractEvent({
3891
+ address: this.contractAddress,
3892
+ abi: DSTokenAbi,
3893
+ eventName: 'WalletRemoved',
3894
+
3895
+ onLogs: (logs: any[]) => {
3896
+ logs.forEach((log: any) => {
3897
+ callback(log.args as any);
3898
+ });
3899
+ },
3900
+ }) as () => void;
3901
+ }
3902
+ };
3903
+ }
3904
+ }