{
  "_format": "hh-sol-artifact-1",
  "contractName": "ImplementationAuthority",
  "sourceName": "contracts/proxy/ImplementationAuthority.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "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": "newAddress",
          "type": "address"
        }
      ],
      "name": "UpdatedImplementation",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "getImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "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": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newImplementation",
          "type": "address"
        }
      ],
      "name": "updateImplementation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516109b83803806109b88339818101604052810190610032919061026a565b61004e61004361013b60201b60201c565b61014360201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100b4906102f4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f87c4e67a766ffddda27f441d63853a36ae64fbb07775a7c59d395e064b204eeb8160405161012d9190610323565b60405180910390a15061033e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102378261020c565b9050919050565b6102478161022c565b811461025257600080fd5b50565b6000815190506102648161023e565b92915050565b6000602082840312156102805761027f610207565b5b600061028e84828501610255565b91505092915050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b60006102de601f83610297565b91506102e9826102a8565b602082019050919050565b6000602082019050818103600083015261030d816102d1565b9050919050565b61031d8161022c565b82525050565b60006020820190506103386000830184610314565b92915050565b61066b8061034d6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063025b22bc1461005c578063715018a6146100785780638da5cb5b14610082578063aaf10f42146100a0578063f2fde38b146100be575b600080fd5b61007660048036038101906100719190610463565b6100da565b005b6100806101cc565b005b61008a6101e0565b604051610097919061049f565b60405180910390f35b6100a8610209565b6040516100b5919061049f565b60405180910390f35b6100d860048036038101906100d39190610463565b610233565b005b6100e26102b6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014890610517565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f87c4e67a766ffddda27f441d63853a36ae64fbb07775a7c59d395e064b204eeb816040516101c1919061049f565b60405180910390a150565b6101d46102b6565b6101de6000610334565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61023b6102b6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036102aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a1906105a9565b60405180910390fd5b6102b381610334565b50565b6102be6103f8565b73ffffffffffffffffffffffffffffffffffffffff166102dc6101e0565b73ffffffffffffffffffffffffffffffffffffffff1614610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610615565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061043082610405565b9050919050565b61044081610425565b811461044b57600080fd5b50565b60008135905061045d81610437565b92915050565b60006020828403121561047957610478610400565b5b60006104878482850161044e565b91505092915050565b61049981610425565b82525050565b60006020820190506104b46000830184610490565b92915050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000610501601f836104ba565b915061050c826104cb565b602082019050919050565b60006020820190508181036000830152610530816104f4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006105936026836104ba565b915061059e82610537565b604082019050919050565b600060208201905081810360008301526105c281610586565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006105ff6020836104ba565b915061060a826105c9565b602082019050919050565b6000602082019050818103600083015261062e816105f2565b905091905056fea264697066735822122059bf3135961364a5fb2b860777ba8871279dab668fd96e91d04154434c1a044564736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063025b22bc1461005c578063715018a6146100785780638da5cb5b14610082578063aaf10f42146100a0578063f2fde38b146100be575b600080fd5b61007660048036038101906100719190610463565b6100da565b005b6100806101cc565b005b61008a6101e0565b604051610097919061049f565b60405180910390f35b6100a8610209565b6040516100b5919061049f565b60405180910390f35b6100d860048036038101906100d39190610463565b610233565b005b6100e26102b6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014890610517565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f87c4e67a766ffddda27f441d63853a36ae64fbb07775a7c59d395e064b204eeb816040516101c1919061049f565b60405180910390a150565b6101d46102b6565b6101de6000610334565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61023b6102b6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036102aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a1906105a9565b60405180910390fd5b6102b381610334565b50565b6102be6103f8565b73ffffffffffffffffffffffffffffffffffffffff166102dc6101e0565b73ffffffffffffffffffffffffffffffffffffffff1614610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610615565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061043082610405565b9050919050565b61044081610425565b811461044b57600080fd5b50565b60008135905061045d81610437565b92915050565b60006020828403121561047957610478610400565b5b60006104878482850161044e565b91505092915050565b61049981610425565b82525050565b60006020820190506104b46000830184610490565b92915050565b600082825260208201905092915050565b7f696e76616c696420617267756d656e74202d207a65726f206164647265737300600082015250565b6000610501601f836104ba565b915061050c826104cb565b602082019050919050565b60006020820190508181036000830152610530816104f4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006105936026836104ba565b915061059e82610537565b604082019050919050565b600060208201905081810360008301526105c281610586565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006105ff6020836104ba565b915061060a826105c9565b602082019050919050565b6000602082019050818103600083015261062e816105f2565b905091905056fea264697066735822122059bf3135961364a5fb2b860777ba8871279dab668fd96e91d04154434c1a044564736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
