SessionKeyPluginAbi

1const SessionKeyPluginAbi: readonly [
2 {
3 inputs: readonly [
4 {
5 internalType: "address";
6 name: "sessionKey";
7 type: "address";
8 },
9 {
10 internalType: "bytes32";
11 name: "tag";
12 type: "bytes32";
13 },
14 {
15 internalType: "bytes[]";
16 name: "permissionUpdates";
17 type: "bytes[]";
18 },
19 ];
20 name: "addSessionKey";
21 outputs: readonly [];
22 stateMutability: "nonpayable";
23 type: "function";
24 },
25 {
26 inputs: readonly [
27 {
28 components: readonly [
29 {
30 internalType: "address";
31 name: "target";
32 type: "address";
33 },
34 {
35 internalType: "uint256";
36 name: "value";
37 type: "uint256";
38 },
39 {
40 internalType: "bytes";
41 name: "data";
42 type: "bytes";
43 },
44 ];
45 internalType: "struct Call[]";
46 name: "calls";
47 type: "tuple[]";
48 },
49 {
50 internalType: "address";
51 name: "sessionKey";
52 type: "address";
53 },
54 ];
55 name: "executeWithSessionKey";
56 outputs: readonly [
57 {
58 internalType: "bytes[]";
59 name: "";
60 type: "bytes[]";
61 },
62 ];
63 stateMutability: "nonpayable";
64 type: "function";
65 },
66 {
67 inputs: readonly [
68 {
69 internalType: "address";
70 name: "account";
71 type: "address";
72 },
73 {
74 internalType: "address";
75 name: "sessionKey";
76 type: "address";
77 },
78 ];
79 name: "findPredecessor";
80 outputs: readonly [
81 {
82 internalType: "bytes32";
83 name: "";
84 type: "bytes32";
85 },
86 ];
87 stateMutability: "view";
88 type: "function";
89 },
90 {
91 inputs: readonly [
92 {
93 internalType: "address";
94 name: "account";
95 type: "address";
96 },
97 {
98 internalType: "address";
99 name: "sessionKey";
100 type: "address";
101 },
102 {
103 internalType: "address";
104 name: "contractAddress";
105 type: "address";
106 },
107 ];
108 name: "getAccessControlEntry";
109 outputs: readonly [
110 {
111 internalType: "bool";
112 name: "isOnList";
113 type: "bool";
114 },
115 {
116 internalType: "bool";
117 name: "checkSelectors";
118 type: "bool";
119 },
120 ];
121 stateMutability: "view";
122 type: "function";
123 },
124 {
125 inputs: readonly [
126 {
127 internalType: "address";
128 name: "account";
129 type: "address";
130 },
131 {
132 internalType: "address";
133 name: "sessionKey";
134 type: "address";
135 },
136 ];
137 name: "getAccessControlType";
138 outputs: readonly [
139 {
140 internalType: "enum ISessionKeyPlugin.ContractAccessControlType";
141 name: "";
142 type: "uint8";
143 },
144 ];
145 stateMutability: "view";
146 type: "function";
147 },
148 {
149 inputs: readonly [
150 {
151 internalType: "address";
152 name: "account";
153 type: "address";
154 },
155 {
156 internalType: "address";
157 name: "sessionKey";
158 type: "address";
159 },
160 {
161 internalType: "address";
162 name: "token";
163 type: "address";
164 },
165 ];
166 name: "getERC20SpendLimitInfo";
167 outputs: readonly [
168 {
169 components: readonly [
170 {
171 internalType: "bool";
172 name: "hasLimit";
173 type: "bool";
174 },
175 {
176 internalType: "uint256";
177 name: "limit";
178 type: "uint256";
179 },
180 {
181 internalType: "uint256";
182 name: "limitUsed";
183 type: "uint256";
184 },
185 {
186 internalType: "uint48";
187 name: "refreshInterval";
188 type: "uint48";
189 },
190 {
191 internalType: "uint48";
192 name: "lastUsedTime";
193 type: "uint48";
194 },
195 ];
196 internalType: "struct ISessionKeyPlugin.SpendLimitInfo";
197 name: "";
198 type: "tuple";
199 },
200 ];
201 stateMutability: "view";
202 type: "function";
203 },
204 {
205 inputs: readonly [
206 {
207 internalType: "address";
208 name: "account";
209 type: "address";
210 },
211 {
212 internalType: "address";
213 name: "sessionKey";
214 type: "address";
215 },
216 ];
217 name: "getGasSpendLimit";
218 outputs: readonly [
219 {
220 components: readonly [
221 {
222 internalType: "bool";
223 name: "hasLimit";
224 type: "bool";
225 },
226 {
227 internalType: "uint256";
228 name: "limit";
229 type: "uint256";
230 },
231 {
232 internalType: "uint256";
233 name: "limitUsed";
234 type: "uint256";
235 },
236 {
237 internalType: "uint48";
238 name: "refreshInterval";
239 type: "uint48";
240 },
241 {
242 internalType: "uint48";
243 name: "lastUsedTime";
244 type: "uint48";
245 },
246 ];
247 internalType: "struct ISessionKeyPlugin.SpendLimitInfo";
248 name: "info";
249 type: "tuple";
250 },
251 {
252 internalType: "bool";
253 name: "shouldReset";
254 type: "bool";
255 },
256 ];
257 stateMutability: "view";
258 type: "function";
259 },
260 {
261 inputs: readonly [
262 {
263 internalType: "address";
264 name: "account";
265 type: "address";
266 },
267 {
268 internalType: "address";
269 name: "sessionKey";
270 type: "address";
271 },
272 ];
273 name: "getKeyTimeRange";
274 outputs: readonly [
275 {
276 internalType: "uint48";
277 name: "validAfter";
278 type: "uint48";
279 },
280 {
281 internalType: "uint48";
282 name: "validUntil";
283 type: "uint48";
284 },
285 ];
286 stateMutability: "view";
287 type: "function";
288 },
289 {
290 inputs: readonly [
291 {
292 internalType: "address";
293 name: "account";
294 type: "address";
295 },
296 {
297 internalType: "address";
298 name: "sessionKey";
299 type: "address";
300 },
301 ];
302 name: "getNativeTokenSpendLimitInfo";
303 outputs: readonly [
304 {
305 components: readonly [
306 {
307 internalType: "bool";
308 name: "hasLimit";
309 type: "bool";
310 },
311 {
312 internalType: "uint256";
313 name: "limit";
314 type: "uint256";
315 },
316 {
317 internalType: "uint256";
318 name: "limitUsed";
319 type: "uint256";
320 },
321 {
322 internalType: "uint48";
323 name: "refreshInterval";
324 type: "uint48";
325 },
326 {
327 internalType: "uint48";
328 name: "lastUsedTime";
329 type: "uint48";
330 },
331 ];
332 internalType: "struct ISessionKeyPlugin.SpendLimitInfo";
333 name: "info";
334 type: "tuple";
335 },
336 ];
337 stateMutability: "view";
338 type: "function";
339 },
340 {
341 inputs: readonly [
342 {
343 internalType: "address";
344 name: "account";
345 type: "address";
346 },
347 {
348 internalType: "address";
349 name: "sessionKey";
350 type: "address";
351 },
352 ];
353 name: "getRequiredPaymaster";
354 outputs: readonly [
355 {
356 internalType: "address";
357 name: "";
358 type: "address";
359 },
360 ];
361 stateMutability: "view";
362 type: "function";
363 },
364 {
365 inputs: readonly [
366 {
367 internalType: "address";
368 name: "account";
369 type: "address";
370 },
371 {
372 internalType: "address";
373 name: "sessionKey";
374 type: "address";
375 },
376 {
377 internalType: "address";
378 name: "contractAddress";
379 type: "address";
380 },
381 {
382 internalType: "bytes4";
383 name: "selector";
384 type: "bytes4";
385 },
386 ];
387 name: "isSelectorOnAccessControlList";
388 outputs: readonly [
389 {
390 internalType: "bool";
391 name: "isOnList";
392 type: "bool";
393 },
394 ];
395 stateMutability: "view";
396 type: "function";
397 },
398 {
399 inputs: readonly [
400 {
401 internalType: "address";
402 name: "account";
403 type: "address";
404 },
405 {
406 internalType: "address";
407 name: "sessionKey";
408 type: "address";
409 },
410 ];
411 name: "isSessionKeyOf";
412 outputs: readonly [
413 {
414 internalType: "bool";
415 name: "";
416 type: "bool";
417 },
418 ];
419 stateMutability: "view";
420 type: "function";
421 },
422 {
423 inputs: readonly [
424 {
425 internalType: "bytes";
426 name: "data";
427 type: "bytes";
428 },
429 ];
430 name: "onInstall";
431 outputs: readonly [];
432 stateMutability: "nonpayable";
433 type: "function";
434 },
435 {
436 inputs: readonly [
437 {
438 internalType: "bytes";
439 name: "";
440 type: "bytes";
441 },
442 ];
443 name: "onUninstall";
444 outputs: readonly [];
445 stateMutability: "nonpayable";
446 type: "function";
447 },
448 {
449 inputs: readonly [];
450 name: "pluginManifest";
451 outputs: readonly [
452 {
453 components: readonly [
454 {
455 internalType: "bytes4[]";
456 name: "interfaceIds";
457 type: "bytes4[]";
458 },
459 {
460 internalType: "bytes4[]";
461 name: "dependencyInterfaceIds";
462 type: "bytes4[]";
463 },
464 {
465 internalType: "bytes4[]";
466 name: "executionFunctions";
467 type: "bytes4[]";
468 },
469 {
470 internalType: "bytes4[]";
471 name: "permittedExecutionSelectors";
472 type: "bytes4[]";
473 },
474 {
475 internalType: "bool";
476 name: "permitAnyExternalAddress";
477 type: "bool";
478 },
479 {
480 internalType: "bool";
481 name: "canSpendNativeToken";
482 type: "bool";
483 },
484 {
485 components: readonly [
486 {
487 internalType: "address";
488 name: "externalAddress";
489 type: "address";
490 },
491 {
492 internalType: "bool";
493 name: "permitAnySelector";
494 type: "bool";
495 },
496 {
497 internalType: "bytes4[]";
498 name: "selectors";
499 type: "bytes4[]";
500 },
501 ];
502 internalType: "struct ManifestExternalCallPermission[]";
503 name: "permittedExternalCalls";
504 type: "tuple[]";
505 },
506 {
507 components: readonly [
508 {
509 internalType: "bytes4";
510 name: "executionSelector";
511 type: "bytes4";
512 },
513 {
514 components: readonly [
515 {
516 internalType: "enum ManifestAssociatedFunctionType";
517 name: "functionType";
518 type: "uint8";
519 },
520 {
521 internalType: "uint8";
522 name: "functionId";
523 type: "uint8";
524 },
525 {
526 internalType: "uint256";
527 name: "dependencyIndex";
528 type: "uint256";
529 },
530 ];
531 internalType: "struct ManifestFunction";
532 name: "associatedFunction";
533 type: "tuple";
534 },
535 ];
536 internalType: "struct ManifestAssociatedFunction[]";
537 name: "userOpValidationFunctions";
538 type: "tuple[]";
539 },
540 {
541 components: readonly [
542 {
543 internalType: "bytes4";
544 name: "executionSelector";
545 type: "bytes4";
546 },
547 {
548 components: readonly [
549 {
550 internalType: "enum ManifestAssociatedFunctionType";
551 name: "functionType";
552 type: "uint8";
553 },
554 {
555 internalType: "uint8";
556 name: "functionId";
557 type: "uint8";
558 },
559 {
560 internalType: "uint256";
561 name: "dependencyIndex";
562 type: "uint256";
563 },
564 ];
565 internalType: "struct ManifestFunction";
566 name: "associatedFunction";
567 type: "tuple";
568 },
569 ];
570 internalType: "struct ManifestAssociatedFunction[]";
571 name: "runtimeValidationFunctions";
572 type: "tuple[]";
573 },
574 {
575 components: readonly [
576 {
577 internalType: "bytes4";
578 name: "executionSelector";
579 type: "bytes4";
580 },
581 {
582 components: readonly [
583 {
584 internalType: "enum ManifestAssociatedFunctionType";
585 name: "functionType";
586 type: "uint8";
587 },
588 {
589 internalType: "uint8";
590 name: "functionId";
591 type: "uint8";
592 },
593 {
594 internalType: "uint256";
595 name: "dependencyIndex";
596 type: "uint256";
597 },
598 ];
599 internalType: "struct ManifestFunction";
600 name: "associatedFunction";
601 type: "tuple";
602 },
603 ];
604 internalType: "struct ManifestAssociatedFunction[]";
605 name: "preUserOpValidationHooks";
606 type: "tuple[]";
607 },
608 {
609 components: readonly [
610 {
611 internalType: "bytes4";
612 name: "executionSelector";
613 type: "bytes4";
614 },
615 {
616 components: readonly [
617 {
618 internalType: "enum ManifestAssociatedFunctionType";
619 name: "functionType";
620 type: "uint8";
621 },
622 {
623 internalType: "uint8";
624 name: "functionId";
625 type: "uint8";
626 },
627 {
628 internalType: "uint256";
629 name: "dependencyIndex";
630 type: "uint256";
631 },
632 ];
633 internalType: "struct ManifestFunction";
634 name: "associatedFunction";
635 type: "tuple";
636 },
637 ];
638 internalType: "struct ManifestAssociatedFunction[]";
639 name: "preRuntimeValidationHooks";
640 type: "tuple[]";
641 },
642 {
643 components: readonly [
644 {
645 internalType: "bytes4";
646 name: "executionSelector";
647 type: "bytes4";
648 },
649 {
650 components: readonly [
651 {
652 internalType: "enum ManifestAssociatedFunctionType";
653 name: "functionType";
654 type: "uint8";
655 },
656 {
657 internalType: "uint8";
658 name: "functionId";
659 type: "uint8";
660 },
661 {
662 internalType: "uint256";
663 name: "dependencyIndex";
664 type: "uint256";
665 },
666 ];
667 internalType: "struct ManifestFunction";
668 name: "preExecHook";
669 type: "tuple";
670 },
671 {
672 components: readonly [
673 {
674 internalType: "enum ManifestAssociatedFunctionType";
675 name: "functionType";
676 type: "uint8";
677 },
678 {
679 internalType: "uint8";
680 name: "functionId";
681 type: "uint8";
682 },
683 {
684 internalType: "uint256";
685 name: "dependencyIndex";
686 type: "uint256";
687 },
688 ];
689 internalType: "struct ManifestFunction";
690 name: "postExecHook";
691 type: "tuple";
692 },
693 ];
694 internalType: "struct ManifestExecutionHook[]";
695 name: "executionHooks";
696 type: "tuple[]";
697 },
698 ];
699 internalType: "struct PluginManifest";
700 name: "";
701 type: "tuple";
702 },
703 ];
704 stateMutability: "pure";
705 type: "function";
706 },
707 {
708 inputs: readonly [];
709 name: "pluginMetadata";
710 outputs: readonly [
711 {
712 components: readonly [
713 {
714 internalType: "string";
715 name: "name";
716 type: "string";
717 },
718 {
719 internalType: "string";
720 name: "version";
721 type: "string";
722 },
723 {
724 internalType: "string";
725 name: "author";
726 type: "string";
727 },
728 {
729 components: readonly [
730 {
731 internalType: "bytes4";
732 name: "functionSelector";
733 type: "bytes4";
734 },
735 {
736 internalType: "string";
737 name: "permissionDescription";
738 type: "string";
739 },
740 ];
741 internalType: "struct SelectorPermission[]";
742 name: "permissionDescriptors";
743 type: "tuple[]";
744 },
745 ];
746 internalType: "struct PluginMetadata";
747 name: "";
748 type: "tuple";
749 },
750 ];
751 stateMutability: "pure";
752 type: "function";
753 },
754 {
755 inputs: readonly [
756 {
757 internalType: "uint8";
758 name: "functionId";
759 type: "uint8";
760 },
761 {
762 internalType: "bytes";
763 name: "preExecHookData";
764 type: "bytes";
765 },
766 ];
767 name: "postExecutionHook";
768 outputs: readonly [];
769 stateMutability: "nonpayable";
770 type: "function";
771 },
772 {
773 inputs: readonly [
774 {
775 internalType: "uint8";
776 name: "functionId";
777 type: "uint8";
778 },
779 {
780 internalType: "address";
781 name: "sender";
782 type: "address";
783 },
784 {
785 internalType: "uint256";
786 name: "value";
787 type: "uint256";
788 },
789 {
790 internalType: "bytes";
791 name: "data";
792 type: "bytes";
793 },
794 ];
795 name: "preExecutionHook";
796 outputs: readonly [
797 {
798 internalType: "bytes";
799 name: "";
800 type: "bytes";
801 },
802 ];
803 stateMutability: "nonpayable";
804 type: "function";
805 },
806 {
807 inputs: readonly [
808 {
809 internalType: "uint8";
810 name: "functionId";
811 type: "uint8";
812 },
813 {
814 internalType: "address";
815 name: "sender";
816 type: "address";
817 },
818 {
819 internalType: "uint256";
820 name: "value";
821 type: "uint256";
822 },
823 {
824 internalType: "bytes";
825 name: "data";
826 type: "bytes";
827 },
828 ];
829 name: "preRuntimeValidationHook";
830 outputs: readonly [];
831 stateMutability: "nonpayable";
832 type: "function";
833 },
834 {
835 inputs: readonly [
836 {
837 internalType: "uint8";
838 name: "functionId";
839 type: "uint8";
840 },
841 {
842 components: readonly [
843 {
844 internalType: "address";
845 name: "sender";
846 type: "address";
847 },
848 {
849 internalType: "uint256";
850 name: "nonce";
851 type: "uint256";
852 },
853 {
854 internalType: "bytes";
855 name: "initCode";
856 type: "bytes";
857 },
858 {
859 internalType: "bytes";
860 name: "callData";
861 type: "bytes";
862 },
863 {
864 internalType: "uint256";
865 name: "callGasLimit";
866 type: "uint256";
867 },
868 {
869 internalType: "uint256";
870 name: "verificationGasLimit";
871 type: "uint256";
872 },
873 {
874 internalType: "uint256";
875 name: "preVerificationGas";
876 type: "uint256";
877 },
878 {
879 internalType: "uint256";
880 name: "maxFeePerGas";
881 type: "uint256";
882 },
883 {
884 internalType: "uint256";
885 name: "maxPriorityFeePerGas";
886 type: "uint256";
887 },
888 {
889 internalType: "bytes";
890 name: "paymasterAndData";
891 type: "bytes";
892 },
893 {
894 internalType: "bytes";
895 name: "signature";
896 type: "bytes";
897 },
898 ];
899 internalType: "struct UserOperation";
900 name: "userOp";
901 type: "tuple";
902 },
903 {
904 internalType: "bytes32";
905 name: "userOpHash";
906 type: "bytes32";
907 },
908 ];
909 name: "preUserOpValidationHook";
910 outputs: readonly [
911 {
912 internalType: "uint256";
913 name: "";
914 type: "uint256";
915 },
916 ];
917 stateMutability: "nonpayable";
918 type: "function";
919 },
920 {
921 inputs: readonly [
922 {
923 internalType: "address";
924 name: "sessionKey";
925 type: "address";
926 },
927 {
928 internalType: "bytes32";
929 name: "predecessor";
930 type: "bytes32";
931 },
932 ];
933 name: "removeSessionKey";
934 outputs: readonly [];
935 stateMutability: "nonpayable";
936 type: "function";
937 },
938 {
939 inputs: readonly [
940 {
941 internalType: "address";
942 name: "account";
943 type: "address";
944 },
945 {
946 internalType: "address";
947 name: "sessionKey";
948 type: "address";
949 },
950 ];
951 name: "resetSessionKeyGasLimitTimestamp";
952 outputs: readonly [];
953 stateMutability: "nonpayable";
954 type: "function";
955 },
956 {
957 inputs: readonly [
958 {
959 internalType: "address";
960 name: "oldSessionKey";
961 type: "address";
962 },
963 {
964 internalType: "bytes32";
965 name: "predecessor";
966 type: "bytes32";
967 },
968 {
969 internalType: "address";
970 name: "newSessionKey";
971 type: "address";
972 },
973 ];
974 name: "rotateSessionKey";
975 outputs: readonly [];
976 stateMutability: "nonpayable";
977 type: "function";
978 },
979 {
980 inputs: readonly [
981 {
982 internalType: "uint8";
983 name: "functionId";
984 type: "uint8";
985 },
986 {
987 internalType: "address";
988 name: "sender";
989 type: "address";
990 },
991 {
992 internalType: "uint256";
993 name: "value";
994 type: "uint256";
995 },
996 {
997 internalType: "bytes";
998 name: "data";
999 type: "bytes";
1000 },
1001 ];
1002 name: "runtimeValidationFunction";
1003 outputs: readonly [];
1004 stateMutability: "nonpayable";
1005 type: "function";
1006 },
1007 {
1008 inputs: readonly [
1009 {
1010 internalType: "address";
1011 name: "account";
1012 type: "address";
1013 },
1014 ];
1015 name: "sessionKeysOf";
1016 outputs: readonly [
1017 {
1018 internalType: "address[]";
1019 name: "";
1020 type: "address[]";
1021 },
1022 ];
1023 stateMutability: "view";
1024 type: "function";
1025 },
1026 {
1027 inputs: readonly [
1028 {
1029 internalType: "bytes4";
1030 name: "interfaceId";
1031 type: "bytes4";
1032 },
1033 ];
1034 name: "supportsInterface";
1035 outputs: readonly [
1036 {
1037 internalType: "bool";
1038 name: "";
1039 type: "bool";
1040 },
1041 ];
1042 stateMutability: "view";
1043 type: "function";
1044 },
1045 {
1046 inputs: readonly [
1047 {
1048 internalType: "address";
1049 name: "sessionKey";
1050 type: "address";
1051 },
1052 {
1053 internalType: "bytes[]";
1054 name: "updates";
1055 type: "bytes[]";
1056 },
1057 ];
1058 name: "updateKeyPermissions";
1059 outputs: readonly [];
1060 stateMutability: "nonpayable";
1061 type: "function";
1062 },
1063 {
1064 inputs: readonly [
1065 {
1066 internalType: "uint8";
1067 name: "functionId";
1068 type: "uint8";
1069 },
1070 {
1071 components: readonly [
1072 {
1073 internalType: "address";
1074 name: "sender";
1075 type: "address";
1076 },
1077 {
1078 internalType: "uint256";
1079 name: "nonce";
1080 type: "uint256";
1081 },
1082 {
1083 internalType: "bytes";
1084 name: "initCode";
1085 type: "bytes";
1086 },
1087 {
1088 internalType: "bytes";
1089 name: "callData";
1090 type: "bytes";
1091 },
1092 {
1093 internalType: "uint256";
1094 name: "callGasLimit";
1095 type: "uint256";
1096 },
1097 {
1098 internalType: "uint256";
1099 name: "verificationGasLimit";
1100 type: "uint256";
1101 },
1102 {
1103 internalType: "uint256";
1104 name: "preVerificationGas";
1105 type: "uint256";
1106 },
1107 {
1108 internalType: "uint256";
1109 name: "maxFeePerGas";
1110 type: "uint256";
1111 },
1112 {
1113 internalType: "uint256";
1114 name: "maxPriorityFeePerGas";
1115 type: "uint256";
1116 },
1117 {
1118 internalType: "bytes";
1119 name: "paymasterAndData";
1120 type: "bytes";
1121 },
1122 {
1123 internalType: "bytes";
1124 name: "signature";
1125 type: "bytes";
1126 },
1127 ];
1128 internalType: "struct UserOperation";
1129 name: "userOp";
1130 type: "tuple";
1131 },
1132 {
1133 internalType: "bytes32";
1134 name: "userOpHash";
1135 type: "bytes32";
1136 },
1137 ];
1138 name: "userOpValidationFunction";
1139 outputs: readonly [
1140 {
1141 internalType: "uint256";
1142 name: "";
1143 type: "uint256";
1144 },
1145 ];
1146 stateMutability: "nonpayable";
1147 type: "function";
1148 },
1149 {
1150 anonymous: false;
1151 inputs: readonly [
1152 {
1153 indexed: true;
1154 internalType: "address";
1155 name: "account";
1156 type: "address";
1157 },
1158 {
1159 indexed: true;
1160 internalType: "address";
1161 name: "sessionKey";
1162 type: "address";
1163 },
1164 {
1165 indexed: false;
1166 internalType: "bytes[]";
1167 name: "updates";
1168 type: "bytes[]";
1169 },
1170 ];
1171 name: "PermissionsUpdated";
1172 type: "event";
1173 },
1174 {
1175 anonymous: false;
1176 inputs: readonly [
1177 {
1178 indexed: true;
1179 internalType: "address";
1180 name: "account";
1181 type: "address";
1182 },
1183 {
1184 indexed: true;
1185 internalType: "address";
1186 name: "sessionKey";
1187 type: "address";
1188 },
1189 {
1190 indexed: true;
1191 internalType: "bytes32";
1192 name: "tag";
1193 type: "bytes32";
1194 },
1195 ];
1196 name: "SessionKeyAdded";
1197 type: "event";
1198 },
1199 {
1200 anonymous: false;
1201 inputs: readonly [
1202 {
1203 indexed: true;
1204 internalType: "address";
1205 name: "account";
1206 type: "address";
1207 },
1208 {
1209 indexed: true;
1210 internalType: "address";
1211 name: "sessionKey";
1212 type: "address";
1213 },
1214 ];
1215 name: "SessionKeyRemoved";
1216 type: "event";
1217 },
1218 {
1219 anonymous: false;
1220 inputs: readonly [
1221 {
1222 indexed: true;
1223 internalType: "address";
1224 name: "account";
1225 type: "address";
1226 },
1227 {
1228 indexed: true;
1229 internalType: "address";
1230 name: "oldSessionKey";
1231 type: "address";
1232 },
1233 {
1234 indexed: true;
1235 internalType: "address";
1236 name: "newSessionKey";
1237 type: "address";
1238 },
1239 ];
1240 name: "SessionKeyRotated";
1241 type: "event";
1242 },
1243 {
1244 inputs: readonly [];
1245 name: "AlreadyInitialized";
1246 type: "error";
1247 },
1248 {
1249 inputs: readonly [
1250 {
1251 internalType: "address";
1252 name: "account";
1253 type: "address";
1254 },
1255 {
1256 internalType: "address";
1257 name: "sessionKey";
1258 type: "address";
1259 },
1260 {
1261 internalType: "address";
1262 name: "token";
1263 type: "address";
1264 },
1265 ];
1266 name: "ERC20SpendLimitExceeded";
1267 type: "error";
1268 },
1269 {
1270 inputs: readonly [];
1271 name: "InvalidAction";
1272 type: "error";
1273 },
1274 {
1275 inputs: readonly [
1276 {
1277 internalType: "bytes4";
1278 name: "updateSelector";
1279 type: "bytes4";
1280 },
1281 ];
1282 name: "InvalidPermissionsUpdate";
1283 type: "error";
1284 },
1285 {
1286 inputs: readonly [
1287 {
1288 internalType: "address";
1289 name: "sessionKey";
1290 type: "address";
1291 },
1292 ];
1293 name: "InvalidSessionKey";
1294 type: "error";
1295 },
1296 {
1297 inputs: readonly [
1298 {
1299 internalType: "address";
1300 name: "sessionKey";
1301 type: "address";
1302 },
1303 ];
1304 name: "InvalidSignature";
1305 type: "error";
1306 },
1307 {
1308 inputs: readonly [
1309 {
1310 internalType: "address";
1311 name: "token";
1312 type: "address";
1313 },
1314 ];
1315 name: "InvalidToken";
1316 type: "error";
1317 },
1318 {
1319 inputs: readonly [];
1320 name: "LengthMismatch";
1321 type: "error";
1322 },
1323 {
1324 inputs: readonly [
1325 {
1326 internalType: "address";
1327 name: "account";
1328 type: "address";
1329 },
1330 {
1331 internalType: "address";
1332 name: "sessionKey";
1333 type: "address";
1334 },
1335 ];
1336 name: "NativeTokenSpendLimitExceeded";
1337 type: "error";
1338 },
1339 {
1340 inputs: readonly [
1341 {
1342 internalType: "address";
1343 name: "caller";
1344 type: "address";
1345 },
1346 ];
1347 name: "NotContractCaller";
1348 type: "error";
1349 },
1350 {
1351 inputs: readonly [
1352 {
1353 internalType: "bytes4";
1354 name: "selector";
1355 type: "bytes4";
1356 },
1357 {
1358 internalType: "uint8";
1359 name: "functionId";
1360 type: "uint8";
1361 },
1362 ];
1363 name: "NotImplemented";
1364 type: "error";
1365 },
1366 {
1367 inputs: readonly [];
1368 name: "NotInitialized";
1369 type: "error";
1370 },
1371 {
1372 inputs: readonly [
1373 {
1374 internalType: "address";
1375 name: "sessionKey";
1376 type: "address";
1377 },
1378 ];
1379 name: "SessionKeyNotFound";
1380 type: "error";
1381 },
1382];

Defined in: account-kit/smart-contracts/src/msca/plugins/session-key/plugin.ts:540