{
  "manifestVersion": "3.2",
  "admin": {
    "address": "0x0833f5bD45803E05ef54E119a77E463cE6b1a963",
    "txHash": "0xb2abb27553a12890d0050309ed601bc0d38e28f2492b9df55a82f74bc5f1b0a9",
    "deployTransaction": {
      "hash": "0xb2abb27553a12890d0050309ed601bc0d38e28f2492b9df55a82f74bc5f1b0a9",
      "type": 0,
      "accessList": null,
      "blockHash": null,
      "blockNumber": null,
      "transactionIndex": null,
      "confirmations": 0,
      "from": "0x59d07dc34B135B17b87840a86BFF7302039E7EDf",
      "gasPrice": {
        "type": "BigNumber",
        "hex": "0x0cce416600"
      },
      "gasLimit": {
        "type": "BigNumber",
        "hex": "0x0762b4"
      },
      "to": null,
      "value": {
        "type": "BigNumber",
        "hex": "0x00"
      },
      "nonce": 3,
      "data": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610759806100616000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead146101645761007b565b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610515565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee366004610554565b610292565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f36600461058c565b61031c565b34801561013057600080fd5b506100d161013f366004610554565b6103ad565b34801561015057600080fd5b506100d161015f366004610515565b610405565b34801561017057600080fd5b506100a061017f366004610515565b6104ef565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d9190610538565b949350505050565b6000546001600160a01b031633146102485760405162461bcd60e51b815260040161023f906106c0565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146102bc5760405162461bcd60e51b815260040161023f906106c0565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561030057600080fd5b505af1158015610314573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146103465760405162461bcd60e51b815260040161023f906106c0565b60405163278f794360e11b81526001600160a01b03841690634f1ef286903490610376908690869060040161065d565b6000604051808303818588803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146103d75760405162461bcd60e51b815260040161023f906106c0565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe6906024016102e6565b6000546001600160a01b0316331461042f5760405162461bcd60e51b815260040161023f906106c0565b6001600160a01b0381166104945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b600060208284031215610526578081fd5b81356105318161070b565b9392505050565b600060208284031215610549578081fd5b81516105318161070b565b60008060408385031215610566578081fd5b82356105718161070b565b915060208301356105818161070b565b809150509250929050565b6000806000606084860312156105a0578081fd5b83356105ab8161070b565b925060208401356105bb8161070b565b9150604084013567ffffffffffffffff808211156105d7578283fd5b818601915086601f8301126105ea578283fd5b8135818111156105fc576105fc6106f5565b604051601f8201601f19908116603f01168101908382118183101715610624576106246106f5565b8160405282815289602084870101111561063c578586fd5b82602086016020830137856020848301015280955050505050509250925092565b600060018060a01b038416825260206040818401528351806040850152825b818110156106985785810183015185820160600152820161067c565b818111156106a95783606083870101525b50601f01601f191692909201606001949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461072057600080fd5b5056fea2646970667358221220d849f96f3086b9f82cdcf665adb8c697ace05638da1c7c16ab2d26293717af6764736f6c63430008020033",
      "r": "0x74067d84cc2cc54d37624f81540f1a069b2275a65f865b79edb5579774f873b1",
      "s": "0x24e26aecc498922bad6c8b2f8eaf7b6ad22fe28f72dc25c2998962f9e047a5a8",
      "v": 37,
      "creates": "0x0833f5bD45803E05ef54E119a77E463cE6b1a963",
      "chainId": 1
    }
  },
  "proxies": [
    {
      "address": "0x0a6C933495a7BB768d95f4667B074Dd5b95b78eB",
      "txHash": "0xe69ad5d7a4cdba2c876e5b699fe79196e5c8bee1813997e7efd8074edc8d53bb",
      "kind": "transparent"
    },
    {
      "address": "0x797C1369e578172112526dfcD0D5f9182067c928",
      "txHash": "0x742f320054a55bc6d6d702fdfa724cf216bbe32e203cbe6229333da51155fc1c",
      "kind": "transparent"
    },
    {
      "address": "0x60a91E2B7A1568f0848f3D43353C453730082E46",
      "txHash": "0xaf3e065cfe1d8180b43ca4945795dc1f5db586320711f118fc94ce651c03c6bb",
      "kind": "transparent"
    },
    {
      "address": "0x9ee91F9f426fA633d227f7a9b000E28b9dfd8599",
      "txHash": "0xd213209797a611d4d4c27dcdf64cf44ae10921567e9dcf87c2d8eb73e1287eb3",
      "kind": "transparent"
    }
  ],
  "impls": {
    "e75320a683a7f62e7a8d3228d48d0d1435c33eb3e98b382816b61d65071337a1": {
      "address": "0xb312f9EFF3a9643f818F75cc8B194b03E2a743eE",
      "txHash": "0x3ebbe7576c210c50063c0d7f21066089f1271496f6136335035cc0b01acd0826",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "_owner",
            "type": "t_address",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:82"
          },
          {
            "contract": "ValidatorFactory",
            "label": "validators",
            "type": "t_array(t_address)dyn_storage",
            "src": "contracts/ValidatorFactory.sol:17"
          },
          {
            "contract": "ValidatorFactory",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/ValidatorFactory.sol:19"
          },
          {
            "contract": "ValidatorFactory",
            "label": "operatorRegistry",
            "type": "t_address",
            "src": "contracts/ValidatorFactory.sol:21"
          },
          {
            "contract": "ValidatorFactory",
            "label": "validatorImplementation",
            "type": "t_address",
            "src": "contracts/ValidatorFactory.sol:23"
          }
        ],
        "types": {
          "t_array(t_address)dyn_storage": {
            "label": "address[]"
          },
          "t_address": {
            "label": "address"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_bool": {
            "label": "bool"
          }
        }
      }
    },
    "0d057f7e9b19114e2a6797a74c631ce85a947106b17142b310189252e3d18095": {
      "address": "0xc4A403f2D4AFCc341fb4d7a309A7530FD57Fff56",
      "txHash": "0xd9c10127987621fb3e162c01e657a81dfc84ac6d571688f83bb4026435a8431d",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "_roles",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)43_storage)",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:64"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:232"
          },
          {
            "contract": "ReentrancyGuardUpgradeable",
            "label": "_status",
            "type": "t_uint256",
            "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
          },
          {
            "contract": "ReentrancyGuardUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:68"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/NodeOperatorRegistry.sol:64"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "totalNodeOperators",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:66"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "validatorFactory",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:69"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "stakeManager",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:71"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "polygonERC20",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:73"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "stMATIC",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:75"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "nodeOperatorCounter",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:78"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "minAmountStake",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:81"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "minHeimdallFees",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:84"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "commissionRate",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:87"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "allowsRestake",
            "type": "t_bool",
            "src": "contracts/NodeOperatorRegistry.sol:90"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "defaultMaxDelegateLimit",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:93"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operatorIds",
            "type": "t_array(t_uint256)dyn_storage",
            "src": "contracts/NodeOperatorRegistry.sol:96"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operatorOwners",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "contracts/NodeOperatorRegistry.sol:100"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operators",
            "type": "t_mapping(t_uint256,t_struct(NodeOperator)4862_storage)",
            "src": "contracts/NodeOperatorRegistry.sol:104"
          }
        ],
        "types": {
          "t_string_storage": {
            "label": "string"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_address": {
            "label": "address"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_array(t_uint256)dyn_storage": {
            "label": "uint256[]"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_uint256,t_struct(NodeOperator)4862_storage)": {
            "label": "mapping(uint256 => struct NodeOperatorRegistry.NodeOperator)"
          },
          "t_struct(NodeOperator)4862_storage": {
            "label": "struct NodeOperatorRegistry.NodeOperator",
            "members": [
              {
                "label": "status",
                "type": "t_enum(NodeOperatorStatus)4842"
              },
              {
                "label": "name",
                "type": "t_string_storage"
              },
              {
                "label": "rewardAddress",
                "type": "t_address"
              },
              {
                "label": "signerPubkey",
                "type": "t_bytes_storage"
              },
              {
                "label": "validatorShare",
                "type": "t_address"
              },
              {
                "label": "validatorProxy",
                "type": "t_address"
              },
              {
                "label": "validatorId",
                "type": "t_uint256"
              },
              {
                "label": "commissionRate",
                "type": "t_uint256"
              },
              {
                "label": "maxDelegateLimit",
                "type": "t_uint256"
              }
            ]
          },
          "t_enum(NodeOperatorStatus)4842": {
            "label": "enum NodeOperatorRegistry.NodeOperatorStatus",
            "members": [
              "INACTIVE",
              "ACTIVE",
              "STOPPED",
              "UNSTAKED",
              "CLAIMED",
              "EXIT",
              "JAILED",
              "EJECTED"
            ]
          },
          "t_bytes_storage": {
            "label": "bytes"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)43_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)43_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          }
        }
      }
    },
    "207e3e7b5e6217407c62f5e24e39c9c1ea696ac59df5b2d76c9d98b3daed56b8": {
      "address": "0xB6eEa35870418e764CC53f9E61D91bc7d08fFD46",
      "txHash": "0xd6e60f281b25d0cfe7ed007ccfdae9601720f3134c94542270195c3f79002d0a",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "_owner",
            "type": "t_address",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:82"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_name",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_symbol",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_owners",
            "type": "t_mapping(t_uint256,t_address)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_balances",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_tokenApprovals",
            "type": "t_mapping(t_uint256,t_address)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_operatorApprovals",
            "type": "t_mapping(t_address,t_mapping(t_address,t_bool))",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)44_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:431"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "ERC721PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol:43"
          },
          {
            "contract": "PoLidoNFT",
            "label": "stMATIC",
            "type": "t_address",
            "src": "contracts/PoLidoNFT.sol:17"
          },
          {
            "contract": "PoLidoNFT",
            "label": "tokenIdIndex",
            "type": "t_uint256",
            "src": "contracts/PoLidoNFT.sol:18"
          },
          {
            "contract": "PoLidoNFT",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/PoLidoNFT.sol:19"
          },
          {
            "contract": "PoLidoNFT",
            "label": "owner2Tokens",
            "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)",
            "src": "contracts/PoLidoNFT.sol:22"
          },
          {
            "contract": "PoLidoNFT",
            "label": "token2Index",
            "type": "t_mapping(t_uint256,t_uint256)",
            "src": "contracts/PoLidoNFT.sol:25"
          },
          {
            "contract": "PoLidoNFT",
            "label": "address2Approved",
            "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)",
            "src": "contracts/PoLidoNFT.sol:28"
          },
          {
            "contract": "PoLidoNFT",
            "label": "tokenId2ApprovedIndex",
            "type": "t_mapping(t_uint256,t_uint256)",
            "src": "contracts/PoLidoNFT.sol:31"
          }
        ],
        "types": {
          "t_address": {
            "label": "address"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_mapping(t_address,t_array(t_uint256)dyn_storage)": {
            "label": "mapping(address => uint256[])"
          },
          "t_array(t_uint256)dyn_storage": {
            "label": "uint256[]"
          },
          "t_mapping(t_uint256,t_uint256)": {
            "label": "mapping(uint256 => uint256)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_uint256,t_address)": {
            "label": "mapping(uint256 => address)"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_address,t_mapping(t_address,t_bool))": {
            "label": "mapping(address => mapping(address => bool))"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)44_storage": {
            "label": "uint256[44]"
          }
        }
      }
    },
    "fc971de4496c37ca2c6678c81cd5e9d219022f38f3f69665bb1c3f9de781a09e": {
      "address": "0x81Ab7ce375FD184E93245b742FaE00b4DEde9Ca6",
      "txHash": "0x7d1aae1d4ad48b01972e2a1e349b9fae55c95fcaaf68988b69c53f825abd1ef7",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_balances",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:37"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_allowances",
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:39"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_totalSupply",
            "type": "t_uint256",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:41"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_name",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:43"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_symbol",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)45_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:362"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "_roles",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)43_storage)",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:64"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:232"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "StMATIC",
            "label": "nodeOperatorRegistry",
            "type": "t_contract(INodeOperatorRegistry)11116",
            "src": "contracts/StMATIC.sol:44"
          },
          {
            "contract": "StMATIC",
            "label": "entityFees",
            "type": "t_struct(FeeDistribution)11177_storage",
            "src": "contracts/StMATIC.sol:45"
          },
          {
            "contract": "StMATIC",
            "label": "stakeManager",
            "type": "t_contract(IStakeManager)11646",
            "src": "contracts/StMATIC.sol:46"
          },
          {
            "contract": "StMATIC",
            "label": "poLidoNFT",
            "type": "t_contract(IPoLidoNFT)11149",
            "src": "contracts/StMATIC.sol:47"
          },
          {
            "contract": "StMATIC",
            "label": "fxStateRootTunnel",
            "type": "t_contract(IFxStateRootTunnel)10892",
            "src": "contracts/StMATIC.sol:48"
          },
          {
            "contract": "StMATIC",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/StMATIC.sol:50"
          },
          {
            "contract": "StMATIC",
            "label": "dao",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:51"
          },
          {
            "contract": "StMATIC",
            "label": "insurance",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:52"
          },
          {
            "contract": "StMATIC",
            "label": "token",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:53"
          },
          {
            "contract": "StMATIC",
            "label": "lastWithdrawnValidatorId",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:54"
          },
          {
            "contract": "StMATIC",
            "label": "totalBuffered",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:55"
          },
          {
            "contract": "StMATIC",
            "label": "delegationLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:56"
          },
          {
            "contract": "StMATIC",
            "label": "rewardDistributionLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:57"
          },
          {
            "contract": "StMATIC",
            "label": "reservedFunds",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:58"
          },
          {
            "contract": "StMATIC",
            "label": "submitThreshold",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:59"
          },
          {
            "contract": "StMATIC",
            "label": "submitHandler",
            "type": "t_bool",
            "src": "contracts/StMATIC.sol:61"
          },
          {
            "contract": "StMATIC",
            "label": "token2WithdrawRequest",
            "type": "t_mapping(t_uint256,t_struct(RequestWithdraw)11170_storage)",
            "src": "contracts/StMATIC.sol:63"
          }
        ],
        "types": {
          "t_contract(INodeOperatorRegistry)11116": {
            "label": "contract INodeOperatorRegistry"
          },
          "t_struct(FeeDistribution)11177_storage": {
            "label": "struct IStMATIC.FeeDistribution",
            "members": [
              {
                "label": "dao",
                "type": "t_uint8"
              },
              {
                "label": "operators",
                "type": "t_uint8"
              },
              {
                "label": "insurance",
                "type": "t_uint8"
              }
            ]
          },
          "t_uint8": {
            "label": "uint8"
          },
          "t_contract(IStakeManager)11646": {
            "label": "contract IStakeManager"
          },
          "t_contract(IPoLidoNFT)11149": {
            "label": "contract IPoLidoNFT"
          },
          "t_contract(IFxStateRootTunnel)10892": {
            "label": "contract IFxStateRootTunnel"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_address": {
            "label": "address"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_mapping(t_uint256,t_struct(RequestWithdraw)11170_storage)": {
            "label": "mapping(uint256 => struct IStMATIC.RequestWithdraw)"
          },
          "t_struct(RequestWithdraw)11170_storage": {
            "label": "struct IStMATIC.RequestWithdraw",
            "members": [
              {
                "label": "amount2WithdrawFromStMATIC",
                "type": "t_uint256"
              },
              {
                "label": "validatorNonce",
                "type": "t_uint256"
              },
              {
                "label": "requestEpoch",
                "type": "t_uint256"
              },
              {
                "label": "validatorAddress",
                "type": "t_address"
              }
            ]
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)43_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)43_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
            "label": "mapping(address => mapping(address => uint256))"
          },
          "t_array(t_uint256)45_storage": {
            "label": "uint256[45]"
          }
        }
      }
    },
    "f9c7f713a37aec1a1eed50dfb5338ab79dfc2b54028e956f3d28ebdb4698d707": {
      "address": "0x647fA31bEc9114D4C1a37750C5e0e83FCA0AbFC0",
      "txHash": "0x55c6e834c877cfd9a57ed1886036ee136e93942e3c4454b41e7148d72f8f42c4",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "_roles",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)43_storage)",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:64"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:232"
          },
          {
            "contract": "ReentrancyGuardUpgradeable",
            "label": "_status",
            "type": "t_uint256",
            "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
          },
          {
            "contract": "ReentrancyGuardUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:68"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/NodeOperatorRegistry.sol:64"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "totalNodeOperators",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:66"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "validatorFactory",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:69"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "stakeManager",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:71"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "polygonERC20",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:73"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "stMATIC",
            "type": "t_address",
            "src": "contracts/NodeOperatorRegistry.sol:75"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "nodeOperatorCounter",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:78"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "minAmountStake",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:81"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "minHeimdallFees",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:84"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "commissionRate",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:87"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "allowsRestake",
            "type": "t_bool",
            "src": "contracts/NodeOperatorRegistry.sol:90"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "defaultMaxDelegateLimit",
            "type": "t_uint256",
            "src": "contracts/NodeOperatorRegistry.sol:93"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operatorIds",
            "type": "t_array(t_uint256)dyn_storage",
            "src": "contracts/NodeOperatorRegistry.sol:96"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operatorOwners",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "contracts/NodeOperatorRegistry.sol:100"
          },
          {
            "contract": "NodeOperatorRegistry",
            "label": "operators",
            "type": "t_mapping(t_uint256,t_struct(NodeOperator)4862_storage)",
            "src": "contracts/NodeOperatorRegistry.sol:104"
          }
        ],
        "types": {
          "t_string_storage": {
            "label": "string"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_address": {
            "label": "address"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_array(t_uint256)dyn_storage": {
            "label": "uint256[]"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_uint256,t_struct(NodeOperator)4862_storage)": {
            "label": "mapping(uint256 => struct NodeOperatorRegistry.NodeOperator)"
          },
          "t_struct(NodeOperator)4862_storage": {
            "label": "struct NodeOperatorRegistry.NodeOperator",
            "members": [
              {
                "label": "status",
                "type": "t_enum(NodeOperatorStatus)4842"
              },
              {
                "label": "name",
                "type": "t_string_storage"
              },
              {
                "label": "rewardAddress",
                "type": "t_address"
              },
              {
                "label": "signerPubkey",
                "type": "t_bytes_storage"
              },
              {
                "label": "validatorShare",
                "type": "t_address"
              },
              {
                "label": "validatorProxy",
                "type": "t_address"
              },
              {
                "label": "validatorId",
                "type": "t_uint256"
              },
              {
                "label": "commissionRate",
                "type": "t_uint256"
              },
              {
                "label": "maxDelegateLimit",
                "type": "t_uint256"
              }
            ]
          },
          "t_enum(NodeOperatorStatus)4842": {
            "label": "enum NodeOperatorRegistry.NodeOperatorStatus",
            "members": [
              "INACTIVE",
              "ACTIVE",
              "STOPPED",
              "UNSTAKED",
              "CLAIMED",
              "EXIT",
              "JAILED",
              "EJECTED"
            ]
          },
          "t_bytes_storage": {
            "label": "bytes"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)43_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)43_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          }
        }
      }
    },
    "8ac780dd9c1401f69cefeb11ef490e674b8ff0a87a7678899eab428475870b25": {
      "address": "0xBf5bB7D5b728B89AAc720F209e46d54689B551DA",
      "txHash": "0x797b21c8d2325275b41a1087567f212802d7cc89e61b38ffcaae1800f244e394",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_balances",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:37"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_allowances",
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:39"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_totalSupply",
            "type": "t_uint256",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:41"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_name",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:43"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_symbol",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)45_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:362"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "_roles",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)43_storage)",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:64"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:232"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "StMATIC",
            "label": "nodeOperatorRegistry",
            "type": "t_contract(INodeOperatorRegistry)11117",
            "src": "contracts/StMATIC.sol:44"
          },
          {
            "contract": "StMATIC",
            "label": "entityFees",
            "type": "t_struct(FeeDistribution)11178_storage",
            "src": "contracts/StMATIC.sol:45"
          },
          {
            "contract": "StMATIC",
            "label": "stakeManager",
            "type": "t_contract(IStakeManager)11647",
            "src": "contracts/StMATIC.sol:46"
          },
          {
            "contract": "StMATIC",
            "label": "poLidoNFT",
            "type": "t_contract(IPoLidoNFT)11150",
            "src": "contracts/StMATIC.sol:47"
          },
          {
            "contract": "StMATIC",
            "label": "fxStateRootTunnel",
            "type": "t_contract(IFxStateRootTunnel)10893",
            "src": "contracts/StMATIC.sol:48"
          },
          {
            "contract": "StMATIC",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/StMATIC.sol:50"
          },
          {
            "contract": "StMATIC",
            "label": "dao",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:51"
          },
          {
            "contract": "StMATIC",
            "label": "insurance",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:52"
          },
          {
            "contract": "StMATIC",
            "label": "token",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:53"
          },
          {
            "contract": "StMATIC",
            "label": "lastWithdrawnValidatorId",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:54"
          },
          {
            "contract": "StMATIC",
            "label": "totalBuffered",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:55"
          },
          {
            "contract": "StMATIC",
            "label": "delegationLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:56"
          },
          {
            "contract": "StMATIC",
            "label": "rewardDistributionLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:57"
          },
          {
            "contract": "StMATIC",
            "label": "reservedFunds",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:58"
          },
          {
            "contract": "StMATIC",
            "label": "submitThreshold",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:59"
          },
          {
            "contract": "StMATIC",
            "label": "submitHandler",
            "type": "t_bool",
            "src": "contracts/StMATIC.sol:61"
          },
          {
            "contract": "StMATIC",
            "label": "token2WithdrawRequest",
            "type": "t_mapping(t_uint256,t_struct(RequestWithdraw)11171_storage)",
            "src": "contracts/StMATIC.sol:63"
          }
        ],
        "types": {
          "t_contract(INodeOperatorRegistry)11117": {
            "label": "contract INodeOperatorRegistry"
          },
          "t_struct(FeeDistribution)11178_storage": {
            "label": "struct IStMATIC.FeeDistribution",
            "members": [
              {
                "label": "dao",
                "type": "t_uint8"
              },
              {
                "label": "operators",
                "type": "t_uint8"
              },
              {
                "label": "insurance",
                "type": "t_uint8"
              }
            ]
          },
          "t_uint8": {
            "label": "uint8"
          },
          "t_contract(IStakeManager)11647": {
            "label": "contract IStakeManager"
          },
          "t_contract(IPoLidoNFT)11150": {
            "label": "contract IPoLidoNFT"
          },
          "t_contract(IFxStateRootTunnel)10893": {
            "label": "contract IFxStateRootTunnel"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_address": {
            "label": "address"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_mapping(t_uint256,t_struct(RequestWithdraw)11171_storage)": {
            "label": "mapping(uint256 => struct IStMATIC.RequestWithdraw)"
          },
          "t_struct(RequestWithdraw)11171_storage": {
            "label": "struct IStMATIC.RequestWithdraw",
            "members": [
              {
                "label": "amount2WithdrawFromStMATIC",
                "type": "t_uint256"
              },
              {
                "label": "validatorNonce",
                "type": "t_uint256"
              },
              {
                "label": "requestEpoch",
                "type": "t_uint256"
              },
              {
                "label": "validatorAddress",
                "type": "t_address"
              }
            ]
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)43_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)43_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
            "label": "mapping(address => mapping(address => uint256))"
          },
          "t_array(t_uint256)45_storage": {
            "label": "uint256[45]"
          }
        }
      }
    },
    "4d13b355a1215c32c04b88d47300d860e3d12d7ba1a7e4e92835b33aca5c7a1e": {
      "address": "0x3E3aF10763C8cd302ba446Ec877D57d01556F8Da",
      "txHash": "0x0f274f27c927c581aa625e2e92678ad206196c7c1b7753ef59c1086ca96770df",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "_owner",
            "type": "t_address",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
          },
          {
            "contract": "OwnableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:82"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_name",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_symbol",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_owners",
            "type": "t_mapping(t_uint256,t_address)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_balances",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_tokenApprovals",
            "type": "t_mapping(t_uint256,t_address)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "_operatorApprovals",
            "type": "t_mapping(t_address,t_mapping(t_address,t_bool))",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40"
          },
          {
            "contract": "ERC721Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)44_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:431"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "ERC721PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol:43"
          },
          {
            "contract": "PoLidoNFT",
            "label": "stMATIC",
            "type": "t_address",
            "src": "contracts/PoLidoNFT.sol:17"
          },
          {
            "contract": "PoLidoNFT",
            "label": "tokenIdIndex",
            "type": "t_uint256",
            "src": "contracts/PoLidoNFT.sol:18"
          },
          {
            "contract": "PoLidoNFT",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/PoLidoNFT.sol:19"
          },
          {
            "contract": "PoLidoNFT",
            "label": "owner2Tokens",
            "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)",
            "src": "contracts/PoLidoNFT.sol:22"
          },
          {
            "contract": "PoLidoNFT",
            "label": "token2Index",
            "type": "t_mapping(t_uint256,t_uint256)",
            "src": "contracts/PoLidoNFT.sol:25"
          },
          {
            "contract": "PoLidoNFT",
            "label": "address2Approved",
            "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)",
            "src": "contracts/PoLidoNFT.sol:28"
          },
          {
            "contract": "PoLidoNFT",
            "label": "tokenId2ApprovedIndex",
            "type": "t_mapping(t_uint256,t_uint256)",
            "src": "contracts/PoLidoNFT.sol:31"
          }
        ],
        "types": {
          "t_address": {
            "label": "address"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_mapping(t_address,t_array(t_uint256)dyn_storage)": {
            "label": "mapping(address => uint256[])"
          },
          "t_array(t_uint256)dyn_storage": {
            "label": "uint256[]"
          },
          "t_mapping(t_uint256,t_uint256)": {
            "label": "mapping(uint256 => uint256)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_uint256,t_address)": {
            "label": "mapping(uint256 => address)"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_address,t_mapping(t_address,t_bool))": {
            "label": "mapping(address => mapping(address => bool))"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)44_storage": {
            "label": "uint256[44]"
          }
        }
      }
    },
    "f3d6d4b0058a2c85ed8eab4aa58413bc43bf0404ab2f2f1d34ffc1a08b2bb758": {
      "address": "0x9c1563937145865308C8854e82f106775bE28a05",
      "txHash": "0x7156a575424e5000d452bbea2f1140a236bab6c225768441d6f862a83524c968",
      "layout": {
        "storage": [
          {
            "contract": "Initializable",
            "label": "_initialized",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:39"
          },
          {
            "contract": "Initializable",
            "label": "_initializing",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:44"
          },
          {
            "contract": "ContextUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:31"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_balances",
            "type": "t_mapping(t_address,t_uint256)",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:37"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_allowances",
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:39"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_totalSupply",
            "type": "t_uint256",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:41"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_name",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:43"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "_symbol",
            "type": "t_string_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44"
          },
          {
            "contract": "ERC20Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)45_storage",
            "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:362"
          },
          {
            "contract": "ERC165Upgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)50_storage",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:36"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "_roles",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)43_storage)",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:64"
          },
          {
            "contract": "AccessControlUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:232"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "_paused",
            "type": "t_bool",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "contract": "PausableUpgradeable",
            "label": "__gap",
            "type": "t_array(t_uint256)49_storage",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:97"
          },
          {
            "contract": "StMATIC",
            "label": "nodeOperatorRegistry",
            "type": "t_contract(INodeOperatorRegistry)11291",
            "src": "contracts/StMATIC.sol:49"
          },
          {
            "contract": "StMATIC",
            "label": "entityFees",
            "type": "t_struct(FeeDistribution)11360_storage",
            "src": "contracts/StMATIC.sol:50"
          },
          {
            "contract": "StMATIC",
            "label": "stakeManager",
            "type": "t_contract(IStakeManager)11829",
            "src": "contracts/StMATIC.sol:51"
          },
          {
            "contract": "StMATIC",
            "label": "poLidoNFT",
            "type": "t_contract(IPoLidoNFT)11332",
            "src": "contracts/StMATIC.sol:52"
          },
          {
            "contract": "StMATIC",
            "label": "fxStateRootTunnel",
            "type": "t_contract(IFxStateRootTunnel)11067",
            "src": "contracts/StMATIC.sol:53"
          },
          {
            "contract": "StMATIC",
            "label": "version",
            "type": "t_string_storage",
            "src": "contracts/StMATIC.sol:55"
          },
          {
            "contract": "StMATIC",
            "label": "dao",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:56"
          },
          {
            "contract": "StMATIC",
            "label": "insurance",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:57"
          },
          {
            "contract": "StMATIC",
            "label": "token",
            "type": "t_address",
            "src": "contracts/StMATIC.sol:58"
          },
          {
            "contract": "StMATIC",
            "label": "lastWithdrawnValidatorId",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:59"
          },
          {
            "contract": "StMATIC",
            "label": "totalBuffered",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:60"
          },
          {
            "contract": "StMATIC",
            "label": "delegationLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:61"
          },
          {
            "contract": "StMATIC",
            "label": "rewardDistributionLowerBound",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:62"
          },
          {
            "contract": "StMATIC",
            "label": "reservedFunds",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:63"
          },
          {
            "contract": "StMATIC",
            "label": "submitThreshold",
            "type": "t_uint256",
            "src": "contracts/StMATIC.sol:64"
          },
          {
            "contract": "StMATIC",
            "label": "submitHandler",
            "type": "t_bool",
            "src": "contracts/StMATIC.sol:66"
          },
          {
            "contract": "StMATIC",
            "label": "token2WithdrawRequest",
            "type": "t_mapping(t_uint256,t_struct(RequestWithdraw)11353_storage)",
            "src": "contracts/StMATIC.sol:68"
          },
          {
            "contract": "StMATIC",
            "label": "stMaticWithdrawRequest",
            "type": "t_array(t_struct(RequestWithdraw)11353_storage)dyn_storage",
            "src": "contracts/StMATIC.sol:72"
          }
        ],
        "types": {
          "t_contract(INodeOperatorRegistry)11291": {
            "label": "contract INodeOperatorRegistry"
          },
          "t_struct(FeeDistribution)11360_storage": {
            "label": "struct IStMATIC.FeeDistribution",
            "members": [
              {
                "label": "dao",
                "type": "t_uint8"
              },
              {
                "label": "operators",
                "type": "t_uint8"
              },
              {
                "label": "insurance",
                "type": "t_uint8"
              }
            ]
          },
          "t_uint8": {
            "label": "uint8"
          },
          "t_contract(IStakeManager)11829": {
            "label": "contract IStakeManager"
          },
          "t_contract(IPoLidoNFT)11332": {
            "label": "contract IPoLidoNFT"
          },
          "t_contract(IFxStateRootTunnel)11067": {
            "label": "contract IFxStateRootTunnel"
          },
          "t_string_storage": {
            "label": "string"
          },
          "t_address": {
            "label": "address"
          },
          "t_uint256": {
            "label": "uint256"
          },
          "t_bool": {
            "label": "bool"
          },
          "t_mapping(t_uint256,t_struct(RequestWithdraw)11353_storage)": {
            "label": "mapping(uint256 => struct IStMATIC.RequestWithdraw)"
          },
          "t_struct(RequestWithdraw)11353_storage": {
            "label": "struct IStMATIC.RequestWithdraw",
            "members": [
              {
                "label": "amount2WithdrawFromStMATIC",
                "type": "t_uint256"
              },
              {
                "label": "validatorNonce",
                "type": "t_uint256"
              },
              {
                "label": "requestEpoch",
                "type": "t_uint256"
              },
              {
                "label": "validatorAddress",
                "type": "t_address"
              }
            ]
          },
          "t_array(t_struct(RequestWithdraw)11353_storage)dyn_storage": {
            "label": "struct IStMATIC.RequestWithdraw[]"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)43_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"
          },
          "t_bytes32": {
            "label": "bytes32"
          },
          "t_struct(RoleData)43_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32"
              }
            ]
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)"
          },
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
            "label": "mapping(address => mapping(address => uint256))"
          },
          "t_array(t_uint256)45_storage": {
            "label": "uint256[45]"
          }
        }
      }
    }
  }
}
