{ "contractName": "ReputationMiningCycle", "abi": [ { "constant": false, "inputs": [ { "name": "owner_", "type": "address" } ], "name": "setOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "authority_", "type": "address" } ], "name": "setAuthority", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "authority", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "authority", "type": "address" } ], "name": "LogSetAuthority", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "owner", "type": "address" } ], "name": "LogSetOwner", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_miner", "type": "address" }, { "indexed": false, "name": "_newHash", "type": "bytes32" }, { "indexed": false, "name": "_nNodes", "type": "uint256" }, { "indexed": false, "name": "_jrh", "type": "bytes32" }, { "indexed": false, "name": "_entryIndex", "type": "uint256" } ], "name": "ReputationRootHashSubmitted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_newHash", "type": "bytes32" }, { "indexed": false, "name": "_nNodes", "type": "uint256" }, { "indexed": false, "name": "_jrh", "type": "bytes32" } ], "name": "JustificationRootHashConfirmed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_newHash", "type": "bytes32" }, { "indexed": false, "name": "_nNodes", "type": "uint256" }, { "indexed": false, "name": "_jrh", "type": "bytes32" }, { "indexed": false, "name": "_firstDisagreeIdx", "type": "uint256" } ], "name": "BinarySearchConfirmed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_newHash", "type": "bytes32" }, { "indexed": false, "name": "_nNodes", "type": "uint256" }, { "indexed": false, "name": "_jrh", "type": "bytes32" } ], "name": "ChallengeCompleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_newHash", "type": "bytes32" }, { "indexed": false, "name": "_nNodes", "type": "uint256" }, { "indexed": false, "name": "_jrh", "type": "bytes32" } ], "name": "HashInvalidated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "previousNewReputationUID", "type": "uint256" }, { "indexed": false, "name": "_disagreeStateReputationUID", "type": "uint256" }, { "indexed": false, "name": "existingUID", "type": "bool" } ], "name": "ProveUIDSuccess", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "_agreeStateReputationValue", "type": "int256" }, { "indexed": false, "name": "_disagreeStateReputationValue", "type": "int256" }, { "indexed": false, "name": "_originReputationValue", "type": "int256" } ], "name": "ProveValueSuccess", "type": "event" }, { "constant": false, "inputs": [ { "name": "_tokenLockingAddress", "type": "address" }, { "name": "_clnyTokenAddress", "type": "address" } ], "name": "initialise", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getMinStake", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "getMiningWindowDuration", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "name": "submitter", "type": "address" }, { "name": "entryIndex", "type": "uint256" }, { "name": "newHash", "type": "bytes32" } ], "name": "getEntryHash", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "getNUniqueSubmittedHashes", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "hash", "type": "bytes32" }, { "name": "nNodes", "type": "uint256" }, { "name": "jrh", "type": "bytes32" } ], "name": "getNSubmissionsForHash", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getNInvalidatedHashes", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "hash", "type": "bytes32" }, { "name": "nNodes", "type": "uint256" }, { "name": "jrh", "type": "bytes32" }, { "name": "index", "type": "uint256" } ], "name": "getSubmissionUser", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "resetWindow", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "round", "type": "uint256" } ], "name": "challengeRoundComplete", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newHash", "type": "bytes32" }, { "name": "nNodes", "type": "uint256" }, { "name": "jrh", "type": "bytes32" }, { "name": "entryIndex", "type": "uint256" } ], "name": "submitRootHash", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "roundNumber", "type": "uint256" } ], "name": "confirmNewHash", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "round", "type": "uint256" }, { "name": "idx", "type": "uint256" } ], "name": "invalidateHash", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "round", "type": "uint256" }, { "name": "idx", "type": "uint256" }, { "name": "jhIntermediateValue", "type": "bytes" }, { "name": "branchMask", "type": "uint256" }, { "name": "siblings", "type": "bytes32[]" } ], "name": "respondToBinarySearchForChallenge", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "round", "type": "uint256" }, { "name": "idx", "type": "uint256" }, { "name": "jhIntermediateValue", "type": "bytes" }, { "name": "branchMask", "type": "uint256" }, { "name": "siblings", "type": "bytes32[]" } ], "name": "confirmBinarySearchResult", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "round", "type": "uint256" }, { "name": "index", "type": "uint256" }, { "name": "branchMask1", "type": "uint256" }, { "name": "siblings1", "type": "bytes32[]" }, { "name": "branchMask2", "type": "uint256" }, { "name": "siblings2", "type": "bytes32[]" } ], "name": "confirmJustificationRootHash", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_user", "type": "address" }, { "name": "_amount", "type": "int256" }, { "name": "_skillId", "type": "uint256" }, { "name": "_colonyAddress", "type": "address" }, { "name": "_nParents", "type": "uint128" }, { "name": "_nChildren", "type": "uint128" } ], "name": "appendReputationUpdateLog", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getReputationUpdateLogLength", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_id", "type": "uint256" } ], "name": "getReputationUpdateLogEntry", "outputs": [ { "components": [ { "name": "user", "type": "address" }, { "name": "amount", "type": "int256" }, { "name": "skillId", "type": "uint256" }, { "name": "colony", "type": "address" }, { "name": "nUpdates", "type": "uint128" }, { "name": "nPreviousUpdates", "type": "uint128" } ], "name": "", "type": "tuple" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_user", "type": "address" } ], "name": "getReputationHashSubmission", "outputs": [ { "components": [ { "name": "proposedNewRootHash", "type": "bytes32" }, { "name": "nNodes", "type": "uint256" }, { "name": "jrh", "type": "bytes32" }, { "name": "jrhNNodes", "type": "uint256" } ], "name": "", "type": "tuple" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_miner", "type": "address" }, { "name": "_index", "type": "uint256" } ], "name": "minerSubmittedEntryIndex", "outputs": [ { "name": "result", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_round", "type": "uint256" } ], "name": "getDisputeRound", "outputs": [ { "components": [ { "name": "firstSubmitter", "type": "address" }, { "name": "lastResponseTimestamp", "type": "uint256" }, { "name": "challengeStepCompleted", "type": "uint256" }, { "name": "intermediateReputationHash", "type": "bytes32" }, { "name": "intermediateReputationNNodes", "type": "uint256" }, { "name": "lowerBound", "type": "uint256" }, { "name": "upperBound", "type": "uint256" }, { "name": "provedPreviousReputationUID", "type": "uint256" }, { "name": "targetHashDuringSearch", "type": "bytes32" }, { "name": "hash1", "type": "bytes32" }, { "name": "hash2", "type": "bytes32" } ], "name": "", "type": "tuple[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "stakers", "type": "address[]" }, { "name": "weights", "type": "uint256[]" }, { "name": "metaColonyAddress", "type": "address" }, { "name": "reward", "type": "uint256" }, { "name": "miningSkillId", "type": "uint256" } ], "name": "rewardStakersWithReputation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getReputationMiningWindowOpenTimestamp", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "devdoc": { "methods": { "initialise(address,address)": { "details": "This will only be called once, by ColonyNetwork, in the same transaction that deploys this contract" } } }, "userdoc": { "methods": { "getNInvalidatedHashes()": { "notice": "Get the number of hashes that have been invalidated this mining cycle" }, "getNUniqueSubmittedHashes()": { "notice": "Get the number of hashes that have been submitted this mining cycle" }, "getReputationMiningWindowOpenTimestamp()": { "notice": "Get the timestamp that the current reputation mining window opened" }, "initialise(address,address)": { "notice": "Initialise this reputation mining cycle." } } } }