{ "contractName": "IRecovery", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "name": "user", "type": "address" }, { "indexed": false, "name": "setTo", "type": "bool" } ], "name": "RecoveryRoleSet", "type": "event" }, { "constant": false, "inputs": [], "name": "enterRecoveryMode", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "exitRecoveryMode", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "approveExitRecovery", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "isInRecoveryMode", "outputs": [ { "name": "inRecoveryMode", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_user", "type": "address" } ], "name": "setRecoveryRole", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_user", "type": "address" } ], "name": "removeRecoveryRole", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "numRecoveryRoles", "outputs": [ { "name": "numRoles", "type": "uint64" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_slot", "type": "uint256" }, { "name": "_value", "type": "bytes32" } ], "name": "setStorageSlotRecovery", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_slot", "type": "uint256" } ], "name": "checkNotAdditionalProtectedVariable", "outputs": [], "payable": false, "stateMutability": "view", "type": "function" } ], "devdoc": { "methods": { "checkNotAdditionalProtectedVariable(uint256)": { "details": "No return value, but should throw if protected.This is public, but is only expected to be called from ContractRecovery; no need toexpose this to any users.", "params": { "_slot": "The storage slot number to check." } }, "isInRecoveryMode()": { "return": "inRecoveryMode Return true if recovery mode is active, false otherwise" }, "numRecoveryRoles()": { "return": "numRoles Number of users with the recovery role." }, "removeRecoveryRole(address)": { "params": { "_user": "User we want to remove recovery role from" } }, "setRecoveryRole(address)": { "params": { "_user": "User we want to give a recovery role to" } }, "setStorageSlotRecovery(uint256,bytes32)": { "details": "certain critical variables are protected from editing in this function", "params": { "_slot": "Uint address of storage slot to be updated", "_value": "word of data to be set" } } }, "title": "Recovery interface" }, "userdoc": { "methods": { "approveExitRecovery()": { "notice": "Indicate approval to exit recovery mode. Can only be called by user with recovery role." }, "checkNotAdditionalProtectedVariable(uint256)": { "notice": "Check whether the supplied slot is a protected variable specific to this contract" }, "enterRecoveryMode()": { "notice": "Put colony network mining into recovery mode. Can only be called by user with recovery role." }, "exitRecoveryMode()": { "notice": "Exit recovery mode, can be called by anyone if enough whitelist approvals are given." }, "isInRecoveryMode()": { "notice": "Is colony network in recovery mode." }, "numRecoveryRoles()": { "notice": "Return number of recovery roles." }, "removeRecoveryRole(address)": { "notice": "Remove colony recovery role. Can only be called by root role." }, "setRecoveryRole(address)": { "notice": "Set new colony recovery role. Can be called by root." }, "setStorageSlotRecovery(uint256,bytes32)": { "notice": "Update value of arbitrary storage variable. Can only be called by user with recovery role." } }, "notice": "All publicly available functions are available here and registered to work with EtherRouter Network contract" } }