{
    "contractName": "ReputationMiningCycleBinarySearch",
    "abi": [
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_firstDisagreeIdx",
                    "type": "uint256"
                }
            ],
            "name": "BinarySearchConfirmed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                }
            ],
            "name": "BinarySearchStep",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                }
            ],
            "name": "ChallengeCompleted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                }
            ],
            "name": "HashInvalidated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                }
            ],
            "name": "JustificationRootHashConfirmed",
            "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": false,
                    "internalType": "uint256",
                    "name": "previousNewReputationUID",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_disagreeStateReputationUID",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bool",
                    "name": "_existingUID",
                    "type": "bool"
                }
            ],
            "name": "ProveUIDSuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "_agreeStateReputationValue",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "_disagreeStateReputationValue",
                    "type": "int256"
                },
                {
                    "indexed": false,
                    "internalType": "int256",
                    "name": "_originReputationValue",
                    "type": "int256"
                }
            ],
            "name": "ProveValueSuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "_miner",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_newHash",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "_jrh",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "_entryIndex",
                    "type": "uint256"
                }
            ],
            "name": "ReputationRootHashSubmitted",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "authority",
            "outputs": [
                {
                    "internalType": "contract DSAuthority",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "_nLeaves",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_leaf",
                    "type": "uint256"
                }
            ],
            "name": "expectedBranchMask",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "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": [
                {
                    "internalType": "uint256",
                    "name": "_round",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_idx",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "_jhIntermediateValue",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes32[]",
                    "name": "_siblings",
                    "type": "bytes32[]"
                }
            ],
            "name": "respondToBinarySearchForChallenge",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "_round",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "_idx",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "_jhIntermediateValue",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes32[]",
                    "name": "_siblings",
                    "type": "bytes32[]"
                }
            ],
            "name": "confirmBinarySearchResult",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
    },
    "userdoc": {
        "events": {
            "ProveUIDSuccess(uint256,uint256,bool)": {
                "notice": "Event logged when a reputation UID is proven to be correct in a challenge"
            },
            "ProveValueSuccess(int256,int256,int256)": {
                "notice": "Event logged when a reputation value is proven to be correct in a challenge"
            }
        },
        "kind": "user",
        "methods": {},
        "version": 1
    }
}