{
  "_format": "hh-sol-artifact-1",
  "contractName": "InitProxy",
  "sourceName": "contracts/upgradable/InitProxy.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "AlreadyInitialized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidImplementation",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotOwner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SetupFailed",
      "type": "error"
    },
    {
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "implementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "implementation_",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementationAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "params",
          "type": "bytes"
        }
      ],
      "name": "init",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "params",
          "type": "bytes"
        }
      ],
      "name": "setup",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055610621806100436000396000f3fe6080604052600436106100385760003560e01c8063378dfd8e146100915780635c60da1b146100b15780639ded06df146101095761003f565b3661003f57005b60006100697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561008a573d6000f35b3d6000fd5b005b34801561009d57600080fd5b5061008f6100ac3660046103f8565b610128565b3480156100bd57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011557600080fd5b5061008f6101243660046104e8565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0543373ffffffffffffffffffffffffffffffffffffffff821614610199576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101c37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b73ffffffffffffffffffffffffffffffffffffffff1614610210576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55837f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05582516000146103995760008573ffffffffffffffffffffffffffffffffffffffff16639ded06df60e01b85604051602401610293919061057e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161031c91906105cf565b600060405180830381855af49150503d8060008114610357576040519150601f19603f3d011682016040523d82523d6000602084013e61035c565b606091505b5050905080610397576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103c457600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561040d57600080fd5b610416846103a0565b9250610424602085016103a0565b9150604084013567ffffffffffffffff8082111561044157600080fd5b818601915086601f83011261045557600080fd5b813581811115610467576104676103c9565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104ad576104ad6103c9565b816040528281528960208487010111156104c657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080602083850312156104fb57600080fd5b823567ffffffffffffffff8082111561051357600080fd5b818501915085601f83011261052757600080fd5b81358181111561053657600080fd5b86602082850101111561054857600080fd5b60209290920196919550909350505050565b60005b8381101561057557818101518382015260200161055d565b50506000910152565b602081526000825180602084015261059d81604085016020870161055a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600082516105e181846020870161055a565b919091019291505056fea2646970667358221220aea22678c968c78b4e9022b8353ca91c19a6c122b6f73269b57fe914a6024abd64736f6c63430008130033",
  "deployedBytecode": "0x6080604052600436106100385760003560e01c8063378dfd8e146100915780635c60da1b146100b15780639ded06df146101095761003f565b3661003f57005b60006100697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561008a573d6000f35b3d6000fd5b005b34801561009d57600080fd5b5061008f6100ac3660046103f8565b610128565b3480156100bd57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011557600080fd5b5061008f6101243660046104e8565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0543373ffffffffffffffffffffffffffffffffffffffff821614610199576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101c37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b73ffffffffffffffffffffffffffffffffffffffff1614610210576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55837f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05582516000146103995760008573ffffffffffffffffffffffffffffffffffffffff16639ded06df60e01b85604051602401610293919061057e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161031c91906105cf565b600060405180830381855af49150503d8060008114610357576040519150601f19603f3d011682016040523d82523d6000602084013e61035c565b606091505b5050905080610397576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103c457600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561040d57600080fd5b610416846103a0565b9250610424602085016103a0565b9150604084013567ffffffffffffffff8082111561044157600080fd5b818601915086601f83011261045557600080fd5b813581811115610467576104676103c9565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104ad576104ad6103c9565b816040528281528960208487010111156104c657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080602083850312156104fb57600080fd5b823567ffffffffffffffff8082111561051357600080fd5b818501915085601f83011261052757600080fd5b81358181111561053657600080fd5b86602082850101111561054857600080fd5b60209290920196919550909350505050565b60005b8381101561057557818101518382015260200161055d565b50506000910152565b602081526000825180602084015261059d81604085016020870161055a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600082516105e181846020870161055a565b919091019291505056fea2646970667358221220aea22678c968c78b4e9022b8353ca91c19a6c122b6f73269b57fe914a6024abd64736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
