[
    {
        "inputs": [
            { "internalType": "address", "name": "_registry", "type": "address" },
            { "internalType": "address", "name": "_supervisor", "type": "address" },
            { "internalType": "uint256", "name": "_networkId", "type": "uint256" }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": true, "internalType": "address", "name": "token", "type": "address" },
            { "indexed": true, "internalType": "address", "name": "to", "type": "address" },
            { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }
        ],
        "name": "ClaimedTokens",
        "type": "event"
    },
    {
        "anonymous": true,
        "inputs": [
            { "indexed": true, "internalType": "bytes4", "name": "sig", "type": "bytes4" },
            { "indexed": true, "internalType": "address", "name": "guy", "type": "address" },
            { "indexed": true, "internalType": "bytes32", "name": "foo", "type": "bytes32" },
            { "indexed": true, "internalType": "bytes32", "name": "bar", "type": "bytes32" },
            { "indexed": false, "internalType": "uint256", "name": "wad", "type": "uint256" },
            { "indexed": false, "internalType": "bytes", "name": "fax", "type": "bytes" }
        ],
        "name": "LogNote",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [{ "indexed": true, "internalType": "address", "name": "authority", "type": "address" }],
        "name": "LogSetAuthority",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [{ "indexed": true, "internalType": "address", "name": "owner", "type": "address" }],
        "name": "LogSetOwner",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": true, "internalType": "address", "name": "user", "type": "address" },
            { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" },
            { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" },
            { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }
        ],
        "name": "OpenBox",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": true, "internalType": "address", "name": "user", "type": "address" },
            { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" },
            { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" }
        ],
        "name": "TakeBackDrill",
        "type": "event"
    },
    {
        "inputs": [],
        "name": "CONTRACT_DRILL_BASE",
        "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "CONTRACT_RING_ERC20_TOKEN",
        "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "authority",
        "outputs": [{ "internalType": "contract DSAuthority", "name": "", "type": "address" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [{ "internalType": "address", "name": "_newSupervisor", "type": "address" }],
        "name": "changeSupervisor",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [{ "internalType": "address", "name": "_token", "type": "address" }],
        "name": "claimTokens",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
        "name": "ids",
        "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "networkId",
        "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" },
            { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" },
            { "internalType": "bytes32", "name": "_hashmessage", "type": "bytes32" },
            { "internalType": "uint8", "name": "_v", "type": "uint8" },
            { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
            { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
        ],
        "name": "openBoxes",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "owner",
        "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "registry",
        "outputs": [{ "internalType": "contract ISettingsRegistry", "name": "", "type": "address" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [{ "internalType": "contract DSAuthority", "name": "authority_", "type": "address" }],
        "name": "setAuthority",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [{ "internalType": "address", "name": "owner_", "type": "address" }],
        "name": "setOwner",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    { "inputs": [], "name": "start", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
    { "inputs": [], "name": "stop", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
    {
        "inputs": [],
        "name": "stopped",
        "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "supervisor",
        "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" },
            { "internalType": "uint16[]", "name": "_grades", "type": "uint16[]" },
            { "internalType": "bytes32", "name": "_hashmessage", "type": "bytes32" },
            { "internalType": "uint8", "name": "_v", "type": "uint8" },
            { "internalType": "bytes32", "name": "_r", "type": "bytes32" },
            { "internalType": "bytes32", "name": "_s", "type": "bytes32" }
        ],
        "name": "takeBack",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]
