{
  "_format": "hh-sol-artifact-1",
  "contractName": "SafeContractOwnershipFacetMock",
  "sourceName": "contracts/mocks/access/facets/SafeContractOwnershipFacetMock.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": "NotPendingContractOwner",
      "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": "pendingOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferPending",
      "type": "event"
    },
    {
      "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": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": [],
      "name": "pendingOwner",
      "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": "0x60a034606d57601f610df738819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051610d6e90816100898239608051818181610ace0152610c240152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806331e66e1e1461098957806363e340d61461073057806379ba5097146105955780637e7d9f83146103d35780638da5cb5b1461036257806397883ae2146102e7578063e30c3978146102765763f2fde38b1461007457600080fd5b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610271576100ab610a0c565b7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b906100d5610c0d565b9073ffffffffffffffffffffffffffffffffffffffff808454169216828103610244575073ffffffffffffffffffffffffffffffffffffffff1691826101cb57600092507fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fffffffffffffffffffffffff00000000000000000000000000000000000000007f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c54167f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b5081036101d457005b7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557ffcf6b9a1f453b7c06ba4f44b1f8c38b02e8b90a7bd35bd0d5c43e2deb547f568600080a2005b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157602073ffffffffffffffffffffffffffffffffffffffff7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c5416604051908152f35b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715761031e610a0c565b73ffffffffffffffffffffffffffffffffffffffff807f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b5416911690810361024457005b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157602073ffffffffffffffffffffffffffffffffffffffff7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b5416604051908152f35b346102715760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715761040a610a0c565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361027157803b156105515773ffffffffffffffffffffffffffffffffffffffff166040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481855afa80156105455783916000916104d6575b5073ffffffffffffffffffffffffffffffffffffffff16036104a657005b7f29b9b08b0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b9091506020813d60201161053d575b816104f260209383610a2f565b8101031261053957519073ffffffffffffffffffffffffffffffffffffffff821682036105365750829073ffffffffffffffffffffffffffffffffffffffff610488565b80fd5b5080fd5b3d91506104e5565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610271577f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b6105ed610c0d565b73ffffffffffffffffffffffffffffffffffffffff807f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c5416911681810361070357508073ffffffffffffffffffffffffffffffffffffffff91828454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fffffffffffffffffffffffff00000000000000000000000000000000000000007f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c54167f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c55600080f35b7f618487520000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157610767610a0c565b61076f610c0d565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361095c57507f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b907f0a5ee31d9c53ad463777e870bc52a4da1baabf467a02dee7381e23f5450e41cd54600181101561092a575060017f0a5ee31d9c53ad463777e870bc52a4da1baabf467a02dee7381e23f5450e41cd5573ffffffffffffffffffffffffffffffffffffffff1690816108d5575b7f7f5828d0000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa53d5a615b1d5279f1a6647c5c0f31bf064b1e70af135676a4a96aeaeb691a2f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b817fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a38080610841565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715760406109c2610ab7565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361027157565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610271575180151581036102715790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610bfb573233148015610c03575b610bfb57803314908115610b4a575b50610b19576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116102715760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa90811561054557600091610bcc575b5038610b0d565b610bee915060203d602011610bf4575b610be68183610a2f565b810190610a9f565b38610bc5565b503d610bdc565b506000903690565b5060183610610afe565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610d29573233148015610d2e575b610d29577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610c98575b50610c9557503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa90811561054557600091610d0a575b5038610c8b565b610d23915060203d602011610bf457610be68183610a2f565b38610d03565b503390565b5060183610610c5456fea2646970667358221220dbb89331f75d5adcf05ed71f6e187dbb352eda2676d10a269e038dc64e2bbf0764736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806331e66e1e1461098957806363e340d61461073057806379ba5097146105955780637e7d9f83146103d35780638da5cb5b1461036257806397883ae2146102e7578063e30c3978146102765763f2fde38b1461007457600080fd5b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610271576100ab610a0c565b7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b906100d5610c0d565b9073ffffffffffffffffffffffffffffffffffffffff808454169216828103610244575073ffffffffffffffffffffffffffffffffffffffff1691826101cb57600092507fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fffffffffffffffffffffffff00000000000000000000000000000000000000007f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c54167f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b5081036101d457005b7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557ffcf6b9a1f453b7c06ba4f44b1f8c38b02e8b90a7bd35bd0d5c43e2deb547f568600080a2005b7f2ef4875e0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157602073ffffffffffffffffffffffffffffffffffffffff7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c5416604051908152f35b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715761031e610a0c565b73ffffffffffffffffffffffffffffffffffffffff807f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b5416911690810361024457005b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157602073ffffffffffffffffffffffffffffffffffffffff7f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b5416604051908152f35b346102715760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715761040a610a0c565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361027157803b156105515773ffffffffffffffffffffffffffffffffffffffff166040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481855afa80156105455783916000916104d6575b5073ffffffffffffffffffffffffffffffffffffffff16036104a657005b7f29b9b08b0000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b9091506020813d60201161053d575b816104f260209383610a2f565b8101031261053957519073ffffffffffffffffffffffffffffffffffffffff821682036105365750829073ffffffffffffffffffffffffffffffffffffffff610488565b80fd5b5080fd5b3d91506104e5565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff907f73a5b5e3000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610271577f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b6105ed610c0d565b73ffffffffffffffffffffffffffffffffffffffff807f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c5416911681810361070357508073ffffffffffffffffffffffffffffffffffffffff91828454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fffffffffffffffffffffffff00000000000000000000000000000000000000007f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c54167f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12c55600080f35b7f618487520000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346102715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027157610767610a0c565b61076f610c0d565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361095c57507f9d118bc1195e908806a0d8a492ffda365ad8222890448ff28ede06205764e12b907f0a5ee31d9c53ad463777e870bc52a4da1baabf467a02dee7381e23f5450e41cd54600181101561092a575060017f0a5ee31d9c53ad463777e870bc52a4da1baabf467a02dee7381e23f5450e41cd5573ffffffffffffffffffffffffffffffffffffffff1690816108d5575b7f7f5828d0000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa53d5a615b1d5279f1a6647c5c0f31bf064b1e70af135676a4a96aeaeb691a2f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b817fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a38080610841565b7fbf0c18ec00000000000000000000000000000000000000000000000000000000600052600452600160245260446000fd5b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346102715760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102715760406109c2610ab7565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361027157565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610271575180151581036102715790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610bfb573233148015610c03575b610bfb57803314908115610b4a575b50610b19576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116102715760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa90811561054557600091610bcc575b5038610b0d565b610bee915060203d602011610bf4575b610be68183610a2f565b810190610a9f565b38610bc5565b503d610bdc565b506000903690565b5060183610610afe565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610d29573233148015610d2e575b610d29577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610c98575b50610c9557503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa90811561054557600091610d0a575b5038610c8b565b610d23915060203d602011610bf457610be68183610a2f565b38610d03565b503390565b5060183610610c5456fea2646970667358221220dbb89331f75d5adcf05ed71f6e187dbb352eda2676d10a269e038dc64e2bbf0764736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
