MultiOwnerPluginAbi
1 const MultiOwnerPluginAbi: readonly [ 2 { 3 inputs: readonly []; 4 name: "eip712Domain"; 5 outputs: readonly [ 6 { 7 internalType: "bytes1"; 8 name: "fields"; 9 type: "bytes1"; 10 }, 11 { 12 internalType: "string"; 13 name: "name"; 14 type: "string"; 15 }, 16 { 17 internalType: "string"; 18 name: "version"; 19 type: "string"; 20 }, 21 { 22 internalType: "uint256"; 23 name: "chainId"; 24 type: "uint256"; 25 }, 26 { 27 internalType: "address"; 28 name: "verifyingContract"; 29 type: "address"; 30 }, 31 { 32 internalType: "bytes32"; 33 name: "salt"; 34 type: "bytes32"; 35 }, 36 { 37 internalType: "uint256[]"; 38 name: "extensions"; 39 type: "uint256[]"; 40 }, 41 ]; 42 stateMutability: "view"; 43 type: "function"; 44 }, 45 { 46 inputs: readonly [ 47 { 48 internalType: "address"; 49 name: "account"; 50 type: "address"; 51 }, 52 { 53 internalType: "bytes"; 54 name: "message"; 55 type: "bytes"; 56 }, 57 ]; 58 name: "encodeMessageData"; 59 outputs: readonly [ 60 { 61 internalType: "bytes"; 62 name: ""; 63 type: "bytes"; 64 }, 65 ]; 66 stateMutability: "view"; 67 type: "function"; 68 }, 69 { 70 inputs: readonly [ 71 { 72 internalType: "address"; 73 name: "account"; 74 type: "address"; 75 }, 76 { 77 internalType: "bytes"; 78 name: "message"; 79 type: "bytes"; 80 }, 81 ]; 82 name: "getMessageHash"; 83 outputs: readonly [ 84 { 85 internalType: "bytes32"; 86 name: ""; 87 type: "bytes32"; 88 }, 89 ]; 90 stateMutability: "view"; 91 type: "function"; 92 }, 93 { 94 inputs: readonly [ 95 { 96 internalType: "address"; 97 name: "account"; 98 type: "address"; 99 }, 100 { 101 internalType: "address"; 102 name: "ownerToCheck"; 103 type: "address"; 104 }, 105 ]; 106 name: "isOwnerOf"; 107 outputs: readonly [ 108 { 109 internalType: "bool"; 110 name: ""; 111 type: "bool"; 112 }, 113 ]; 114 stateMutability: "view"; 115 type: "function"; 116 }, 117 { 118 inputs: readonly [ 119 { 120 internalType: "bytes32"; 121 name: "digest"; 122 type: "bytes32"; 123 }, 124 { 125 internalType: "bytes"; 126 name: "signature"; 127 type: "bytes"; 128 }, 129 ]; 130 name: "isValidSignature"; 131 outputs: readonly [ 132 { 133 internalType: "bytes4"; 134 name: ""; 135 type: "bytes4"; 136 }, 137 ]; 138 stateMutability: "view"; 139 type: "function"; 140 }, 141 { 142 inputs: readonly [ 143 { 144 internalType: "bytes"; 145 name: "data"; 146 type: "bytes"; 147 }, 148 ]; 149 name: "onInstall"; 150 outputs: readonly []; 151 stateMutability: "nonpayable"; 152 type: "function"; 153 }, 154 { 155 inputs: readonly [ 156 { 157 internalType: "bytes"; 158 name: ""; 159 type: "bytes"; 160 }, 161 ]; 162 name: "onUninstall"; 163 outputs: readonly []; 164 stateMutability: "nonpayable"; 165 type: "function"; 166 }, 167 { 168 inputs: readonly [ 169 { 170 internalType: "address"; 171 name: "account"; 172 type: "address"; 173 }, 174 ]; 175 name: "ownersOf"; 176 outputs: readonly [ 177 { 178 internalType: "address[]"; 179 name: ""; 180 type: "address[]"; 181 }, 182 ]; 183 stateMutability: "view"; 184 type: "function"; 185 }, 186 { 187 inputs: readonly []; 188 name: "pluginManifest"; 189 outputs: readonly [ 190 { 191 components: readonly [ 192 { 193 internalType: "bytes4[]"; 194 name: "interfaceIds"; 195 type: "bytes4[]"; 196 }, 197 { 198 internalType: "bytes4[]"; 199 name: "dependencyInterfaceIds"; 200 type: "bytes4[]"; 201 }, 202 { 203 internalType: "bytes4[]"; 204 name: "executionFunctions"; 205 type: "bytes4[]"; 206 }, 207 { 208 internalType: "bytes4[]"; 209 name: "permittedExecutionSelectors"; 210 type: "bytes4[]"; 211 }, 212 { 213 internalType: "bool"; 214 name: "permitAnyExternalAddress"; 215 type: "bool"; 216 }, 217 { 218 internalType: "bool"; 219 name: "canSpendNativeToken"; 220 type: "bool"; 221 }, 222 { 223 components: readonly [ 224 { 225 internalType: "address"; 226 name: "externalAddress"; 227 type: "address"; 228 }, 229 { 230 internalType: "bool"; 231 name: "permitAnySelector"; 232 type: "bool"; 233 }, 234 { 235 internalType: "bytes4[]"; 236 name: "selectors"; 237 type: "bytes4[]"; 238 }, 239 ]; 240 internalType: "struct ManifestExternalCallPermission[]"; 241 name: "permittedExternalCalls"; 242 type: "tuple[]"; 243 }, 244 { 245 components: readonly [ 246 { 247 internalType: "bytes4"; 248 name: "executionSelector"; 249 type: "bytes4"; 250 }, 251 { 252 components: readonly [ 253 { 254 internalType: "enum ManifestAssociatedFunctionType"; 255 name: "functionType"; 256 type: "uint8"; 257 }, 258 { 259 internalType: "uint8"; 260 name: "functionId"; 261 type: "uint8"; 262 }, 263 { 264 internalType: "uint256"; 265 name: "dependencyIndex"; 266 type: "uint256"; 267 }, 268 ]; 269 internalType: "struct ManifestFunction"; 270 name: "associatedFunction"; 271 type: "tuple"; 272 }, 273 ]; 274 internalType: "struct ManifestAssociatedFunction[]"; 275 name: "userOpValidationFunctions"; 276 type: "tuple[]"; 277 }, 278 { 279 components: readonly [ 280 { 281 internalType: "bytes4"; 282 name: "executionSelector"; 283 type: "bytes4"; 284 }, 285 { 286 components: readonly [ 287 { 288 internalType: "enum ManifestAssociatedFunctionType"; 289 name: "functionType"; 290 type: "uint8"; 291 }, 292 { 293 internalType: "uint8"; 294 name: "functionId"; 295 type: "uint8"; 296 }, 297 { 298 internalType: "uint256"; 299 name: "dependencyIndex"; 300 type: "uint256"; 301 }, 302 ]; 303 internalType: "struct ManifestFunction"; 304 name: "associatedFunction"; 305 type: "tuple"; 306 }, 307 ]; 308 internalType: "struct ManifestAssociatedFunction[]"; 309 name: "runtimeValidationFunctions"; 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: "preUserOpValidationHooks"; 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: "preRuntimeValidationHooks"; 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: "preExecHook"; 407 type: "tuple"; 408 }, 409 { 410 components: readonly [ 411 { 412 internalType: "enum ManifestAssociatedFunctionType"; 413 name: "functionType"; 414 type: "uint8"; 415 }, 416 { 417 internalType: "uint8"; 418 name: "functionId"; 419 type: "uint8"; 420 }, 421 { 422 internalType: "uint256"; 423 name: "dependencyIndex"; 424 type: "uint256"; 425 }, 426 ]; 427 internalType: "struct ManifestFunction"; 428 name: "postExecHook"; 429 type: "tuple"; 430 }, 431 ]; 432 internalType: "struct ManifestExecutionHook[]"; 433 name: "executionHooks"; 434 type: "tuple[]"; 435 }, 436 ]; 437 internalType: "struct PluginManifest"; 438 name: ""; 439 type: "tuple"; 440 }, 441 ]; 442 stateMutability: "pure"; 443 type: "function"; 444 }, 445 { 446 inputs: readonly []; 447 name: "pluginMetadata"; 448 outputs: readonly [ 449 { 450 components: readonly [ 451 { 452 internalType: "string"; 453 name: "name"; 454 type: "string"; 455 }, 456 { 457 internalType: "string"; 458 name: "version"; 459 type: "string"; 460 }, 461 { 462 internalType: "string"; 463 name: "author"; 464 type: "string"; 465 }, 466 { 467 components: readonly [ 468 { 469 internalType: "bytes4"; 470 name: "functionSelector"; 471 type: "bytes4"; 472 }, 473 { 474 internalType: "string"; 475 name: "permissionDescription"; 476 type: "string"; 477 }, 478 ]; 479 internalType: "struct SelectorPermission[]"; 480 name: "permissionDescriptors"; 481 type: "tuple[]"; 482 }, 483 ]; 484 internalType: "struct PluginMetadata"; 485 name: ""; 486 type: "tuple"; 487 }, 488 ]; 489 stateMutability: "pure"; 490 type: "function"; 491 }, 492 { 493 inputs: readonly [ 494 { 495 internalType: "uint8"; 496 name: "functionId"; 497 type: "uint8"; 498 }, 499 { 500 internalType: "bytes"; 501 name: "preExecHookData"; 502 type: "bytes"; 503 }, 504 ]; 505 name: "postExecutionHook"; 506 outputs: readonly []; 507 stateMutability: "nonpayable"; 508 type: "function"; 509 }, 510 { 511 inputs: readonly [ 512 { 513 internalType: "uint8"; 514 name: "functionId"; 515 type: "uint8"; 516 }, 517 { 518 internalType: "address"; 519 name: "sender"; 520 type: "address"; 521 }, 522 { 523 internalType: "uint256"; 524 name: "value"; 525 type: "uint256"; 526 }, 527 { 528 internalType: "bytes"; 529 name: "data"; 530 type: "bytes"; 531 }, 532 ]; 533 name: "preExecutionHook"; 534 outputs: readonly [ 535 { 536 internalType: "bytes"; 537 name: ""; 538 type: "bytes"; 539 }, 540 ]; 541 stateMutability: "nonpayable"; 542 type: "function"; 543 }, 544 { 545 inputs: readonly [ 546 { 547 internalType: "uint8"; 548 name: "functionId"; 549 type: "uint8"; 550 }, 551 { 552 internalType: "address"; 553 name: "sender"; 554 type: "address"; 555 }, 556 { 557 internalType: "uint256"; 558 name: "value"; 559 type: "uint256"; 560 }, 561 { 562 internalType: "bytes"; 563 name: "data"; 564 type: "bytes"; 565 }, 566 ]; 567 name: "preRuntimeValidationHook"; 568 outputs: readonly []; 569 stateMutability: "nonpayable"; 570 type: "function"; 571 }, 572 { 573 inputs: readonly [ 574 { 575 internalType: "uint8"; 576 name: "functionId"; 577 type: "uint8"; 578 }, 579 { 580 components: readonly [ 581 { 582 internalType: "address"; 583 name: "sender"; 584 type: "address"; 585 }, 586 { 587 internalType: "uint256"; 588 name: "nonce"; 589 type: "uint256"; 590 }, 591 { 592 internalType: "bytes"; 593 name: "initCode"; 594 type: "bytes"; 595 }, 596 { 597 internalType: "bytes"; 598 name: "callData"; 599 type: "bytes"; 600 }, 601 { 602 internalType: "uint256"; 603 name: "callGasLimit"; 604 type: "uint256"; 605 }, 606 { 607 internalType: "uint256"; 608 name: "verificationGasLimit"; 609 type: "uint256"; 610 }, 611 { 612 internalType: "uint256"; 613 name: "preVerificationGas"; 614 type: "uint256"; 615 }, 616 { 617 internalType: "uint256"; 618 name: "maxFeePerGas"; 619 type: "uint256"; 620 }, 621 { 622 internalType: "uint256"; 623 name: "maxPriorityFeePerGas"; 624 type: "uint256"; 625 }, 626 { 627 internalType: "bytes"; 628 name: "paymasterAndData"; 629 type: "bytes"; 630 }, 631 { 632 internalType: "bytes"; 633 name: "signature"; 634 type: "bytes"; 635 }, 636 ]; 637 internalType: "struct UserOperation"; 638 name: "userOp"; 639 type: "tuple"; 640 }, 641 { 642 internalType: "bytes32"; 643 name: "userOpHash"; 644 type: "bytes32"; 645 }, 646 ]; 647 name: "preUserOpValidationHook"; 648 outputs: readonly [ 649 { 650 internalType: "uint256"; 651 name: ""; 652 type: "uint256"; 653 }, 654 ]; 655 stateMutability: "nonpayable"; 656 type: "function"; 657 }, 658 { 659 inputs: readonly [ 660 { 661 internalType: "uint8"; 662 name: "functionId"; 663 type: "uint8"; 664 }, 665 { 666 internalType: "address"; 667 name: "sender"; 668 type: "address"; 669 }, 670 { 671 internalType: "uint256"; 672 name: ""; 673 type: "uint256"; 674 }, 675 { 676 internalType: "bytes"; 677 name: ""; 678 type: "bytes"; 679 }, 680 ]; 681 name: "runtimeValidationFunction"; 682 outputs: readonly []; 683 stateMutability: "view"; 684 type: "function"; 685 }, 686 { 687 inputs: readonly [ 688 { 689 internalType: "bytes4"; 690 name: "interfaceId"; 691 type: "bytes4"; 692 }, 693 ]; 694 name: "supportsInterface"; 695 outputs: readonly [ 696 { 697 internalType: "bool"; 698 name: ""; 699 type: "bool"; 700 }, 701 ]; 702 stateMutability: "view"; 703 type: "function"; 704 }, 705 { 706 inputs: readonly [ 707 { 708 internalType: "address[]"; 709 name: "ownersToAdd"; 710 type: "address[]"; 711 }, 712 { 713 internalType: "address[]"; 714 name: "ownersToRemove"; 715 type: "address[]"; 716 }, 717 ]; 718 name: "updateOwners"; 719 outputs: readonly []; 720 stateMutability: "nonpayable"; 721 type: "function"; 722 }, 723 { 724 inputs: readonly [ 725 { 726 internalType: "uint8"; 727 name: "functionId"; 728 type: "uint8"; 729 }, 730 { 731 components: readonly [ 732 { 733 internalType: "address"; 734 name: "sender"; 735 type: "address"; 736 }, 737 { 738 internalType: "uint256"; 739 name: "nonce"; 740 type: "uint256"; 741 }, 742 { 743 internalType: "bytes"; 744 name: "initCode"; 745 type: "bytes"; 746 }, 747 { 748 internalType: "bytes"; 749 name: "callData"; 750 type: "bytes"; 751 }, 752 { 753 internalType: "uint256"; 754 name: "callGasLimit"; 755 type: "uint256"; 756 }, 757 { 758 internalType: "uint256"; 759 name: "verificationGasLimit"; 760 type: "uint256"; 761 }, 762 { 763 internalType: "uint256"; 764 name: "preVerificationGas"; 765 type: "uint256"; 766 }, 767 { 768 internalType: "uint256"; 769 name: "maxFeePerGas"; 770 type: "uint256"; 771 }, 772 { 773 internalType: "uint256"; 774 name: "maxPriorityFeePerGas"; 775 type: "uint256"; 776 }, 777 { 778 internalType: "bytes"; 779 name: "paymasterAndData"; 780 type: "bytes"; 781 }, 782 { 783 internalType: "bytes"; 784 name: "signature"; 785 type: "bytes"; 786 }, 787 ]; 788 internalType: "struct UserOperation"; 789 name: "userOp"; 790 type: "tuple"; 791 }, 792 { 793 internalType: "bytes32"; 794 name: "userOpHash"; 795 type: "bytes32"; 796 }, 797 ]; 798 name: "userOpValidationFunction"; 799 outputs: readonly [ 800 { 801 internalType: "uint256"; 802 name: ""; 803 type: "uint256"; 804 }, 805 ]; 806 stateMutability: "view"; 807 type: "function"; 808 }, 809 { 810 anonymous: false; 811 inputs: readonly [ 812 { 813 indexed: true; 814 internalType: "address"; 815 name: "account"; 816 type: "address"; 817 }, 818 { 819 indexed: false; 820 internalType: "address[]"; 821 name: "addedOwners"; 822 type: "address[]"; 823 }, 824 { 825 indexed: false; 826 internalType: "address[]"; 827 name: "removedOwners"; 828 type: "address[]"; 829 }, 830 ]; 831 name: "OwnerUpdated"; 832 type: "event"; 833 }, 834 { 835 inputs: readonly []; 836 name: "AlreadyInitialized"; 837 type: "error"; 838 }, 839 { 840 inputs: readonly []; 841 name: "EmptyOwnersNotAllowed"; 842 type: "error"; 843 }, 844 { 845 inputs: readonly []; 846 name: "InvalidAction"; 847 type: "error"; 848 }, 849 { 850 inputs: readonly [ 851 { 852 internalType: "address"; 853 name: "owner"; 854 type: "address"; 855 }, 856 ]; 857 name: "InvalidOwner"; 858 type: "error"; 859 }, 860 { 861 inputs: readonly []; 862 name: "NotAuthorized"; 863 type: "error"; 864 }, 865 { 866 inputs: readonly [ 867 { 868 internalType: "address"; 869 name: "caller"; 870 type: "address"; 871 }, 872 ]; 873 name: "NotContractCaller"; 874 type: "error"; 875 }, 876 { 877 inputs: readonly [ 878 { 879 internalType: "bytes4"; 880 name: "selector"; 881 type: "bytes4"; 882 }, 883 { 884 internalType: "uint8"; 885 name: "functionId"; 886 type: "uint8"; 887 }, 888 ]; 889 name: "NotImplemented"; 890 type: "error"; 891 }, 892 { 893 inputs: readonly []; 894 name: "NotInitialized"; 895 type: "error"; 896 }, 897 { 898 inputs: readonly [ 899 { 900 internalType: "address"; 901 name: "owner"; 902 type: "address"; 903 }, 904 ]; 905 name: "OwnerDoesNotExist"; 906 type: "error"; 907 }, 908 ];
Defined in: account-kit/smart-contracts/src/msca/plugins/multi-owner/plugin.ts:378