UpgradeableModularAccountAbi

1const UpgradeableModularAccountAbi: readonly [
2 {
3 inputs: readonly [
4 {
5 internalType: "contract IEntryPoint";
6 name: "anEntryPoint";
7 type: "address";
8 },
9 ];
10 stateMutability: "nonpayable";
11 type: "constructor";
12 },
13 {
14 stateMutability: "payable";
15 type: "fallback";
16 },
17 {
18 stateMutability: "payable";
19 type: "receive";
20 },
21 {
22 inputs: readonly [];
23 name: "entryPoint";
24 outputs: readonly [
25 {
26 internalType: "contract IEntryPoint";
27 name: "";
28 type: "address";
29 },
30 ];
31 stateMutability: "view";
32 type: "function";
33 },
34 {
35 inputs: readonly [
36 {
37 internalType: "address";
38 name: "target";
39 type: "address";
40 },
41 {
42 internalType: "uint256";
43 name: "value";
44 type: "uint256";
45 },
46 {
47 internalType: "bytes";
48 name: "data";
49 type: "bytes";
50 },
51 ];
52 name: "execute";
53 outputs: readonly [
54 {
55 internalType: "bytes";
56 name: "result";
57 type: "bytes";
58 },
59 ];
60 stateMutability: "payable";
61 type: "function";
62 },
63 {
64 inputs: readonly [
65 {
66 components: readonly [
67 {
68 internalType: "address";
69 name: "target";
70 type: "address";
71 },
72 {
73 internalType: "uint256";
74 name: "value";
75 type: "uint256";
76 },
77 {
78 internalType: "bytes";
79 name: "data";
80 type: "bytes";
81 },
82 ];
83 internalType: "struct Call[]";
84 name: "calls";
85 type: "tuple[]";
86 },
87 ];
88 name: "executeBatch";
89 outputs: readonly [
90 {
91 internalType: "bytes[]";
92 name: "results";
93 type: "bytes[]";
94 },
95 ];
96 stateMutability: "payable";
97 type: "function";
98 },
99 {
100 inputs: readonly [
101 {
102 internalType: "bytes";
103 name: "data";
104 type: "bytes";
105 },
106 ];
107 name: "executeFromPlugin";
108 outputs: readonly [
109 {
110 internalType: "bytes";
111 name: "returnData";
112 type: "bytes";
113 },
114 ];
115 stateMutability: "payable";
116 type: "function";
117 },
118 {
119 inputs: readonly [
120 {
121 internalType: "address";
122 name: "target";
123 type: "address";
124 },
125 {
126 internalType: "uint256";
127 name: "value";
128 type: "uint256";
129 },
130 {
131 internalType: "bytes";
132 name: "data";
133 type: "bytes";
134 },
135 ];
136 name: "executeFromPluginExternal";
137 outputs: readonly [
138 {
139 internalType: "bytes";
140 name: "";
141 type: "bytes";
142 },
143 ];
144 stateMutability: "payable";
145 type: "function";
146 },
147 {
148 inputs: readonly [
149 {
150 internalType: "bytes4";
151 name: "selector";
152 type: "bytes4";
153 },
154 ];
155 name: "getExecutionFunctionConfig";
156 outputs: readonly [
157 {
158 components: readonly [
159 {
160 internalType: "address";
161 name: "plugin";
162 type: "address";
163 },
164 {
165 internalType: "FunctionReference";
166 name: "userOpValidationFunction";
167 type: "bytes21";
168 },
169 {
170 internalType: "FunctionReference";
171 name: "runtimeValidationFunction";
172 type: "bytes21";
173 },
174 ];
175 internalType: "struct IAccountLoupe.ExecutionFunctionConfig";
176 name: "config";
177 type: "tuple";
178 },
179 ];
180 stateMutability: "view";
181 type: "function";
182 },
183 {
184 inputs: readonly [
185 {
186 internalType: "bytes4";
187 name: "selector";
188 type: "bytes4";
189 },
190 ];
191 name: "getExecutionHooks";
192 outputs: readonly [
193 {
194 components: readonly [
195 {
196 internalType: "FunctionReference";
197 name: "preExecHook";
198 type: "bytes21";
199 },
200 {
201 internalType: "FunctionReference";
202 name: "postExecHook";
203 type: "bytes21";
204 },
205 ];
206 internalType: "struct IAccountLoupe.ExecutionHooks[]";
207 name: "execHooks";
208 type: "tuple[]";
209 },
210 ];
211 stateMutability: "view";
212 type: "function";
213 },
214 {
215 inputs: readonly [];
216 name: "getInstalledPlugins";
217 outputs: readonly [
218 {
219 internalType: "address[]";
220 name: "pluginAddresses";
221 type: "address[]";
222 },
223 ];
224 stateMutability: "view";
225 type: "function";
226 },
227 {
228 inputs: readonly [];
229 name: "getNonce";
230 outputs: readonly [
231 {
232 internalType: "uint256";
233 name: "";
234 type: "uint256";
235 },
236 ];
237 stateMutability: "view";
238 type: "function";
239 },
240 {
241 inputs: readonly [
242 {
243 internalType: "bytes4";
244 name: "selector";
245 type: "bytes4";
246 },
247 ];
248 name: "getPreValidationHooks";
249 outputs: readonly [
250 {
251 internalType: "FunctionReference[]";
252 name: "preUserOpValidationHooks";
253 type: "bytes21[]";
254 },
255 {
256 internalType: "FunctionReference[]";
257 name: "preRuntimeValidationHooks";
258 type: "bytes21[]";
259 },
260 ];
261 stateMutability: "view";
262 type: "function";
263 },
264 {
265 inputs: readonly [
266 {
267 internalType: "address[]";
268 name: "plugins";
269 type: "address[]";
270 },
271 {
272 internalType: "bytes";
273 name: "pluginInitData";
274 type: "bytes";
275 },
276 ];
277 name: "initialize";
278 outputs: readonly [];
279 stateMutability: "nonpayable";
280 type: "function";
281 },
282 {
283 inputs: readonly [
284 {
285 internalType: "address";
286 name: "plugin";
287 type: "address";
288 },
289 {
290 internalType: "bytes32";
291 name: "manifestHash";
292 type: "bytes32";
293 },
294 {
295 internalType: "bytes";
296 name: "pluginInstallData";
297 type: "bytes";
298 },
299 {
300 internalType: "FunctionReference[]";
301 name: "dependencies";
302 type: "bytes21[]";
303 },
304 ];
305 name: "installPlugin";
306 outputs: readonly [];
307 stateMutability: "nonpayable";
308 type: "function";
309 },
310 {
311 inputs: readonly [
312 {
313 internalType: "address";
314 name: "operator";
315 type: "address";
316 },
317 {
318 internalType: "address";
319 name: "from";
320 type: "address";
321 },
322 {
323 internalType: "uint256[]";
324 name: "ids";
325 type: "uint256[]";
326 },
327 {
328 internalType: "uint256[]";
329 name: "values";
330 type: "uint256[]";
331 },
332 {
333 internalType: "bytes";
334 name: "data";
335 type: "bytes";
336 },
337 ];
338 name: "onERC1155BatchReceived";
339 outputs: readonly [
340 {
341 internalType: "bytes4";
342 name: "selector";
343 type: "bytes4";
344 },
345 ];
346 stateMutability: "nonpayable";
347 type: "function";
348 },
349 {
350 inputs: readonly [
351 {
352 internalType: "address";
353 name: "operator";
354 type: "address";
355 },
356 {
357 internalType: "address";
358 name: "from";
359 type: "address";
360 },
361 {
362 internalType: "uint256";
363 name: "id";
364 type: "uint256";
365 },
366 {
367 internalType: "uint256";
368 name: "value";
369 type: "uint256";
370 },
371 {
372 internalType: "bytes";
373 name: "data";
374 type: "bytes";
375 },
376 ];
377 name: "onERC1155Received";
378 outputs: readonly [
379 {
380 internalType: "bytes4";
381 name: "selector";
382 type: "bytes4";
383 },
384 ];
385 stateMutability: "nonpayable";
386 type: "function";
387 },
388 {
389 inputs: readonly [
390 {
391 internalType: "address";
392 name: "operator";
393 type: "address";
394 },
395 {
396 internalType: "address";
397 name: "from";
398 type: "address";
399 },
400 {
401 internalType: "uint256";
402 name: "tokenId";
403 type: "uint256";
404 },
405 {
406 internalType: "bytes";
407 name: "data";
408 type: "bytes";
409 },
410 ];
411 name: "onERC721Received";
412 outputs: readonly [
413 {
414 internalType: "bytes4";
415 name: "selector";
416 type: "bytes4";
417 },
418 ];
419 stateMutability: "nonpayable";
420 type: "function";
421 },
422 {
423 inputs: readonly [];
424 name: "proxiableUUID";
425 outputs: readonly [
426 {
427 internalType: "bytes32";
428 name: "";
429 type: "bytes32";
430 },
431 ];
432 stateMutability: "view";
433 type: "function";
434 },
435 {
436 inputs: readonly [
437 {
438 internalType: "bytes4";
439 name: "interfaceId";
440 type: "bytes4";
441 },
442 ];
443 name: "supportsInterface";
444 outputs: readonly [
445 {
446 internalType: "bool";
447 name: "";
448 type: "bool";
449 },
450 ];
451 stateMutability: "view";
452 type: "function";
453 },
454 {
455 inputs: readonly [
456 {
457 internalType: "address";
458 name: "operator";
459 type: "address";
460 },
461 {
462 internalType: "address";
463 name: "from";
464 type: "address";
465 },
466 {
467 internalType: "address";
468 name: "to";
469 type: "address";
470 },
471 {
472 internalType: "uint256";
473 name: "amount";
474 type: "uint256";
475 },
476 {
477 internalType: "bytes";
478 name: "userData";
479 type: "bytes";
480 },
481 {
482 internalType: "bytes";
483 name: "operatorData";
484 type: "bytes";
485 },
486 ];
487 name: "tokensReceived";
488 outputs: readonly [];
489 stateMutability: "nonpayable";
490 type: "function";
491 },
492 {
493 inputs: readonly [
494 {
495 internalType: "address";
496 name: "plugin";
497 type: "address";
498 },
499 {
500 internalType: "bytes";
501 name: "config";
502 type: "bytes";
503 },
504 {
505 internalType: "bytes";
506 name: "pluginUninstallData";
507 type: "bytes";
508 },
509 ];
510 name: "uninstallPlugin";
511 outputs: readonly [];
512 stateMutability: "nonpayable";
513 type: "function";
514 },
515 {
516 inputs: readonly [
517 {
518 internalType: "address";
519 name: "newImplementation";
520 type: "address";
521 },
522 {
523 internalType: "bytes";
524 name: "data";
525 type: "bytes";
526 },
527 ];
528 name: "upgradeToAndCall";
529 outputs: readonly [];
530 stateMutability: "payable";
531 type: "function";
532 },
533 {
534 inputs: readonly [
535 {
536 components: readonly [
537 {
538 internalType: "address";
539 name: "sender";
540 type: "address";
541 },
542 {
543 internalType: "uint256";
544 name: "nonce";
545 type: "uint256";
546 },
547 {
548 internalType: "bytes";
549 name: "initCode";
550 type: "bytes";
551 },
552 {
553 internalType: "bytes";
554 name: "callData";
555 type: "bytes";
556 },
557 {
558 internalType: "uint256";
559 name: "callGasLimit";
560 type: "uint256";
561 },
562 {
563 internalType: "uint256";
564 name: "verificationGasLimit";
565 type: "uint256";
566 },
567 {
568 internalType: "uint256";
569 name: "preVerificationGas";
570 type: "uint256";
571 },
572 {
573 internalType: "uint256";
574 name: "maxFeePerGas";
575 type: "uint256";
576 },
577 {
578 internalType: "uint256";
579 name: "maxPriorityFeePerGas";
580 type: "uint256";
581 },
582 {
583 internalType: "bytes";
584 name: "paymasterAndData";
585 type: "bytes";
586 },
587 {
588 internalType: "bytes";
589 name: "signature";
590 type: "bytes";
591 },
592 ];
593 internalType: "struct UserOperation";
594 name: "userOp";
595 type: "tuple";
596 },
597 {
598 internalType: "bytes32";
599 name: "userOpHash";
600 type: "bytes32";
601 },
602 {
603 internalType: "uint256";
604 name: "missingAccountFunds";
605 type: "uint256";
606 },
607 ];
608 name: "validateUserOp";
609 outputs: readonly [
610 {
611 internalType: "uint256";
612 name: "validationData";
613 type: "uint256";
614 },
615 ];
616 stateMutability: "nonpayable";
617 type: "function";
618 },
619 {
620 anonymous: false;
621 inputs: readonly [
622 {
623 indexed: true;
624 internalType: "contract IEntryPoint";
625 name: "entryPoint";
626 type: "address";
627 },
628 ];
629 name: "ModularAccountInitialized";
630 type: "event";
631 },
632 {
633 anonymous: false;
634 inputs: readonly [
635 {
636 indexed: true;
637 internalType: "address";
638 name: "plugin";
639 type: "address";
640 },
641 {
642 indexed: false;
643 internalType: "bytes32";
644 name: "manifestHash";
645 type: "bytes32";
646 },
647 {
648 indexed: false;
649 internalType: "FunctionReference[]";
650 name: "dependencies";
651 type: "bytes21[]";
652 },
653 ];
654 name: "PluginInstalled";
655 type: "event";
656 },
657 {
658 anonymous: false;
659 inputs: readonly [
660 {
661 indexed: true;
662 internalType: "address";
663 name: "plugin";
664 type: "address";
665 },
666 {
667 indexed: true;
668 internalType: "bool";
669 name: "onUninstallSucceeded";
670 type: "bool";
671 },
672 ];
673 name: "PluginUninstalled";
674 type: "event";
675 },
676 {
677 anonymous: false;
678 inputs: readonly [
679 {
680 indexed: true;
681 internalType: "address";
682 name: "implementation";
683 type: "address";
684 },
685 ];
686 name: "Upgraded";
687 type: "event";
688 },
689 {
690 inputs: readonly [];
691 name: "AlreadyInitialized";
692 type: "error";
693 },
694 {
695 inputs: readonly [];
696 name: "AlreadyInitializing";
697 type: "error";
698 },
699 {
700 inputs: readonly [];
701 name: "AlwaysDenyRule";
702 type: "error";
703 },
704 {
705 inputs: readonly [];
706 name: "ArrayLengthMismatch";
707 type: "error";
708 },
709 {
710 inputs: readonly [
711 {
712 internalType: "bytes4";
713 name: "selector";
714 type: "bytes4";
715 },
716 {
717 internalType: "FunctionReference";
718 name: "hook";
719 type: "bytes21";
720 },
721 ];
722 name: "DuplicateHookLimitExceeded";
723 type: "error";
724 },
725 {
726 inputs: readonly [
727 {
728 internalType: "bytes4";
729 name: "selector";
730 type: "bytes4";
731 },
732 {
733 internalType: "FunctionReference";
734 name: "hook";
735 type: "bytes21";
736 },
737 ];
738 name: "DuplicatePreRuntimeValidationHookLimitExceeded";
739 type: "error";
740 },
741 {
742 inputs: readonly [
743 {
744 internalType: "bytes4";
745 name: "selector";
746 type: "bytes4";
747 },
748 {
749 internalType: "FunctionReference";
750 name: "hook";
751 type: "bytes21";
752 },
753 ];
754 name: "DuplicatePreUserOpValidationHookLimitExceeded";
755 type: "error";
756 },
757 {
758 inputs: readonly [
759 {
760 internalType: "bytes4";
761 name: "selector";
762 type: "bytes4";
763 },
764 ];
765 name: "Erc4337FunctionNotAllowed";
766 type: "error";
767 },
768 {
769 inputs: readonly [
770 {
771 internalType: "address";
772 name: "plugin";
773 type: "address";
774 },
775 {
776 internalType: "address";
777 name: "target";
778 type: "address";
779 },
780 {
781 internalType: "uint256";
782 name: "value";
783 type: "uint256";
784 },
785 {
786 internalType: "bytes";
787 name: "data";
788 type: "bytes";
789 },
790 ];
791 name: "ExecFromPluginExternalNotPermitted";
792 type: "error";
793 },
794 {
795 inputs: readonly [
796 {
797 internalType: "address";
798 name: "plugin";
799 type: "address";
800 },
801 {
802 internalType: "bytes4";
803 name: "selector";
804 type: "bytes4";
805 },
806 ];
807 name: "ExecFromPluginNotPermitted";
808 type: "error";
809 },
810 {
811 inputs: readonly [
812 {
813 internalType: "bytes4";
814 name: "selector";
815 type: "bytes4";
816 },
817 ];
818 name: "ExecutionFunctionAlreadySet";
819 type: "error";
820 },
821 {
822 inputs: readonly [
823 {
824 internalType: "bytes4";
825 name: "selector";
826 type: "bytes4";
827 },
828 ];
829 name: "IPluginFunctionNotAllowed";
830 type: "error";
831 },
832 {
833 inputs: readonly [];
834 name: "InterfaceNotAllowed";
835 type: "error";
836 },
837 {
838 inputs: readonly [];
839 name: "InvalidDependenciesProvided";
840 type: "error";
841 },
842 {
843 inputs: readonly [];
844 name: "InvalidPluginManifest";
845 type: "error";
846 },
847 {
848 inputs: readonly [
849 {
850 internalType: "address";
851 name: "dependency";
852 type: "address";
853 },
854 ];
855 name: "MissingPluginDependency";
856 type: "error";
857 },
858 {
859 inputs: readonly [
860 {
861 internalType: "bytes4";
862 name: "selector";
863 type: "bytes4";
864 },
865 ];
866 name: "NativeFunctionNotAllowed";
867 type: "error";
868 },
869 {
870 inputs: readonly [
871 {
872 internalType: "address";
873 name: "plugin";
874 type: "address";
875 },
876 ];
877 name: "NativeTokenSpendingNotPermitted";
878 type: "error";
879 },
880 {
881 inputs: readonly [];
882 name: "NullFunctionReference";
883 type: "error";
884 },
885 {
886 inputs: readonly [
887 {
888 internalType: "address";
889 name: "plugin";
890 type: "address";
891 },
892 ];
893 name: "PluginAlreadyInstalled";
894 type: "error";
895 },
896 {
897 inputs: readonly [
898 {
899 internalType: "address";
900 name: "plugin";
901 type: "address";
902 },
903 ];
904 name: "PluginCallDenied";
905 type: "error";
906 },
907 {
908 inputs: readonly [
909 {
910 internalType: "address";
911 name: "plugin";
912 type: "address";
913 },
914 ];
915 name: "PluginDependencyViolation";
916 type: "error";
917 },
918 {
919 inputs: readonly [
920 {
921 internalType: "address";
922 name: "plugin";
923 type: "address";
924 },
925 {
926 internalType: "bytes";
927 name: "revertReason";
928 type: "bytes";
929 },
930 ];
931 name: "PluginInstallCallbackFailed";
932 type: "error";
933 },
934 {
935 inputs: readonly [
936 {
937 internalType: "address";
938 name: "plugin";
939 type: "address";
940 },
941 ];
942 name: "PluginInterfaceNotSupported";
943 type: "error";
944 },
945 {
946 inputs: readonly [
947 {
948 internalType: "address";
949 name: "plugin";
950 type: "address";
951 },
952 ];
953 name: "PluginNotInstalled";
954 type: "error";
955 },
956 {
957 inputs: readonly [
958 {
959 internalType: "address";
960 name: "plugin";
961 type: "address";
962 },
963 {
964 internalType: "bytes";
965 name: "revertReason";
966 type: "bytes";
967 },
968 ];
969 name: "PluginUninstallCallbackFailed";
970 type: "error";
971 },
972 {
973 inputs: readonly [
974 {
975 internalType: "address";
976 name: "plugin";
977 type: "address";
978 },
979 {
980 internalType: "uint8";
981 name: "functionId";
982 type: "uint8";
983 },
984 {
985 internalType: "bytes";
986 name: "revertReason";
987 type: "bytes";
988 },
989 ];
990 name: "PostExecHookReverted";
991 type: "error";
992 },
993 {
994 inputs: readonly [
995 {
996 internalType: "address";
997 name: "plugin";
998 type: "address";
999 },
1000 {
1001 internalType: "uint8";
1002 name: "functionId";
1003 type: "uint8";
1004 },
1005 {
1006 internalType: "bytes";
1007 name: "revertReason";
1008 type: "bytes";
1009 },
1010 ];
1011 name: "PreExecHookReverted";
1012 type: "error";
1013 },
1014 {
1015 inputs: readonly [
1016 {
1017 internalType: "address";
1018 name: "plugin";
1019 type: "address";
1020 },
1021 {
1022 internalType: "uint8";
1023 name: "functionId";
1024 type: "uint8";
1025 },
1026 {
1027 internalType: "bytes";
1028 name: "revertReason";
1029 type: "bytes";
1030 },
1031 ];
1032 name: "PreRuntimeValidationHookFailed";
1033 type: "error";
1034 },
1035 {
1036 inputs: readonly [
1037 {
1038 internalType: "bytes4";
1039 name: "selector";
1040 type: "bytes4";
1041 },
1042 {
1043 internalType: "FunctionReference";
1044 name: "validationFunction";
1045 type: "bytes21";
1046 },
1047 ];
1048 name: "RuntimeValidationFunctionAlreadySet";
1049 type: "error";
1050 },
1051 {
1052 inputs: readonly [
1053 {
1054 internalType: "bytes4";
1055 name: "selector";
1056 type: "bytes4";
1057 },
1058 ];
1059 name: "RuntimeValidationFunctionMissing";
1060 type: "error";
1061 },
1062 {
1063 inputs: readonly [
1064 {
1065 internalType: "address";
1066 name: "plugin";
1067 type: "address";
1068 },
1069 {
1070 internalType: "uint8";
1071 name: "functionId";
1072 type: "uint8";
1073 },
1074 {
1075 internalType: "bytes";
1076 name: "revertReason";
1077 type: "bytes";
1078 },
1079 ];
1080 name: "RuntimeValidationFunctionReverted";
1081 type: "error";
1082 },
1083 {
1084 inputs: readonly [];
1085 name: "UnauthorizedCallContext";
1086 type: "error";
1087 },
1088 {
1089 inputs: readonly [
1090 {
1091 internalType: "address";
1092 name: "plugin";
1093 type: "address";
1094 },
1095 {
1096 internalType: "uint8";
1097 name: "functionId";
1098 type: "uint8";
1099 },
1100 {
1101 internalType: "address";
1102 name: "aggregator";
1103 type: "address";
1104 },
1105 ];
1106 name: "UnexpectedAggregator";
1107 type: "error";
1108 },
1109 {
1110 inputs: readonly [
1111 {
1112 internalType: "bytes4";
1113 name: "selector";
1114 type: "bytes4";
1115 },
1116 ];
1117 name: "UnrecognizedFunction";
1118 type: "error";
1119 },
1120 {
1121 inputs: readonly [];
1122 name: "UpgradeFailed";
1123 type: "error";
1124 },
1125 {
1126 inputs: readonly [];
1127 name: "UserOpNotFromEntryPoint";
1128 type: "error";
1129 },
1130 {
1131 inputs: readonly [
1132 {
1133 internalType: "bytes4";
1134 name: "selector";
1135 type: "bytes4";
1136 },
1137 {
1138 internalType: "FunctionReference";
1139 name: "validationFunction";
1140 type: "bytes21";
1141 },
1142 ];
1143 name: "UserOpValidationFunctionAlreadySet";
1144 type: "error";
1145 },
1146 {
1147 inputs: readonly [
1148 {
1149 internalType: "bytes4";
1150 name: "selector";
1151 type: "bytes4";
1152 },
1153 ];
1154 name: "UserOpValidationFunctionMissing";
1155 type: "error";
1156 },
1157];

Defined in: account-kit/smart-contracts/src/msca/abis/UpgradeableModularAccount.ts:1