SessionKeyPluginAbi
1 const 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