MultisigPluginAbi

1const MultisigPluginAbi: readonly [
2 {
3 inputs: readonly [
4 {
5 internalType: "address";
6 name: "entryPoint";
7 type: "address";
8 },
9 ];
10 stateMutability: "nonpayable";
11 type: "constructor";
12 },
13 {
14 inputs: readonly [];
15 name: "ENTRYPOINT";
16 outputs: readonly [
17 {
18 internalType: "address";
19 name: "";
20 type: "address";
21 },
22 ];
23 stateMutability: "view";
24 type: "function";
25 },
26 {
27 inputs: readonly [
28 {
29 internalType: "bytes32";
30 name: "actualDigest";
31 type: "bytes32";
32 },
33 {
34 internalType: "bytes32";
35 name: "upperLimitGasDigest";
36 type: "bytes32";
37 },
38 {
39 internalType: "address";
40 name: "account";
41 type: "address";
42 },
43 {
44 internalType: "bytes";
45 name: "signatures";
46 type: "bytes";
47 },
48 ];
49 name: "checkNSignatures";
50 outputs: readonly [
51 {
52 internalType: "bool";
53 name: "success";
54 type: "bool";
55 },
56 {
57 internalType: "uint256";
58 name: "firstFailure";
59 type: "uint256";
60 },
61 ];
62 stateMutability: "view";
63 type: "function";
64 },
65 {
66 inputs: readonly [];
67 name: "eip712Domain";
68 outputs: readonly [
69 {
70 internalType: "bytes1";
71 name: "fields";
72 type: "bytes1";
73 },
74 {
75 internalType: "string";
76 name: "name";
77 type: "string";
78 },
79 {
80 internalType: "string";
81 name: "version";
82 type: "string";
83 },
84 {
85 internalType: "uint256";
86 name: "chainId";
87 type: "uint256";
88 },
89 {
90 internalType: "address";
91 name: "verifyingContract";
92 type: "address";
93 },
94 {
95 internalType: "bytes32";
96 name: "salt";
97 type: "bytes32";
98 },
99 {
100 internalType: "uint256[]";
101 name: "extensions";
102 type: "uint256[]";
103 },
104 ];
105 stateMutability: "view";
106 type: "function";
107 },
108 {
109 inputs: readonly [
110 {
111 internalType: "address";
112 name: "account";
113 type: "address";
114 },
115 {
116 internalType: "bytes";
117 name: "message";
118 type: "bytes";
119 },
120 ];
121 name: "encodeMessageData";
122 outputs: readonly [
123 {
124 internalType: "bytes";
125 name: "";
126 type: "bytes";
127 },
128 ];
129 stateMutability: "view";
130 type: "function";
131 },
132 {
133 inputs: readonly [
134 {
135 internalType: "address";
136 name: "account";
137 type: "address";
138 },
139 {
140 internalType: "bytes";
141 name: "message";
142 type: "bytes";
143 },
144 ];
145 name: "getMessageHash";
146 outputs: readonly [
147 {
148 internalType: "bytes32";
149 name: "";
150 type: "bytes32";
151 },
152 ];
153 stateMutability: "view";
154 type: "function";
155 },
156 {
157 inputs: readonly [
158 {
159 internalType: "address";
160 name: "account";
161 type: "address";
162 },
163 {
164 internalType: "address";
165 name: "ownerToCheck";
166 type: "address";
167 },
168 ];
169 name: "isOwnerOf";
170 outputs: readonly [
171 {
172 internalType: "bool";
173 name: "";
174 type: "bool";
175 },
176 ];
177 stateMutability: "view";
178 type: "function";
179 },
180 {
181 inputs: readonly [
182 {
183 internalType: "bytes32";
184 name: "digest";
185 type: "bytes32";
186 },
187 {
188 internalType: "bytes";
189 name: "signature";
190 type: "bytes";
191 },
192 ];
193 name: "isValidSignature";
194 outputs: readonly [
195 {
196 internalType: "bytes4";
197 name: "";
198 type: "bytes4";
199 },
200 ];
201 stateMutability: "view";
202 type: "function";
203 },
204 {
205 inputs: readonly [
206 {
207 internalType: "bytes";
208 name: "data";
209 type: "bytes";
210 },
211 ];
212 name: "onInstall";
213 outputs: readonly [];
214 stateMutability: "nonpayable";
215 type: "function";
216 },
217 {
218 inputs: readonly [
219 {
220 internalType: "bytes";
221 name: "";
222 type: "bytes";
223 },
224 ];
225 name: "onUninstall";
226 outputs: readonly [];
227 stateMutability: "nonpayable";
228 type: "function";
229 },
230 {
231 inputs: readonly [
232 {
233 internalType: "address";
234 name: "account";
235 type: "address";
236 },
237 ];
238 name: "ownershipInfoOf";
239 outputs: readonly [
240 {
241 internalType: "address[]";
242 name: "";
243 type: "address[]";
244 },
245 {
246 internalType: "uint256";
247 name: "";
248 type: "uint256";
249 },
250 ];
251 stateMutability: "view";
252 type: "function";
253 },
254 {
255 inputs: readonly [];
256 name: "pluginManifest";
257 outputs: readonly [
258 {
259 components: readonly [
260 {
261 internalType: "bytes4[]";
262 name: "interfaceIds";
263 type: "bytes4[]";
264 },
265 {
266 internalType: "bytes4[]";
267 name: "dependencyInterfaceIds";
268 type: "bytes4[]";
269 },
270 {
271 internalType: "bytes4[]";
272 name: "executionFunctions";
273 type: "bytes4[]";
274 },
275 {
276 internalType: "bytes4[]";
277 name: "permittedExecutionSelectors";
278 type: "bytes4[]";
279 },
280 {
281 internalType: "bool";
282 name: "permitAnyExternalAddress";
283 type: "bool";
284 },
285 {
286 internalType: "bool";
287 name: "canSpendNativeToken";
288 type: "bool";
289 },
290 {
291 components: readonly [
292 {
293 internalType: "address";
294 name: "externalAddress";
295 type: "address";
296 },
297 {
298 internalType: "bool";
299 name: "permitAnySelector";
300 type: "bool";
301 },
302 {
303 internalType: "bytes4[]";
304 name: "selectors";
305 type: "bytes4[]";
306 },
307 ];
308 internalType: "struct ManifestExternalCallPermission[]";
309 name: "permittedExternalCalls";
310 type: "tuple[]";
311 },
312 {
313 components: readonly [
314 {
315 internalType: "bytes4";
316 name: "executionSelector";
317 type: "bytes4";
318 },
319 {
320 components: readonly [
321 {
322 internalType: "enum ManifestAssociatedFunctionType";
323 name: "functionType";
324 type: "uint8";
325 },
326 {
327 internalType: "uint8";
328 name: "functionId";
329 type: "uint8";
330 },
331 {
332 internalType: "uint256";
333 name: "dependencyIndex";
334 type: "uint256";
335 },
336 ];
337 internalType: "struct ManifestFunction";
338 name: "associatedFunction";
339 type: "tuple";
340 },
341 ];
342 internalType: "struct ManifestAssociatedFunction[]";
343 name: "userOpValidationFunctions";
344 type: "tuple[]";
345 },
346 {
347 components: readonly [
348 {
349 internalType: "bytes4";
350 name: "executionSelector";
351 type: "bytes4";
352 },
353 {
354 components: readonly [
355 {
356 internalType: "enum ManifestAssociatedFunctionType";
357 name: "functionType";
358 type: "uint8";
359 },
360 {
361 internalType: "uint8";
362 name: "functionId";
363 type: "uint8";
364 },
365 {
366 internalType: "uint256";
367 name: "dependencyIndex";
368 type: "uint256";
369 },
370 ];
371 internalType: "struct ManifestFunction";
372 name: "associatedFunction";
373 type: "tuple";
374 },
375 ];
376 internalType: "struct ManifestAssociatedFunction[]";
377 name: "runtimeValidationFunctions";
378 type: "tuple[]";
379 },
380 {
381 components: readonly [
382 {
383 internalType: "bytes4";
384 name: "executionSelector";
385 type: "bytes4";
386 },
387 {
388 components: readonly [
389 {
390 internalType: "enum ManifestAssociatedFunctionType";
391 name: "functionType";
392 type: "uint8";
393 },
394 {
395 internalType: "uint8";
396 name: "functionId";
397 type: "uint8";
398 },
399 {
400 internalType: "uint256";
401 name: "dependencyIndex";
402 type: "uint256";
403 },
404 ];
405 internalType: "struct ManifestFunction";
406 name: "associatedFunction";
407 type: "tuple";
408 },
409 ];
410 internalType: "struct ManifestAssociatedFunction[]";
411 name: "preUserOpValidationHooks";
412 type: "tuple[]";
413 },
414 {
415 components: readonly [
416 {
417 internalType: "bytes4";
418 name: "executionSelector";
419 type: "bytes4";
420 },
421 {
422 components: readonly [
423 {
424 internalType: "enum ManifestAssociatedFunctionType";
425 name: "functionType";
426 type: "uint8";
427 },
428 {
429 internalType: "uint8";
430 name: "functionId";
431 type: "uint8";
432 },
433 {
434 internalType: "uint256";
435 name: "dependencyIndex";
436 type: "uint256";
437 },
438 ];
439 internalType: "struct ManifestFunction";
440 name: "associatedFunction";
441 type: "tuple";
442 },
443 ];
444 internalType: "struct ManifestAssociatedFunction[]";
445 name: "preRuntimeValidationHooks";
446 type: "tuple[]";
447 },
448 {
449 components: readonly [
450 {
451 internalType: "bytes4";
452 name: "executionSelector";
453 type: "bytes4";
454 },
455 {
456 components: readonly [
457 {
458 internalType: "enum ManifestAssociatedFunctionType";
459 name: "functionType";
460 type: "uint8";
461 },
462 {
463 internalType: "uint8";
464 name: "functionId";
465 type: "uint8";
466 },
467 {
468 internalType: "uint256";
469 name: "dependencyIndex";
470 type: "uint256";
471 },
472 ];
473 internalType: "struct ManifestFunction";
474 name: "preExecHook";
475 type: "tuple";
476 },
477 {
478 components: readonly [
479 {
480 internalType: "enum ManifestAssociatedFunctionType";
481 name: "functionType";
482 type: "uint8";
483 },
484 {
485 internalType: "uint8";
486 name: "functionId";
487 type: "uint8";
488 },
489 {
490 internalType: "uint256";
491 name: "dependencyIndex";
492 type: "uint256";
493 },
494 ];
495 internalType: "struct ManifestFunction";
496 name: "postExecHook";
497 type: "tuple";
498 },
499 ];
500 internalType: "struct ManifestExecutionHook[]";
501 name: "executionHooks";
502 type: "tuple[]";
503 },
504 ];
505 internalType: "struct PluginManifest";
506 name: "";
507 type: "tuple";
508 },
509 ];
510 stateMutability: "pure";
511 type: "function";
512 },
513 {
514 inputs: readonly [];
515 name: "pluginMetadata";
516 outputs: readonly [
517 {
518 components: readonly [
519 {
520 internalType: "string";
521 name: "name";
522 type: "string";
523 },
524 {
525 internalType: "string";
526 name: "version";
527 type: "string";
528 },
529 {
530 internalType: "string";
531 name: "author";
532 type: "string";
533 },
534 {
535 components: readonly [
536 {
537 internalType: "bytes4";
538 name: "functionSelector";
539 type: "bytes4";
540 },
541 {
542 internalType: "string";
543 name: "permissionDescription";
544 type: "string";
545 },
546 ];
547 internalType: "struct SelectorPermission[]";
548 name: "permissionDescriptors";
549 type: "tuple[]";
550 },
551 ];
552 internalType: "struct PluginMetadata";
553 name: "";
554 type: "tuple";
555 },
556 ];
557 stateMutability: "pure";
558 type: "function";
559 },
560 {
561 inputs: readonly [
562 {
563 internalType: "uint8";
564 name: "functionId";
565 type: "uint8";
566 },
567 {
568 internalType: "bytes";
569 name: "preExecHookData";
570 type: "bytes";
571 },
572 ];
573 name: "postExecutionHook";
574 outputs: readonly [];
575 stateMutability: "nonpayable";
576 type: "function";
577 },
578 {
579 inputs: readonly [
580 {
581 internalType: "uint8";
582 name: "functionId";
583 type: "uint8";
584 },
585 {
586 internalType: "address";
587 name: "sender";
588 type: "address";
589 },
590 {
591 internalType: "uint256";
592 name: "value";
593 type: "uint256";
594 },
595 {
596 internalType: "bytes";
597 name: "data";
598 type: "bytes";
599 },
600 ];
601 name: "preExecutionHook";
602 outputs: readonly [
603 {
604 internalType: "bytes";
605 name: "";
606 type: "bytes";
607 },
608 ];
609 stateMutability: "nonpayable";
610 type: "function";
611 },
612 {
613 inputs: readonly [
614 {
615 internalType: "uint8";
616 name: "functionId";
617 type: "uint8";
618 },
619 {
620 internalType: "address";
621 name: "sender";
622 type: "address";
623 },
624 {
625 internalType: "uint256";
626 name: "value";
627 type: "uint256";
628 },
629 {
630 internalType: "bytes";
631 name: "data";
632 type: "bytes";
633 },
634 ];
635 name: "preRuntimeValidationHook";
636 outputs: readonly [];
637 stateMutability: "nonpayable";
638 type: "function";
639 },
640 {
641 inputs: readonly [
642 {
643 internalType: "uint8";
644 name: "functionId";
645 type: "uint8";
646 },
647 {
648 components: readonly [
649 {
650 internalType: "address";
651 name: "sender";
652 type: "address";
653 },
654 {
655 internalType: "uint256";
656 name: "nonce";
657 type: "uint256";
658 },
659 {
660 internalType: "bytes";
661 name: "initCode";
662 type: "bytes";
663 },
664 {
665 internalType: "bytes";
666 name: "callData";
667 type: "bytes";
668 },
669 {
670 internalType: "uint256";
671 name: "callGasLimit";
672 type: "uint256";
673 },
674 {
675 internalType: "uint256";
676 name: "verificationGasLimit";
677 type: "uint256";
678 },
679 {
680 internalType: "uint256";
681 name: "preVerificationGas";
682 type: "uint256";
683 },
684 {
685 internalType: "uint256";
686 name: "maxFeePerGas";
687 type: "uint256";
688 },
689 {
690 internalType: "uint256";
691 name: "maxPriorityFeePerGas";
692 type: "uint256";
693 },
694 {
695 internalType: "bytes";
696 name: "paymasterAndData";
697 type: "bytes";
698 },
699 {
700 internalType: "bytes";
701 name: "signature";
702 type: "bytes";
703 },
704 ];
705 internalType: "struct UserOperation";
706 name: "userOp";
707 type: "tuple";
708 },
709 {
710 internalType: "bytes32";
711 name: "userOpHash";
712 type: "bytes32";
713 },
714 ];
715 name: "preUserOpValidationHook";
716 outputs: readonly [
717 {
718 internalType: "uint256";
719 name: "";
720 type: "uint256";
721 },
722 ];
723 stateMutability: "nonpayable";
724 type: "function";
725 },
726 {
727 inputs: readonly [
728 {
729 internalType: "uint8";
730 name: "functionId";
731 type: "uint8";
732 },
733 {
734 internalType: "address";
735 name: "sender";
736 type: "address";
737 },
738 {
739 internalType: "uint256";
740 name: "value";
741 type: "uint256";
742 },
743 {
744 internalType: "bytes";
745 name: "data";
746 type: "bytes";
747 },
748 ];
749 name: "runtimeValidationFunction";
750 outputs: readonly [];
751 stateMutability: "nonpayable";
752 type: "function";
753 },
754 {
755 inputs: readonly [
756 {
757 internalType: "bytes4";
758 name: "interfaceId";
759 type: "bytes4";
760 },
761 ];
762 name: "supportsInterface";
763 outputs: readonly [
764 {
765 internalType: "bool";
766 name: "";
767 type: "bool";
768 },
769 ];
770 stateMutability: "view";
771 type: "function";
772 },
773 {
774 inputs: readonly [
775 {
776 internalType: "address[]";
777 name: "ownersToAdd";
778 type: "address[]";
779 },
780 {
781 internalType: "address[]";
782 name: "ownersToRemove";
783 type: "address[]";
784 },
785 {
786 internalType: "uint128";
787 name: "newThreshold";
788 type: "uint128";
789 },
790 ];
791 name: "updateOwnership";
792 outputs: readonly [];
793 stateMutability: "nonpayable";
794 type: "function";
795 },
796 {
797 inputs: readonly [
798 {
799 internalType: "uint8";
800 name: "functionId";
801 type: "uint8";
802 },
803 {
804 components: readonly [
805 {
806 internalType: "address";
807 name: "sender";
808 type: "address";
809 },
810 {
811 internalType: "uint256";
812 name: "nonce";
813 type: "uint256";
814 },
815 {
816 internalType: "bytes";
817 name: "initCode";
818 type: "bytes";
819 },
820 {
821 internalType: "bytes";
822 name: "callData";
823 type: "bytes";
824 },
825 {
826 internalType: "uint256";
827 name: "callGasLimit";
828 type: "uint256";
829 },
830 {
831 internalType: "uint256";
832 name: "verificationGasLimit";
833 type: "uint256";
834 },
835 {
836 internalType: "uint256";
837 name: "preVerificationGas";
838 type: "uint256";
839 },
840 {
841 internalType: "uint256";
842 name: "maxFeePerGas";
843 type: "uint256";
844 },
845 {
846 internalType: "uint256";
847 name: "maxPriorityFeePerGas";
848 type: "uint256";
849 },
850 {
851 internalType: "bytes";
852 name: "paymasterAndData";
853 type: "bytes";
854 },
855 {
856 internalType: "bytes";
857 name: "signature";
858 type: "bytes";
859 },
860 ];
861 internalType: "struct UserOperation";
862 name: "userOp";
863 type: "tuple";
864 },
865 {
866 internalType: "bytes32";
867 name: "userOpHash";
868 type: "bytes32";
869 },
870 ];
871 name: "userOpValidationFunction";
872 outputs: readonly [
873 {
874 internalType: "uint256";
875 name: "";
876 type: "uint256";
877 },
878 ];
879 stateMutability: "view";
880 type: "function";
881 },
882 {
883 anonymous: false;
884 inputs: readonly [
885 {
886 indexed: true;
887 internalType: "address";
888 name: "account";
889 type: "address";
890 },
891 {
892 indexed: false;
893 internalType: "address[]";
894 name: "addedOwners";
895 type: "address[]";
896 },
897 {
898 indexed: false;
899 internalType: "address[]";
900 name: "removedOwners";
901 type: "address[]";
902 },
903 {
904 indexed: false;
905 internalType: "uint256";
906 name: "threshold";
907 type: "uint256";
908 },
909 ];
910 name: "OwnerUpdated";
911 type: "event";
912 },
913 {
914 inputs: readonly [];
915 name: "AlreadyInitialized";
916 type: "error";
917 },
918 {
919 inputs: readonly [];
920 name: "ECDSARecoverFailure";
921 type: "error";
922 },
923 {
924 inputs: readonly [];
925 name: "EmptyOwnersNotAllowed";
926 type: "error";
927 },
928 {
929 inputs: readonly [];
930 name: "InvalidAction";
931 type: "error";
932 },
933 {
934 inputs: readonly [];
935 name: "InvalidAddress";
936 type: "error";
937 },
938 {
939 inputs: readonly [];
940 name: "InvalidMaxFeePerGas";
941 type: "error";
942 },
943 {
944 inputs: readonly [];
945 name: "InvalidMaxPriorityFeePerGas";
946 type: "error";
947 },
948 {
949 inputs: readonly [];
950 name: "InvalidNumSigsOnActualGas";
951 type: "error";
952 },
953 {
954 inputs: readonly [
955 {
956 internalType: "address";
957 name: "owner";
958 type: "address";
959 },
960 ];
961 name: "InvalidOwner";
962 type: "error";
963 },
964 {
965 inputs: readonly [];
966 name: "InvalidPreVerificationGas";
967 type: "error";
968 },
969 {
970 inputs: readonly [];
971 name: "InvalidSigLength";
972 type: "error";
973 },
974 {
975 inputs: readonly [];
976 name: "InvalidSigOffset";
977 type: "error";
978 },
979 {
980 inputs: readonly [];
981 name: "InvalidThreshold";
982 type: "error";
983 },
984 {
985 inputs: readonly [
986 {
987 internalType: "address";
988 name: "caller";
989 type: "address";
990 },
991 ];
992 name: "NotContractCaller";
993 type: "error";
994 },
995 {
996 inputs: readonly [
997 {
998 internalType: "bytes4";
999 name: "selector";
1000 type: "bytes4";
1001 },
1002 {
1003 internalType: "uint8";
1004 name: "functionId";
1005 type: "uint8";
1006 },
1007 ];
1008 name: "NotImplemented";
1009 type: "error";
1010 },
1011 {
1012 inputs: readonly [];
1013 name: "NotInitialized";
1014 type: "error";
1015 },
1016 {
1017 inputs: readonly [
1018 {
1019 internalType: "address";
1020 name: "owner";
1021 type: "address";
1022 },
1023 ];
1024 name: "OwnerDoesNotExist";
1025 type: "error";
1026 },
1027];

Defined in: account-kit/smart-contracts/src/msca/plugins/multisig/plugin.ts:376