[
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "history_hashes",
                "type": "bytes32[]"
            },
            {
                "name": "addrs",
                "type": "address[]"
            },
            {
                "name": "bonds",
                "type": "uint256[]"
            },
            {
                "name": "answers",
                "type": "bytes32[]"
            }
        ],
        "name": "claimWinnings",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "content_hash",
                "type": "bytes32"
            },
            {
                "name": "arbitrator",
                "type": "address"
            },
            {
                "name": "min_timeout",
                "type": "uint32"
            },
            {
                "name": "min_bond",
                "type": "uint256"
            }
        ],
        "name": "getFinalAnswerIfMatches",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getBounty",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getArbitrator",
        "outputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getBond",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_ids",
                "type": "bytes32[]"
            },
            {
                "name": "lengths",
                "type": "uint256[]"
            },
            {
                "name": "hist_hashes",
                "type": "bytes32[]"
            },
            {
                "name": "addrs",
                "type": "address[]"
            },
            {
                "name": "bonds",
                "type": "uint256[]"
            },
            {
                "name": "answers",
                "type": "bytes32[]"
            }
        ],
        "name": "claimMultipleAndWithdrawBalance",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "withdraw",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "answer",
                "type": "bytes32"
            },
            {
                "name": "nonce",
                "type": "uint256"
            },
            {
                "name": "bond",
                "type": "uint256"
            }
        ],
        "name": "submitAnswerReveal",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "fee",
                "type": "uint256"
            }
        ],
        "name": "setQuestionFee",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "name": "template_hashes",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getContentHash",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "question_claims",
        "outputs": [
            {
                "name": "payee",
                "type": "address"
            },
            {
                "name": "last_bond",
                "type": "uint256"
            },
            {
                "name": "queued_funds",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "fundAnswerBounty",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "name": "arbitrator_question_fees",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "address"
            }
        ],
        "name": "balanceOf",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "template_id",
                "type": "uint256"
            },
            {
                "name": "question",
                "type": "string"
            },
            {
                "name": "arbitrator",
                "type": "address"
            },
            {
                "name": "timeout",
                "type": "uint32"
            },
            {
                "name": "opening_ts",
                "type": "uint32"
            },
            {
                "name": "nonce",
                "type": "uint256"
            }
        ],
        "name": "askQuestion",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "answer",
                "type": "bytes32"
            },
            {
                "name": "max_previous",
                "type": "uint256"
            }
        ],
        "name": "submitAnswer",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "isFinalized",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getHistoryHash",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "commitments",
        "outputs": [
            {
                "name": "reveal_ts",
                "type": "uint32"
            },
            {
                "name": "is_revealed",
                "type": "bool"
            },
            {
                "name": "revealed_answer",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "content",
                "type": "string"
            }
        ],
        "name": "createTemplate",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getBestAnswer",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "isPendingArbitration",
        "outputs": [
            {
                "name": "",
                "type": "bool"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "questions",
        "outputs": [
            {
                "name": "content_hash",
                "type": "bytes32"
            },
            {
                "name": "arbitrator",
                "type": "address"
            },
            {
                "name": "opening_ts",
                "type": "uint32"
            },
            {
                "name": "timeout",
                "type": "uint32"
            },
            {
                "name": "finalize_ts",
                "type": "uint32"
            },
            {
                "name": "is_pending_arbitration",
                "type": "bool"
            },
            {
                "name": "bounty",
                "type": "uint256"
            },
            {
                "name": "best_answer",
                "type": "bytes32"
            },
            {
                "name": "history_hash",
                "type": "bytes32"
            },
            {
                "name": "bond",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getOpeningTS",
        "outputs": [
            {
                "name": "",
                "type": "uint32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getTimeout",
        "outputs": [
            {
                "name": "",
                "type": "uint32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "content",
                "type": "string"
            },
            {
                "name": "question",
                "type": "string"
            },
            {
                "name": "arbitrator",
                "type": "address"
            },
            {
                "name": "timeout",
                "type": "uint32"
            },
            {
                "name": "opening_ts",
                "type": "uint32"
            },
            {
                "name": "nonce",
                "type": "uint256"
            }
        ],
        "name": "createTemplateAndAskQuestion",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getFinalAnswer",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "getFinalizeTS",
        "outputs": [
            {
                "name": "",
                "type": "uint32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "name": "templates",
        "outputs": [
            {
                "name": "",
                "type": "uint256"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            }
        ],
        "name": "resultFor",
        "outputs": [
            {
                "name": "",
                "type": "bytes32"
            }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "answer_hash",
                "type": "bytes32"
            },
            {
                "name": "max_previous",
                "type": "uint256"
            },
            {
                "name": "_answerer",
                "type": "address"
            }
        ],
        "name": "submitAnswerCommitment",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "requester",
                "type": "address"
            },
            {
                "name": "max_previous",
                "type": "uint256"
            }
        ],
        "name": "notifyOfArbitrationRequest",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            {
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "name": "answer",
                "type": "bytes32"
            },
            {
                "name": "answerer",
                "type": "address"
            }
        ],
        "name": "submitAnswerByArbitrator",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "arbitrator",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "LogSetQuestionFee",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "template_id",
                "type": "uint256"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "question_text",
                "type": "string"
            }
        ],
        "name": "LogNewTemplate",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "template_id",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "question",
                "type": "string"
            },
            {
                "indexed": true,
                "name": "content_hash",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "arbitrator",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "timeout",
                "type": "uint32"
            },
            {
                "indexed": false,
                "name": "opening_ts",
                "type": "uint32"
            },
            {
                "indexed": false,
                "name": "nonce",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "created",
                "type": "uint256"
            }
        ],
        "name": "LogNewQuestion",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "bounty_added",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "bounty",
                "type": "uint256"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            }
        ],
        "name": "LogFundAnswerBounty",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "name": "answer",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "history_hash",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "bond",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "ts",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "is_commitment",
                "type": "bool"
            }
        ],
        "name": "LogNewAnswer",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": true,
                "name": "answer_hash",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "answer",
                "type": "bytes32"
            },
            {
                "indexed": false,
                "name": "nonce",
                "type": "uint256"
            },
            {
                "indexed": false,
                "name": "bond",
                "type": "uint256"
            }
        ],
        "name": "LogAnswerReveal",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            }
        ],
        "name": "LogNotifyOfArbitrationRequest",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "answer",
                "type": "bytes32"
            }
        ],
        "name": "LogFinalize",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "question_id",
                "type": "bytes32"
            },
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "LogClaim",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "name": "user",
                "type": "address"
            },
            {
                "indexed": false,
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "LogWithdraw",
        "type": "event"
    }
]