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