[
    {
        "inputs": [],
        "name": "NotBFS",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsuitableChildCount",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsuitableChildTypeTree",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsuitableCompValue",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsuitableParameterType",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsuitableParent",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "UnsuitableRootNode",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "index",
                "type": "uint256"
            }
        ],
        "name": "UnsupportedOperator",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_owner",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_avatar",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_target",
                "type": "address"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "AlreadyDisabledModule",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "AlreadyEnabledModule",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "ArraysDifferentLength",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "CalldataOutOfBounds",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "enum PermissionChecker.Status",
                "name": "status",
                "type": "uint8"
            },
            {
                "internalType": "bytes32",
                "name": "info",
                "type": "bytes32"
            }
        ],
        "name": "ConditionViolation",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "FunctionSignatureTooShort",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "HashAlreadyConsumed",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "InvalidInitialization",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "InvalidModule",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "InvalidPageSize",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "MalformedMultiEntrypoint",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "ModuleTransactionFailed",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "NoMembership",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "sender",
                "type": "address"
            }
        ],
        "name": "NotAuthorized",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "NotInitializing",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "owner",
                "type": "address"
            }
        ],
        "name": "OwnableInvalidOwner",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "account",
                "type": "address"
            }
        ],
        "name": "OwnableUnauthorizedAccount",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SetupModulesAlreadyCalled",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "indexed": false,
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "AllowFunction",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "AllowTarget",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "module",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes32[]",
                "name": "roleKeys",
                "type": "bytes32[]"
            },
            {
                "indexed": false,
                "internalType": "bool[]",
                "name": "memberOf",
                "type": "bool[]"
            }
        ],
        "name": "AssignRoles",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "previousAvatar",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "newAvatar",
                "type": "address"
            }
        ],
        "name": "AvatarSet",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "allowanceKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "uint128",
                "name": "consumed",
                "type": "uint128"
            },
            {
                "indexed": false,
                "internalType": "uint128",
                "name": "newBalance",
                "type": "uint128"
            }
        ],
        "name": "ConsumeAllowance",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "DisabledModule",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "EnabledModule",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "ExecutionFromModuleFailure",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "ExecutionFromModuleSuccess",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "HashExecuted",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "HashInvalidated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "version",
                "type": "uint64"
            }
        ],
        "name": "Initialized",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "previousOwner",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "OwnershipTransferred",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            }
        ],
        "name": "RevokeFunction",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            }
        ],
        "name": "RevokeTarget",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "initiator",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "owner",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "avatar",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "target",
                "type": "address"
            }
        ],
        "name": "RolesModSetup",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "components": [
                    {
                        "internalType": "uint8",
                        "name": "parent",
                        "type": "uint8"
                    },
                    {
                        "internalType": "enum ParameterType",
                        "name": "paramType",
                        "type": "uint8"
                    },
                    {
                        "internalType": "enum Operator",
                        "name": "operator",
                        "type": "uint8"
                    },
                    {
                        "internalType": "bytes",
                        "name": "compValue",
                        "type": "bytes"
                    }
                ],
                "indexed": false,
                "internalType": "struct ConditionFlat[]",
                "name": "conditions",
                "type": "tuple[]"
            },
            {
                "indexed": false,
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "ScopeFunction",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            }
        ],
        "name": "ScopeTarget",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "allowanceKey",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "internalType": "uint128",
                "name": "balance",
                "type": "uint128"
            },
            {
                "indexed": false,
                "internalType": "uint128",
                "name": "maxRefill",
                "type": "uint128"
            },
            {
                "indexed": false,
                "internalType": "uint128",
                "name": "refill",
                "type": "uint128"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "period",
                "type": "uint64"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "timestamp",
                "type": "uint64"
            }
        ],
        "name": "SetAllowance",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "module",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes32",
                "name": "defaultRoleKey",
                "type": "bytes32"
            }
        ],
        "name": "SetDefaultRole",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "indexed": false,
                "internalType": "contract ITransactionUnwrapper",
                "name": "adapter",
                "type": "address"
            }
        ],
        "name": "SetUnwrapAdapter",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "previousTarget",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "newTarget",
                "type": "address"
            }
        ],
        "name": "TargetSet",
        "type": "event"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "allowFunction",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "allowTarget",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "allowances",
        "outputs": [
            {
                "internalType": "uint128",
                "name": "refill",
                "type": "uint128"
            },
            {
                "internalType": "uint128",
                "name": "maxRefill",
                "type": "uint128"
            },
            {
                "internalType": "uint64",
                "name": "period",
                "type": "uint64"
            },
            {
                "internalType": "uint128",
                "name": "balance",
                "type": "uint128"
            },
            {
                "internalType": "uint64",
                "name": "timestamp",
                "type": "uint64"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            },
            {
                "internalType": "bytes32[]",
                "name": "roleKeys",
                "type": "bytes32[]"
            },
            {
                "internalType": "bool[]",
                "name": "memberOf",
                "type": "bool[]"
            }
        ],
        "name": "assignRoles",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "avatar",
        "outputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            },
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "consumed",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "name": "defaultRoles",
        "outputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "prevModule",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "disableModule",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            }
        ],
        "name": "enableModule",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            },
            {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
            },
            {
                "internalType": "enum Enum.Operation",
                "name": "operation",
                "type": "uint8"
            }
        ],
        "name": "execTransactionFromModule",
        "outputs": [
            {
                "internalType": "bool",
                "name": "success",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            },
            {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
            },
            {
                "internalType": "enum Enum.Operation",
                "name": "operation",
                "type": "uint8"
            }
        ],
        "name": "execTransactionFromModuleReturnData",
        "outputs": [
            {
                "internalType": "bool",
                "name": "success",
                "type": "bool"
            },
            {
                "internalType": "bytes",
                "name": "returnData",
                "type": "bytes"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            },
            {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
            },
            {
                "internalType": "enum Enum.Operation",
                "name": "operation",
                "type": "uint8"
            },
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "bool",
                "name": "shouldRevert",
                "type": "bool"
            }
        ],
        "name": "execTransactionWithRole",
        "outputs": [
            {
                "internalType": "bool",
                "name": "success",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            },
            {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
            },
            {
                "internalType": "enum Enum.Operation",
                "name": "operation",
                "type": "uint8"
            },
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "bool",
                "name": "shouldRevert",
                "type": "bool"
            }
        ],
        "name": "execTransactionWithRoleReturnData",
        "outputs": [
            {
                "internalType": "bool",
                "name": "success",
                "type": "bool"
            },
            {
                "internalType": "bytes",
                "name": "returnData",
                "type": "bytes"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "start",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "pageSize",
                "type": "uint256"
            }
        ],
        "name": "getModulesPaginated",
        "outputs": [
            {
                "internalType": "address[]",
                "name": "array",
                "type": "address[]"
            },
            {
                "internalType": "address",
                "name": "next",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "hash",
                "type": "bytes32"
            }
        ],
        "name": "invalidate",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_module",
                "type": "address"
            }
        ],
        "name": "isModuleEnabled",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes",
                "name": "data",
                "type": "bytes"
            },
            {
                "internalType": "bytes32",
                "name": "salt",
                "type": "bytes32"
            }
        ],
        "name": "moduleTxHash",
        "outputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "owner",
        "outputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "renounceOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            }
        ],
        "name": "revokeFunction",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            }
        ],
        "name": "revokeTarget",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            },
            {
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "components": [
                    {
                        "internalType": "uint8",
                        "name": "parent",
                        "type": "uint8"
                    },
                    {
                        "internalType": "enum ParameterType",
                        "name": "paramType",
                        "type": "uint8"
                    },
                    {
                        "internalType": "enum Operator",
                        "name": "operator",
                        "type": "uint8"
                    },
                    {
                        "internalType": "bytes",
                        "name": "compValue",
                        "type": "bytes"
                    }
                ],
                "internalType": "struct ConditionFlat[]",
                "name": "conditions",
                "type": "tuple[]"
            },
            {
                "internalType": "enum ExecutionOptions",
                "name": "options",
                "type": "uint8"
            }
        ],
        "name": "scopeFunction",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            },
            {
                "internalType": "address",
                "name": "targetAddress",
                "type": "address"
            }
        ],
        "name": "scopeTarget",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "key",
                "type": "bytes32"
            },
            {
                "internalType": "uint128",
                "name": "balance",
                "type": "uint128"
            },
            {
                "internalType": "uint128",
                "name": "maxRefill",
                "type": "uint128"
            },
            {
                "internalType": "uint128",
                "name": "refill",
                "type": "uint128"
            },
            {
                "internalType": "uint64",
                "name": "period",
                "type": "uint64"
            },
            {
                "internalType": "uint64",
                "name": "timestamp",
                "type": "uint64"
            }
        ],
        "name": "setAllowance",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_avatar",
                "type": "address"
            }
        ],
        "name": "setAvatar",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "module",
                "type": "address"
            },
            {
                "internalType": "bytes32",
                "name": "roleKey",
                "type": "bytes32"
            }
        ],
        "name": "setDefaultRole",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_target",
                "type": "address"
            }
        ],
        "name": "setTarget",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "bytes4",
                "name": "selector",
                "type": "bytes4"
            },
            {
                "internalType": "contract ITransactionUnwrapper",
                "name": "adapter",
                "type": "address"
            }
        ],
        "name": "setTransactionUnwrapper",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes",
                "name": "initParams",
                "type": "bytes"
            }
        ],
        "name": "setUp",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "target",
        "outputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "unwrappers",
        "outputs": [
            {
                "internalType": "contract ITransactionUnwrapper",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    }
]
