[
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "where",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "who",
                "type": "address"
            },
            {
                "internalType": "bytes32",
                "name": "permissionId",
                "type": "bytes32"
            }
        ],
        "name": "DaoUnauthorized",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "caller",
                "type": "address"
            }
        ],
        "name": "NotAMember",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "editor",
                "type": "address"
            }
        ],
        "name": "EditorAdded",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "editor",
                "type": "address"
            }
        ],
        "name": "EditorLeft",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "editor",
                "type": "address"
            }
        ],
        "name": "EditorRemoved",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address[]",
                "name": "editors",
                "type": "address[]"
            }
        ],
        "name": "EditorsAdded",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "uint8",
                "name": "version",
                "type": "uint8"
            }
        ],
        "name": "Initialized",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "member",
                "type": "address"
            }
        ],
        "name": "MemberAdded",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "member",
                "type": "address"
            }
        ],
        "name": "MemberLeft",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "address",
                "name": "dao",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "address",
                "name": "member",
                "type": "address"
            }
        ],
        "name": "MemberRemoved",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "uint256",
                "name": "proposalId",
                "type": "uint256"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "creator",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "startDate",
                "type": "uint64"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "endDate",
                "type": "uint64"
            },
            {
                "indexed": false,
                "internalType": "bytes",
                "name": "metadata",
                "type": "bytes"
            },
            {
                "components": [
                    {
                        "internalType": "address",
                        "name": "to",
                        "type": "address"
                    },
                    {
                        "internalType": "uint256",
                        "name": "value",
                        "type": "uint256"
                    },
                    {
                        "internalType": "bytes",
                        "name": "data",
                        "type": "bytes"
                    }
                ],
                "indexed": false,
                "internalType": "struct IDAO.Action[]",
                "name": "actions",
                "type": "tuple[]"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "allowFailureMap",
                "type": "uint256"
            }
        ],
        "name": "ProposalCreated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "uint256",
                "name": "proposalId",
                "type": "uint256"
            }
        ],
        "name": "ProposalExecuted",
        "type": "event"
    },
    {
        "inputs": [],
        "name": "dao",
        "outputs": [
            {
                "internalType": "contract IDAO",
                "name": "",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes",
                "name": "_metadata",
                "type": "bytes"
            },
            {
                "components": [
                    {
                        "internalType": "address",
                        "name": "to",
                        "type": "address"
                    },
                    {
                        "internalType": "uint256",
                        "name": "value",
                        "type": "uint256"
                    },
                    {
                        "internalType": "bytes",
                        "name": "data",
                        "type": "bytes"
                    }
                ],
                "internalType": "struct IDAO.Action[]",
                "name": "_actions",
                "type": "tuple[]"
            },
            {
                "internalType": "uint256",
                "name": "_allowFailureMap",
                "type": "uint256"
            }
        ],
        "name": "executeProposal",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "contract IDAO",
                "name": "_dao",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_initialEditor",
                "type": "address"
            }
        ],
        "name": "initialize",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_account",
                "type": "address"
            }
        ],
        "name": "isEditor",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_account",
                "type": "address"
            }
        ],
        "name": "isMember",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "leaveSpace",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "pluginType",
        "outputs": [
            {
                "internalType": "enum IPlugin.PluginType",
                "name": "",
                "type": "uint8"
            }
        ],
        "stateMutability": "pure",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "proposalCount",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "contract IDAO",
                "name": "_subspaceDao",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_spacePlugin",
                "type": "address"
            }
        ],
        "name": "submitAcceptSubspace",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "string",
                "name": "_contentUri",
                "type": "string"
            },
            {
                "internalType": "address",
                "name": "_spacePlugin",
                "type": "address"
            }
        ],
        "name": "submitEdits",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_newEditor",
                "type": "address"
            }
        ],
        "name": "submitNewEditor",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_newMember",
                "type": "address"
            }
        ],
        "name": "submitNewMember",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_editor",
                "type": "address"
            }
        ],
        "name": "submitRemoveEditor",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "_member",
                "type": "address"
            }
        ],
        "name": "submitRemoveMember",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "contract IDAO",
                "name": "_subspaceDao",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "_spacePlugin",
                "type": "address"
            }
        ],
        "name": "submitRemoveSubspace",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes4",
                "name": "_interfaceId",
                "type": "bytes4"
            }
        ],
        "name": "supportsInterface",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    }
]
