[
    {
        "constant": true,
        "inputs": [],
        "name": "cfoAddress",
        "outputs": [{ "name": "", "type": "address" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "ceoAddress",
        "outputs": [{ "name": "", "type": "address" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "pauseDuration", "type": "uint256" }],
        "name": "pause",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "newCfo", "type": "address" }],
        "name": "setCfo",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "duelResolver",
        "outputs": [{ "name": "", "type": "address" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "newCeo", "type": "address" }],
        "name": "setCeo",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "newCoo", "type": "address" }],
        "name": "setCoo",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "powerScale",
        "outputs": [{ "name": "", "type": "uint256" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "cooAddress",
        "outputs": [{ "name": "", "type": "address" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "isPaused",
        "outputs": [{ "name": "", "type": "bool" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            { "name": "cooAddress_", "type": "address" },
            { "name": "duelResolver_", "type": "address" },
            { "name": "powerScale_", "type": "uint256" },
            { "name": "tournamentStartBlock_", "type": "uint256" },
            { "name": "admissionDuration_", "type": "uint256" },
            { "name": "revivalDuration_", "type": "uint256" },
            { "name": "ascensionDuration_", "type": "uint256" },
            { "name": "fightDuration_", "type": "uint256" },
            { "name": "cullingDuration_", "type": "uint256" },
            { "name": "blueMoldBasePower_", "type": "uint256" },
            { "name": "sessionsBetweenMoldDoubling_", "type": "uint256" },
            { "name": "duelTimeoutBlocks_", "type": "uint256" }
        ],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    { "payable": true, "stateMutability": "payable", "type": "fallback" },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "duelId", "type": "bytes32" },
            { "indexed": false, "name": "wizardId1", "type": "uint256" },
            { "indexed": false, "name": "wizardId2", "type": "uint256" },
            { "indexed": false, "name": "timeoutBlock", "type": "uint256" },
            { "indexed": false, "name": "isAscensionBattle", "type": "bool" }
        ],
        "name": "DuelStart",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "duelId", "type": "bytes32" },
            { "indexed": false, "name": "wizardId1", "type": "uint256" },
            { "indexed": false, "name": "wizardId2", "type": "uint256" },
            { "indexed": false, "name": "moveSet1", "type": "bytes32" },
            { "indexed": false, "name": "moveSet2", "type": "bytes32" },
            { "indexed": false, "name": "power1", "type": "uint256" },
            { "indexed": false, "name": "power2", "type": "uint256" }
        ],
        "name": "DuelEnd",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "duelId", "type": "bytes32" },
            { "indexed": false, "name": "wizardId1", "type": "uint256" },
            { "indexed": false, "name": "wizardId2", "type": "uint256" },
            { "indexed": false, "name": "power1", "type": "uint256" },
            { "indexed": false, "name": "power2", "type": "uint256" }
        ],
        "name": "DuelTimeOut",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [{ "indexed": false, "name": "wizardId", "type": "uint256" }],
        "name": "WizardElimination",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [{ "indexed": false, "name": "wizardId", "type": "uint256" }],
        "name": "AscensionStart",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "wizardId1", "type": "uint256" },
            { "indexed": false, "name": "wizardId2", "type": "uint256" }
        ],
        "name": "AscensionPairUp",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "wizardId", "type": "uint256" },
            { "indexed": false, "name": "power", "type": "uint256" }
        ],
        "name": "AscensionComplete",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "wizId", "type": "uint256" },
            { "indexed": false, "name": "power", "type": "uint256" }
        ],
        "name": "Revive",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "givingWizId", "type": "uint256" },
            { "indexed": false, "name": "receivingWizId", "type": "uint256" },
            { "indexed": false, "name": "amountGifted", "type": "uint256" }
        ],
        "name": "PowerGifted",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "claimingWinnerId", "type": "uint256" },
            { "indexed": false, "name": "prizeAmount", "type": "uint256" }
        ],
        "name": "PrizeClaimed",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "pauseEndingBlock", "type": "uint256" }
        ],
        "name": "Paused",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "previousCeo", "type": "address" },
            { "indexed": false, "name": "newCeo", "type": "address" }
        ],
        "name": "CEOTransferred",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "previousCoo", "type": "address" },
            { "indexed": false, "name": "newCoo", "type": "address" }
        ],
        "name": "COOTransferred",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            { "indexed": false, "name": "previousCfo", "type": "address" },
            { "indexed": false, "name": "newCfo", "type": "address" }
        ],
        "name": "CFOTransferred",
        "type": "event"
    },
    {
        "constant": true,
        "inputs": [{ "name": "interfaceId", "type": "bytes4" }],
        "name": "supportsInterface",
        "outputs": [{ "name": "", "type": "bool" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [],
        "name": "isActive",
        "outputs": [{ "name": "", "type": "bool" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "getWizard",
        "outputs": [
            { "name": "affinity", "type": "uint256" },
            { "name": "power", "type": "uint256" },
            { "name": "maxPower", "type": "uint256" },
            { "name": "nonce", "type": "uint256" },
            { "name": "currentDuel", "type": "bytes32" },
            { "name": "ascending", "type": "bool" },
            { "name": "ascensionOpponent", "type": "uint256" },
            { "name": "molded", "type": "bool" },
            { "name": "ready", "type": "bool" }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "wizardFingerprint",
        "outputs": [{ "name": "", "type": "bytes32" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": true,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "isReady",
        "outputs": [{ "name": "", "type": "bool" }],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardIds", "type": "uint256[]" },
            { "name": "powers", "type": "uint88[]" }
        ],
        "name": "enterWizards",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "revive",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "updateAffinity",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "startAscension",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardId", "type": "uint256" },
            { "name": "commitment", "type": "bytes32" }
        ],
        "name": "challengeAscending",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "commitment", "type": "bytes32" }],
        "name": "acceptAscensionChallenge",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "completeAscension",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "committingWizardId", "type": "uint256" },
            { "name": "otherWizardId", "type": "uint256" },
            { "name": "commitment", "type": "bytes32" }
        ],
        "name": "oneSidedCommit",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "wizardId", "type": "uint256" }],
        "name": "cancelCommitment",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardId1", "type": "uint256" },
            { "name": "wizardId2", "type": "uint256" },
            { "name": "commit1", "type": "bytes32" },
            { "name": "commit2", "type": "bytes32" },
            { "name": "sig1", "type": "bytes" },
            { "name": "sig2", "type": "bytes" }
        ],
        "name": "doubleCommit",
        "outputs": [{ "name": "duelId", "type": "bytes32" }],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "committingWizardId", "type": "uint256" },
            { "name": "commit", "type": "bytes32" },
            { "name": "moveSet", "type": "bytes32" },
            { "name": "salt", "type": "bytes32" },
            { "name": "otherWizardId", "type": "uint256" },
            { "name": "otherCommit", "type": "bytes32" }
        ],
        "name": "oneSidedReveal",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardId1", "type": "uint256" },
            { "name": "wizardId2", "type": "uint256" },
            { "name": "commit1", "type": "bytes32" },
            { "name": "commit2", "type": "bytes32" },
            { "name": "moveSet1", "type": "bytes32" },
            { "name": "moveSet2", "type": "bytes32" },
            { "name": "salt1", "type": "bytes32" },
            { "name": "salt2", "type": "bytes32" }
        ],
        "name": "doubleReveal",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardId1", "type": "uint256" },
            { "name": "wizardId2", "type": "uint256" }
        ],
        "name": "resolveTimedOutDuel",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "sendingWizardId", "type": "uint256" },
            { "name": "receivingWizardId", "type": "uint256" }
        ],
        "name": "giftPower",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "wizardIds", "type": "uint256[]" },
            { "name": "survivor", "type": "uint256" }
        ],
        "name": "cullMoldedWithSurvivor",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "moldyWizardIds", "type": "uint256[]" }],
        "name": "cullMoldedWithMolded",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "wizardIds", "type": "uint256[]" }],
        "name": "cullTiredWizards",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [{ "name": "claimingWinnerId", "type": "uint256" }],
        "name": "claimTheBigCheeze",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [
            { "name": "claimingWinnerId", "type": "uint256" },
            { "name": "allWinners", "type": "uint256[]" }
        ],
        "name": "claimSharedWinnings",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "constant": false,
        "inputs": [],
        "name": "destroy",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
    }
]
