{
  "_format": "hh-sol-artifact-1",
  "contractName": "WatcherManager",
  "sourceName": "contracts/messaging/WatcherManager.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__onlyOwner_notOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__onlyProposed_notProposedOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__renounceOwnership_invalidProposal",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ProposedOwnable__renounceOwnership_noProposal",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "proposedOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "watcher",
          "type": "address"
        }
      ],
      "name": "WatcherAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "watcher",
          "type": "address"
        }
      ],
      "name": "WatcherRemoved",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptProposedOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_watcher",
          "type": "address"
        }
      ],
      "name": "addWatcher",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "delay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "isWatcher",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newlyProposed",
          "type": "address"
        }
      ],
      "name": "proposeNewOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposed",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposedTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_watcher",
          "type": "address"
        }
      ],
      "name": "removeWatcher",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounced",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b610084565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b6105c5806100936000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461011e578063b1f8100d14610143578063c5b350df14610156578063d1851c921461015e578063d232c2201461016f578063ec2b13451461018157600080fd5b806324bdff8c146100ae5780633cf52ffb146100c35780636a42b8f8146100da578063715018a6146100e357806384785ecd146100eb575b600080fd5b6100c16100bc366004610538565b610194565b005b6002545b6040519081526020015b60405180910390f35b62093a806100c7565b6100c161027a565b61010e6100f9366004610538565b60036020526000908152604090205460ff1681565b60405190151581526020016100d1565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100d1565b6100c1610151366004610538565b6102a7565b6100c1610348565b6001546001600160a01b031661012b565b6000546001600160a01b03161561010e565b6100c161018f366004610538565b6103b8565b6000546001600160a01b031633146101bf576040516311a8a1bb60e31b815260040160405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff161561021f5760405162461bcd60e51b815260206004820152600f60248201526e30b63932b0b23c903bb0ba31b432b960891b60448201526064015b60405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff1916600117905590519182527fbd71030f437353231b6e5bedade573b1e0da5cb6e8bdde37c33c1fea986c29c791015b60405180910390a150565b6000546001600160a01b031633146102a5576040516311a8a1bb60e31b815260040160405180910390fd5b565b6000546001600160a01b031633146102d2576040516311a8a1bb60e31b815260040160405180910390fd5b6001546001600160a01b0382811691161480156102f0575060025415155b1561030e576040516311bc066560e11b815260040160405180910390fd5b6000546001600160a01b0380831691160361033c57604051634a2fb73f60e11b815260040160405180910390fd5b61034581610485565b50565b6001546001600160a01b03163314610373576040516311a7f27160e11b815260040160405180910390fd5b62093a80600254426103859190610568565b116103a3576040516324e0285f60e21b815260040160405180910390fd5b6001546102a5906001600160a01b03166104d3565b6000546001600160a01b031633146103e3576040516311a8a1bb60e31b815260040160405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff166104345760405162461bcd60e51b815260206004820152600660248201526508595e1a5cdd60d21b6044820152606401610216565b6001600160a01b038116600081815260036020908152604091829020805460ff1916905590519182527ffa8eab6357bec870e7048c2413cbaa813236bb29ebac113541a76fef429e94dc910161026f565b42600255600180546001600160a01b0319166001600160a01b0383169081179091556040517f6ab4d119f23076e8ad491bc65ce85f017fb0591dce08755ba8591059cc51737a90600090a250565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b60006020828403121561054a57600080fd5b81356001600160a01b038116811461056157600080fd5b9392505050565b8181038181111561058957634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220d6fd2c863795124ce39d311825b230d35f5b9268f0c7da0b58adaa553832bcd064736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461011e578063b1f8100d14610143578063c5b350df14610156578063d1851c921461015e578063d232c2201461016f578063ec2b13451461018157600080fd5b806324bdff8c146100ae5780633cf52ffb146100c35780636a42b8f8146100da578063715018a6146100e357806384785ecd146100eb575b600080fd5b6100c16100bc366004610538565b610194565b005b6002545b6040519081526020015b60405180910390f35b62093a806100c7565b6100c161027a565b61010e6100f9366004610538565b60036020526000908152604090205460ff1681565b60405190151581526020016100d1565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100d1565b6100c1610151366004610538565b6102a7565b6100c1610348565b6001546001600160a01b031661012b565b6000546001600160a01b03161561010e565b6100c161018f366004610538565b6103b8565b6000546001600160a01b031633146101bf576040516311a8a1bb60e31b815260040160405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff161561021f5760405162461bcd60e51b815260206004820152600f60248201526e30b63932b0b23c903bb0ba31b432b960891b60448201526064015b60405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff1916600117905590519182527fbd71030f437353231b6e5bedade573b1e0da5cb6e8bdde37c33c1fea986c29c791015b60405180910390a150565b6000546001600160a01b031633146102a5576040516311a8a1bb60e31b815260040160405180910390fd5b565b6000546001600160a01b031633146102d2576040516311a8a1bb60e31b815260040160405180910390fd5b6001546001600160a01b0382811691161480156102f0575060025415155b1561030e576040516311bc066560e11b815260040160405180910390fd5b6000546001600160a01b0380831691160361033c57604051634a2fb73f60e11b815260040160405180910390fd5b61034581610485565b50565b6001546001600160a01b03163314610373576040516311a7f27160e11b815260040160405180910390fd5b62093a80600254426103859190610568565b116103a3576040516324e0285f60e21b815260040160405180910390fd5b6001546102a5906001600160a01b03166104d3565b6000546001600160a01b031633146103e3576040516311a8a1bb60e31b815260040160405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff166104345760405162461bcd60e51b815260206004820152600660248201526508595e1a5cdd60d21b6044820152606401610216565b6001600160a01b038116600081815260036020908152604091829020805460ff1916905590519182527ffa8eab6357bec870e7048c2413cbaa813236bb29ebac113541a76fef429e94dc910161026f565b42600255600180546001600160a01b0319166001600160a01b0383169081179091556040517f6ab4d119f23076e8ad491bc65ce85f017fb0591dce08755ba8591059cc51737a90600090a250565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316178155600255600180549091169055565b60006020828403121561054a57600080fd5b81356001600160a01b038116811461056157600080fd5b9392505050565b8181038181111561058957634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220d6fd2c863795124ce39d311825b230d35f5b9268f0c7da0b58adaa553832bcd064736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
