{
  "address": "0x00666b065d3a939e5Bf35c3639E56551620C4a42",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_ops",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_eip173OpsProxyByteCodeHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "deployer",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "proxy",
          "type": "address"
        }
      ],
      "name": "DeployProxy",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldImplementation",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "SetImplementation",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bool",
          "name": "whitelisted",
          "type": "bool"
        }
      ],
      "name": "UpdateWhitelistedImplementation",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "deploy",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "proxy",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "deployFor",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "proxy",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "determineProxyAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "eip173OpsProxyByteCodeHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "getProxyOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "implementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_implementation",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ops",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_proxy",
          "type": "address"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newImplementation",
          "type": "address"
        }
      ],
      "name": "setImplementation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_implementation",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_whitelist",
          "type": "bool"
        }
      ],
      "name": "updateWhitelistedImplementations",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "whitelistedImplementations",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
  "receipt": {
    "to": "0x0000000000000000000000000000000000008006",
    "from": "0xF1108379d71ff2A785899F4C36010f841F1Fea04",
    "contractAddress": "0x00666b065d3a939e5Bf35c3639E56551620C4a42",
    "transactionIndex": 2,
    "gasUsed": "10451963",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8",
    "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
    "logs": [
      {
        "transactionIndex": 2,
        "blockNumber": 8467805,
        "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
        "address": "0x000000000000000000000000000000000000800A",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04",
          "0x0000000000000000000000000000000000000000000000000000000000008001"
        ],
        "data": "0x000000000000000000000000000000000000000000000000000e270b34541b80",
        "logIndex": 7,
        "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 8467805,
        "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
        "address": "0x0000000000000000000000000000000000008008",
        "topics": [
          "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241",
          "0x000000000000000000000000000000000000000000000000000000000000800e",
          "0x290e57cb6e4dcb86b5e4d5bc22c50cc5a9754a9946b92cb25206f6469a1aebef"
        ],
        "data": "[encoded data, 17922 characters]",
        "logIndex": 8,
        "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 8467805,
        "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
        "address": "0x0000000000000000000000000000000000008004",
        "topics": [
          "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287",
          "0x010001d5ef34c5a3c0076341ff5776ca0979f8d6e0431bb2b8a8e6dec8c99ec8",
          "0x0000000000000000000000000000000000000000000000000000000000000000"
        ],
        "data": "0x",
        "logIndex": 9,
        "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 8467805,
        "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
        "address": "0x0000000000000000000000000000000000008006",
        "topics": [
          "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04",
          "0x010001d5ef34c5a3c0076341ff5776ca0979f8d6e0431bb2b8a8e6dec8c99ec8",
          "0x00000000000000000000000000666b065d3a939e5bf35c3639e56551620c4a42"
        ],
        "data": "0x",
        "logIndex": 10,
        "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 8467805,
        "transactionHash": "0x9a2f52bef9c9f45fef56fa84f608f523e95e5f489111c330a8ed257523e619fe",
        "address": "0x000000000000000000000000000000000000800A",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x0000000000000000000000000000000000000000000000000000000000008001",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04"
        ],
        "data": "0x0000000000000000000000000000000000000000000000000004de8ae2df9800",
        "logIndex": 11,
        "blockHash": "0xeb16ba7b6a23d40f0f19262c0c30d9ea43a11ac108490672b19773ed206c08d8"
      }
    ],
    "blockNumber": 8467805,
    "cumulativeGasUsed": "0",
    "status": 1,
    "byzantium": true
  },
  "args": [
    "0xF27e0dfD58B423b1e1B90a554001d0561917602F",
    "0x0100018b36aef3af7d9ed64b5dfea0669f6cb09840c1fe86fc98a1f9803eb1d1"
  ],
  "numDeployments": 1,
  "solcInputHash": "f6720d2f982abef48409cc010871036a",
  "metadata": {
    "optimizer_settings": "M3B3",
    "solc_metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ops\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_eip173OpsProxyByteCodeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"DeployProxy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldImplementation\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"SetImplementation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"whitelisted\",\"type\":\"bool\"}],\"name\":\"UpdateWhitelistedImplementation\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"deployFor\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"determineProxyAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip173OpsProxyByteCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getProxyOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ops\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proxy\",\"type\":\"address\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newImplementation\",\"type\":\"address\"}],\"name\":\"setImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_whitelist\",\"type\":\"bool\"}],\"name\":\"updateWhitelistedImplementations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"whitelistedImplementations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"deploy()\":{\"returns\":{\"proxy\":\"Address of deployed proxy.\"}},\"deployFor(address)\":{\"params\":{\"owner\":\"Address to deploy the proxy for.\"},\"returns\":{\"proxy\":\"Address of deployed proxy.\"}},\"determineProxyAddress(address)\":{\"params\":{\"account\":\"Address to determine the proxy address for.\"}},\"getProxyOf(address)\":{\"returns\":{\"_0\":\"address Proxy address owned by account.\",\"_1\":\"bool Whether if proxy is deployed\"}},\"ownerOf(address)\":{\"returns\":{\"_0\":\"address Owner of deployed proxy.\"}}},\"stateVariables\":{\"_ownerOf\":{\"details\":\"track owner of proxy\"},\"_proxyOf\":{\"details\":\"track proxy of user\"},\"whitelistedImplementations\":{\"return\":\"bool Whether if implementation is whitelisted.\",\"returns\":{\"_0\":\"bool Whether if implementation is whitelisted.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"DeployProxy(address,address,address)\":{\"notice\":\"Emitted when an OpsProxy is deployed.\"},\"SetImplementation(address,address)\":{\"notice\":\"Emitted when OpsProxy implementation to be deployed is changed.\"},\"UpdateWhitelistedImplementation(address,bool)\":{\"notice\":\"Emitted when OpsProxy implementation is added or removed from whitelist.\"}},\"kind\":\"user\",\"methods\":{\"deploy()\":{\"notice\":\"Deploys OpsProxy for the msg.sender.\"},\"deployFor(address)\":{\"notice\":\"Deploys OpsProxy for another address.\"},\"determineProxyAddress(address)\":{\"notice\":\"Determines the OpsProxy address when it is not deployed.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/opsProxy/OpsProxyFactoryZkSync.sol\":\"OpsProxyFactoryZkSync\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x68861bcc80cacbd498efde75aab6c74a486cc48262660d326c8d7530d9752097\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5beb2713aca05976562500789329e8c41320d00bd68ea9247856ec73894c3e3f\",\"dweb:/ipfs/QmQKwkpofsZYAzMZs7uNL7Qq58zVBuhoZCGpD6bJdUwyqy\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x3f0f878c796dfc7feba6d3c4e3e526c14c7deae8b7bfc71088e3f38fab0d77b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://69bf7d357ce97852f4fb71045919b1bb2c0ad0c820e3f06b9dd4451b2dc5a343\",\"dweb:/ipfs/QmWt96ZviufDu2qqS7Ln6UCJjfLyoFKbo6YKn54ao3o94z\"]},\"contracts/interfaces/IOpsProxyFactory.sol\":{\"keccak256\":\"0xf4852a06be6f35a0671cf951f455fb9a58320c0908914c3ab9e62f9d27affe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cffeacd964bd883f8f7dd92ccb02c87b282e22c802aa1f69246c0f29c40a06b\",\"dweb:/ipfs/QmcFGkDVMv22PvxjEK7MQ8ZtxFfgBxBHe5CuQHPqAigUUu\"]},\"contracts/opsProxy/OpsProxyFactoryZkSync.sol\":{\"keccak256\":\"0xba1b89574d94a24c05c48d1c62d82a7c557fcfd5ff13bb6b79d33a8b6040c159\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://41df33d5d19faa44e0080ba246766895b9089054cc4fa412ee80de617f2aa9a7\",\"dweb:/ipfs/QmRnJwBbxawWevY6AkG8CsaNRR6CZnH13YwJ6mJrvPwkrY\"]},\"contracts/vendor/proxy/EIP173/EIP173OpsProxy.sol\":{\"keccak256\":\"0x1e31c6fcde4bc9000918f09bd3002cd347c8b65e2a1a9b69f63b9b9cf61643fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52414f1fd60b09c8ed6323ada42fce400660b1f227a7d2ebd0132a662217f895\",\"dweb:/ipfs/QmbZM6g9Nvpr5GpqoQTsxsQQ3RMHF3hDQ7npJVRwKXk1TC\"]},\"contracts/vendor/proxy/EIP173/Proxied.sol\":{\"keccak256\":\"0x428ced1961d42c505a3e49d90498f92f4b0df8537e5ffa59f14ba375d99150a1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdaf6158f4b6b54670691ff09e74698559684245fcae6c68657a52ef4b1cc88b\",\"dweb:/ipfs/QmcWDmV1JCBNgrzsJkE5GnfVSyKKaoVE6AbQFeDaXjV9Nh\"]},\"contracts/vendor/proxy/EIP173/Proxy.sol\":{\"keccak256\":\"0xb5e3e1c4cab8a5e3bd968f51c201a11e651f62b47aa78a4e3e0b7508be268d35\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ae4f4936cc5632e31da04307746a3eafbb6179008958c8f6c578942fccbc969\",\"dweb:/ipfs/QmZZL2yrZBHVjPEtG6c3Su7XCA5jPkGkw38hbfB6Eegunz\"]}},\"version\":1}",
    "zk_version": "1.3.7"
  },
  "bytecode": "[encoded data, 30018 characters]",
  "deployedBytecode": "[encoded data, 30018 characters]",
  "devdoc": {
    "kind": "dev",
    "methods": {
      "deploy()": {
        "returns": {
          "proxy": "Address of deployed proxy."
        }
      },
      "deployFor(address)": {
        "params": {
          "owner": "Address to deploy the proxy for."
        },
        "returns": {
          "proxy": "Address of deployed proxy."
        }
      },
      "determineProxyAddress(address)": {
        "params": {
          "account": "Address to determine the proxy address for."
        }
      },
      "getProxyOf(address)": {
        "returns": {
          "_0": "address Proxy address owned by account.",
          "_1": "bool Whether if proxy is deployed"
        }
      },
      "ownerOf(address)": {
        "returns": {
          "_0": "address Owner of deployed proxy."
        }
      }
    },
    "stateVariables": {
      "_ownerOf": {
        "details": "track owner of proxy"
      },
      "_proxyOf": {
        "details": "track proxy of user"
      },
      "whitelistedImplementations": {
        "return": "bool Whether if implementation is whitelisted.",
        "returns": {
          "_0": "bool Whether if implementation is whitelisted."
        }
      }
    },
    "version": 1
  },
  "userdoc": {
    "events": {
      "DeployProxy(address,address,address)": {
        "notice": "Emitted when an OpsProxy is deployed."
      },
      "SetImplementation(address,address)": {
        "notice": "Emitted when OpsProxy implementation to be deployed is changed."
      },
      "UpdateWhitelistedImplementation(address,bool)": {
        "notice": "Emitted when OpsProxy implementation is added or removed from whitelist."
      }
    },
    "kind": "user",
    "methods": {
      "deploy()": {
        "notice": "Deploys OpsProxy for the msg.sender."
      },
      "deployFor(address)": {
        "notice": "Deploys OpsProxy for another address."
      },
      "determineProxyAddress(address)": {
        "notice": "Determines the OpsProxy address when it is not deployed."
      }
    },
    "version": 1
  },
  "storageLayout": {
    "storage": [
      {
        "astId": 6,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "_initialized",
        "offset": 0,
        "slot": "0",
        "type": "t_bool"
      },
      {
        "astId": 9,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "_initializing",
        "offset": 1,
        "slot": "0",
        "type": "t_bool"
      },
      {
        "astId": 7592,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "implementation",
        "offset": 2,
        "slot": "0",
        "type": "t_address"
      },
      {
        "astId": 7597,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "whitelistedImplementations",
        "offset": 0,
        "slot": "1",
        "type": "t_mapping(t_address,t_bool)"
      },
      {
        "astId": 7602,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "_proxyOf",
        "offset": 0,
        "slot": "2",
        "type": "t_mapping(t_address,t_address)"
      },
      {
        "astId": 7607,
        "contract": "contracts/opsProxy/OpsProxyFactoryZkSync.sol:OpsProxyFactoryZkSync",
        "label": "_ownerOf",
        "offset": 0,
        "slot": "3",
        "type": "t_mapping(t_address,t_address)"
      }
    ],
    "types": {
      "t_address": {
        "encoding": "inplace",
        "label": "address",
        "numberOfBytes": "20"
      },
      "t_bool": {
        "encoding": "inplace",
        "label": "bool",
        "numberOfBytes": "1"
      },
      "t_mapping(t_address,t_address)": {
        "encoding": "mapping",
        "key": "t_address",
        "label": "mapping(address => address)",
        "numberOfBytes": "32",
        "value": "t_address"
      },
      "t_mapping(t_address,t_bool)": {
        "encoding": "mapping",
        "key": "t_address",
        "label": "mapping(address => bool)",
        "numberOfBytes": "32",
        "value": "t_bool"
      }
    }
  }
}
