{
  "manifestVersion": "3.2",
  "proxies": [
    {
      "address": "0x5C79627d2cD753d45B41839d187619f99c7B8D78",
      "txHash": "0x1d4c4d70fa33a78e0a3be381b550d2a1659fe2085ec7117c1a0bcc93be44c6d2",
      "kind": "uups"
    }
  ],
  "impls": {
    "22a5dfdcd86e641d8a477a2825cac4d4476f8fe4feabe96be44c575f2f5189c4": {
      "address": "0x8bbF404eb7Ea6cBC16F07A4f45E9C2a3eDB0C969",
      "txHash": "0x28120f7d23bd8b4134c544f9ce95de9fd9dc3eae426559e603d003271e436b6e",
      "layout": {
        "solcVersion": "0.8.24",
        "storage": [
          {
            "label": "ethToNearToken",
            "offset": 0,
            "slot": "0",
            "type": "t_mapping(t_address,t_string_storage)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:36"
          },
          {
            "label": "nearToEthToken",
            "offset": 0,
            "slot": "1",
            "type": "t_mapping(t_string_memory_ptr,t_address)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:37"
          },
          {
            "label": "isBridgeToken",
            "offset": 0,
            "slot": "2",
            "type": "t_mapping(t_address,t_bool)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:38"
          },
          {
            "label": "tokenImplementationAddress",
            "offset": 0,
            "slot": "3",
            "type": "t_address",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:40"
          },
          {
            "label": "nearBridgeDerivedAddress",
            "offset": 0,
            "slot": "4",
            "type": "t_address",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:41"
          },
          {
            "label": "omniBridgeChainId",
            "offset": 20,
            "slot": "4",
            "type": "t_uint8",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:42"
          },
          {
            "label": "completedTransfers",
            "offset": 0,
            "slot": "5",
            "type": "t_mapping(t_uint64,t_bool)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:44"
          },
          {
            "label": "currentOriginNonce",
            "offset": 0,
            "slot": "6",
            "type": "t_uint64",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:45"
          },
          {
            "label": "customMinters",
            "offset": 0,
            "slot": "7",
            "type": "t_mapping(t_address,t_address)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:47"
          },
          {
            "label": "multiTokens",
            "offset": 0,
            "slot": "8",
            "type": "t_mapping(t_address,t_struct(MultiTokenInfo)12574_storage)",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:48"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "9",
            "type": "t_array(t_uint256)49_storage",
            "contract": "OmniBridge",
            "src": "src/omni-bridge/contracts/OmniBridge.sol:591"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_mapping(t_address,t_address)": {
            "label": "mapping(address => address)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_string_storage)": {
            "label": "mapping(address => string)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_struct(MultiTokenInfo)12574_storage)": {
            "label": "mapping(address => struct MultiTokenInfo)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_string_memory_ptr,t_address)": {
            "label": "mapping(string => address)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_uint64,t_bool)": {
            "label": "mapping(uint64 => bool)",
            "numberOfBytes": "32"
          },
          "t_string_memory_ptr": {
            "label": "string",
            "numberOfBytes": "32"
          },
          "t_string_storage": {
            "label": "string",
            "numberOfBytes": "32"
          },
          "t_struct(MultiTokenInfo)12574_storage": {
            "label": "struct MultiTokenInfo",
            "members": [
              {
                "label": "tokenAddress",
                "type": "t_address",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "tokenId",
                "type": "t_uint256",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint64": {
            "label": "uint64",
            "numberOfBytes": "8"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)27_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)27_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "hasRole",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          }
        },
        "namespaces": {
          "erc7201:openzeppelin.storage.AccessControl": [
            {
              "contract": "AccessControlUpgradeable",
              "label": "_roles",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)27_storage)",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            }
          ],
          "erc7201:openzeppelin.storage.Initializable": [
            {
              "contract": "Initializable",
              "label": "_initialized",
              "type": "t_uint64",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69"
            },
            {
              "contract": "Initializable",
              "label": "_initializing",
              "type": "t_bool",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73"
            }
          ]
        }
      }
    }
  }
}
