{
  "_format": "hh-sol-artifact-1",
  "contractName": "InterchainProxy",
  "sourceName": "contracts/proxies/InterchainProxy.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementationAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "setupParams",
          "type": "bytes"
        }
      ],
      "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": "bytes",
          "name": "params",
          "type": "bytes"
        }
      ],
      "name": "setup",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516104a63803806104a683398101604081905261002f916101d3565b8282826001600160a01b038216610059576040516349e27cff60e01b815260040160405180910390fd5b6000837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0558151600014610171576000846001600160a01b0316639ded06df60e01b846040516024016100cf91906102a3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161010d91906102d6565b600060405180830381855af49150503d8060008114610148576040519150601f19603f3d011682016040523d82523d6000602084013e61014d565b606091505b505090508061016f576040516397905dfb60e01b815260040160405180910390fd5b505b505050505050506102f2565b80516001600160a01b038116811461019457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101ca5781810151838201526020016101b2565b50506000910152565b6000806000606084860312156101e857600080fd5b6101f18461017d565b92506101ff6020850161017d565b60408501519092506001600160401b038082111561021c57600080fd5b818601915086601f83011261023057600080fd5b81518181111561024257610242610199565b604051601f8201601f19908116603f0116810190838211818310171561026a5761026a610199565b8160405282815289602084870101111561028357600080fd5b6102948360208301602088016101af565b80955050505050509250925092565b60208152600082518060208401526102c28160408501602087016101af565b601f01601f19169190910160400192915050565b600082516102e88184602087016101af565b9190910192915050565b6101a5806103016000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100865780639ded06df146100de57610034565b3661003457005b600061005e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561007f573d6000f35b3d6000fd5b005b34801561009257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ea57600080fd5b506100846100f93660046100fd565b5050565b6000806020838503121561011057600080fd5b823567ffffffffffffffff8082111561012857600080fd5b818501915085601f83011261013c57600080fd5b81358181111561014b57600080fd5b86602082850101111561015d57600080fd5b6020929092019691955090935050505056fea264697066735822122083cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba64736f6c63430008150033",
  "deployedBytecode": "0x60806040526004361061002d5760003560e01c80635c60da1b146100865780639ded06df146100de57610034565b3661003457005b600061005e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e80801561007f573d6000f35b3d6000fd5b005b34801561009257600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ea57600080fd5b506100846100f93660046100fd565b5050565b6000806020838503121561011057600080fd5b823567ffffffffffffffff8082111561012857600080fd5b818501915085601f83011261013c57600080fd5b81358181111561014b57600080fd5b86602082850101111561015d57600080fd5b6020929092019691955090935050505056fea264697066735822122083cc979c34f7a71d3cd53a66104a3b2712b956b8820d9a7b6ff618995b3afcba64736f6c63430008150033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
