Alchemy Logo

MultisigPluginAbi

const MultisigPluginAbi: readonly [{
  inputs: readonly [{
     internalType: "address";
     name: "entryPoint";
     type: "address";
  }];
  stateMutability: "nonpayable";
  type: "constructor";
}, {
  inputs: readonly [];
  name: "ENTRYPOINT";
  outputs: readonly [{
     internalType: "address";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "actualDigest";
     type: "bytes32";
   }, {
     internalType: "bytes32";
     name: "upperLimitGasDigest";
     type: "bytes32";
   }, {
     internalType: "address";
     name: "account";
     type: "address";
   }, {
     internalType: "bytes";
     name: "signatures";
     type: "bytes";
  }];
  name: "checkNSignatures";
  outputs: readonly [{
     internalType: "bool";
     name: "success";
     type: "bool";
   }, {
     internalType: "uint256";
     name: "firstFailure";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "eip712Domain";
  outputs: readonly [{
     internalType: "bytes1";
     name: "fields";
     type: "bytes1";
   }, {
     internalType: "string";
     name: "name";
     type: "string";
   }, {
     internalType: "string";
     name: "version";
     type: "string";
   }, {
     internalType: "uint256";
     name: "chainId";
     type: "uint256";
   }, {
     internalType: "address";
     name: "verifyingContract";
     type: "address";
   }, {
     internalType: "bytes32";
     name: "salt";
     type: "bytes32";
   }, {
     internalType: "uint256[]";
     name: "extensions";
     type: "uint256[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "account";
     type: "address";
   }, {
     internalType: "bytes";
     name: "message";
     type: "bytes";
  }];
  name: "encodeMessageData";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "account";
     type: "address";
   }, {
     internalType: "bytes";
     name: "message";
     type: "bytes";
  }];
  name: "getMessageHash";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "account";
     type: "address";
   }, {
     internalType: "address";
     name: "ownerToCheck";
     type: "address";
  }];
  name: "isOwnerOf";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "digest";
     type: "bytes32";
   }, {
     internalType: "bytes";
     name: "signature";
     type: "bytes";
  }];
  name: "isValidSignature";
  outputs: readonly [{
     internalType: "bytes4";
     name: "";
     type: "bytes4";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes";
     name: "data";
     type: "bytes";
  }];
  name: "onInstall";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  name: "onUninstall";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "account";
     type: "address";
  }];
  name: "ownershipInfoOf";
  outputs: readonly [{
     internalType: "address[]";
     name: "";
     type: "address[]";
   }, {
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "pluginManifest";
  outputs: readonly [{
     components: readonly [{
        internalType: "bytes4[]";
        name: "interfaceIds";
        type: "bytes4[]";
      }, {
        internalType: "bytes4[]";
        name: "dependencyInterfaceIds";
        type: "bytes4[]";
      }, {
        internalType: "bytes4[]";
        name: "executionFunctions";
        type: "bytes4[]";
      }, {
        internalType: "bytes4[]";
        name: "permittedExecutionSelectors";
        type: "bytes4[]";
      }, {
        internalType: "bool";
        name: "permitAnyExternalAddress";
        type: "bool";
      }, {
        internalType: "bool";
        name: "canSpendNativeToken";
        type: "bool";
      }, {
        components: readonly [..., ..., ...];
        internalType: "struct ManifestExternalCallPermission[]";
        name: "permittedExternalCalls";
        type: "tuple[]";
      }, {
        components: readonly [..., ...];
        internalType: "struct ManifestAssociatedFunction[]";
        name: "userOpValidationFunctions";
        type: "tuple[]";
      }, {
        components: readonly [..., ...];
        internalType: "struct ManifestAssociatedFunction[]";
        name: "runtimeValidationFunctions";
        type: "tuple[]";
      }, {
        components: readonly [..., ...];
        internalType: "struct ManifestAssociatedFunction[]";
        name: "preUserOpValidationHooks";
        type: "tuple[]";
      }, {
        components: readonly [..., ...];
        internalType: "struct ManifestAssociatedFunction[]";
        name: "preRuntimeValidationHooks";
        type: "tuple[]";
      }, {
        components: readonly [..., ..., ...];
        internalType: "struct ManifestExecutionHook[]";
        name: "executionHooks";
        type: "tuple[]";
     }];
     internalType: "struct PluginManifest";
     name: "";
     type: "tuple";
  }];
  stateMutability: "pure";
  type: "function";
}, {
  inputs: readonly [];
  name: "pluginMetadata";
  outputs: readonly [{
     components: readonly [{
        internalType: "string";
        name: "name";
        type: "string";
      }, {
        internalType: "string";
        name: "version";
        type: "string";
      }, {
        internalType: "string";
        name: "author";
        type: "string";
      }, {
        components: readonly [..., ...];
        internalType: "struct SelectorPermission[]";
        name: "permissionDescriptors";
        type: "tuple[]";
     }];
     internalType: "struct PluginMetadata";
     name: "";
     type: "tuple";
  }];
  stateMutability: "pure";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     internalType: "bytes";
     name: "preExecHookData";
     type: "bytes";
  }];
  name: "postExecutionHook";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     internalType: "address";
     name: "sender";
     type: "address";
   }, {
     internalType: "uint256";
     name: "value";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "data";
     type: "bytes";
  }];
  name: "preExecutionHook";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     internalType: "address";
     name: "sender";
     type: "address";
   }, {
     internalType: "uint256";
     name: "value";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "data";
     type: "bytes";
  }];
  name: "preRuntimeValidationHook";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     components: readonly [{
        internalType: "address";
        name: "sender";
        type: "address";
      }, {
        internalType: "uint256";
        name: "nonce";
        type: "uint256";
      }, {
        internalType: "bytes";
        name: "initCode";
        type: "bytes";
      }, {
        internalType: "bytes";
        name: "callData";
        type: "bytes";
      }, {
        internalType: "uint256";
        name: "callGasLimit";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "verificationGasLimit";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "preVerificationGas";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "maxFeePerGas";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "maxPriorityFeePerGas";
        type: "uint256";
      }, {
        internalType: "bytes";
        name: "paymasterAndData";
        type: "bytes";
      }, {
        internalType: "bytes";
        name: "signature";
        type: "bytes";
     }];
     internalType: "struct UserOperation";
     name: "userOp";
     type: "tuple";
   }, {
     internalType: "bytes32";
     name: "userOpHash";
     type: "bytes32";
  }];
  name: "preUserOpValidationHook";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     internalType: "address";
     name: "sender";
     type: "address";
   }, {
     internalType: "uint256";
     name: "value";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "data";
     type: "bytes";
  }];
  name: "runtimeValidationFunction";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes4";
     name: "interfaceId";
     type: "bytes4";
  }];
  name: "supportsInterface";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address[]";
     name: "ownersToAdd";
     type: "address[]";
   }, {
     internalType: "address[]";
     name: "ownersToRemove";
     type: "address[]";
   }, {
     internalType: "uint128";
     name: "newThreshold";
     type: "uint128";
  }];
  name: "updateOwnership";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
   }, {
     components: readonly [{
        internalType: "address";
        name: "sender";
        type: "address";
      }, {
        internalType: "uint256";
        name: "nonce";
        type: "uint256";
      }, {
        internalType: "bytes";
        name: "initCode";
        type: "bytes";
      }, {
        internalType: "bytes";
        name: "callData";
        type: "bytes";
      }, {
        internalType: "uint256";
        name: "callGasLimit";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "verificationGasLimit";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "preVerificationGas";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "maxFeePerGas";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "maxPriorityFeePerGas";
        type: "uint256";
      }, {
        internalType: "bytes";
        name: "paymasterAndData";
        type: "bytes";
      }, {
        internalType: "bytes";
        name: "signature";
        type: "bytes";
     }];
     internalType: "struct UserOperation";
     name: "userOp";
     type: "tuple";
   }, {
     internalType: "bytes32";
     name: "userOpHash";
     type: "bytes32";
  }];
  name: "userOpValidationFunction";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "account";
     type: "address";
   }, {
     indexed: false;
     internalType: "address[]";
     name: "addedOwners";
     type: "address[]";
   }, {
     indexed: false;
     internalType: "address[]";
     name: "removedOwners";
     type: "address[]";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "threshold";
     type: "uint256";
  }];
  name: "OwnerUpdated";
  type: "event";
}, {
  inputs: readonly [];
  name: "AlreadyInitialized";
  type: "error";
}, {
  inputs: readonly [];
  name: "ECDSARecoverFailure";
  type: "error";
}, {
  inputs: readonly [];
  name: "EmptyOwnersNotAllowed";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidAction";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidAddress";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidMaxFeePerGas";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidMaxPriorityFeePerGas";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidNumSigsOnActualGas";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "InvalidOwner";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidPreVerificationGas";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidSigLength";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidSigOffset";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidThreshold";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "caller";
     type: "address";
  }];
  name: "NotContractCaller";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "bytes4";
     name: "selector";
     type: "bytes4";
   }, {
     internalType: "uint8";
     name: "functionId";
     type: "uint8";
  }];
  name: "NotImplemented";
  type: "error";
}, {
  inputs: readonly [];
  name: "NotInitialized";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "OwnerDoesNotExist";
  type: "error";
}];

Defined in: account-kit/smart-contracts/dist/types/src/msca/plugins/multisig/plugin.d.ts:101

Was this page helpful?