const UpgradeableModularAccountAbi: readonly [
{
inputs: readonly [
{
internalType: "contract IEntryPoint";
name: "anEntryPoint";
type: "address";
},
];
stateMutability: "nonpayable";
type: "constructor";
},
{
stateMutability: "payable";
type: "fallback";
},
{
stateMutability: "payable";
type: "receive";
},
{
inputs: readonly [];
name: "entryPoint";
outputs: readonly [
{
internalType: "contract IEntryPoint";
name: "";
type: "address";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "target";
type: "address";
},
{
internalType: "uint256";
name: "value";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "execute";
outputs: readonly [
{
internalType: "bytes";
name: "result";
type: "bytes";
},
];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
components: readonly [
{
internalType: "address";
name: "target";
type: "address";
},
{
internalType: "uint256";
name: "value";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
internalType: "struct Call[]";
name: "calls";
type: "tuple[]";
},
];
name: "executeBatch";
outputs: readonly [
{
internalType: "bytes[]";
name: "results";
type: "bytes[]";
},
];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "executeFromPlugin";
outputs: readonly [
{
internalType: "bytes";
name: "returnData";
type: "bytes";
},
];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "target";
type: "address";
},
{
internalType: "uint256";
name: "value";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "executeFromPluginExternal";
outputs: readonly [
{
internalType: "bytes";
name: "";
type: "bytes";
},
];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "getExecutionFunctionConfig";
outputs: readonly [
{
components: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "FunctionReference";
name: "userOpValidationFunction";
type: "bytes21";
},
{
internalType: "FunctionReference";
name: "runtimeValidationFunction";
type: "bytes21";
},
];
internalType: "struct IAccountLoupe.ExecutionFunctionConfig";
name: "config";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "getExecutionHooks";
outputs: readonly [
{
components: readonly [
{
internalType: "FunctionReference";
name: "preExecHook";
type: "bytes21";
},
{
internalType: "FunctionReference";
name: "postExecHook";
type: "bytes21";
},
];
internalType: "struct IAccountLoupe.ExecutionHooks[]";
name: "execHooks";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "getInstalledPlugins";
outputs: readonly [
{
internalType: "address[]";
name: "pluginAddresses";
type: "address[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "getNonce";
outputs: readonly [
{
internalType: "uint256";
name: "";
type: "uint256";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "getPreValidationHooks";
outputs: readonly [
{
internalType: "FunctionReference[]";
name: "preUserOpValidationHooks";
type: "bytes21[]";
},
{
internalType: "FunctionReference[]";
name: "preRuntimeValidationHooks";
type: "bytes21[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{
internalType: "address[]";
name: "plugins";
type: "address[]";
},
{
internalType: "bytes";
name: "pluginInitData";
type: "bytes";
},
];
name: "initialize";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "bytes32";
name: "manifestHash";
type: "bytes32";
},
{
internalType: "bytes";
name: "pluginInstallData";
type: "bytes";
},
{
internalType: "FunctionReference[]";
name: "dependencies";
type: "bytes21[]";
},
];
name: "installPlugin";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "operator";
type: "address";
},
{
internalType: "address";
name: "from";
type: "address";
},
{
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
},
{
internalType: "uint256[]";
name: "values";
type: "uint256[]";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "onERC1155BatchReceived";
outputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "operator";
type: "address";
},
{
internalType: "address";
name: "from";
type: "address";
},
{
internalType: "uint256";
name: "id";
type: "uint256";
},
{
internalType: "uint256";
name: "value";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "onERC1155Received";
outputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "operator";
type: "address";
},
{
internalType: "address";
name: "from";
type: "address";
},
{
internalType: "uint256";
name: "tokenId";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "onERC721Received";
outputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [];
name: "proxiableUUID";
outputs: readonly [
{
internalType: "bytes32";
name: "";
type: "bytes32";
},
];
stateMutability: "view";
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: "operator";
type: "address";
},
{
internalType: "address";
name: "from";
type: "address";
},
{
internalType: "address";
name: "to";
type: "address";
},
{
internalType: "uint256";
name: "amount";
type: "uint256";
},
{
internalType: "bytes";
name: "userData";
type: "bytes";
},
{
internalType: "bytes";
name: "operatorData";
type: "bytes";
},
];
name: "tokensReceived";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "bytes";
name: "config";
type: "bytes";
},
{
internalType: "bytes";
name: "pluginUninstallData";
type: "bytes";
},
];
name: "uninstallPlugin";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
},
{
inputs: readonly [
{
internalType: "address";
name: "newImplementation";
type: "address";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "upgradeToAndCall";
outputs: readonly [];
stateMutability: "payable";
type: "function";
},
{
inputs: readonly [
{
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";
},
{
internalType: "uint256";
name: "missingAccountFunds";
type: "uint256";
},
];
name: "validateUserOp";
outputs: readonly [
{
internalType: "uint256";
name: "validationData";
type: "uint256";
},
];
stateMutability: "nonpayable";
type: "function";
},
{
anonymous: false;
inputs: readonly [
{
indexed: true;
internalType: "contract IEntryPoint";
name: "entryPoint";
type: "address";
},
];
name: "ModularAccountInitialized";
type: "event";
},
{
anonymous: false;
inputs: readonly [
{
indexed: true;
internalType: "address";
name: "plugin";
type: "address";
},
{
indexed: false;
internalType: "bytes32";
name: "manifestHash";
type: "bytes32";
},
{
indexed: false;
internalType: "FunctionReference[]";
name: "dependencies";
type: "bytes21[]";
},
];
name: "PluginInstalled";
type: "event";
},
{
anonymous: false;
inputs: readonly [
{
indexed: true;
internalType: "address";
name: "plugin";
type: "address";
},
{
indexed: true;
internalType: "bool";
name: "onUninstallSucceeded";
type: "bool";
},
];
name: "PluginUninstalled";
type: "event";
},
{
anonymous: false;
inputs: readonly [
{
indexed: true;
internalType: "address";
name: "implementation";
type: "address";
},
];
name: "Upgraded";
type: "event";
},
{
inputs: readonly [];
name: "AlreadyInitialized";
type: "error";
},
{
inputs: readonly [];
name: "AlreadyInitializing";
type: "error";
},
{
inputs: readonly [];
name: "AlwaysDenyRule";
type: "error";
},
{
inputs: readonly [];
name: "ArrayLengthMismatch";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
{
internalType: "FunctionReference";
name: "hook";
type: "bytes21";
},
];
name: "DuplicateHookLimitExceeded";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
{
internalType: "FunctionReference";
name: "hook";
type: "bytes21";
},
];
name: "DuplicatePreRuntimeValidationHookLimitExceeded";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
{
internalType: "FunctionReference";
name: "hook";
type: "bytes21";
},
];
name: "DuplicatePreUserOpValidationHookLimitExceeded";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "Erc4337FunctionNotAllowed";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "address";
name: "target";
type: "address";
},
{
internalType: "uint256";
name: "value";
type: "uint256";
},
{
internalType: "bytes";
name: "data";
type: "bytes";
},
];
name: "ExecFromPluginExternalNotPermitted";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "ExecFromPluginNotPermitted";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "ExecutionFunctionAlreadySet";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "IPluginFunctionNotAllowed";
type: "error";
},
{
inputs: readonly [];
name: "InterfaceNotAllowed";
type: "error";
},
{
inputs: readonly [];
name: "InvalidDependenciesProvided";
type: "error";
},
{
inputs: readonly [];
name: "InvalidPluginManifest";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "dependency";
type: "address";
},
];
name: "MissingPluginDependency";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "NativeFunctionNotAllowed";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "NativeTokenSpendingNotPermitted";
type: "error";
},
{
inputs: readonly [];
name: "NullFunctionReference";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "PluginAlreadyInstalled";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "PluginCallDenied";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "PluginDependencyViolation";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "PluginInstallCallbackFailed";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "PluginInterfaceNotSupported";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
];
name: "PluginNotInstalled";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "PluginUninstallCallbackFailed";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "uint8";
name: "functionId";
type: "uint8";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "PostExecHookReverted";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "uint8";
name: "functionId";
type: "uint8";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "PreExecHookReverted";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "uint8";
name: "functionId";
type: "uint8";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "PreRuntimeValidationHookFailed";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
{
internalType: "FunctionReference";
name: "validationFunction";
type: "bytes21";
},
];
name: "RuntimeValidationFunctionAlreadySet";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "RuntimeValidationFunctionMissing";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "uint8";
name: "functionId";
type: "uint8";
},
{
internalType: "bytes";
name: "revertReason";
type: "bytes";
},
];
name: "RuntimeValidationFunctionReverted";
type: "error";
},
{
inputs: readonly [];
name: "UnauthorizedCallContext";
type: "error";
},
{
inputs: readonly [
{
internalType: "address";
name: "plugin";
type: "address";
},
{
internalType: "uint8";
name: "functionId";
type: "uint8";
},
{
internalType: "address";
name: "aggregator";
type: "address";
},
];
name: "UnexpectedAggregator";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "UnrecognizedFunction";
type: "error";
},
{
inputs: readonly [];
name: "UpgradeFailed";
type: "error";
},
{
inputs: readonly [];
name: "UserOpNotFromEntryPoint";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
{
internalType: "FunctionReference";
name: "validationFunction";
type: "bytes21";
},
];
name: "UserOpValidationFunctionAlreadySet";
type: "error";
},
{
inputs: readonly [
{
internalType: "bytes4";
name: "selector";
type: "bytes4";
},
];
name: "UserOpValidationFunctionMissing";
type: "error";
},
];Defined in: account-kit/smart-contracts/dist/types/src/msca/abis/UpgradeableModularAccount.d.ts:1