{
  "_format": "hh-sol-artifact-1",
  "contractName": "UpgradeableBeacon",
  "sourceName": "@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.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": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "implementation",
      "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": "upgradeTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5060405161057738038061057783398101604081905261002f9161011e565b61003833610047565b61004181610097565b506101a8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6100c75760405162461bcd60e51b81526004016100be90610147565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0382165b92915050565b610105816100e9565b811461011057600080fd5b50565b80516100f6816100fc565b60006020828403121561013357610133600080fd5b600061013f8484610113565b949350505050565b602080825281016100f681603381527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60208201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000604082015260600190565b6103c0806101b76000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a6146100945780638da5cb5b1461009c578063f2fde38b146100ad575b600080fd5b61006f61006a366004610254565b6100c0565b005b6001546001600160a01b03165b60405161008b919061028c565b60405180910390f35b61006f610108565b6000546001600160a01b031661007e565b61006f6100bb366004610254565b61011c565b6100c861015f565b6100d181610189565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61011061015f565b61011a60006101d2565b565b61012461015f565b6001600160a01b0381166101535760405162461bcd60e51b815260040161014a906102e0565b60405180910390fd5b61015c816101d2565b50565b6000546001600160a01b0316331461011a5760405162461bcd60e51b815260040161014a906102f0565b6001600160a01b0381163b6101b05760405162461bcd60e51b815260040161014a9061037a565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006001600160a01b0382165b92915050565b61023e81610222565b811461015c57600080fd5b803561022f81610235565b60006020828403121561026957610269600080fd5b60006102758484610249565b949350505050565b61028681610222565b82525050565b6020810161022f828461027d565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810161022f8161029a565b60208082528181019081527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408301526060820161022f565b603381526000602082017f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f8152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b602082015291506102d9565b6020808252810161022f8161032a56fea264697066735822122071a7c74deecc6adc9b45c53947a48e1a9da9734144acfac95c9bc9feeeefd9f364736f6c63430008190033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a6146100945780638da5cb5b1461009c578063f2fde38b146100ad575b600080fd5b61006f61006a366004610254565b6100c0565b005b6001546001600160a01b03165b60405161008b919061028c565b60405180910390f35b61006f610108565b6000546001600160a01b031661007e565b61006f6100bb366004610254565b61011c565b6100c861015f565b6100d181610189565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61011061015f565b61011a60006101d2565b565b61012461015f565b6001600160a01b0381166101535760405162461bcd60e51b815260040161014a906102e0565b60405180910390fd5b61015c816101d2565b50565b6000546001600160a01b0316331461011a5760405162461bcd60e51b815260040161014a906102f0565b6001600160a01b0381163b6101b05760405162461bcd60e51b815260040161014a9061037a565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006001600160a01b0382165b92915050565b61023e81610222565b811461015c57600080fd5b803561022f81610235565b60006020828403121561026957610269600080fd5b60006102758484610249565b949350505050565b61028681610222565b82525050565b6020810161022f828461027d565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810161022f8161029a565b60208082528181019081527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408301526060820161022f565b603381526000602082017f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f8152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b602082015291506102d9565b6020808252810161022f8161032a56fea264697066735822122071a7c74deecc6adc9b45c53947a48e1a9da9734144acfac95c9bc9feeeefd9f364736f6c63430008190033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
