@gitmyabi/usad 0.0.0-stage → 1.0.0

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