{
  "_format": "hh-sol-artifact-1",
  "contractName": "ContractOwnershipFacetMock",
  "sourceName": "contracts/mocks/access/facets/ContractOwnershipFacetMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "currentPhase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "newPhase",
          "type": "uint256"
        }
      ],
      "name": "InitializationPhaseAlreadyReached",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotContractOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotTargetContractOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        }
      ],
      "name": "TargetIsNotAContract",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "enforceIsContractOwner",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "enforceIsTargetContractOwner",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "initialOwner",
          "type": "address"
        }
      ],
      "name": "initContractOwnershipStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606d57601f610af938819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051610a70908161008982396080518181816107d001526109260152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806331e66e1e1461068b57806363e340d6146104325780637e7d9f83146102705780638da5cb5b146101ff57806397883ae2146101845763f2fde38b1461005e57600080fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5761009561070e565b7fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc906100bf61090f565b9073ffffffffffffffffffffffffffffffffffffffff808454169216828103610152575073ffffffffffffffffffffffffffffffffffffffff169182820361010357005b827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f576101bb61070e565b73ffffffffffffffffffffffffffffffffffffffff807fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc5416911690810361015257005b3461017f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f57602073ffffffffffffffffffffffffffffffffffffffff7fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc5416604051908152f35b3461017f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f576102a761070e565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361017f57803b156103ee5773ffffffffffffffffffffffffffffffffffffffff166040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481855afa80156103e2578391600091610373575b5073ffffffffffffffffffffffffffffffffffffffff160361034357005b7f29b9b08b0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b9091506020813d6020116103da575b8161038f60209383610731565b810103126103d657519073ffffffffffffffffffffffffffffffffffffffff821682036103d35750829073ffffffffffffffffffffffffffffffffffffffff610325565b80fd5b5080fd5b3d9150610382565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5761046961070e565b61047161090f565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361065e57507fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc907f5b388d90dc1312ba799f321972f13311234fa1163bcabec7cf66101c4876eb8354600181101561062c575060017f5b388d90dc1312ba799f321972f13311234fa1163bcabec7cf66101c4876eb835573ffffffffffffffffffffffffffffffffffffffff1690816105d7575b7f7f5828d0000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa53d5a615b1d5279f1a6647c5c0f31bf064b1e70af135676a4a96aeaeb691a2f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b817fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a38080610543565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461017f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5760406106c46107b9565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017f57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761077257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9081602091031261017f5751801515810361017f5790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108fd573233148015610905575b6108fd5780331490811561084c575b5061081b576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36019036821161017f5760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156103e2576000916108ce575b503861080f565b6108f0915060203d6020116108f6575b6108e88183610731565b8101906107a1565b386108c7565b503d6108de565b506000903690565b5060183610610800565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610a2b573233148015610a30575b610a2b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c9080331490811561099a575b5061099757503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156103e257600091610a0c575b503861098d565b610a25915060203d6020116108f6576108e88183610731565b38610a05565b503390565b506018361061095656fea26469706673582212209a1306cdd7de2ac0de62c9f870fc6c11190a114b9858d3a3fbb586a21cf15f6d64736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806331e66e1e1461068b57806363e340d6146104325780637e7d9f83146102705780638da5cb5b146101ff57806397883ae2146101845763f2fde38b1461005e57600080fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5761009561070e565b7fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc906100bf61090f565b9073ffffffffffffffffffffffffffffffffffffffff808454169216828103610152575073ffffffffffffffffffffffffffffffffffffffff169182820361010357005b827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f576101bb61070e565b73ffffffffffffffffffffffffffffffffffffffff807fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc5416911690810361015257005b3461017f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f57602073ffffffffffffffffffffffffffffffffffffffff7fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc5416604051908152f35b3461017f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f576102a761070e565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361017f57803b156103ee5773ffffffffffffffffffffffffffffffffffffffff166040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481855afa80156103e2578391600091610373575b5073ffffffffffffffffffffffffffffffffffffffff160361034357005b7f29b9b08b0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b9091506020813d6020116103da575b8161038f60209383610731565b810103126103d657519073ffffffffffffffffffffffffffffffffffffffff821682036103d35750829073ffffffffffffffffffffffffffffffffffffffff610325565b80fd5b5080fd5b3d9150610382565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b3461017f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5761046961070e565b61047161090f565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361065e57507fc9ed16f33ab3a66c84bfd83099ccb2a8845871e2e1c1928f63797152f0fd54cc907f5b388d90dc1312ba799f321972f13311234fa1163bcabec7cf66101c4876eb8354600181101561062c575060017f5b388d90dc1312ba799f321972f13311234fa1163bcabec7cf66101c4876eb835573ffffffffffffffffffffffffffffffffffffffff1690816105d7575b7f7f5828d0000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa53d5a615b1d5279f1a6647c5c0f31bf064b1e70af135676a4a96aeaeb691a2f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b817fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a38080610543565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461017f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017f5760406106c46107b9565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017f57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761077257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9081602091031261017f5751801515810361017f5790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108fd573233148015610905575b6108fd5780331490811561084c575b5061081b576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36019036821161017f5760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156103e2576000916108ce575b503861080f565b6108f0915060203d6020116108f6575b6108e88183610731565b8101906107a1565b386108c7565b503d6108de565b506000903690565b5060183610610800565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610a2b573233148015610a30575b610a2b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c9080331490811561099a575b5061099757503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156103e257600091610a0c575b503861098d565b610a25915060203d6020116108f6576108e88183610731565b38610a05565b503390565b506018361061095656fea26469706673582212209a1306cdd7de2ac0de62c9f870fc6c11190a114b9858d3a3fbb586a21cf15f6d64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
