@sentrix-labs/canonical-contracts 1.1.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,1441 @@
1
+ // AUTO-GENERATED by scripts/gen-types.mjs from deployments/abi/*.json +
2
+ // deployments/<chainId>.json. Do not edit by hand — regenerate with
3
+ // `pnpm gen` after a fresh `forge build && pnpm abi`.
4
+
5
+ /* eslint-disable */
6
+
7
+ export const WSRX = {
8
+ abi: [
9
+ {
10
+ "type": "receive",
11
+ "stateMutability": "payable"
12
+ },
13
+ {
14
+ "type": "function",
15
+ "name": "allowance",
16
+ "inputs": [
17
+ {
18
+ "name": "",
19
+ "type": "address",
20
+ "internalType": "address"
21
+ },
22
+ {
23
+ "name": "",
24
+ "type": "address",
25
+ "internalType": "address"
26
+ }
27
+ ],
28
+ "outputs": [
29
+ {
30
+ "name": "",
31
+ "type": "uint256",
32
+ "internalType": "uint256"
33
+ }
34
+ ],
35
+ "stateMutability": "view"
36
+ },
37
+ {
38
+ "type": "function",
39
+ "name": "approve",
40
+ "inputs": [
41
+ {
42
+ "name": "guy",
43
+ "type": "address",
44
+ "internalType": "address"
45
+ },
46
+ {
47
+ "name": "wad",
48
+ "type": "uint256",
49
+ "internalType": "uint256"
50
+ }
51
+ ],
52
+ "outputs": [
53
+ {
54
+ "name": "",
55
+ "type": "bool",
56
+ "internalType": "bool"
57
+ }
58
+ ],
59
+ "stateMutability": "nonpayable"
60
+ },
61
+ {
62
+ "type": "function",
63
+ "name": "balanceOf",
64
+ "inputs": [
65
+ {
66
+ "name": "",
67
+ "type": "address",
68
+ "internalType": "address"
69
+ }
70
+ ],
71
+ "outputs": [
72
+ {
73
+ "name": "",
74
+ "type": "uint256",
75
+ "internalType": "uint256"
76
+ }
77
+ ],
78
+ "stateMutability": "view"
79
+ },
80
+ {
81
+ "type": "function",
82
+ "name": "decimals",
83
+ "inputs": [],
84
+ "outputs": [
85
+ {
86
+ "name": "",
87
+ "type": "uint8",
88
+ "internalType": "uint8"
89
+ }
90
+ ],
91
+ "stateMutability": "view"
92
+ },
93
+ {
94
+ "type": "function",
95
+ "name": "deposit",
96
+ "inputs": [],
97
+ "outputs": [],
98
+ "stateMutability": "payable"
99
+ },
100
+ {
101
+ "type": "function",
102
+ "name": "name",
103
+ "inputs": [],
104
+ "outputs": [
105
+ {
106
+ "name": "",
107
+ "type": "string",
108
+ "internalType": "string"
109
+ }
110
+ ],
111
+ "stateMutability": "view"
112
+ },
113
+ {
114
+ "type": "function",
115
+ "name": "symbol",
116
+ "inputs": [],
117
+ "outputs": [
118
+ {
119
+ "name": "",
120
+ "type": "string",
121
+ "internalType": "string"
122
+ }
123
+ ],
124
+ "stateMutability": "view"
125
+ },
126
+ {
127
+ "type": "function",
128
+ "name": "totalSupply",
129
+ "inputs": [],
130
+ "outputs": [
131
+ {
132
+ "name": "",
133
+ "type": "uint256",
134
+ "internalType": "uint256"
135
+ }
136
+ ],
137
+ "stateMutability": "view"
138
+ },
139
+ {
140
+ "type": "function",
141
+ "name": "transfer",
142
+ "inputs": [
143
+ {
144
+ "name": "dst",
145
+ "type": "address",
146
+ "internalType": "address"
147
+ },
148
+ {
149
+ "name": "wad",
150
+ "type": "uint256",
151
+ "internalType": "uint256"
152
+ }
153
+ ],
154
+ "outputs": [
155
+ {
156
+ "name": "",
157
+ "type": "bool",
158
+ "internalType": "bool"
159
+ }
160
+ ],
161
+ "stateMutability": "nonpayable"
162
+ },
163
+ {
164
+ "type": "function",
165
+ "name": "transferFrom",
166
+ "inputs": [
167
+ {
168
+ "name": "src",
169
+ "type": "address",
170
+ "internalType": "address"
171
+ },
172
+ {
173
+ "name": "dst",
174
+ "type": "address",
175
+ "internalType": "address"
176
+ },
177
+ {
178
+ "name": "wad",
179
+ "type": "uint256",
180
+ "internalType": "uint256"
181
+ }
182
+ ],
183
+ "outputs": [
184
+ {
185
+ "name": "",
186
+ "type": "bool",
187
+ "internalType": "bool"
188
+ }
189
+ ],
190
+ "stateMutability": "nonpayable"
191
+ },
192
+ {
193
+ "type": "function",
194
+ "name": "withdraw",
195
+ "inputs": [
196
+ {
197
+ "name": "wad",
198
+ "type": "uint256",
199
+ "internalType": "uint256"
200
+ }
201
+ ],
202
+ "outputs": [],
203
+ "stateMutability": "nonpayable"
204
+ },
205
+ {
206
+ "type": "event",
207
+ "name": "Approval",
208
+ "inputs": [
209
+ {
210
+ "name": "src",
211
+ "type": "address",
212
+ "indexed": true,
213
+ "internalType": "address"
214
+ },
215
+ {
216
+ "name": "guy",
217
+ "type": "address",
218
+ "indexed": true,
219
+ "internalType": "address"
220
+ },
221
+ {
222
+ "name": "wad",
223
+ "type": "uint256",
224
+ "indexed": false,
225
+ "internalType": "uint256"
226
+ }
227
+ ],
228
+ "anonymous": false
229
+ },
230
+ {
231
+ "type": "event",
232
+ "name": "Deposit",
233
+ "inputs": [
234
+ {
235
+ "name": "dst",
236
+ "type": "address",
237
+ "indexed": true,
238
+ "internalType": "address"
239
+ },
240
+ {
241
+ "name": "wad",
242
+ "type": "uint256",
243
+ "indexed": false,
244
+ "internalType": "uint256"
245
+ }
246
+ ],
247
+ "anonymous": false
248
+ },
249
+ {
250
+ "type": "event",
251
+ "name": "Transfer",
252
+ "inputs": [
253
+ {
254
+ "name": "src",
255
+ "type": "address",
256
+ "indexed": true,
257
+ "internalType": "address"
258
+ },
259
+ {
260
+ "name": "dst",
261
+ "type": "address",
262
+ "indexed": true,
263
+ "internalType": "address"
264
+ },
265
+ {
266
+ "name": "wad",
267
+ "type": "uint256",
268
+ "indexed": false,
269
+ "internalType": "uint256"
270
+ }
271
+ ],
272
+ "anonymous": false
273
+ },
274
+ {
275
+ "type": "event",
276
+ "name": "Withdrawal",
277
+ "inputs": [
278
+ {
279
+ "name": "src",
280
+ "type": "address",
281
+ "indexed": true,
282
+ "internalType": "address"
283
+ },
284
+ {
285
+ "name": "wad",
286
+ "type": "uint256",
287
+ "indexed": false,
288
+ "internalType": "uint256"
289
+ }
290
+ ],
291
+ "anonymous": false
292
+ }
293
+ ] as const,
294
+ address: {
295
+ 7119: "0x4693b113e523A196d9579333c4ab8358e2656553" as `0x${string}`,
296
+ 7120: "0x85d5E7694AF31C2Edd0a7e66b7c6c92C59fF949A" as `0x${string}`,
297
+ },
298
+ } as const;
299
+
300
+ export const WSRX_ABI = WSRX.abi;
301
+ export type WSRXAddress = (typeof WSRX.address)[keyof typeof WSRX.address];
302
+
303
+ export const Multicall3 = {
304
+ abi: [
305
+ {
306
+ "type": "function",
307
+ "name": "aggregate",
308
+ "inputs": [
309
+ {
310
+ "name": "calls",
311
+ "type": "tuple[]",
312
+ "internalType": "struct Multicall3.Call[]",
313
+ "components": [
314
+ {
315
+ "name": "target",
316
+ "type": "address",
317
+ "internalType": "address"
318
+ },
319
+ {
320
+ "name": "callData",
321
+ "type": "bytes",
322
+ "internalType": "bytes"
323
+ }
324
+ ]
325
+ }
326
+ ],
327
+ "outputs": [
328
+ {
329
+ "name": "blockNumber",
330
+ "type": "uint256",
331
+ "internalType": "uint256"
332
+ },
333
+ {
334
+ "name": "returnData",
335
+ "type": "bytes[]",
336
+ "internalType": "bytes[]"
337
+ }
338
+ ],
339
+ "stateMutability": "payable"
340
+ },
341
+ {
342
+ "type": "function",
343
+ "name": "aggregate3",
344
+ "inputs": [
345
+ {
346
+ "name": "calls",
347
+ "type": "tuple[]",
348
+ "internalType": "struct Multicall3.Call3[]",
349
+ "components": [
350
+ {
351
+ "name": "target",
352
+ "type": "address",
353
+ "internalType": "address"
354
+ },
355
+ {
356
+ "name": "allowFailure",
357
+ "type": "bool",
358
+ "internalType": "bool"
359
+ },
360
+ {
361
+ "name": "callData",
362
+ "type": "bytes",
363
+ "internalType": "bytes"
364
+ }
365
+ ]
366
+ }
367
+ ],
368
+ "outputs": [
369
+ {
370
+ "name": "returnData",
371
+ "type": "tuple[]",
372
+ "internalType": "struct Multicall3.Result[]",
373
+ "components": [
374
+ {
375
+ "name": "success",
376
+ "type": "bool",
377
+ "internalType": "bool"
378
+ },
379
+ {
380
+ "name": "returnData",
381
+ "type": "bytes",
382
+ "internalType": "bytes"
383
+ }
384
+ ]
385
+ }
386
+ ],
387
+ "stateMutability": "payable"
388
+ },
389
+ {
390
+ "type": "function",
391
+ "name": "aggregate3Value",
392
+ "inputs": [
393
+ {
394
+ "name": "calls",
395
+ "type": "tuple[]",
396
+ "internalType": "struct Multicall3.Call3Value[]",
397
+ "components": [
398
+ {
399
+ "name": "target",
400
+ "type": "address",
401
+ "internalType": "address"
402
+ },
403
+ {
404
+ "name": "allowFailure",
405
+ "type": "bool",
406
+ "internalType": "bool"
407
+ },
408
+ {
409
+ "name": "value",
410
+ "type": "uint256",
411
+ "internalType": "uint256"
412
+ },
413
+ {
414
+ "name": "callData",
415
+ "type": "bytes",
416
+ "internalType": "bytes"
417
+ }
418
+ ]
419
+ }
420
+ ],
421
+ "outputs": [
422
+ {
423
+ "name": "returnData",
424
+ "type": "tuple[]",
425
+ "internalType": "struct Multicall3.Result[]",
426
+ "components": [
427
+ {
428
+ "name": "success",
429
+ "type": "bool",
430
+ "internalType": "bool"
431
+ },
432
+ {
433
+ "name": "returnData",
434
+ "type": "bytes",
435
+ "internalType": "bytes"
436
+ }
437
+ ]
438
+ }
439
+ ],
440
+ "stateMutability": "payable"
441
+ },
442
+ {
443
+ "type": "function",
444
+ "name": "blockAndAggregate",
445
+ "inputs": [
446
+ {
447
+ "name": "calls",
448
+ "type": "tuple[]",
449
+ "internalType": "struct Multicall3.Call[]",
450
+ "components": [
451
+ {
452
+ "name": "target",
453
+ "type": "address",
454
+ "internalType": "address"
455
+ },
456
+ {
457
+ "name": "callData",
458
+ "type": "bytes",
459
+ "internalType": "bytes"
460
+ }
461
+ ]
462
+ }
463
+ ],
464
+ "outputs": [
465
+ {
466
+ "name": "blockNumber",
467
+ "type": "uint256",
468
+ "internalType": "uint256"
469
+ },
470
+ {
471
+ "name": "blockHash",
472
+ "type": "bytes32",
473
+ "internalType": "bytes32"
474
+ },
475
+ {
476
+ "name": "returnData",
477
+ "type": "tuple[]",
478
+ "internalType": "struct Multicall3.Result[]",
479
+ "components": [
480
+ {
481
+ "name": "success",
482
+ "type": "bool",
483
+ "internalType": "bool"
484
+ },
485
+ {
486
+ "name": "returnData",
487
+ "type": "bytes",
488
+ "internalType": "bytes"
489
+ }
490
+ ]
491
+ }
492
+ ],
493
+ "stateMutability": "payable"
494
+ },
495
+ {
496
+ "type": "function",
497
+ "name": "getBasefee",
498
+ "inputs": [],
499
+ "outputs": [
500
+ {
501
+ "name": "",
502
+ "type": "uint256",
503
+ "internalType": "uint256"
504
+ }
505
+ ],
506
+ "stateMutability": "view"
507
+ },
508
+ {
509
+ "type": "function",
510
+ "name": "getBlockHash",
511
+ "inputs": [
512
+ {
513
+ "name": "blockNumber",
514
+ "type": "uint256",
515
+ "internalType": "uint256"
516
+ }
517
+ ],
518
+ "outputs": [
519
+ {
520
+ "name": "",
521
+ "type": "bytes32",
522
+ "internalType": "bytes32"
523
+ }
524
+ ],
525
+ "stateMutability": "view"
526
+ },
527
+ {
528
+ "type": "function",
529
+ "name": "getBlockNumber",
530
+ "inputs": [],
531
+ "outputs": [
532
+ {
533
+ "name": "",
534
+ "type": "uint256",
535
+ "internalType": "uint256"
536
+ }
537
+ ],
538
+ "stateMutability": "view"
539
+ },
540
+ {
541
+ "type": "function",
542
+ "name": "getChainId",
543
+ "inputs": [],
544
+ "outputs": [
545
+ {
546
+ "name": "",
547
+ "type": "uint256",
548
+ "internalType": "uint256"
549
+ }
550
+ ],
551
+ "stateMutability": "view"
552
+ },
553
+ {
554
+ "type": "function",
555
+ "name": "getCurrentBlockCoinbase",
556
+ "inputs": [],
557
+ "outputs": [
558
+ {
559
+ "name": "",
560
+ "type": "address",
561
+ "internalType": "address"
562
+ }
563
+ ],
564
+ "stateMutability": "view"
565
+ },
566
+ {
567
+ "type": "function",
568
+ "name": "getCurrentBlockGasLimit",
569
+ "inputs": [],
570
+ "outputs": [
571
+ {
572
+ "name": "",
573
+ "type": "uint256",
574
+ "internalType": "uint256"
575
+ }
576
+ ],
577
+ "stateMutability": "view"
578
+ },
579
+ {
580
+ "type": "function",
581
+ "name": "getCurrentBlockTimestamp",
582
+ "inputs": [],
583
+ "outputs": [
584
+ {
585
+ "name": "",
586
+ "type": "uint256",
587
+ "internalType": "uint256"
588
+ }
589
+ ],
590
+ "stateMutability": "view"
591
+ },
592
+ {
593
+ "type": "function",
594
+ "name": "getEthBalance",
595
+ "inputs": [
596
+ {
597
+ "name": "addr",
598
+ "type": "address",
599
+ "internalType": "address"
600
+ }
601
+ ],
602
+ "outputs": [
603
+ {
604
+ "name": "",
605
+ "type": "uint256",
606
+ "internalType": "uint256"
607
+ }
608
+ ],
609
+ "stateMutability": "view"
610
+ },
611
+ {
612
+ "type": "function",
613
+ "name": "getLastBlockHash",
614
+ "inputs": [],
615
+ "outputs": [
616
+ {
617
+ "name": "",
618
+ "type": "bytes32",
619
+ "internalType": "bytes32"
620
+ }
621
+ ],
622
+ "stateMutability": "view"
623
+ },
624
+ {
625
+ "type": "function",
626
+ "name": "tryBlockAndAggregate",
627
+ "inputs": [
628
+ {
629
+ "name": "calls",
630
+ "type": "tuple[]",
631
+ "internalType": "struct Multicall3.Call[]",
632
+ "components": [
633
+ {
634
+ "name": "target",
635
+ "type": "address",
636
+ "internalType": "address"
637
+ },
638
+ {
639
+ "name": "callData",
640
+ "type": "bytes",
641
+ "internalType": "bytes"
642
+ }
643
+ ]
644
+ }
645
+ ],
646
+ "outputs": [
647
+ {
648
+ "name": "blockNumber",
649
+ "type": "uint256",
650
+ "internalType": "uint256"
651
+ },
652
+ {
653
+ "name": "blockHash",
654
+ "type": "bytes32",
655
+ "internalType": "bytes32"
656
+ },
657
+ {
658
+ "name": "returnData",
659
+ "type": "tuple[]",
660
+ "internalType": "struct Multicall3.Result[]",
661
+ "components": [
662
+ {
663
+ "name": "success",
664
+ "type": "bool",
665
+ "internalType": "bool"
666
+ },
667
+ {
668
+ "name": "returnData",
669
+ "type": "bytes",
670
+ "internalType": "bytes"
671
+ }
672
+ ]
673
+ }
674
+ ],
675
+ "stateMutability": "payable"
676
+ }
677
+ ] as const,
678
+ address: {
679
+ 7119: "0xFd4b34b5763f54a580a0d9f7997A2A993ef9ceE9" as `0x${string}`,
680
+ 7120: "0x7900826De548425c6BE56caEbD4760AB0155Cd54" as `0x${string}`,
681
+ },
682
+ } as const;
683
+
684
+ export const Multicall3_ABI = Multicall3.abi;
685
+ export type Multicall3Address = (typeof Multicall3.address)[keyof typeof Multicall3.address];
686
+
687
+ export const SentrixSafe = {
688
+ abi: [
689
+ {
690
+ "type": "constructor",
691
+ "inputs": [
692
+ {
693
+ "name": "_owners",
694
+ "type": "address[]",
695
+ "internalType": "address[]"
696
+ },
697
+ {
698
+ "name": "_threshold",
699
+ "type": "uint256",
700
+ "internalType": "uint256"
701
+ }
702
+ ],
703
+ "stateMutability": "nonpayable"
704
+ },
705
+ {
706
+ "type": "receive",
707
+ "stateMutability": "payable"
708
+ },
709
+ {
710
+ "type": "function",
711
+ "name": "DOMAIN_SEPARATOR",
712
+ "inputs": [],
713
+ "outputs": [
714
+ {
715
+ "name": "",
716
+ "type": "bytes32",
717
+ "internalType": "bytes32"
718
+ }
719
+ ],
720
+ "stateMutability": "view"
721
+ },
722
+ {
723
+ "type": "function",
724
+ "name": "addOwner",
725
+ "inputs": [
726
+ {
727
+ "name": "owner",
728
+ "type": "address",
729
+ "internalType": "address"
730
+ },
731
+ {
732
+ "name": "_threshold",
733
+ "type": "uint256",
734
+ "internalType": "uint256"
735
+ }
736
+ ],
737
+ "outputs": [],
738
+ "stateMutability": "nonpayable"
739
+ },
740
+ {
741
+ "type": "function",
742
+ "name": "checkSignatures",
743
+ "inputs": [
744
+ {
745
+ "name": "dataHash",
746
+ "type": "bytes32",
747
+ "internalType": "bytes32"
748
+ },
749
+ {
750
+ "name": "signatures",
751
+ "type": "bytes",
752
+ "internalType": "bytes"
753
+ }
754
+ ],
755
+ "outputs": [],
756
+ "stateMutability": "view"
757
+ },
758
+ {
759
+ "type": "function",
760
+ "name": "execTransaction",
761
+ "inputs": [
762
+ {
763
+ "name": "to",
764
+ "type": "address",
765
+ "internalType": "address"
766
+ },
767
+ {
768
+ "name": "value",
769
+ "type": "uint256",
770
+ "internalType": "uint256"
771
+ },
772
+ {
773
+ "name": "data",
774
+ "type": "bytes",
775
+ "internalType": "bytes"
776
+ },
777
+ {
778
+ "name": "operation",
779
+ "type": "uint256",
780
+ "internalType": "uint256"
781
+ },
782
+ {
783
+ "name": "signatures",
784
+ "type": "bytes",
785
+ "internalType": "bytes"
786
+ }
787
+ ],
788
+ "outputs": [
789
+ {
790
+ "name": "success",
791
+ "type": "bool",
792
+ "internalType": "bool"
793
+ }
794
+ ],
795
+ "stateMutability": "nonpayable"
796
+ },
797
+ {
798
+ "type": "function",
799
+ "name": "getOwners",
800
+ "inputs": [],
801
+ "outputs": [
802
+ {
803
+ "name": "",
804
+ "type": "address[]",
805
+ "internalType": "address[]"
806
+ }
807
+ ],
808
+ "stateMutability": "view"
809
+ },
810
+ {
811
+ "type": "function",
812
+ "name": "getTransactionHash",
813
+ "inputs": [
814
+ {
815
+ "name": "to",
816
+ "type": "address",
817
+ "internalType": "address"
818
+ },
819
+ {
820
+ "name": "value",
821
+ "type": "uint256",
822
+ "internalType": "uint256"
823
+ },
824
+ {
825
+ "name": "data",
826
+ "type": "bytes",
827
+ "internalType": "bytes"
828
+ },
829
+ {
830
+ "name": "operation",
831
+ "type": "uint256",
832
+ "internalType": "uint256"
833
+ },
834
+ {
835
+ "name": "_nonce",
836
+ "type": "uint256",
837
+ "internalType": "uint256"
838
+ }
839
+ ],
840
+ "outputs": [
841
+ {
842
+ "name": "",
843
+ "type": "bytes32",
844
+ "internalType": "bytes32"
845
+ }
846
+ ],
847
+ "stateMutability": "view"
848
+ },
849
+ {
850
+ "type": "function",
851
+ "name": "isOwner",
852
+ "inputs": [
853
+ {
854
+ "name": "",
855
+ "type": "address",
856
+ "internalType": "address"
857
+ }
858
+ ],
859
+ "outputs": [
860
+ {
861
+ "name": "",
862
+ "type": "bool",
863
+ "internalType": "bool"
864
+ }
865
+ ],
866
+ "stateMutability": "view"
867
+ },
868
+ {
869
+ "type": "function",
870
+ "name": "nonce",
871
+ "inputs": [],
872
+ "outputs": [
873
+ {
874
+ "name": "",
875
+ "type": "uint256",
876
+ "internalType": "uint256"
877
+ }
878
+ ],
879
+ "stateMutability": "view"
880
+ },
881
+ {
882
+ "type": "function",
883
+ "name": "owners",
884
+ "inputs": [
885
+ {
886
+ "name": "",
887
+ "type": "uint256",
888
+ "internalType": "uint256"
889
+ }
890
+ ],
891
+ "outputs": [
892
+ {
893
+ "name": "",
894
+ "type": "address",
895
+ "internalType": "address"
896
+ }
897
+ ],
898
+ "stateMutability": "view"
899
+ },
900
+ {
901
+ "type": "function",
902
+ "name": "removeOwner",
903
+ "inputs": [
904
+ {
905
+ "name": "owner",
906
+ "type": "address",
907
+ "internalType": "address"
908
+ },
909
+ {
910
+ "name": "_threshold",
911
+ "type": "uint256",
912
+ "internalType": "uint256"
913
+ }
914
+ ],
915
+ "outputs": [],
916
+ "stateMutability": "nonpayable"
917
+ },
918
+ {
919
+ "type": "function",
920
+ "name": "threshold",
921
+ "inputs": [],
922
+ "outputs": [
923
+ {
924
+ "name": "",
925
+ "type": "uint256",
926
+ "internalType": "uint256"
927
+ }
928
+ ],
929
+ "stateMutability": "view"
930
+ },
931
+ {
932
+ "type": "event",
933
+ "name": "AddedOwner",
934
+ "inputs": [
935
+ {
936
+ "name": "owner",
937
+ "type": "address",
938
+ "indexed": true,
939
+ "internalType": "address"
940
+ }
941
+ ],
942
+ "anonymous": false
943
+ },
944
+ {
945
+ "type": "event",
946
+ "name": "ChangedThreshold",
947
+ "inputs": [
948
+ {
949
+ "name": "threshold",
950
+ "type": "uint256",
951
+ "indexed": false,
952
+ "internalType": "uint256"
953
+ }
954
+ ],
955
+ "anonymous": false
956
+ },
957
+ {
958
+ "type": "event",
959
+ "name": "ExecutionFailure",
960
+ "inputs": [
961
+ {
962
+ "name": "txHash",
963
+ "type": "bytes32",
964
+ "indexed": true,
965
+ "internalType": "bytes32"
966
+ },
967
+ {
968
+ "name": "nonce",
969
+ "type": "uint256",
970
+ "indexed": false,
971
+ "internalType": "uint256"
972
+ }
973
+ ],
974
+ "anonymous": false
975
+ },
976
+ {
977
+ "type": "event",
978
+ "name": "ExecutionSuccess",
979
+ "inputs": [
980
+ {
981
+ "name": "txHash",
982
+ "type": "bytes32",
983
+ "indexed": true,
984
+ "internalType": "bytes32"
985
+ },
986
+ {
987
+ "name": "nonce",
988
+ "type": "uint256",
989
+ "indexed": false,
990
+ "internalType": "uint256"
991
+ }
992
+ ],
993
+ "anonymous": false
994
+ },
995
+ {
996
+ "type": "event",
997
+ "name": "RemovedOwner",
998
+ "inputs": [
999
+ {
1000
+ "name": "owner",
1001
+ "type": "address",
1002
+ "indexed": true,
1003
+ "internalType": "address"
1004
+ }
1005
+ ],
1006
+ "anonymous": false
1007
+ }
1008
+ ] as const,
1009
+ address: {
1010
+ 7119: "0x6272dC0C842F05542f9fF7B5443E93C0642a3b26" as `0x${string}`,
1011
+ 7120: "0xc9D7a61D7C2F428F6A055916488041fD00532110" as `0x${string}`,
1012
+ },
1013
+ } as const;
1014
+
1015
+ export const SentrixSafe_ABI = SentrixSafe.abi;
1016
+ export type SentrixSafeAddress = (typeof SentrixSafe.address)[keyof typeof SentrixSafe.address];
1017
+
1018
+ export const TokenFactory = {
1019
+ abi: [
1020
+ {
1021
+ "type": "function",
1022
+ "name": "deployToken",
1023
+ "inputs": [
1024
+ {
1025
+ "name": "name",
1026
+ "type": "string",
1027
+ "internalType": "string"
1028
+ },
1029
+ {
1030
+ "name": "symbol",
1031
+ "type": "string",
1032
+ "internalType": "string"
1033
+ },
1034
+ {
1035
+ "name": "initialSupply",
1036
+ "type": "uint256",
1037
+ "internalType": "uint256"
1038
+ }
1039
+ ],
1040
+ "outputs": [
1041
+ {
1042
+ "name": "token",
1043
+ "type": "address",
1044
+ "internalType": "address"
1045
+ }
1046
+ ],
1047
+ "stateMutability": "nonpayable"
1048
+ },
1049
+ {
1050
+ "type": "function",
1051
+ "name": "deployedTokens",
1052
+ "inputs": [
1053
+ {
1054
+ "name": "",
1055
+ "type": "address",
1056
+ "internalType": "address"
1057
+ },
1058
+ {
1059
+ "name": "",
1060
+ "type": "uint256",
1061
+ "internalType": "uint256"
1062
+ }
1063
+ ],
1064
+ "outputs": [
1065
+ {
1066
+ "name": "",
1067
+ "type": "address",
1068
+ "internalType": "address"
1069
+ }
1070
+ ],
1071
+ "stateMutability": "view"
1072
+ },
1073
+ {
1074
+ "type": "function",
1075
+ "name": "tokenCount",
1076
+ "inputs": [
1077
+ {
1078
+ "name": "owner",
1079
+ "type": "address",
1080
+ "internalType": "address"
1081
+ }
1082
+ ],
1083
+ "outputs": [
1084
+ {
1085
+ "name": "",
1086
+ "type": "uint256",
1087
+ "internalType": "uint256"
1088
+ }
1089
+ ],
1090
+ "stateMutability": "view"
1091
+ },
1092
+ {
1093
+ "type": "function",
1094
+ "name": "tokensOf",
1095
+ "inputs": [
1096
+ {
1097
+ "name": "owner",
1098
+ "type": "address",
1099
+ "internalType": "address"
1100
+ }
1101
+ ],
1102
+ "outputs": [
1103
+ {
1104
+ "name": "",
1105
+ "type": "address[]",
1106
+ "internalType": "address[]"
1107
+ }
1108
+ ],
1109
+ "stateMutability": "view"
1110
+ },
1111
+ {
1112
+ "type": "event",
1113
+ "name": "TokenDeployed",
1114
+ "inputs": [
1115
+ {
1116
+ "name": "token",
1117
+ "type": "address",
1118
+ "indexed": true,
1119
+ "internalType": "address"
1120
+ },
1121
+ {
1122
+ "name": "owner",
1123
+ "type": "address",
1124
+ "indexed": true,
1125
+ "internalType": "address"
1126
+ },
1127
+ {
1128
+ "name": "name",
1129
+ "type": "string",
1130
+ "indexed": false,
1131
+ "internalType": "string"
1132
+ },
1133
+ {
1134
+ "name": "symbol",
1135
+ "type": "string",
1136
+ "indexed": false,
1137
+ "internalType": "string"
1138
+ },
1139
+ {
1140
+ "name": "initialSupply",
1141
+ "type": "uint256",
1142
+ "indexed": false,
1143
+ "internalType": "uint256"
1144
+ }
1145
+ ],
1146
+ "anonymous": false
1147
+ }
1148
+ ] as const,
1149
+ address: {
1150
+ 7119: "0xc753199b723649ab92c6db8A45F158921CFDEe49" as `0x${string}`,
1151
+ 7120: "0x7A2992af0d4979aDD076347666023d66d29276Fc" as `0x${string}`,
1152
+ },
1153
+ } as const;
1154
+
1155
+ export const TokenFactory_ABI = TokenFactory.abi;
1156
+ export type TokenFactoryAddress = (typeof TokenFactory.address)[keyof typeof TokenFactory.address];
1157
+
1158
+ export const FactoryToken = {
1159
+ abi: [
1160
+ {
1161
+ "type": "constructor",
1162
+ "inputs": [
1163
+ {
1164
+ "name": "_name",
1165
+ "type": "string",
1166
+ "internalType": "string"
1167
+ },
1168
+ {
1169
+ "name": "_symbol",
1170
+ "type": "string",
1171
+ "internalType": "string"
1172
+ },
1173
+ {
1174
+ "name": "_initialSupply",
1175
+ "type": "uint256",
1176
+ "internalType": "uint256"
1177
+ },
1178
+ {
1179
+ "name": "_owner",
1180
+ "type": "address",
1181
+ "internalType": "address"
1182
+ }
1183
+ ],
1184
+ "stateMutability": "nonpayable"
1185
+ },
1186
+ {
1187
+ "type": "function",
1188
+ "name": "allowance",
1189
+ "inputs": [
1190
+ {
1191
+ "name": "",
1192
+ "type": "address",
1193
+ "internalType": "address"
1194
+ },
1195
+ {
1196
+ "name": "",
1197
+ "type": "address",
1198
+ "internalType": "address"
1199
+ }
1200
+ ],
1201
+ "outputs": [
1202
+ {
1203
+ "name": "",
1204
+ "type": "uint256",
1205
+ "internalType": "uint256"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view"
1209
+ },
1210
+ {
1211
+ "type": "function",
1212
+ "name": "approve",
1213
+ "inputs": [
1214
+ {
1215
+ "name": "spender",
1216
+ "type": "address",
1217
+ "internalType": "address"
1218
+ },
1219
+ {
1220
+ "name": "amount",
1221
+ "type": "uint256",
1222
+ "internalType": "uint256"
1223
+ }
1224
+ ],
1225
+ "outputs": [
1226
+ {
1227
+ "name": "",
1228
+ "type": "bool",
1229
+ "internalType": "bool"
1230
+ }
1231
+ ],
1232
+ "stateMutability": "nonpayable"
1233
+ },
1234
+ {
1235
+ "type": "function",
1236
+ "name": "balanceOf",
1237
+ "inputs": [
1238
+ {
1239
+ "name": "",
1240
+ "type": "address",
1241
+ "internalType": "address"
1242
+ }
1243
+ ],
1244
+ "outputs": [
1245
+ {
1246
+ "name": "",
1247
+ "type": "uint256",
1248
+ "internalType": "uint256"
1249
+ }
1250
+ ],
1251
+ "stateMutability": "view"
1252
+ },
1253
+ {
1254
+ "type": "function",
1255
+ "name": "decimals",
1256
+ "inputs": [],
1257
+ "outputs": [
1258
+ {
1259
+ "name": "",
1260
+ "type": "uint8",
1261
+ "internalType": "uint8"
1262
+ }
1263
+ ],
1264
+ "stateMutability": "view"
1265
+ },
1266
+ {
1267
+ "type": "function",
1268
+ "name": "name",
1269
+ "inputs": [],
1270
+ "outputs": [
1271
+ {
1272
+ "name": "",
1273
+ "type": "string",
1274
+ "internalType": "string"
1275
+ }
1276
+ ],
1277
+ "stateMutability": "view"
1278
+ },
1279
+ {
1280
+ "type": "function",
1281
+ "name": "symbol",
1282
+ "inputs": [],
1283
+ "outputs": [
1284
+ {
1285
+ "name": "",
1286
+ "type": "string",
1287
+ "internalType": "string"
1288
+ }
1289
+ ],
1290
+ "stateMutability": "view"
1291
+ },
1292
+ {
1293
+ "type": "function",
1294
+ "name": "totalSupply",
1295
+ "inputs": [],
1296
+ "outputs": [
1297
+ {
1298
+ "name": "",
1299
+ "type": "uint256",
1300
+ "internalType": "uint256"
1301
+ }
1302
+ ],
1303
+ "stateMutability": "view"
1304
+ },
1305
+ {
1306
+ "type": "function",
1307
+ "name": "transfer",
1308
+ "inputs": [
1309
+ {
1310
+ "name": "to",
1311
+ "type": "address",
1312
+ "internalType": "address"
1313
+ },
1314
+ {
1315
+ "name": "amount",
1316
+ "type": "uint256",
1317
+ "internalType": "uint256"
1318
+ }
1319
+ ],
1320
+ "outputs": [
1321
+ {
1322
+ "name": "",
1323
+ "type": "bool",
1324
+ "internalType": "bool"
1325
+ }
1326
+ ],
1327
+ "stateMutability": "nonpayable"
1328
+ },
1329
+ {
1330
+ "type": "function",
1331
+ "name": "transferFrom",
1332
+ "inputs": [
1333
+ {
1334
+ "name": "from",
1335
+ "type": "address",
1336
+ "internalType": "address"
1337
+ },
1338
+ {
1339
+ "name": "to",
1340
+ "type": "address",
1341
+ "internalType": "address"
1342
+ },
1343
+ {
1344
+ "name": "amount",
1345
+ "type": "uint256",
1346
+ "internalType": "uint256"
1347
+ }
1348
+ ],
1349
+ "outputs": [
1350
+ {
1351
+ "name": "",
1352
+ "type": "bool",
1353
+ "internalType": "bool"
1354
+ }
1355
+ ],
1356
+ "stateMutability": "nonpayable"
1357
+ },
1358
+ {
1359
+ "type": "event",
1360
+ "name": "Approval",
1361
+ "inputs": [
1362
+ {
1363
+ "name": "owner",
1364
+ "type": "address",
1365
+ "indexed": true,
1366
+ "internalType": "address"
1367
+ },
1368
+ {
1369
+ "name": "spender",
1370
+ "type": "address",
1371
+ "indexed": true,
1372
+ "internalType": "address"
1373
+ },
1374
+ {
1375
+ "name": "value",
1376
+ "type": "uint256",
1377
+ "indexed": false,
1378
+ "internalType": "uint256"
1379
+ }
1380
+ ],
1381
+ "anonymous": false
1382
+ },
1383
+ {
1384
+ "type": "event",
1385
+ "name": "Transfer",
1386
+ "inputs": [
1387
+ {
1388
+ "name": "from",
1389
+ "type": "address",
1390
+ "indexed": true,
1391
+ "internalType": "address"
1392
+ },
1393
+ {
1394
+ "name": "to",
1395
+ "type": "address",
1396
+ "indexed": true,
1397
+ "internalType": "address"
1398
+ },
1399
+ {
1400
+ "name": "value",
1401
+ "type": "uint256",
1402
+ "indexed": false,
1403
+ "internalType": "uint256"
1404
+ }
1405
+ ],
1406
+ "anonymous": false
1407
+ }
1408
+ ] as const,
1409
+ address: {
1410
+
1411
+ },
1412
+ } as const;
1413
+
1414
+ export const FactoryToken_ABI = FactoryToken.abi;
1415
+ export type FactoryTokenAddress = (typeof FactoryToken.address)[keyof typeof FactoryToken.address];
1416
+
1417
+ export const CONTRACTS = {
1418
+ WSRX,
1419
+ Multicall3,
1420
+ SentrixSafe,
1421
+ TokenFactory,
1422
+ FactoryToken,
1423
+ } as const;
1424
+
1425
+ export const CHAIN_IDS = [7119, 7120] as const;
1426
+ export type ChainId = (typeof CHAIN_IDS)[number];
1427
+
1428
+ /** Look up a contract's deployed address by chain. Throws if the
1429
+ * contract has no deployment record on that chain. */
1430
+ export function getAddress<K extends keyof typeof CONTRACTS>(
1431
+ contract: K,
1432
+ chainId: ChainId,
1433
+ ): `0x${string}` {
1434
+ const a = (CONTRACTS[contract].address as Record<number, `0x${string}`>)[chainId];
1435
+ if (!a) {
1436
+ throw new Error(
1437
+ `@sentrix-labs/canonical-contracts: ${contract} has no deployment on chain ${chainId}`,
1438
+ );
1439
+ }
1440
+ return a;
1441
+ }