{
  "version": "3.4",
  "log": [
    {
      "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:51",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol:StringsUpgradeable"
        ],
        "methods": [
          "supportsInterface(bytes4)",
          "hasRole(bytes32,address)",
          "getRoleAdmin(bytes32)",
          "grantRole(bytes32,address)",
          "revokeRole(bytes32,address)",
          "renounceRole(bytes32,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:9",
        "inherit": [],
        "libraries": [],
        "methods": [
          "hasRole(bytes32,address)",
          "getRoleAdmin(bytes32)",
          "grantRole(bytes32,address)",
          "revokeRole(bytes32,address)",
          "renounceRole(bytes32,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:Ownable2StepUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:20",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:OwnableUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "pendingOwner()",
          "transferOwnership(address)",
          "acceptOwnership()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_owner",
              "offset": 0,
              "slot": "51",
              "type": "t_address",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "52",
              "type": "t_array(t_uint256)49_storage",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
            },
            {
              "label": "_pendingOwner",
              "offset": 0,
              "slot": "101",
              "type": "t_address",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:70"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:OwnableUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:21",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "owner()",
          "renounceOwnership()",
          "transferOwnership(address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_owner",
              "offset": 0,
              "slot": "51",
              "type": "t_address",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "52",
              "type": "t_array(t_uint256)49_storage",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:IERC5267Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:6",
        "inherit": [],
        "libraries": [],
        "methods": [
          "eip712Domain()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable": {
        "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:58",
        "inherit": [],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:AddressUpgradeable"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            }
          ],
          "types": {
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:PausableUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:18",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "paused()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_paused",
              "offset": 0,
              "slot": "51",
              "type": "t_bool",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "52",
              "type": "t_array(t_uint256)49_storage",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
            }
          ],
          "types": {
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:23",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "1",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "2",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            }
          ],
          "types": {
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:ERC20Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:39",
        "version": {
          "withMetadata": "b0762bb169fde11b47ed079c3a97f039cf623ea5168d067f7bdcd424082ec35e",
          "withoutMetadata": "5c9071920af129491631176b957a5fa5c8167c3c952947bd1d18a98c8fc2b7cb",
          "linkedWithoutMetadata": "5c9071920af129491631176b957a5fa5c8167c3c952947bd1d18a98c8fc2b7cb"
        },
        "inherit": [
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:IERC20MetadataUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "name()",
          "symbol()",
          "decimals()",
          "totalSupply()",
          "balanceOf(address)",
          "transfer(address,uint256)",
          "allowance(address,address)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)",
          "increaseAllowance(address,uint256)",
          "decreaseAllowance(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_balances",
              "offset": 0,
              "slot": "51",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "52",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "53",
              "type": "t_uint256",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "54",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "55",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "56",
              "type": "t_array(t_uint256)45_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)45_storage": {
              "label": "uint256[45]",
              "numberOfBytes": "1440"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:9",
        "inherit": [],
        "libraries": [],
        "methods": [
          "totalSupply()",
          "balanceOf(address)",
          "transfer(address,uint256)",
          "allowance(address,address)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:ERC20PermitUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:25",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:EIP712Upgradeable",
          "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:IERC5267Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol:IERC20PermitUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:ERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:IERC20MetadataUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol:CountersUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol:ECDSAUpgradeable"
        ],
        "methods": [
          "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)",
          "nonces(address)",
          "DOMAIN_SEPARATOR()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_balances",
              "offset": 0,
              "slot": "51",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "52",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "53",
              "type": "t_uint256",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "54",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "55",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "56",
              "type": "t_array(t_uint256)45_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376"
            },
            {
              "label": "_hashedName",
              "offset": 0,
              "slot": "101",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:40",
              "renamedFrom": "_HASHED_NAME"
            },
            {
              "label": "_hashedVersion",
              "offset": 0,
              "slot": "102",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:42",
              "renamedFrom": "_HASHED_VERSION"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "103",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:44"
            },
            {
              "label": "_version",
              "offset": 0,
              "slot": "104",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:45"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "105",
              "type": "t_array(t_uint256)48_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:204"
            },
            {
              "label": "_nonces",
              "offset": 0,
              "slot": "153",
              "type": "t_mapping(t_address,t_struct(Counter)2747_storage)",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:28"
            },
            {
              "label": "_PERMIT_TYPEHASH_DEPRECATED_SLOT",
              "offset": 0,
              "slot": "154",
              "type": "t_bytes32",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:40",
              "renamedFrom": "_PERMIT_TYPEHASH"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:108"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)45_storage": {
              "label": "uint256[45]",
              "numberOfBytes": "1440"
            },
            "t_array(t_uint256)48_storage": {
              "label": "uint256[48]",
              "numberOfBytes": "1536"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_struct(Counter)2747_storage)": {
              "label": "mapping(address => struct CountersUpgradeable.Counter)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_struct(Counter)2747_storage": {
              "label": "struct CountersUpgradeable.Counter",
              "members": [
                {
                  "label": "_value",
                  "type": "t_uint256",
                  "offset": 0,
                  "slot": "0"
                }
              ],
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:IERC20MetadataUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:13",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable"
        ],
        "libraries": [],
        "methods": [
          "name()",
          "symbol()",
          "decimals()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol:IERC20PermitUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol:14",
        "inherit": [],
        "libraries": [],
        "methods": [
          "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)",
          "nonces(address)",
          "DOMAIN_SEPARATOR()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol:SafeERC20Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol:19",
        "version": {
          "withMetadata": "dd83f014ba3a8015689a9721e97d6af4115daaf92a09ebc087620b0155965d49",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:AddressUpgradeable"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:AddressUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:9",
        "version": {
          "withMetadata": "6513f2fd5f5bfe690aa795a595e1971fa4a208267766ae727fa628b6f9471c47",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:185"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol:185"
          }
        ],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:17",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            }
          ],
          "types": {
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol:CountersUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol:14",
        "version": {
          "withMetadata": "2baf76400b8e388c36741d69810b548f28cacec20dcb5774727fd943cdc4ed23",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol:StringsUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol:12",
        "version": {
          "withMetadata": "3011170085efc78f3a0825260142ffa478a5bfeb614175622377c654ed5cf58c",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol:MathUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol:ECDSAUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol:14",
        "version": {
          "withMetadata": "d173308b0fb99e51d2cc90c466131ec6ba2f98c8c46e212ca48073fb0b96da49",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol:StringsUpgradeable"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:EIP712Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:35",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:IERC5267Upgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol:ECDSAUpgradeable"
        ],
        "methods": [
          "eip712Domain()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "_hashedName",
              "offset": 0,
              "slot": "1",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:40",
              "renamedFrom": "_HASHED_NAME"
            },
            {
              "label": "_hashedVersion",
              "offset": 0,
              "slot": "2",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:42",
              "renamedFrom": "_HASHED_VERSION"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "3",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:44"
            },
            {
              "label": "_version",
              "offset": 0,
              "slot": "4",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:45"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "5",
              "type": "t_array(t_uint256)48_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:204"
            }
          ],
          "types": {
            "t_array(t_uint256)48_storage": {
              "label": "uint256[48]",
              "numberOfBytes": "1536"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:23",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "supportsInterface(bytes4)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            }
          ],
          "types": {
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:15",
        "inherit": [],
        "libraries": [],
        "methods": [
          "supportsInterface(bytes4)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol:MathUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol:9",
        "version": {
          "withMetadata": "dcd141d83fa132eb03b294cd64f34aa6e16142e34a5d958097120ab0b592b4e7",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable": {
        "src": "@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol:9",
        "version": {
          "withMetadata": "4abcbb07cb534c4a1fdf405fe8773700c160715224d0ca55a65a8dee67b969e1",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/access/AccessControl.sol:AccessControl": {
        "src": "@openzeppelin/contracts/access/AccessControl.sol:50",
        "inherit": [
          "@openzeppelin/contracts/utils/introspection/ERC165.sol:ERC165",
          "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165",
          "@openzeppelin/contracts/access/IAccessControl.sol:IAccessControl",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [
          "@openzeppelin/contracts/utils/Strings.sol:Strings"
        ],
        "methods": [
          "supportsInterface(bytes4)",
          "hasRole(bytes32,address)",
          "getRoleAdmin(bytes32)",
          "grantRole(bytes32,address)",
          "revokeRole(bytes32,address)",
          "renounceRole(bytes32,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_roles",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)",
              "contract": "AccessControl",
              "src": "@openzeppelin/contracts/access/AccessControl.sol:56"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)": {
              "label": "mapping(bytes32 => struct AccessControl.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)4741_storage": {
              "label": "struct AccessControl.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/access/IAccessControl.sol:IAccessControl": {
        "src": "@openzeppelin/contracts/access/IAccessControl.sol:9",
        "inherit": [],
        "libraries": [],
        "methods": [
          "hasRole(bytes32,address)",
          "getRoleAdmin(bytes32)",
          "grantRole(bytes32,address)",
          "revokeRole(bytes32,address)",
          "renounceRole(bytes32,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/governance/TimelockController.sol:TimelockController": {
        "src": "@openzeppelin/contracts/governance/TimelockController.sol:25",
        "version": {
          "withMetadata": "70b3440b241f5a057a97d07bab478582fa98cb7d8abfc4588dca3139b9d2f96a",
          "withoutMetadata": "70b3440b241f5a057a97d07bab478582fa98cb7d8abfc4588dca3139b9d2f96a",
          "linkedWithoutMetadata": "70b3440b241f5a057a97d07bab478582fa98cb7d8abfc4588dca3139b9d2f96a"
        },
        "inherit": [
          "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol:IERC1155Receiver",
          "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol:IERC721Receiver",
          "@openzeppelin/contracts/access/AccessControl.sol:AccessControl",
          "@openzeppelin/contracts/utils/introspection/ERC165.sol:ERC165",
          "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165",
          "@openzeppelin/contracts/access/IAccessControl.sol:IAccessControl",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [],
        "methods": [
          "(uint256,address[],address[],address)",
          "()",
          "supportsInterface(bytes4)",
          "isOperation(bytes32)",
          "isOperationPending(bytes32)",
          "isOperationReady(bytes32)",
          "isOperationDone(bytes32)",
          "getTimestamp(bytes32)",
          "getMinDelay()",
          "hashOperation(address,uint256,bytes,bytes32,bytes32)",
          "hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)",
          "schedule(address,uint256,bytes,bytes32,bytes32,uint256)",
          "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)",
          "cancel(bytes32)",
          "execute(address,uint256,bytes,bytes32,bytes32)",
          "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)",
          "updateDelay(uint256)",
          "onERC721Received(address,address,uint256,bytes)",
          "onERC1155Received(address,address,uint256,uint256,bytes)",
          "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "TimelockController",
            "src": "@openzeppelin/contracts/governance/TimelockController.sol:81"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "_roles",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)",
              "contract": "AccessControl",
              "src": "@openzeppelin/contracts/access/AccessControl.sol:56"
            },
            {
              "label": "_timestamps",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "TimelockController",
              "src": "@openzeppelin/contracts/governance/TimelockController.sol:32"
            },
            {
              "label": "_minDelay",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "TimelockController",
              "src": "@openzeppelin/contracts/governance/TimelockController.sol:33"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)": {
              "label": "mapping(bytes32 => struct AccessControl.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)4741_storage": {
              "label": "struct AccessControl.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/interfaces/IERC1967.sol:IERC1967": {
        "src": "@openzeppelin/contracts/interfaces/IERC1967.sol:11",
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/interfaces/draft-IERC1822.sol:IERC1822Proxiable": {
        "src": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol:10",
        "inherit": [],
        "libraries": [],
        "methods": [
          "proxiableUUID()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol:ERC1967Upgrade": {
        "src": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol:18",
        "inherit": [
          "@openzeppelin/contracts/interfaces/IERC1967.sol:IERC1967"
        ],
        "libraries": [
          "@openzeppelin/contracts/utils/StorageSlot.sol:StorageSlot",
          "@openzeppelin/contracts/utils/Address.sol:Address"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          }
        ],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/proxy/Proxy.sol:Proxy": {
        "src": "@openzeppelin/contracts/proxy/Proxy.sol:16",
        "inherit": [],
        "libraries": [],
        "methods": [
          "()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol:BeaconProxy": {
        "src": "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol:18",
        "version": {
          "withMetadata": "55f484c64b392a1625c3fac65a5d1ac8255393a1706ec32d900db19ac0e523e8",
          "withoutMetadata": "55f484c64b392a1625c3fac65a5d1ac8255393a1706ec32d900db19ac0e523e8",
          "linkedWithoutMetadata": "55f484c64b392a1625c3fac65a5d1ac8255393a1706ec32d900db19ac0e523e8"
        },
        "inherit": [
          "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol:ERC1967Upgrade",
          "@openzeppelin/contracts/interfaces/IERC1967.sol:IERC1967",
          "@openzeppelin/contracts/proxy/Proxy.sol:Proxy"
        ],
        "libraries": [],
        "methods": [
          "(address,bytes)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "BeaconProxy",
            "src": "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol:30"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          }
        ],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/proxy/beacon/IBeacon.sol:IBeacon": {
        "src": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol:9",
        "inherit": [],
        "libraries": [],
        "methods": [
          "implementation()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol:IERC1155Receiver": {
        "src": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol:11",
        "inherit": [
          "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165"
        ],
        "libraries": [],
        "methods": [
          "onERC1155Received(address,address,uint256,uint256,bytes)",
          "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20": {
        "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:38",
        "version": {
          "withMetadata": "cb6fef40399d55299939d5e35149f8d459edd63dc6ee83aee1a84570ef3bd3c5",
          "withoutMetadata": "ba44a4a7d262aca83529fad987bca0f4fb803c81286fdf8e55d1725ec6c67c07",
          "linkedWithoutMetadata": "ba44a4a7d262aca83529fad987bca0f4fb803c81286fdf8e55d1725ec6c67c07"
        },
        "inherit": [
          "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:IERC20Metadata",
          "@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [],
        "methods": [
          "(string,string)",
          "name()",
          "symbol()",
          "decimals()",
          "totalSupply()",
          "balanceOf(address)",
          "transfer(address,uint256)",
          "allowance(address,address)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)",
          "increaseAllowance(address,uint256)",
          "decreaseAllowance(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "ERC20",
            "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:54"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "_balances",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:39"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:41"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:43"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "3",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:45"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "4",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:46"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20": {
        "src": "@openzeppelin/contracts/token/ERC20/IERC20.sol:9",
        "inherit": [],
        "libraries": [],
        "methods": [
          "totalSupply()",
          "balanceOf(address)",
          "transfer(address,uint256)",
          "allowance(address,address)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:IERC20Metadata": {
        "src": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:13",
        "inherit": [
          "@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20"
        ],
        "libraries": [],
        "methods": [
          "name()",
          "symbol()",
          "decimals()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol:IERC721Receiver": {
        "src": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol:11",
        "inherit": [],
        "libraries": [],
        "methods": [
          "onERC721Received(address,address,uint256,bytes)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/Address.sol:Address": {
        "src": "@openzeppelin/contracts/utils/Address.sol:9",
        "version": {
          "withMetadata": "8244891c6c140cdac1f79c15a12fb650e47772de498aeabd5073bba71439672d",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          },
          {
            "kind": "delegatecall",
            "src": "@openzeppelin/contracts/utils/Address.sol:185"
          }
        ],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/Context.sol:Context": {
        "src": "@openzeppelin/contracts/utils/Context.sol:16",
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/StorageSlot.sol:StorageSlot": {
        "src": "@openzeppelin/contracts/utils/StorageSlot.sol:34",
        "version": {
          "withMetadata": "205da83b399eab93849622a18459aee05531a28e055f2801cb23e31f16b2e4c4",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/Strings.sol:Strings": {
        "src": "@openzeppelin/contracts/utils/Strings.sol:12",
        "version": {
          "withMetadata": "dddb4d7e24786cda1544214fb1614ef74dc673364637d93d159c2a6d58b94d46",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [
          "@openzeppelin/contracts/utils/math/Math.sol:Math",
          "@openzeppelin/contracts/utils/math/SignedMath.sol:SignedMath"
        ],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/introspection/ERC165.sol:ERC165": {
        "src": "@openzeppelin/contracts/utils/introspection/ERC165.sol:22",
        "inherit": [
          "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165"
        ],
        "libraries": [],
        "methods": [
          "supportsInterface(bytes4)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165": {
        "src": "@openzeppelin/contracts/utils/introspection/IERC165.sol:15",
        "inherit": [],
        "libraries": [],
        "methods": [
          "supportsInterface(bytes4)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/math/Math.sol:Math": {
        "src": "@openzeppelin/contracts/utils/math/Math.sol:9",
        "version": {
          "withMetadata": "fa8637098e14d10d2496306ef1868a3d378f293a4cccd6a751f61f6466003a71",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "@openzeppelin/contracts/utils/math/SignedMath.sol:SignedMath": {
        "src": "@openzeppelin/contracts/utils/math/SignedMath.sol:9",
        "version": {
          "withMetadata": "91d0da9882bfff4bd4a9b6c8e8592260890ffcc2a593b249e40ad55982c4fab1",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/ZkEvmV2.sol:ZkEvmV2": {
        "src": "contracts/ZkEvmV2.sol:16",
        "version": {
          "withMetadata": "5996a5c18037313b9e84266f6bfcc024e7e102ba3c5fc921da1212780cfd4ee1",
          "withoutMetadata": "fb38aff6b2233ac0d57a459ce6e2cceeaff527c5256128daa96f24eb1207563f",
          "linkedWithoutMetadata": "fb38aff6b2233ac0d57a459ce6e2cceeaff527c5256128daa96f24eb1207563f"
        },
        "inherit": [
          "contracts/messageService/l1/L1MessageService.sol:L1MessageService",
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/interfaces/IZkEvmV2.sol:IZkEvmV2"
        ],
        "libraries": [
          "contracts/messageService/lib/TransactionDecoder.sol:TransactionDecoder",
          "contracts/messageService/lib/Codec.sol:CodecV2"
        ],
        "methods": [
          "()",
          "initialize(bytes32,uint256,address,address,address[],uint256,uint256)",
          "setVerifierAddress(address,uint256)",
          "finalizeBlocksWithoutProof(struct IZkEvmV2.BlockData[])",
          "finalizeBlocks(struct IZkEvmV2.BlockData[],bytes,uint256,bytes32)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "166",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "167",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "168",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "217",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "218",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "228",
              "type": "t_uint256",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:27"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "229",
              "type": "t_address",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "230",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:32"
            },
            {
              "label": "currentTimestamp",
              "offset": 0,
              "slot": "280",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:23"
            },
            {
              "label": "currentL2BlockNumber",
              "offset": 0,
              "slot": "281",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:24"
            },
            {
              "label": "stateRootHashes",
              "offset": 0,
              "slot": "282",
              "type": "t_mapping(t_uint256,t_bytes32)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:26"
            },
            {
              "label": "verifiers",
              "offset": 0,
              "slot": "283",
              "type": "t_mapping(t_uint256,t_address)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "284",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:29"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_address)": {
              "label": "mapping(uint256 => address)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_bytes32)": {
              "label": "mapping(uint256 => bytes32)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/ZkEvmV2Init.sol:ZkEvmV2Init": {
        "src": "contracts/ZkEvmV2Init.sol:11",
        "version": {
          "withMetadata": "5313e6b008b5cba845457ec5bcc93a1a861f526f8bbade8dc2a4fe56c5f65e97",
          "withoutMetadata": "4dbb3ec476060bc3675028672bbf881362cbe3f4ca619556a5dbd451eff2c83c",
          "linkedWithoutMetadata": "4dbb3ec476060bc3675028672bbf881362cbe3f4ca619556a5dbd451eff2c83c"
        },
        "inherit": [
          "contracts/ZkEvmV2.sol:ZkEvmV2",
          "contracts/messageService/l1/L1MessageService.sol:L1MessageService",
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/interfaces/IZkEvmV2.sol:IZkEvmV2"
        ],
        "libraries": [],
        "methods": [
          "initializeV2(uint256,bytes32)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "166",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "167",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "168",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "217",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "218",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "228",
              "type": "t_uint256",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:27"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "229",
              "type": "t_address",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "230",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:32"
            },
            {
              "label": "currentTimestamp",
              "offset": 0,
              "slot": "280",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:23"
            },
            {
              "label": "currentL2BlockNumber",
              "offset": 0,
              "slot": "281",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:24"
            },
            {
              "label": "stateRootHashes",
              "offset": 0,
              "slot": "282",
              "type": "t_mapping(t_uint256,t_bytes32)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:26"
            },
            {
              "label": "verifiers",
              "offset": 0,
              "slot": "283",
              "type": "t_mapping(t_uint256,t_address)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "284",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:29"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_address)": {
              "label": "mapping(uint256 => address)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_bytes32)": {
              "label": "mapping(uint256 => bytes32)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IGenericErrors.sol:IGenericErrors": {
        "src": "contracts/interfaces/IGenericErrors.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager": {
        "src": "contracts/interfaces/IL1MessageManager.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IL2MessageManager.sol:IL2MessageManager": {
        "src": "contracts/interfaces/IL2MessageManager.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [
          "addL1L2MessageHashes(bytes32[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IMessageService.sol:IMessageService": {
        "src": "contracts/interfaces/IMessageService.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [
          "sendMessage(address,uint256,bytes)",
          "claimMessage(address,address,uint256,uint256,address payable,bytes,uint256)",
          "sender()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IPauseManager.sol:IPauseManager": {
        "src": "contracts/interfaces/IPauseManager.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IPlonkVerifier.sol:IPlonkVerifier": {
        "src": "contracts/interfaces/IPlonkVerifier.sol:8",
        "inherit": [],
        "libraries": [],
        "methods": [
          "Verify(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IRateLimiter.sol:IRateLimiter": {
        "src": "contracts/interfaces/IRateLimiter.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [
          "resetRateLimitAmount(uint256)",
          "resetAmountUsedInPeriod()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/interfaces/IZkEvmV2.sol:IZkEvmV2": {
        "src": "contracts/interfaces/IZkEvmV2.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [
          "setVerifierAddress(address,uint256)",
          "finalizeBlocksWithoutProof(struct IZkEvmV2.BlockData[])",
          "finalizeBlocks(struct IZkEvmV2.BlockData[],bytes,uint256,bytes32)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/MessageServiceBase.sol:MessageServiceBase": {
        "src": "contracts/messageService/MessageServiceBase.sol:11",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "messageService",
              "offset": 2,
              "slot": "0",
              "type": "t_contract(IMessageService)9836",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:12"
            },
            {
              "label": "remoteSender",
              "offset": 0,
              "slot": "1",
              "type": "t_address",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:13"
            },
            {
              "label": "__base_gap",
              "offset": 0,
              "slot": "2",
              "type": "t_array(t_uint256)10_storage",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:15"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_contract(IMessageService)9836": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager": {
        "src": "contracts/messageService/l1/L1MessageManager.sol:10",
        "inherit": [
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager"
        ],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            }
          ],
          "types": {
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/l1/L1MessageService.sol:L1MessageService": {
        "src": "contracts/messageService/l1/L1MessageService.sol:17",
        "inherit": [
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "sendMessage(address,uint256,bytes)",
          "claimMessage(address,address,uint256,uint256,address payable,bytes,uint256)",
          "sender()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "166",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "167",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "168",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "217",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "218",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "228",
              "type": "t_uint256",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:27"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "229",
              "type": "t_address",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "230",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:32"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/l2/L2MessageManager.sol:L2MessageManager": {
        "src": "contracts/messageService/l2/L2MessageManager.sol:12",
        "inherit": [
          "contracts/interfaces/IL2MessageManager.sol:IL2MessageManager",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "addL1L2MessageHashes(bytes32[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "151",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "inboxL1L2MessageStatus",
              "offset": 0,
              "slot": "162",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L2MessageManager",
              "src": "contracts/messageService/l2/L2MessageManager.sol:25"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/l2/L2MessageService.sol:L2MessageService": {
        "src": "contracts/messageService/l2/L2MessageService.sol:16",
        "version": {
          "withMetadata": "6c415d1ca26c604d93a17e1288b7faaaf10e9fa762494f37af74d91325e6415b",
          "withoutMetadata": "87b12dbb5f0967465423c4f2c9a0d89c1c345aa61fe9c4ce3cc099f3db438f28",
          "linkedWithoutMetadata": "87b12dbb5f0967465423c4f2c9a0d89c1c345aa61fe9c4ce3cc099f3db438f28"
        },
        "inherit": [
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l2/L2MessageManager.sol:L2MessageManager",
          "contracts/interfaces/IL2MessageManager.sol:IL2MessageManager",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "()",
          "initialize(address,address,uint256,uint256)",
          "sendMessage(address,uint256,bytes)",
          "claimMessage(address,address,uint256,uint256,address payable,bytes,uint256)",
          "setMinimumFee(uint256)",
          "sender()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "166",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "inboxL1L2MessageStatus",
              "offset": 0,
              "slot": "176",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L2MessageManager",
              "src": "contracts/messageService/l2/L2MessageManager.sol:25"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "177",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "178",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "__gap_L2MessageService",
              "offset": 0,
              "slot": "227",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:25"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "277",
              "type": "t_address",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:29"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "278",
              "type": "t_uint256",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:32"
            },
            {
              "label": "minimumFeeInWei",
              "offset": 0,
              "slot": "279",
              "type": "t_uint256",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:35"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/Codec.sol:CodecV2": {
        "src": "contracts/messageService/lib/Codec.sol:9",
        "version": {
          "withMetadata": "7328c500e8e68636bd7bb3fce68a9ad8493d3f5e039c563e1d64fd36805bceba",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/PauseManager.sol:PauseManager": {
        "src": "contracts/messageService/lib/PauseManager.sol:13",
        "inherit": [
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "pauseByType(bytes32)",
          "unPauseByType(bytes32)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "151",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/RateLimiter.sol:RateLimiter": {
        "src": "contracts/messageService/lib/RateLimiter.sol:13",
        "version": {
          "withMetadata": "d96f404e1aead2c88d1f8d10ff397642c1e193afcf5e2fdc402545aace7ff7ee",
          "withoutMetadata": "8c259dea51dbf2bf15d49e5b25d7bde7adc0740ce092f78e6a45067196e7425d",
          "linkedWithoutMetadata": "8c259dea51dbf2bf15d49e5b25d7bde7adc0740ce092f78e6a45067196e7425d"
        },
        "inherit": [
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "resetRateLimitAmount(uint256)",
          "resetAmountUsedInPeriod()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/Rlp.sol:RLPReader": {
        "src": "contracts/messageService/lib/Rlp.sol:14",
        "version": {
          "withMetadata": "330a81fb2f7e5510fba47e3b0b1a3a7dcc3c520369d6ab0f65738d2dce66e016",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/TimeLock.sol:TimeLock": {
        "src": "contracts/messageService/lib/TimeLock.sol:11",
        "version": {
          "withMetadata": "20ea27868109c5eebecc554870fb02e7d29852d8b439676ff1c19d8e3d63f39e",
          "withoutMetadata": "20ea27868109c5eebecc554870fb02e7d29852d8b439676ff1c19d8e3d63f39e",
          "linkedWithoutMetadata": "20ea27868109c5eebecc554870fb02e7d29852d8b439676ff1c19d8e3d63f39e"
        },
        "inherit": [
          "@openzeppelin/contracts/governance/TimelockController.sol:TimelockController",
          "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol:IERC1155Receiver",
          "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol:IERC721Receiver",
          "@openzeppelin/contracts/access/AccessControl.sol:AccessControl",
          "@openzeppelin/contracts/utils/introspection/ERC165.sol:ERC165",
          "@openzeppelin/contracts/utils/introspection/IERC165.sol:IERC165",
          "@openzeppelin/contracts/access/IAccessControl.sol:IAccessControl",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [],
        "methods": [
          "(uint256,address[],address[],address)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "TimeLock",
            "src": "contracts/messageService/lib/TimeLock.sol:12"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "_roles",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)",
              "contract": "AccessControl",
              "src": "@openzeppelin/contracts/access/AccessControl.sol:56"
            },
            {
              "label": "_timestamps",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "TimelockController",
              "src": "@openzeppelin/contracts/governance/TimelockController.sol:32"
            },
            {
              "label": "_minDelay",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "TimelockController",
              "src": "@openzeppelin/contracts/governance/TimelockController.sol:33"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)4741_storage)": {
              "label": "mapping(bytes32 => struct AccessControl.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)4741_storage": {
              "label": "struct AccessControl.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/messageService/lib/TransactionDecoder.sol:TransactionDecoder": {
        "src": "contracts/messageService/lib/TransactionDecoder.sol:24",
        "version": {
          "withMetadata": "5e23ad5a64193233ac52194060556bd8c31d14f1ee27cbd854da4deeeaf11a51",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/IntegrationTestTrueVerifier.sol:IntegrationTestTrueVerifier": {
        "src": "contracts/test-contracts/IntegrationTestTrueVerifier.sol:7",
        "version": {
          "withMetadata": "3eca2665339661a813b79baf069650658ea4f694c315cf927a06b204b9413751",
          "withoutMetadata": "cda4b9bbdf346315bec6788d103fe40bbb28f56c7dc41cf937e4ea20fa9e3b94",
          "linkedWithoutMetadata": "cda4b9bbdf346315bec6788d103fe40bbb28f56c7dc41cf937e4ea20fa9e3b94"
        },
        "inherit": [
          "contracts/interfaces/IPlonkVerifier.sol:IPlonkVerifier"
        ],
        "libraries": [],
        "methods": [
          "Verify(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestCodec.sol:TestCodecV2": {
        "src": "contracts/test-contracts/TestCodec.sol:8",
        "version": {
          "withMetadata": "66c1f9f0001593780557f63cefd8b7cd8ff8937d7e412e1979c2146cfe347936",
          "withoutMetadata": "dcb40d74ce7df5dcc3a5809448d24526210c13c04ad4913654e03803e8ab3052",
          "linkedWithoutMetadata": "dcb40d74ce7df5dcc3a5809448d24526210c13c04ad4913654e03803e8ab3052"
        },
        "inherit": [],
        "libraries": [
          "contracts/messageService/lib/Codec.sol:CodecV2"
        ],
        "methods": [
          "extractHashesTest(bytes)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestL1MessageManager.sol:TestL1MessageManager": {
        "src": "contracts/test-contracts/TestL1MessageManager.sol:6",
        "version": {
          "withMetadata": "959a9f9df01f24239bbcf193b55e8794ccead6f7e3192f755150d2195f63fa8c",
          "withoutMetadata": "51ddcdbbf2a84c0b28e09d66ed0fa3255364b463d1fd2909f45d12fd9dde3811",
          "linkedWithoutMetadata": "51ddcdbbf2a84c0b28e09d66ed0fa3255364b463d1fd2909f45d12fd9dde3811"
        },
        "inherit": [
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager"
        ],
        "libraries": [],
        "methods": [
          "addL2L1MessageHash(bytes32)",
          "updateL2L1MessageStatusToClaimed(bytes32)",
          "addL1L2MessageHash(bytes32)",
          "updateL1L2MessageStatusToReceived(bytes32[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            }
          ],
          "types": {
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestL1MessageService.sol:TestL1MessageService": {
        "src": "contracts/test-contracts/TestL1MessageService.sol:6",
        "version": {
          "withMetadata": "ad5486da52aadf30c7a6218d4beb839a4a4a02ef4e650dcb36357d586cd2686f",
          "withoutMetadata": "e373f2c9fc9c654e0a6c53dfaa38bd864a1bb493acec3ddc39281038b182963c",
          "linkedWithoutMetadata": "e373f2c9fc9c654e0a6c53dfaa38bd864a1bb493acec3ddc39281038b182963c"
        },
        "inherit": [
          "contracts/messageService/l1/L1MessageService.sol:L1MessageService",
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "initialize(address,address,uint256,uint256)",
          "tryInitialize(address,address,uint256,uint256)",
          "canSendMessage(address,uint256,bytes)",
          "addL2L1MessageHash(bytes32)",
          "setSender()",
          "sendNewMessage()",
          "doReentry()",
          "addFunds()",
          "()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "166",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "167",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "168",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "217",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "218",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "228",
              "type": "t_uint256",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:27"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "229",
              "type": "t_address",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "230",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:32"
            },
            {
              "label": "originalSender",
              "offset": 0,
              "slot": "280",
              "type": "t_address",
              "contract": "TestL1MessageService",
              "src": "contracts/test-contracts/TestL1MessageService.sol:7"
            },
            {
              "label": "reentryDone",
              "offset": 20,
              "slot": "280",
              "type": "t_bool",
              "contract": "TestL1MessageService",
              "src": "contracts/test-contracts/TestL1MessageService.sol:8"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestL2MessageManager.sol:TestL2MessageManager": {
        "src": "contracts/test-contracts/TestL2MessageManager.sol:8",
        "version": {
          "withMetadata": "13794ac045f0eba3a1857e4f53b6edee3ac2b62d42149515599d067cc81db315",
          "withoutMetadata": "9b8c875917bf9281ddb8c87c864b86b8d98ca17c56ae7cf11cd6746ab912060e",
          "linkedWithoutMetadata": "9b8c875917bf9281ddb8c87c864b86b8d98ca17c56ae7cf11cd6746ab912060e"
        },
        "inherit": [
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/messageService/l2/L2MessageManager.sol:L2MessageManager",
          "contracts/interfaces/IL2MessageManager.sol:IL2MessageManager",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "()",
          "initialize(address,address)",
          "tryInitialize(address)",
          "updateL1L2MessageStatusToClaimed(bytes32)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "151",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "inboxL1L2MessageStatus",
              "offset": 0,
              "slot": "162",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L2MessageManager",
              "src": "contracts/messageService/l2/L2MessageManager.sol:25"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestL2MessageService.sol:TestL2MessageService": {
        "src": "contracts/test-contracts/TestL2MessageService.sol:6",
        "version": {
          "withMetadata": "d9c59b25453de94aa9c283ec922e00459b430bc973000f77a4a6217368235e52",
          "withoutMetadata": "91cdccf9cee8d40958a7f6cec1a3e1edf8a826f98c3e074a7342c120f224f52a",
          "linkedWithoutMetadata": "91cdccf9cee8d40958a7f6cec1a3e1edf8a826f98c3e074a7342c120f224f52a"
        },
        "inherit": [
          "contracts/messageService/l2/L2MessageService.sol:L2MessageService",
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l2/L2MessageManager.sol:L2MessageManager",
          "contracts/interfaces/IL2MessageManager.sol:IL2MessageManager",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "canSendMessage(address,uint256,bytes)",
          "setSender()",
          "callMessageServiceBase(address)",
          "doReentry()",
          "addFunds()",
          "()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "166",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "inboxL1L2MessageStatus",
              "offset": 0,
              "slot": "176",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L2MessageManager",
              "src": "contracts/messageService/l2/L2MessageManager.sol:25"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "177",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "178",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "__gap_L2MessageService",
              "offset": 0,
              "slot": "227",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:25"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "277",
              "type": "t_address",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:29"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "278",
              "type": "t_uint256",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:32"
            },
            {
              "label": "minimumFeeInWei",
              "offset": 0,
              "slot": "279",
              "type": "t_uint256",
              "contract": "L2MessageService",
              "src": "contracts/messageService/l2/L2MessageService.sol:35"
            },
            {
              "label": "originalSender",
              "offset": 0,
              "slot": "280",
              "type": "t_address",
              "contract": "TestL2MessageService",
              "src": "contracts/test-contracts/TestL2MessageService.sol:7"
            },
            {
              "label": "reentryDone",
              "offset": 20,
              "slot": "280",
              "type": "t_bool",
              "contract": "TestL2MessageService",
              "src": "contracts/test-contracts/TestL2MessageService.sol:8"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestMessageServiceBase.sol:TestMessageServiceBase": {
        "src": "contracts/test-contracts/TestMessageServiceBase.sol:6",
        "version": {
          "withMetadata": "1ece1db86fdc67fe0fc009ef2cc61109e7c1d8542d7404711ea8a4a28f7b62bc",
          "withoutMetadata": "32f5043158bced311f41a61be88fed3c135ca3dfba6b29762efb581a358ad84e",
          "linkedWithoutMetadata": "32f5043158bced311f41a61be88fed3c135ca3dfba6b29762efb581a358ad84e"
        },
        "inherit": [
          "contracts/messageService/MessageServiceBase.sol:MessageServiceBase",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "initialize(address,address)",
          "withOnlyMessagingService()",
          "withOnlyAuthorizedRemoteSender()",
          "tryInitialize(address,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "messageService",
              "offset": 2,
              "slot": "0",
              "type": "t_contract(IMessageService)9836",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:12"
            },
            {
              "label": "remoteSender",
              "offset": 0,
              "slot": "1",
              "type": "t_address",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:13"
            },
            {
              "label": "__base_gap",
              "offset": 0,
              "slot": "2",
              "type": "t_array(t_uint256)10_storage",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:15"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_contract(IMessageService)9836": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestPauseManager.sol:TestPauseManager": {
        "src": "contracts/test-contracts/TestPauseManager.sol:7",
        "version": {
          "withMetadata": "2f6955f526f3d3b9539d859bab4859bb94616e28b99004d1d0de46109e90cc20",
          "withoutMetadata": "b08a50eb6c31f50b85bb4a702247425b01cf3710515d0b32364da5a98f3a7667",
          "linkedWithoutMetadata": "b08a50eb6c31f50b85bb4a702247425b01cf3710515d0b32364da5a98f3a7667"
        },
        "inherit": [
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "initialize()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "151",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestRateLimiter.sol:TestRateLimiter": {
        "src": "contracts/test-contracts/TestRateLimiter.sol:7",
        "version": {
          "withMetadata": "75efc9450ded192a12d2626f78a3f965ffb0126836e46001b1ae4d510a0d7efd",
          "withoutMetadata": "32cc4c5468d0854375fec057e41db2b3fcf2e216cb4739e3849765aba804c71d",
          "linkedWithoutMetadata": "32cc4c5468d0854375fec057e41db2b3fcf2e216cb4739e3849765aba804c71d"
        },
        "inherit": [
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "initialize(uint256,uint256)",
          "withdrawSomeAmount(uint256)",
          "tryInitialize(uint256,uint256)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestReceivingContract.sol:TestReceivingContract": {
        "src": "contracts/test-contracts/TestReceivingContract.sol:5",
        "version": {
          "withMetadata": "0c4b124d16f798bd608113d966cc5f59321cf097ae6fb3c250f283031da61bf5",
          "withoutMetadata": "92e8a9556473ca45d0e458b037674b6468e35cbd1d0c06572840142143c1aed9",
          "linkedWithoutMetadata": "92e8a9556473ca45d0e458b037674b6468e35cbd1d0c06572840142143c1aed9"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "()",
          "()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestRlp.sol:TestRlp": {
        "src": "contracts/test-contracts/TestRlp.sol:10",
        "version": {
          "withMetadata": "4f2ab04f797b3106f39c2bf4143a8b745cae51547eb2afd44c15365e2082be5e",
          "withoutMetadata": "7e6d586fadddaaf82ca9f0c4393c853808275bce6ea17eb3c1630df41cabaf9d",
          "linkedWithoutMetadata": "7e6d586fadddaaf82ca9f0c4393c853808275bce6ea17eb3c1630df41cabaf9d"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "next(bytes)",
          "hasNext(bytes)",
          "skipTo(bytes,uint256)",
          "skipToReturnBytes(bytes,uint256)",
          "fromRlpItemToAddress((uint256,uint256))",
          "iterator(bytes)",
          "payloadLocation(bytes)",
          "isList(bytes)",
          "toAddress(bytes)",
          "toUint(bytes)",
          "toBytes(bytes)",
          "itemLength(bytes)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestTransactionDecoder.sol:TestTransactionDecoder": {
        "src": "contracts/test-contracts/TestTransactionDecoder.sol:7",
        "version": {
          "withMetadata": "7cd1239f75aca859af0266d6be1bec4514fb9e972bfaacb5dedbde07d71d46d9",
          "withoutMetadata": "dea520566cf893fc9bbc3ded6dacd0f9e8b6302ab47bdde3da2be3b5399f896e",
          "linkedWithoutMetadata": "dea520566cf893fc9bbc3ded6dacd0f9e8b6302ab47bdde3da2be3b5399f896e"
        },
        "inherit": [],
        "libraries": [
          "contracts/messageService/lib/TransactionDecoder.sol:TransactionDecoder",
          "contracts/messageService/lib/Codec.sol:CodecV2"
        ],
        "methods": [
          "decodeTransactionAndHashes(bytes)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/test-contracts/TestZkevmV2.sol:TestZkEvmV2": {
        "src": "contracts/test-contracts/TestZkevmV2.sol:6",
        "version": {
          "withMetadata": "ebfd73b5c4f4a1272adb2f6c1df7a4f1d05049dd61c9e3568a6d56d9f7cb2819",
          "withoutMetadata": "ed74e5588dfff97b1646086410f34de008df210e0b310683c5dbf5434c8c65d2",
          "linkedWithoutMetadata": "ed74e5588dfff97b1646086410f34de008df210e0b310683c5dbf5434c8c65d2"
        },
        "inherit": [
          "contracts/ZkEvmV2.sol:ZkEvmV2",
          "contracts/messageService/l1/L1MessageService.sol:L1MessageService",
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager",
          "contracts/messageService/lib/RateLimiter.sol:RateLimiter",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "contracts/interfaces/IRateLimiter.sol:IRateLimiter",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/interfaces/IZkEvmV2.sol:IZkEvmV2"
        ],
        "libraries": [
          "contracts/messageService/lib/TransactionDecoder.sol:TransactionDecoder",
          "contracts/messageService/lib/Codec.sol:CodecV2"
        ],
        "methods": [
          "addL1L2MessageHash(bytes)",
          "extractMessageHashes(bytes)",
          "processBlockTransactions(bytes[],uint16[])",
          "processMessageHashes(bytes32[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "51",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "101",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "periodInSeconds",
              "offset": 0,
              "slot": "151",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:16"
            },
            {
              "label": "limitInWei",
              "offset": 0,
              "slot": "152",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:17"
            },
            {
              "label": "currentPeriodEnd",
              "offset": 0,
              "slot": "153",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:21"
            },
            {
              "label": "currentPeriodAmountInWei",
              "offset": 0,
              "slot": "154",
              "type": "t_uint256",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:25"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)10_storage",
              "contract": "RateLimiter",
              "src": "contracts/messageService/lib/RateLimiter.sol:27"
            },
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "165",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "166",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_status",
              "offset": 0,
              "slot": "167",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "168",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "217",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "218",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "228",
              "type": "t_uint256",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:27"
            },
            {
              "label": "_messageSender",
              "offset": 0,
              "slot": "229",
              "type": "t_address",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "230",
              "type": "t_array(t_uint256)50_storage",
              "contract": "L1MessageService",
              "src": "contracts/messageService/l1/L1MessageService.sol:32"
            },
            {
              "label": "currentTimestamp",
              "offset": 0,
              "slot": "280",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:23"
            },
            {
              "label": "currentL2BlockNumber",
              "offset": 0,
              "slot": "281",
              "type": "t_uint256",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:24"
            },
            {
              "label": "stateRootHashes",
              "offset": 0,
              "slot": "282",
              "type": "t_mapping(t_uint256,t_bytes32)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:26"
            },
            {
              "label": "verifiers",
              "offset": 0,
              "slot": "283",
              "type": "t_mapping(t_uint256,t_address)",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "284",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ZkEvmV2",
              "src": "contracts/ZkEvmV2.sol:29"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_address)": {
              "label": "mapping(uint256 => address)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_bytes32)": {
              "label": "mapping(uint256 => bytes32)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/BridgedToken.sol:BridgedToken": {
        "src": "contracts/tokenBridge/BridgedToken.sol:10",
        "version": {
          "withMetadata": "4bf74e5cf0c5f1ab13434f835c53c973083601308d1f2913cb3d20f808251dda",
          "withoutMetadata": "6c3b30f7b64291300dcd94d91b9eb9cb7f43d7a37212e8e151094a65c3e83cbb",
          "linkedWithoutMetadata": "6c3b30f7b64291300dcd94d91b9eb9cb7f43d7a37212e8e151094a65c3e83cbb"
        },
        "inherit": [
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:ERC20PermitUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:EIP712Upgradeable",
          "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:IERC5267Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol:IERC20PermitUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:ERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:IERC20MetadataUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "()",
          "initialize(string,string,uint8)",
          "mint(address,uint256)",
          "burn(address,uint256)",
          "decimals()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_balances",
              "offset": 0,
              "slot": "51",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "52",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "53",
              "type": "t_uint256",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "54",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "55",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "56",
              "type": "t_array(t_uint256)45_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376"
            },
            {
              "label": "_hashedName",
              "offset": 0,
              "slot": "101",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:40",
              "renamedFrom": "_HASHED_NAME"
            },
            {
              "label": "_hashedVersion",
              "offset": 0,
              "slot": "102",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:42",
              "renamedFrom": "_HASHED_VERSION"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "103",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:44"
            },
            {
              "label": "_version",
              "offset": 0,
              "slot": "104",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:45"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "105",
              "type": "t_array(t_uint256)48_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:204"
            },
            {
              "label": "_nonces",
              "offset": 0,
              "slot": "153",
              "type": "t_mapping(t_address,t_struct(Counter)2747_storage)",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:28"
            },
            {
              "label": "_PERMIT_TYPEHASH_DEPRECATED_SLOT",
              "offset": 0,
              "slot": "154",
              "type": "t_bytes32",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:40",
              "renamedFrom": "_PERMIT_TYPEHASH"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:108"
            },
            {
              "label": "bridge",
              "offset": 0,
              "slot": "204",
              "type": "t_address",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:11"
            },
            {
              "label": "_decimals",
              "offset": 20,
              "slot": "204",
              "type": "t_uint8",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:12"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "205",
              "type": "t_array(t_uint256)50_storage",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:19"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)45_storage": {
              "label": "uint256[45]",
              "numberOfBytes": "1440"
            },
            "t_array(t_uint256)48_storage": {
              "label": "uint256[48]",
              "numberOfBytes": "1536"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_struct(Counter)2747_storage)": {
              "label": "mapping(address => struct CountersUpgradeable.Counter)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_struct(Counter)2747_storage": {
              "label": "struct CountersUpgradeable.Counter",
              "members": [
                {
                  "label": "_value",
                  "type": "t_uint256",
                  "offset": 0,
                  "slot": "0"
                }
              ],
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/TokenBridge.sol:TokenBridge": {
        "src": "contracts/tokenBridge/TokenBridge.sol:23",
        "version": {
          "withMetadata": "b16d6974759a9472db98f6ddbdca0402e2ff88977ca542f37700db717c5e22b6",
          "withoutMetadata": "dbe6d306558bb790174b6998e910a9d75b72c6351747c8e4f5abfddf980e476e",
          "linkedWithoutMetadata": "dbe6d306558bb790174b6998e910a9d75b72c6351747c8e4f5abfddf980e476e"
        },
        "inherit": [
          "contracts/messageService/MessageServiceBase.sol:MessageServiceBase",
          "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:Ownable2StepUpgradeable",
          "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:OwnableUpgradeable",
          "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:PausableUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/tokenBridge/interfaces/ITokenBridge.sol:ITokenBridge"
        ],
        "libraries": [
          "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol:SafeERC20Upgradeable"
        ],
        "methods": [
          "()",
          "initialize(address,address,address,address[])",
          "bridgeToken(address,uint256,address)",
          "bridgeTokenWithPermit(address,uint256,address,bytes)",
          "completeBridging(address,uint256,address,bytes)",
          "setMessageService(address)",
          "confirmDeployment(address[])",
          "setDeployed(address[])",
          "setRemoteTokenBridge(address)",
          "setReserved(address)",
          "removeReserved(address)",
          "setCustomContract(address,address)",
          "pause()",
          "unpause()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_paused",
              "offset": 0,
              "slot": "51",
              "type": "t_bool",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "52",
              "type": "t_array(t_uint256)49_storage",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
            },
            {
              "label": "_owner",
              "offset": 0,
              "slot": "101",
              "type": "t_address",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
            },
            {
              "label": "_pendingOwner",
              "offset": 0,
              "slot": "151",
              "type": "t_address",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)49_storage",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:70"
            },
            {
              "label": "messageService",
              "offset": 0,
              "slot": "201",
              "type": "t_contract(IMessageService)9836",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:12"
            },
            {
              "label": "remoteSender",
              "offset": 0,
              "slot": "202",
              "type": "t_address",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:13"
            },
            {
              "label": "__base_gap",
              "offset": 0,
              "slot": "203",
              "type": "t_array(t_uint256)10_storage",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:15"
            },
            {
              "label": "tokenBeacon",
              "offset": 0,
              "slot": "213",
              "type": "t_address",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:30"
            },
            {
              "label": "nativeToBridgedToken",
              "offset": 0,
              "slot": "214",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:31"
            },
            {
              "label": "bridgedToNativeToken",
              "offset": 0,
              "slot": "215",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:32"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "216",
              "type": "t_array(t_uint256)50_storage",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:45"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_contract(IMessageService)9836": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_address)": {
              "label": "mapping(address => address)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/interfaces/ITokenBridge.sol:ITokenBridge": {
        "src": "contracts/tokenBridge/interfaces/ITokenBridge.sol:4",
        "inherit": [],
        "libraries": [],
        "methods": [
          "bridgeTokenWithPermit(address,uint256,address,bytes)",
          "completeBridging(address,uint256,address,bytes)",
          "setMessageService(address)",
          "setDeployed(address[])",
          "setRemoteTokenBridge(address)",
          "removeReserved(address)",
          "setCustomContract(address,address)",
          "pause()",
          "unpause()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/ERC20MintBurn.sol:MockERC20MintBurn": {
        "src": "contracts/tokenBridge/mocks/ERC20MintBurn.sol:6",
        "version": {
          "withMetadata": "abee7dd9319f076fd13d155cd3dfa67d2f8a9d9ce81f0dc1051491e5012f945e",
          "withoutMetadata": "463e4c1e1ebff014a6ffabe546bc7375690291a3b60a4d1a6e38128fd31e2231",
          "linkedWithoutMetadata": "463e4c1e1ebff014a6ffabe546bc7375690291a3b60a4d1a6e38128fd31e2231"
        },
        "inherit": [
          "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20",
          "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:IERC20Metadata",
          "@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [],
        "methods": [
          "(string,string)",
          "mint(address,uint256)",
          "burn(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "MockERC20MintBurn",
            "src": "contracts/tokenBridge/mocks/ERC20MintBurn.sol:7"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "_balances",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:39"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:41"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:43"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "3",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:45"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "4",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:46"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:MockERC20NoNameMintBurn": {
        "src": "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:4",
        "version": {
          "withMetadata": "f2a4c0fdbc05cefe51cc2bf73b15e6e53d4484374d49f3d269b84b5dd933e2b2",
          "withoutMetadata": "6b4ea8501fac6571329ba4fa2c191c0f15198889e24b900e5e8943d6143e386d",
          "linkedWithoutMetadata": "6b4ea8501fac6571329ba4fa2c191c0f15198889e24b900e5e8943d6143e386d"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "()",
          "transfer(address,uint256)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)",
          "mint(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "MockERC20NoNameMintBurn",
            "src": "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:14"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "decimals",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "MockERC20NoNameMintBurn",
              "src": "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:5"
            },
            {
              "label": "balanceOf",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "MockERC20NoNameMintBurn",
              "src": "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:7"
            },
            {
              "label": "allowance",
              "offset": 0,
              "slot": "2",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "MockERC20NoNameMintBurn",
              "src": "contracts/tokenBridge/mocks/ERC20NoNameMintBurn.sol:8"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:MockERC20WeirdNameSymbol": {
        "src": "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:4",
        "version": {
          "withMetadata": "e582bc94a48499b228b8416ddfaccebcbbcda5ba388588cd6233f058a26420bf",
          "withoutMetadata": "8a2543c70e697323b487e65b4bb81282e83c917f75637506d721124ebf84a56a",
          "linkedWithoutMetadata": "8a2543c70e697323b487e65b4bb81282e83c917f75637506d721124ebf84a56a"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "()",
          "name()",
          "symbol()",
          "transfer(address,uint256)",
          "approve(address,uint256)",
          "transferFrom(address,address,uint256)",
          "mint(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "MockERC20WeirdNameSymbol",
            "src": "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:14"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "decimals",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "MockERC20WeirdNameSymbol",
              "src": "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:5"
            },
            {
              "label": "balanceOf",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "MockERC20WeirdNameSymbol",
              "src": "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:7"
            },
            {
              "label": "allowance",
              "offset": 0,
              "slot": "2",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "MockERC20WeirdNameSymbol",
              "src": "contracts/tokenBridge/mocks/ERC20WeirdNameSymbol.sol:8"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/ERCFees.sol:ERC20Fees": {
        "src": "contracts/tokenBridge/mocks/ERCFees.sol:8",
        "version": {
          "withMetadata": "142a8f9d7e4ab7fa4d4a52fc2278181909d35d1fc1a1d854461c794ffaad5138",
          "withoutMetadata": "f00eaa18253460a7e7c21c6106efb64a613a027e17c92c97c703f4e670261d5c",
          "linkedWithoutMetadata": "f00eaa18253460a7e7c21c6106efb64a613a027e17c92c97c703f4e670261d5c"
        },
        "inherit": [
          "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20",
          "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:IERC20Metadata",
          "@openzeppelin/contracts/token/ERC20/IERC20.sol:IERC20",
          "@openzeppelin/contracts/utils/Context.sol:Context"
        ],
        "libraries": [],
        "methods": [
          "(string,string,uint16)",
          "mint(address,uint256)",
          "burn(address,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "ERC20Fees",
            "src": "contracts/tokenBridge/mocks/ERCFees.sol:17"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "_balances",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:39"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:41"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:43"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "3",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:45"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "4",
              "type": "t_string_storage",
              "contract": "ERC20",
              "src": "@openzeppelin/contracts/token/ERC20/ERC20.sol:46"
            },
            {
              "label": "feePercentage",
              "offset": 0,
              "slot": "5",
              "type": "t_uint16",
              "contract": "ERC20Fees",
              "src": "contracts/tokenBridge/mocks/ERCFees.sol:9"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_uint16": {
              "label": "uint16",
              "numberOfBytes": "2"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:MockMessageServiceV2": {
        "src": "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:9",
        "version": {
          "withMetadata": "0f1fb2aa7bdb20576bc7364a2ab5b00279503c8fae8ca8db7bb05fc5b27f7034",
          "withoutMetadata": "240f3cec53ee5b9258239c8f74f837543157578698ee2bdfe332eb2e946e1ad3",
          "linkedWithoutMetadata": "240f3cec53ee5b9258239c8f74f837543157578698ee2bdfe332eb2e946e1ad3"
        },
        "inherit": [
          "contracts/interfaces/IGenericErrors.sol:IGenericErrors",
          "contracts/messageService/lib/PauseManager.sol:PauseManager",
          "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:AccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable",
          "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "contracts/interfaces/IPauseManager.sol:IPauseManager",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/interfaces/IMessageService.sol:IMessageService",
          "contracts/messageService/l1/L1MessageManager.sol:L1MessageManager",
          "contracts/interfaces/IL1MessageManager.sol:IL1MessageManager"
        ],
        "libraries": [],
        "methods": [
          "sendMessage(address,uint256,bytes)",
          "sender()",
          "claimMessage(address,address,uint256,uint256,address payable,bytes,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "state-variable-assignment",
            "name": "messageSender",
            "src": "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:10"
          },
          {
            "kind": "state-variable-assignment",
            "name": "nextMessageNumber",
            "src": "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:11"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "outboxL1L2MessageStatus",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:22"
            },
            {
              "label": "inboxL2L1MessageStatus",
              "offset": 0,
              "slot": "1",
              "type": "t_mapping(t_bytes32,t_uint256)",
              "contract": "L1MessageManager",
              "src": "contracts/messageService/l1/L1MessageManager.sol:26"
            },
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "2",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "2",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "3",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "53",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ERC165Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
            },
            {
              "label": "_roles",
              "offset": 0,
              "slot": "103",
              "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "104",
              "type": "t_array(t_uint256)49_storage",
              "contract": "AccessControlUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260"
            },
            {
              "label": "pauseTypeStatuses",
              "offset": 0,
              "slot": "153",
              "type": "t_mapping(t_bytes32,t_bool)",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:21"
            },
            {
              "label": "_gap",
              "offset": 0,
              "slot": "154",
              "type": "t_array(t_uint256)10_storage",
              "contract": "PauseManager",
              "src": "contracts/messageService/lib/PauseManager.sol:23"
            },
            {
              "label": "messageSender",
              "offset": 0,
              "slot": "164",
              "type": "t_address",
              "contract": "MockMessageServiceV2",
              "src": "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:10"
            },
            {
              "label": "nextMessageNumber",
              "offset": 0,
              "slot": "165",
              "type": "t_uint256",
              "contract": "MockMessageServiceV2",
              "src": "contracts/tokenBridge/mocks/MessageBridgeV2/MockMessageServiceV2.sol:11"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_bool)": {
              "label": "mapping(address => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_bool)": {
              "label": "mapping(bytes32 => bool)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
              "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_bytes32,t_uint256)": {
              "label": "mapping(bytes32 => uint256)",
              "numberOfBytes": "32"
            },
            "t_struct(RoleData)34_storage": {
              "label": "struct AccessControlUpgradeable.RoleData",
              "members": [
                {
                  "label": "members",
                  "type": "t_mapping(t_address,t_bool)",
                  "offset": 0,
                  "slot": "0"
                },
                {
                  "label": "adminRole",
                  "type": "t_bytes32",
                  "offset": 0,
                  "slot": "1"
                }
              ],
              "numberOfBytes": "64"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/MockMessageService.sol:MockMessageService": {
        "src": "contracts/tokenBridge/mocks/MockMessageService.sol:6",
        "version": {
          "withMetadata": "f0b405fd69ffe6405fd093f7865d210252d0c3d2979bfa05a495d4bd11675a9c",
          "withoutMetadata": "b2aaf4c2a854938af3b5329c18c3d8811f9f875b665036ddcb63a9464e3df2b1",
          "linkedWithoutMetadata": "b2aaf4c2a854938af3b5329c18c3d8811f9f875b665036ddcb63a9464e3df2b1"
        },
        "inherit": [
          "contracts/interfaces/IMessageService.sol:IMessageService"
        ],
        "libraries": [],
        "methods": [
          "sendMessage(address,uint256,bytes)",
          "sender()",
          "claimMessage(address,address,uint256,uint256,address payable,bytes,uint256)"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "state-variable-assignment",
            "name": "messageSender",
            "src": "contracts/tokenBridge/mocks/MockMessageService.sol:8"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "messageSender",
              "offset": 0,
              "slot": "0",
              "type": "t_address",
              "contract": "MockMessageService",
              "src": "contracts/tokenBridge/mocks/MockMessageService.sol:8"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/MockTokenBridge.sol:MockTokenBridge": {
        "src": "contracts/tokenBridge/mocks/MockTokenBridge.sol:6",
        "version": {
          "withMetadata": "6c3c980be6049dc5c35f340f4b19f9f4727eb48b8c05f3ddd0a5c8c733cf6083",
          "withoutMetadata": "4eb693bb9b3f213fc52b0cae69c7318468ac51e8c154d0fb337843563019605a",
          "linkedWithoutMetadata": "4eb693bb9b3f213fc52b0cae69c7318468ac51e8c154d0fb337843563019605a"
        },
        "inherit": [
          "contracts/tokenBridge/TokenBridge.sol:TokenBridge",
          "contracts/messageService/MessageServiceBase.sol:MessageServiceBase",
          "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:Ownable2StepUpgradeable",
          "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:OwnableUpgradeable",
          "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:PausableUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable",
          "contracts/tokenBridge/interfaces/ITokenBridge.sol:ITokenBridge"
        ],
        "libraries": [],
        "methods": [
          "setNativeMappingValue(address,address)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_paused",
              "offset": 0,
              "slot": "51",
              "type": "t_bool",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "52",
              "type": "t_array(t_uint256)49_storage",
              "contract": "PausableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
            },
            {
              "label": "_owner",
              "offset": 0,
              "slot": "101",
              "type": "t_address",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "102",
              "type": "t_array(t_uint256)49_storage",
              "contract": "OwnableUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
            },
            {
              "label": "_pendingOwner",
              "offset": 0,
              "slot": "151",
              "type": "t_address",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:27"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "152",
              "type": "t_array(t_uint256)49_storage",
              "contract": "Ownable2StepUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol:70"
            },
            {
              "label": "messageService",
              "offset": 0,
              "slot": "201",
              "type": "t_contract(IMessageService)9836",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:12"
            },
            {
              "label": "remoteSender",
              "offset": 0,
              "slot": "202",
              "type": "t_address",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:13"
            },
            {
              "label": "__base_gap",
              "offset": 0,
              "slot": "203",
              "type": "t_array(t_uint256)10_storage",
              "contract": "MessageServiceBase",
              "src": "contracts/messageService/MessageServiceBase.sol:15"
            },
            {
              "label": "tokenBeacon",
              "offset": 0,
              "slot": "213",
              "type": "t_address",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:30"
            },
            {
              "label": "nativeToBridgedToken",
              "offset": 0,
              "slot": "214",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:31"
            },
            {
              "label": "bridgedToNativeToken",
              "offset": 0,
              "slot": "215",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:32"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "216",
              "type": "t_array(t_uint256)50_storage",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:45"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)10_storage": {
              "label": "uint256[10]",
              "numberOfBytes": "320"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_contract(IMessageService)9836": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_address)": {
              "label": "mapping(address => address)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/UpgradedBridgedToken.sol:UpgradedBridgedToken": {
        "src": "contracts/tokenBridge/mocks/UpgradedBridgedToken.sol:6",
        "version": {
          "withMetadata": "6e7681e5883a6509f8d8b427f90d9b8581c0e4a0107610a76391188609893e82",
          "withoutMetadata": "8e95c0a792037e492024d1b92040105299a6434e51b949601e114f1b110801bf",
          "linkedWithoutMetadata": "8e95c0a792037e492024d1b92040105299a6434e51b949601e114f1b110801bf"
        },
        "inherit": [
          "contracts/tokenBridge/BridgedToken.sol:BridgedToken",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:ERC20PermitUpgradeable",
          "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:EIP712Upgradeable",
          "@openzeppelin/contracts-upgradeable/interfaces/IERC5267Upgradeable.sol:IERC5267Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol:IERC20PermitUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:ERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol:IERC20MetadataUpgradeable",
          "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol:IERC20Upgradeable",
          "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:ContextUpgradeable",
          "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:Initializable"
        ],
        "libraries": [],
        "methods": [
          "isUpgraded()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [
            {
              "label": "_initialized",
              "offset": 0,
              "slot": "0",
              "type": "t_uint8",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
              "retypedFrom": "bool"
            },
            {
              "label": "_initializing",
              "offset": 1,
              "slot": "0",
              "type": "t_bool",
              "contract": "Initializable",
              "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "1",
              "type": "t_array(t_uint256)50_storage",
              "contract": "ContextUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
            },
            {
              "label": "_balances",
              "offset": 0,
              "slot": "51",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:40"
            },
            {
              "label": "_allowances",
              "offset": 0,
              "slot": "52",
              "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:42"
            },
            {
              "label": "_totalSupply",
              "offset": 0,
              "slot": "53",
              "type": "t_uint256",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "54",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:46"
            },
            {
              "label": "_symbol",
              "offset": 0,
              "slot": "55",
              "type": "t_string_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:47"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "56",
              "type": "t_array(t_uint256)45_storage",
              "contract": "ERC20Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:376"
            },
            {
              "label": "_hashedName",
              "offset": 0,
              "slot": "101",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:40",
              "renamedFrom": "_HASHED_NAME"
            },
            {
              "label": "_hashedVersion",
              "offset": 0,
              "slot": "102",
              "type": "t_bytes32",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:42",
              "renamedFrom": "_HASHED_VERSION"
            },
            {
              "label": "_name",
              "offset": 0,
              "slot": "103",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:44"
            },
            {
              "label": "_version",
              "offset": 0,
              "slot": "104",
              "type": "t_string_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:45"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "105",
              "type": "t_array(t_uint256)48_storage",
              "contract": "EIP712Upgradeable",
              "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:204"
            },
            {
              "label": "_nonces",
              "offset": 0,
              "slot": "153",
              "type": "t_mapping(t_address,t_struct(Counter)2747_storage)",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:28"
            },
            {
              "label": "_PERMIT_TYPEHASH_DEPRECATED_SLOT",
              "offset": 0,
              "slot": "154",
              "type": "t_bytes32",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:40",
              "renamedFrom": "_PERMIT_TYPEHASH"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "155",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ERC20PermitUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol:108"
            },
            {
              "label": "bridge",
              "offset": 0,
              "slot": "204",
              "type": "t_address",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:11"
            },
            {
              "label": "_decimals",
              "offset": 20,
              "slot": "204",
              "type": "t_uint8",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:12"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "205",
              "type": "t_array(t_uint256)50_storage",
              "contract": "BridgedToken",
              "src": "contracts/tokenBridge/BridgedToken.sol:19"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_array(t_uint256)45_storage": {
              "label": "uint256[45]",
              "numberOfBytes": "1440"
            },
            "t_array(t_uint256)48_storage": {
              "label": "uint256[48]",
              "numberOfBytes": "1536"
            },
            "t_array(t_uint256)49_storage": {
              "label": "uint256[49]",
              "numberOfBytes": "1568"
            },
            "t_array(t_uint256)50_storage": {
              "label": "uint256[50]",
              "numberOfBytes": "1600"
            },
            "t_bool": {
              "label": "bool",
              "numberOfBytes": "1"
            },
            "t_bytes32": {
              "label": "bytes32",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
              "label": "mapping(address => mapping(address => uint256))",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_struct(Counter)2747_storage)": {
              "label": "mapping(address => struct CountersUpgradeable.Counter)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_string_storage": {
              "label": "string",
              "numberOfBytes": "32"
            },
            "t_struct(Counter)2747_storage": {
              "label": "struct CountersUpgradeable.Counter",
              "members": [
                {
                  "label": "_value",
                  "type": "t_uint256",
                  "offset": 0,
                  "slot": "0"
                }
              ],
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            },
            "t_uint8": {
              "label": "uint8",
              "numberOfBytes": "1"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/PlonkVerifier.sol:PlonkVerifier": {
        "src": "contracts/verifiers/PlonkVerifier.sol:25",
        "version": {
          "withMetadata": "e5ccb22aaf706a53b55a66c8e5c81f313a81d12a9d5c5acd78cc44384948867f",
          "withoutMetadata": "10cae2d8bf290ad34c15a16133a7ad1cad8efb8c2ced322c33159bc5a34f9849",
          "linkedWithoutMetadata": "10cae2d8bf290ad34c15a16133a7ad1cad8efb8c2ced322c33159bc5a34f9849"
        },
        "inherit": [],
        "libraries": [
          "contracts/verifiers/Utils.sol:Utils"
        ],
        "methods": [
          "Verify(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/PlonkVerifierFull.sol:PlonkVerifierFull": {
        "src": "contracts/verifiers/PlonkVerifierFull.sol:23",
        "version": {
          "withMetadata": "d024b6cd4041fda84419543eac24ea68909c967bc0a6f400aaf78facaeb9594e",
          "withoutMetadata": "cdd10e33f5f3ab2ad4caada4e6ac3170cd168545be55cd782a4e5788bf220d8d",
          "linkedWithoutMetadata": "cdd10e33f5f3ab2ad4caada4e6ac3170cd168545be55cd782a4e5788bf220d8d"
        },
        "inherit": [],
        "libraries": [
          "contracts/verifiers/Utils.sol:Utils"
        ],
        "methods": [
          "Verify(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/PlonkVerifierFullLarge.sol:PlonkVerifierFullLarge": {
        "src": "contracts/verifiers/PlonkVerifierFullLarge.sol:23",
        "version": {
          "withMetadata": "b29dd7c8c7f3135624856c48360ad5065bcc8b9a779e18948e03cbfdc296e059",
          "withoutMetadata": "ab2313f040fc8d419f9f79dcc857ba668ada8ea9445d360d7600266daf34b1a0",
          "linkedWithoutMetadata": "ab2313f040fc8d419f9f79dcc857ba668ada8ea9445d360d7600266daf34b1a0"
        },
        "inherit": [],
        "libraries": [
          "contracts/verifiers/Utils.sol:Utils"
        ],
        "methods": [
          "Verify(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/Utils.sol:Utils": {
        "src": "contracts/verifiers/Utils.sol:8",
        "version": {
          "withMetadata": "f0d649de4ec68a5045ce1c701a15f13a85fbadd90e52b09513b3cfb31d25fcd7",
          "withoutMetadata": "b7e10e4cd71cd158d86f17e2e00af5f7b415fdd46d4f8b178747d50129186677",
          "linkedWithoutMetadata": "b7e10e4cd71cd158d86f17e2e00af5f7b415fdd46d4f8b178747d50129186677"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "expand_msg(uint256,uint256)"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/test/TestPlonkVerifier.sol:TestPlonkVerifier": {
        "src": "contracts/verifiers/test/TestPlonkVerifier.sol:23",
        "version": {
          "withMetadata": "62e9bc6da54e684e386e87712612d80b93996c89d017637111003416409295e4",
          "withoutMetadata": "ff1c7341ac84083857b24417192cbf228420ae606476eb16e29a93397e1e735c",
          "linkedWithoutMetadata": "ff1c7341ac84083857b24417192cbf228420ae606476eb16e29a93397e1e735c"
        },
        "inherit": [
          "contracts/verifiers/PlonkVerifier.sol:PlonkVerifier"
        ],
        "libraries": [],
        "methods": [
          "test_verifier_go(bytes,uint256[])",
          "test_verifier()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/test/TestPlonkVerifierFull.sol:TestPlonkVerifierFull": {
        "src": "contracts/verifiers/test/TestPlonkVerifierFull.sol:23",
        "version": {
          "withMetadata": "1cd26ccdc6554c2470ee57346708466c817bd5740c93e4366318a4a544af7088",
          "withoutMetadata": "eb5354836f2addca7ab858a32650fbb5733898b23db9494384e3b7c046e3feb2",
          "linkedWithoutMetadata": "eb5354836f2addca7ab858a32650fbb5733898b23db9494384e3b7c046e3feb2"
        },
        "inherit": [
          "contracts/verifiers/PlonkVerifierFull.sol:PlonkVerifierFull"
        ],
        "libraries": [],
        "methods": [
          "test_verifier()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      },
      "contracts/verifiers/test/TestPlonkVerifierFullLarge.sol:TestPlonkVerifierFullLarge": {
        "src": "contracts/verifiers/test/TestPlonkVerifierFullLarge.sol:23",
        "version": {
          "withMetadata": "32a159d2f3e86cde536e6bca48eaf3fa4b51e2efb4eddace636116b4c7379563",
          "withoutMetadata": "d3ef3e9d770645b1ee22692688efde4e5e1d99c81701980e06cc704ce61b14ce",
          "linkedWithoutMetadata": "d3ef3e9d770645b1ee22692688efde4e5e1d99c81701980e06cc704ce61b14ce"
        },
        "inherit": [
          "contracts/verifiers/PlonkVerifierFullLarge.sol:PlonkVerifierFullLarge"
        ],
        "libraries": [],
        "methods": [
          "test_verifier()"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      }
    }
  ]
}