{
  "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": "5f40c0112290291727b3328e7e5280dd8c5a82dbfd18a1726d25cd23f3636fc0",
          "withoutMetadata": "217c46ff70f3beb64ea855056a83a673a143bf39142b17a6ecd53d14dde64d83",
          "linkedWithoutMetadata": "217c46ff70f3beb64ea855056a83a673a143bf39142b17a6ecd53d14dde64d83"
        },
        "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": "680e1e4cc3e33a9dadbc5b02305ff5397f69735b3df6302fbf145e3a661db067",
          "withoutMetadata": "2b9c6af646ac7dcce39d02bb194af38421550adbaa5fcde7eec263840682f728",
          "linkedWithoutMetadata": "2b9c6af646ac7dcce39d02bb194af38421550adbaa5fcde7eec263840682f728"
        },
        "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)9860",
              "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)9860": {
              "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": "9b354b6ffd09e0ee6ca9d01ad07d60eabe453386f44bc0d75b5a59298462a11f",
          "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": "01bf17e53406963a6c10bf53091efab54472159bf8b06bb6a44af7e531c7fced",
          "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": "92c5002daf88acc26c5ca76bf747827cf28c24112ec9b49b5541cdb4a0edb0f2",
          "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": "a9d58739c7c2ab6c1858bb58f2660757d8ce207bec3fef37c66ba9b7808c5116",
          "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": "87ebb8ba3c8397df566eb6b1fa037a09b17eebf87b64f75532ae86ec9c0deed3",
          "withoutMetadata": "87ebb8ba3c8397df566eb6b1fa037a09b17eebf87b64f75532ae86ec9c0deed3",
          "linkedWithoutMetadata": "87ebb8ba3c8397df566eb6b1fa037a09b17eebf87b64f75532ae86ec9c0deed3"
        },
        "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": "017157832fdbe6e36712e71e933e401d1cb30808dd29fcfcb8dabe4929062827",
          "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": "883859bfdc7de3fdff1075684edd610e72f37f4344dc5cacd44f899d79252ab9",
          "withoutMetadata": "8a62de3c8c421c9c85682f431503e5d2c0537f6c2e6d1a911b2a2f0db8619665",
          "linkedWithoutMetadata": "8a62de3c8c421c9c85682f431503e5d2c0537f6c2e6d1a911b2a2f0db8619665"
        },
        "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": "7f05bfc4f65cdab0bd7aef42185787a923dc8ad1ca352a96e144c120c2e87920",
          "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": "b55c5c0e88a286aff557d27588460147655d3594221c87190b09a9e7554398ce",
          "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": "92fae133bb019e96a9a2433c2fe2803ed7348756441770239fe7730fa4399999",
          "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": "371a36da86166b40d219b45205ad65ad18b8c67e4996255d3246a3773279cfa5",
          "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": "e8ef3f7a136638fb52243e205b8deec29a73149be7144dba42a6a6eaa78bf526",
          "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": "a8af01dc0b2dcfe0aff35cdbe8e8d8896d0f00cc071b105cf7a4587b55c9bae0",
          "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)9860",
              "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)9860": {
              "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": "b70a9d741dfeb8ff12502069f16cf825e27cbcf751dffde6c116d87efeadf8e1",
          "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": "b05c487e2774aca833f7bde6a547857367c968ba285b7b90c551f84161575da5",
          "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": "02d2e5d6aec68122cb12b904cde04be34401245e9f59dcad067b0703f4661d86",
          "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": "e51f6927f5cc176b9ee807e83c69bdc43d9947592670cec47eaeb4c702208d5d",
          "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": "0673edc851a82a74e318690b854fa26ca594fd2c948330b95fd6bf395c315dbf",
          "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": "5ada42ab0bc8a39ded4646919cae573228101f483aea03c5a89e9b6e38294aff",
          "withoutMetadata": "c516b2a3900cf530db9cb713ffd12cad1791796f1ce4c9fb01a49e6ecc397f57",
          "linkedWithoutMetadata": "c516b2a3900cf530db9cb713ffd12cad1791796f1ce4c9fb01a49e6ecc397f57"
        },
        "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": "02e8dd189ae33f9686009ef2e1cc1be80b0eb4f6af37a4e468d61dee8c392555",
          "withoutMetadata": "7c359987a75e94be3195d4b0d7e7ba253e7f828a012ba21825fa49a3345d87f2",
          "linkedWithoutMetadata": "7c359987a75e94be3195d4b0d7e7ba253e7f828a012ba21825fa49a3345d87f2"
        },
        "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:24",
        "version": {
          "withMetadata": "be58edf6be5d7461469b47d0e3ab2a3a9eabf573cec4a8e3bc3a833c5791b9db",
          "withoutMetadata": "90d225e680473e1d8e7b9204a5d95649056fad357b3d9e7f0047cf8084ef6e23",
          "linkedWithoutMetadata": "90d225e680473e1d8e7b9204a5d95649056fad357b3d9e7f0047cf8084ef6e23"
        },
        "inherit": [
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "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,uint256,uint256,address[])",
          "bridgeToken(address,uint256,address)",
          "bridgeTokenWithPermit(address,uint256,address,bytes)",
          "completeBridging(address,uint256,address,uint256,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)9860",
              "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": "_status",
              "offset": 0,
              "slot": "213",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "214",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "tokenBeacon",
              "offset": 0,
              "slot": "263",
              "type": "t_address",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:42"
            },
            {
              "label": "nativeToBridgedToken",
              "offset": 0,
              "slot": "264",
              "type": "t_mapping(t_uint256,t_mapping(t_address,t_address))",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:44"
            },
            {
              "label": "bridgedToNativeToken",
              "offset": 0,
              "slot": "265",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:46"
            },
            {
              "label": "sourceChainId",
              "offset": 0,
              "slot": "266",
              "type": "t_uint256",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:49"
            },
            {
              "label": "targetChainId",
              "offset": 0,
              "slot": "267",
              "type": "t_uint256",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:51"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "268",
              "type": "t_array(t_uint256)50_storage",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:64"
            }
          ],
          "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)9860": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_address)": {
              "label": "mapping(address => address)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_mapping(t_address,t_address))": {
              "label": "mapping(uint256 => 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,uint256,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": "74bd2f542d10a864b37e1cfd311c06f0855734a7c6a436adc313801eb92fe884",
          "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": "bb61f890c2ae17e9db75cfe499d2967de7c6bed794c1dfde742847c44addf37b",
          "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": "05b6d39199a64d2e0f0eb95d7db5bfba329ab6fbe9c57fa855e920fff7246c20",
          "withoutMetadata": "8ed58934caa18a61ab31132e9993d145a4e59187ad61291d72d16c4f941063c2",
          "linkedWithoutMetadata": "8ed58934caa18a61ab31132e9993d145a4e59187ad61291d72d16c4f941063c2"
        },
        "inherit": [
          "contracts/tokenBridge/TokenBridge.sol:TokenBridge",
          "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:ReentrancyGuardUpgradeable",
          "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)9860",
              "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": "_status",
              "offset": 0,
              "slot": "213",
              "type": "t_uint256",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "214",
              "type": "t_array(t_uint256)49_storage",
              "contract": "ReentrancyGuardUpgradeable",
              "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
            },
            {
              "label": "tokenBeacon",
              "offset": 0,
              "slot": "263",
              "type": "t_address",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:42"
            },
            {
              "label": "nativeToBridgedToken",
              "offset": 0,
              "slot": "264",
              "type": "t_mapping(t_uint256,t_mapping(t_address,t_address))",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:44"
            },
            {
              "label": "bridgedToNativeToken",
              "offset": 0,
              "slot": "265",
              "type": "t_mapping(t_address,t_address)",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:46"
            },
            {
              "label": "sourceChainId",
              "offset": 0,
              "slot": "266",
              "type": "t_uint256",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:49"
            },
            {
              "label": "targetChainId",
              "offset": 0,
              "slot": "267",
              "type": "t_uint256",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:51"
            },
            {
              "label": "__gap",
              "offset": 0,
              "slot": "268",
              "type": "t_array(t_uint256)50_storage",
              "contract": "TokenBridge",
              "src": "contracts/tokenBridge/TokenBridge.sol:64"
            }
          ],
          "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)9860": {
              "label": "contract IMessageService",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_address)": {
              "label": "mapping(address => address)",
              "numberOfBytes": "32"
            },
            "t_mapping(t_uint256,t_mapping(t_address,t_address))": {
              "label": "mapping(uint256 => 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/Reentrancy/MaliciousERC777.sol:MaliciousERC777": {
        "src": "contracts/tokenBridge/mocks/Reentrancy/MaliciousERC777.sol:7",
        "version": {
          "withMetadata": "c0312ce4fdd240d5010596f3c4d50bb7ee2cc3387a8ed0780f4d75111f8b5edc",
          "withoutMetadata": "bba9134f46a6de20c619bd9828f3870414fcae3fbb7cb252a1ea222e02b8c29b",
          "linkedWithoutMetadata": "bba9134f46a6de20c619bd9828f3870414fcae3fbb7cb252a1ea222e02b8c29b"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "(address)",
          "mint(address,uint256)",
          "transferFrom(address,address,uint256)",
          "name()",
          "symbol()",
          "decimals()"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "MaliciousERC777",
            "src": "contracts/tokenBridge/mocks/Reentrancy/MaliciousERC777.sol:11"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "balanceOf",
              "offset": 0,
              "slot": "0",
              "type": "t_mapping(t_address,t_uint256)",
              "contract": "MaliciousERC777",
              "src": "contracts/tokenBridge/mocks/Reentrancy/MaliciousERC777.sol:8"
            },
            {
              "label": "reentrancyContract",
              "offset": 0,
              "slot": "1",
              "type": "t_contract(ReentrancyContract)16460",
              "contract": "MaliciousERC777",
              "src": "contracts/tokenBridge/mocks/Reentrancy/MaliciousERC777.sol:9"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_contract(ReentrancyContract)16460": {
              "label": "contract ReentrancyContract",
              "numberOfBytes": "20"
            },
            "t_mapping(t_address,t_uint256)": {
              "label": "mapping(address => uint256)",
              "numberOfBytes": "32"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:ReentrancyContract": {
        "src": "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:6",
        "version": {
          "withMetadata": "91eedce4b38d9f334c02a3b4d59e896aa13f7e991684bccc5c5e0606e6ca7b0b",
          "withoutMetadata": "84dd546aa8fdd8c2769531ba015b00ff050faa30c0b1a770bc4b0ae4f2b735be",
          "linkedWithoutMetadata": "84dd546aa8fdd8c2769531ba015b00ff050faa30c0b1a770bc4b0ae4f2b735be"
        },
        "inherit": [],
        "libraries": [],
        "methods": [
          "(address)",
          "setToken(address)",
          "beforeTokenTransfer()"
        ],
        "linkReferences": [],
        "errors": [
          {
            "kind": "constructor",
            "contract": "ReentrancyContract",
            "src": "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:16"
          }
        ],
        "layout": {
          "storage": [
            {
              "label": "tokenBridge",
              "offset": 0,
              "slot": "0",
              "type": "t_contract(TokenBridge)15288",
              "contract": "ReentrancyContract",
              "src": "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:8"
            },
            {
              "label": "token",
              "offset": 0,
              "slot": "1",
              "type": "t_address",
              "contract": "ReentrancyContract",
              "src": "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:11"
            },
            {
              "label": "counter",
              "offset": 0,
              "slot": "2",
              "type": "t_uint256",
              "contract": "ReentrancyContract",
              "src": "contracts/tokenBridge/mocks/Reentrancy/ReentrancyContract.sol:14"
            }
          ],
          "types": {
            "t_address": {
              "label": "address",
              "numberOfBytes": "20"
            },
            "t_contract(TokenBridge)15288": {
              "label": "contract TokenBridge",
              "numberOfBytes": "20"
            },
            "t_uint256": {
              "label": "uint256",
              "numberOfBytes": "32"
            }
          },
          "layoutVersion": "1.2",
          "flat": true
        },
        "solcVersion": "0.8.19"
      },
      "contracts/tokenBridge/mocks/UpgradedBridgedToken.sol:UpgradedBridgedToken": {
        "src": "contracts/tokenBridge/mocks/UpgradedBridgedToken.sol:6",
        "version": {
          "withMetadata": "8651855b38188af160a7e5c40c1eef3bd2b2caa6350193d5524e34ebe0bed9dd",
          "withoutMetadata": "30aad86dcc5590f8b1aeca534c3e59b6e77d5d894a19f119d9f9e5bace97e44e",
          "linkedWithoutMetadata": "30aad86dcc5590f8b1aeca534c3e59b6e77d5d894a19f119d9f9e5bace97e44e"
        },
        "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": "322333ce54efb4a5106a7a404ceb121dce0f5eb37ea9a6e25a098aa66d9ffe51",
          "withoutMetadata": "e5fc8892d0957998791e3a2d6dcf8dc4f10b98ff14b482fa86db5e3d8dba3c43",
          "linkedWithoutMetadata": "e5fc8892d0957998791e3a2d6dcf8dc4f10b98ff14b482fa86db5e3d8dba3c43"
        },
        "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:21",
        "version": {
          "withMetadata": "1ff22b9446e386584ab417cb2af8997bce0bdae235fe7a36c1c410fc45601964",
          "withoutMetadata": "f90a1fea19e13162e57edca0c3a9d8c74ee13828eac41d9405c4a86b9563f950",
          "linkedWithoutMetadata": "f90a1fea19e13162e57edca0c3a9d8c74ee13828eac41d9405c4a86b9563f950"
        },
        "inherit": [],
        "libraries": [],
        "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:21",
        "version": {
          "withMetadata": "3153850ce33c3f2a4982eee53be2817a938e39f8da701d9420d75a25ea49c614",
          "withoutMetadata": "15026ae4ea9cfc4967fcdf469d9922c1512bab80c24e3c947f745aed6d947f24",
          "linkedWithoutMetadata": "15026ae4ea9cfc4967fcdf469d9922c1512bab80c24e3c947f745aed6d947f24"
        },
        "inherit": [],
        "libraries": [],
        "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:21",
        "version": {
          "withMetadata": "1a1366528a4c30d5dc56e4be0d5a0ee061d321e5d4a7b95dfd79d6ef5fcaa212",
          "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db",
          "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db"
        },
        "inherit": [],
        "libraries": [],
        "methods": [],
        "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": "c615d9afdbd740ad4ea3e8165e4107dfa1f3bf5828e52418d9c5e70bb76b43d3",
          "withoutMetadata": "7c9cc25d79c944820bde506e463c124ec94d85be02b2e4fcfead5fccbee87eab",
          "linkedWithoutMetadata": "7c9cc25d79c944820bde506e463c124ec94d85be02b2e4fcfead5fccbee87eab"
        },
        "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": "4e6bcb205a653c04139e300dd1c2cf4cbd08b4667d819dbff8902c1732295e57",
          "withoutMetadata": "a19a91120b1d1843203bc341f710dfad2482c4c7d7688c8e280f244f4654d1ea",
          "linkedWithoutMetadata": "a19a91120b1d1843203bc341f710dfad2482c4c7d7688c8e280f244f4654d1ea"
        },
        "inherit": [
          "contracts/verifiers/PlonkVerifierFull.sol:PlonkVerifierFull"
        ],
        "libraries": [],
        "methods": [
          "testVerifier(bytes,uint256[])"
        ],
        "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": "82132a9ecb504ed110900653a56ae42e2a7408a113d2b1d0b6d13e4fdf58f014",
          "withoutMetadata": "288b783e550a893e2e67be73bfc512333576887f825518c961786130a53dbba6",
          "linkedWithoutMetadata": "288b783e550a893e2e67be73bfc512333576887f825518c961786130a53dbba6"
        },
        "inherit": [
          "contracts/verifiers/PlonkVerifierFullLarge.sol:PlonkVerifierFullLarge"
        ],
        "libraries": [],
        "methods": [
          "testVerifier(bytes,uint256[])"
        ],
        "linkReferences": [],
        "errors": [],
        "layout": {
          "storage": [],
          "types": {},
          "layoutVersion": "1.2",
          "flat": false
        },
        "solcVersion": "0.8.19"
      }
    }
  ]
}