{
  "_format": "hh-sol-artifact-1",
  "contractName": "Controllable",
  "sourceName": "contracts/Controllable.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "controller",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "active",
          "type": "bool"
        }
      ],
      "name": "ControllerChanged",
      "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": "controllers",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "controller",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "active",
          "type": "bool"
        }
      ],
      "name": "setController",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506103b1806100616000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b14610066578063da8c229e14610086578063e0dba60f146100b9578063f2fde38b146100cc575b600080fd5b6100646100df565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100a96100943660046102eb565b60016020526000908152604090205460ff1681565b604051901515815260200161007d565b6100646100c736600461030c565b61015c565b6100646100da3660046102eb565b6101e5565b6000546001600160a01b031633146101125760405162461bcd60e51b815260040161010990610346565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146101865760405162461bcd60e51b815260040161010990610346565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f4c97694570a07277810af7e5669ffd5f6a2d6b74b6e9a274b8b870fd5114cf87910160405180910390a25050565b6000546001600160a01b0316331461020f5760405162461bcd60e51b815260040161010990610346565b6001600160a01b0381166102745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610109565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b03811681146102e657600080fd5b919050565b6000602082840312156102fc578081fd5b610305826102cf565b9392505050565b6000806040838503121561031e578081fd5b610327836102cf565b91506020830135801515811461033b578182fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea264697066735822122016a874b0ad2d1436e5d7fc186dead7dc49a884567e797f0dda6a656bc4091b4364736f6c63430008040033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b14610066578063da8c229e14610086578063e0dba60f146100b9578063f2fde38b146100cc575b600080fd5b6100646100df565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100a96100943660046102eb565b60016020526000908152604090205460ff1681565b604051901515815260200161007d565b6100646100c736600461030c565b61015c565b6100646100da3660046102eb565b6101e5565b6000546001600160a01b031633146101125760405162461bcd60e51b815260040161010990610346565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146101865760405162461bcd60e51b815260040161010990610346565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f4c97694570a07277810af7e5669ffd5f6a2d6b74b6e9a274b8b870fd5114cf87910160405180910390a25050565b6000546001600160a01b0316331461020f5760405162461bcd60e51b815260040161010990610346565b6001600160a01b0381166102745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610109565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b03811681146102e657600080fd5b919050565b6000602082840312156102fc578081fd5b610305826102cf565b9392505050565b6000806040838503121561031e578081fd5b610327836102cf565b91506020830135801515811461033b578182fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea264697066735822122016a874b0ad2d1436e5d7fc186dead7dc49a884567e797f0dda6a656bc4091b4364736f6c63430008040033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
