const IAccountLoupeAbi: readonly [
{
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: "";
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: "";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "getInstalledPlugins";
outputs: readonly [
{
internalType: "address[]";
name: "";
type: "address[]";
},
];
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";
},
];Defined in: account-kit/smart-contracts/src/msca/abis/IAccountLoupe.ts:1