[
    {
        "inputs": [],
        "name": "UserSettings__InvalidAction",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "UserSettings__InvalidArrayLength",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "user",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "enum IUserSettings.Action[]",
                "name": "actions",
                "type": "uint8[]"
            },
            {
                "indexed": false,
                "internalType": "bool[]",
                "name": "authorization",
                "type": "bool[]"
            }
        ],
        "name": "ActionAuthorizationUpdated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "UD60x18",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "AuthorizedCostUpdated",
        "type": "event"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "user",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "operator",
                "type": "address"
            }
        ],
        "name": "getActionAuthorization",
        "outputs": [
            {
                "internalType": "enum IUserSettings.Action[]",
                "name": "actions",
                "type": "uint8[]"
            },
            {
                "internalType": "bool[]",
                "name": "authorization",
                "type": "bool[]"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "user",
                "type": "address"
            }
        ],
        "name": "getAuthorizedCost",
        "outputs": [
            {
                "internalType": "UD60x18",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "user",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "internalType": "enum IUserSettings.Action",
                "name": "action",
                "type": "uint8"
            }
        ],
        "name": "isActionAuthorized",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes[]",
                "name": "data",
                "type": "bytes[]"
            }
        ],
        "name": "multicall",
        "outputs": [
            {
                "internalType": "bytes[]",
                "name": "results",
                "type": "bytes[]"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "internalType": "enum IUserSettings.Action[]",
                "name": "actions",
                "type": "uint8[]"
            },
            {
                "internalType": "bool[]",
                "name": "authorization",
                "type": "bool[]"
            }
        ],
        "name": "setActionAuthorization",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "UD60x18",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "setAuthorizedCost",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]
