{
  "_format": "hh-sol-artifact-1",
  "contractName": "ControllerRegistry",
  "sourceName": "contracts/ControllerRegistry.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "newController",
          "type": "address"
        }
      ],
      "name": "ControllerRegister",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "newController",
          "type": "address"
        }
      ],
      "name": "ControllerRemove",
      "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"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "controllerRegistry",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_controller",
          "type": "address"
        }
      ],
      "name": "isRegistered",
      "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": "_controller",
          "type": "address"
        }
      ],
      "name": "registerController",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_controller",
          "type": "address"
        }
      ],
      "name": "removeController",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104a48061007e6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c3c5a5471161005b578063c3c5a547146100df578063d91ae8c21461010b578063f2fde38b1461011e578063f6a74ed71461013157600080fd5b806301df60a414610082578063715018a6146100ba5780638da5cb5b146100c4575b600080fd5b6100a561009036600461043e565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100c2610144565b005b6000546040516001600160a01b0390911681526020016100b1565b6100a56100ed36600461043e565b6001600160a01b031660009081526001602052604090205460ff1690565b6100c261011936600461043e565b610158565b6100c261012c36600461043e565b61021f565b6100c261013f36600461043e565b6102af565b61014c61037c565b61015660006103d6565b565b61016061037c565b6001600160a01b0381163b6101bc5760405162461bcd60e51b815260206004820152601b60248201527f636f6e74726f6c6c657220776173206e6f7420636f6e7472616374000000000060448201526064015b60405180910390fd5b6040516001600160a01b03821681527f9713ba9c15f2a00e5eec60574362fa39c45d80fc1e6a0d97b6b7593eed4b25ed9060200160405180910390a16001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b61022761037c565b6001600160a01b0381166102a35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101b3565b6102ac816103d6565b50565b6102b761037c565b6001600160a01b03811660009081526001602052604090205460ff1661031f5760405162461bcd60e51b815260206004820152601960248201527f6e6f74207265676973746572656420636f6e74726f6c6c65720000000000000060448201526064016101b3565b6040516001600160a01b03821681527f6570671ae1af213b3b25d236e7cd633f016b2433e178e4e9b36a29906d6f7fb39060200160405180910390a16001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146101565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b3565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561045057600080fd5b81356001600160a01b038116811461046757600080fd5b939250505056fea26469706673582212202cabb9d30a4511dceb872bbbdd4bd84710b70feb08c95ba6076bab54d4a5128d64736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c3c5a5471161005b578063c3c5a547146100df578063d91ae8c21461010b578063f2fde38b1461011e578063f6a74ed71461013157600080fd5b806301df60a414610082578063715018a6146100ba5780638da5cb5b146100c4575b600080fd5b6100a561009036600461043e565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100c2610144565b005b6000546040516001600160a01b0390911681526020016100b1565b6100a56100ed36600461043e565b6001600160a01b031660009081526001602052604090205460ff1690565b6100c261011936600461043e565b610158565b6100c261012c36600461043e565b61021f565b6100c261013f36600461043e565b6102af565b61014c61037c565b61015660006103d6565b565b61016061037c565b6001600160a01b0381163b6101bc5760405162461bcd60e51b815260206004820152601b60248201527f636f6e74726f6c6c657220776173206e6f7420636f6e7472616374000000000060448201526064015b60405180910390fd5b6040516001600160a01b03821681527f9713ba9c15f2a00e5eec60574362fa39c45d80fc1e6a0d97b6b7593eed4b25ed9060200160405180910390a16001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b61022761037c565b6001600160a01b0381166102a35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101b3565b6102ac816103d6565b50565b6102b761037c565b6001600160a01b03811660009081526001602052604090205460ff1661031f5760405162461bcd60e51b815260206004820152601960248201527f6e6f74207265676973746572656420636f6e74726f6c6c65720000000000000060448201526064016101b3565b6040516001600160a01b03821681527f6570671ae1af213b3b25d236e7cd633f016b2433e178e4e9b36a29906d6f7fb39060200160405180910390a16001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146101565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101b3565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561045057600080fd5b81356001600160a01b038116811461046757600080fd5b939250505056fea26469706673582212202cabb9d30a4511dceb872bbbdd4bd84710b70feb08c95ba6076bab54d4a5128d64736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
