{ "contractName": "ContractRecovery", "abi": [ { "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": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeEntered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeExitApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeExited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "setTo", "type": "bool" } ], "name": "RecoveryRoleSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "slot", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "fromValue", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "toValue", "type": "bytes32" } ], "name": "RecoveryStorageSlotSet", "type": "event" }, { "inputs": [], "name": "authority", "outputs": [ { "internalType": "contract DSAuthority", "name": "", "type": "address" } ], "stateMutability": "view", "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": "_slot", "type": "uint256" }, { "internalType": "bytes32", "name": "_value", "type": "bytes32" } ], "name": "setStorageSlotRecovery", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isInRecoveryMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enterRecoveryMode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "approveExitRecovery", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "exitRecoveryMode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "setRecoveryRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "removeRecoveryRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "numRecoveryRoles", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "events": { "RecoveryModeEntered(address)": { "notice": "Event logged when recovery mode is triggered." }, "RecoveryModeExitApproved(address)": { "notice": "Event logged when someone with recovery mode signals they are happy with the state and wish to leave recovery mode" }, "RecoveryModeExited(address)": { "notice": "Event logged when recovery mode is left" }, "RecoveryRoleSet(address,bool)": { "notice": "Event logged when user gets/loses the recovery role." }, "RecoveryStorageSlotSet(address,uint256,bytes32,bytes32)": { "notice": "Event logged when in recovery mode a storage slot is set" } }, "kind": "user", "methods": {}, "version": 1 } }