# Snapshot report for `src/storage.test.ts`

The actual snapshot is saved in `storage.test.ts.snap`.

Generated by [AVA](https://avajs.dev).

## Storage1

> Snapshot 1

    {
      namespaces: [],
      storage: [
        {
          contract: 'Storage1',
          label: 'u1',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '0',
          src: 'file.sol:1',
          type: 't_uint256',
        },
        {
          contract: 'Storage1',
          label: 'a1',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '1',
          src: 'file.sol:1',
          type: 't_address',
        },
        {
          contract: 'Storage1',
          label: 'm1',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '2',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_uint256)',
        },
        {
          contract: 'Storage1',
          label: 'us1',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '3',
          src: 'file.sol:1',
          type: 't_array(t_uint256)3_storage',
        },
      ],
      types: [
        [
          't_address',
          {
            label: 'address',
            members: undefined,
            numberOfBytes: '20',
          },
        ],
        [
          't_array(t_uint256)3_storage',
          {
            label: 'uint256[3]',
            members: undefined,
            numberOfBytes: '96',
          },
        ],
        [
          't_mapping(t_uint256,t_uint256)',
          {
            label: 'mapping(uint256 => uint256)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_uint256',
          {
            label: 'uint256',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
      ],
    }

## Storage2

> Snapshot 1

    {
      namespaces: [],
      storage: [
        {
          contract: 'Storage2',
          label: 'my_public_uint256',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '0',
          src: 'file.sol:1',
          type: 't_uint256',
        },
        {
          contract: 'Storage2',
          label: 'my_internal_string',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '1',
          src: 'file.sol:1',
          type: 't_string_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_private_uint8',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '2',
          src: 'file.sol:1',
          type: 't_uint8',
        },
        {
          contract: 'Storage2',
          label: 'my_private_uint16',
          offset: 1,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '2',
          src: 'file.sol:1',
          type: 't_int8',
        },
        {
          contract: 'Storage2',
          label: 'my_private_bool',
          offset: 2,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '2',
          src: 'file.sol:1',
          type: 't_bool',
        },
        {
          contract: 'Storage2',
          label: 'my_private_uint',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '3',
          src: 'file.sol:1',
          type: 't_uint256',
        },
        {
          contract: 'Storage2',
          label: 'my_private_address',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '4',
          src: 'file.sol:1',
          type: 't_address',
        },
        {
          contract: 'Storage2',
          label: 'my_bytes',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '5',
          src: 'file.sol:1',
          type: 't_bytes_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_bytes8',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '6',
          src: 'file.sol:1',
          type: 't_bytes8',
        },
        {
          contract: 'Storage2',
          label: 'my_bytes32',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '7',
          src: 'file.sol:1',
          type: 't_bytes32',
        },
        {
          contract: 'Storage2',
          label: 'my_public_uint256_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '8',
          src: 'file.sol:1',
          type: 't_array(t_uint256)dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_internal_string_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '9',
          src: 'file.sol:1',
          type: 't_array(t_string_storage)dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_private_address_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '10',
          src: 'file.sol:1',
          type: 't_array(t_address)dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_public_int8_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '11',
          src: 'file.sol:1',
          type: 't_array(t_int8)10_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_internal_bool_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '12',
          src: 'file.sol:1',
          type: 't_array(t_bool)20_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_private_uint_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '13',
          src: 'file.sol:1',
          type: 't_array(t_uint256)30_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '43',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_string_storage)',
        },
        {
          contract: 'Storage2',
          label: 'my_nested_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '44',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
        },
        {
          contract: 'Storage2',
          label: 'my_mapping_with_arrays',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '45',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
        },
        {
          contract: 'Storage2',
          label: 'my_fun',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '46',
          src: 'file.sol:1',
          type: 't_function_internal_nonpayable(t_uint256)returns()',
        },
        {
          contract: 'Storage2',
          label: 'my_fun_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '47',
          src: 'file.sol:1',
          type: 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_fun_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '48',
          src: 'file.sol:1',
          type: 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_fun_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '51',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
        },
        {
          contract: 'Storage2',
          label: 'my_contract',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '52',
          src: 'file.sol:1',
          type: 't_contract(Storage2)',
        },
        {
          contract: 'Storage2',
          label: 'my_contract_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '53',
          src: 'file.sol:1',
          type: 't_array(t_contract(Storage2))dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_contract_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '54',
          src: 'file.sol:1',
          type: 't_array(t_contract(Storage2))10_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_contract_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '64',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_contract(Storage2))',
        },
        {
          contract: 'Storage2',
          label: 'my_contract_dynarray_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '65',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_array(t_contract(Storage2))dyn_storage)',
        },
        {
          contract: 'Storage2',
          label: 'my_contract_staticarray_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '66',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
        },
        {
          contract: 'Storage2',
          label: 'my_struct',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '67',
          src: 'file.sol:1',
          type: 't_struct(MyStruct)storage',
        },
        {
          contract: 'Storage2',
          label: 'my_struct_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '70',
          src: 'file.sol:1',
          type: 't_array(t_struct(MyStruct)storage)dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_struct_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '71',
          src: 'file.sol:1',
          type: 't_array(t_struct(MyStruct)storage)10_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_struct_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '101',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_struct(MyStruct)storage)',
        },
        {
          contract: 'Storage2',
          label: 'my_enum',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '102',
          src: 'file.sol:1',
          type: 't_enum(MyEnum)',
        },
        {
          contract: 'Storage2',
          label: 'my_enum_dynarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '103',
          src: 'file.sol:1',
          type: 't_array(t_enum(MyEnum))dyn_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_enum_staticarray',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '104',
          src: 'file.sol:1',
          type: 't_array(t_enum(MyEnum))10_storage',
        },
        {
          contract: 'Storage2',
          label: 'my_enum_mapping',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '105',
          src: 'file.sol:1',
          type: 't_mapping(t_uint256,t_enum(MyEnum))',
        },
        {
          contract: 'Storage2',
          label: 'my_complex_struct',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '106',
          src: 'file.sol:1',
          type: 't_struct(MyComplexStruct)storage',
        },
        {
          contract: 'Storage2',
          label: 'my_other_struct',
          offset: 0,
          renamedFrom: undefined,
          retypedFrom: undefined,
          slot: '111',
          src: 'file.sol:1',
          type: 't_struct(MyStruct)storage',
        },
      ],
      types: [
        [
          't_address',
          {
            label: 'address',
            members: undefined,
            numberOfBytes: '20',
          },
        ],
        [
          't_array(t_address)dyn_storage',
          {
            label: 'address[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_bool)20_storage',
          {
            label: 'bool[20]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_bool)dyn_storage',
          {
            label: 'bool[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_contract(Storage2))10_storage',
          {
            label: 'contract Storage2[10]',
            members: undefined,
            numberOfBytes: '320',
          },
        ],
        [
          't_array(t_contract(Storage2))dyn_storage',
          {
            label: 'contract Storage2[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_enum(MyEnum))10_storage',
          {
            label: 'enum Storage2.MyEnum[10]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_enum(MyEnum))dyn_storage',
          {
            label: 'enum Storage2.MyEnum[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
          {
            label: 'function (string,string)[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
          {
            label: 'function (uint256) returns (address)[10]',
            members: undefined,
            numberOfBytes: '96',
          },
        ],
        [
          't_array(t_int8)10_storage',
          {
            label: 'int8[10]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_string_storage)dyn_storage',
          {
            label: 'string[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_struct(MyStruct)storage)10_storage',
          {
            label: 'struct Storage2.MyStruct[10]',
            members: undefined,
            numberOfBytes: '960',
          },
        ],
        [
          't_array(t_struct(MyStruct)storage)dyn_storage',
          {
            label: 'struct Storage2.MyStruct[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_array(t_uint256)30_storage',
          {
            label: 'uint256[30]',
            members: undefined,
            numberOfBytes: '960',
          },
        ],
        [
          't_array(t_uint256)dyn_storage',
          {
            label: 'uint256[]',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_bool',
          {
            label: 'bool',
            members: undefined,
            numberOfBytes: '1',
          },
        ],
        [
          't_bytes32',
          {
            label: 'bytes32',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_bytes8',
          {
            label: 'bytes8',
            members: undefined,
            numberOfBytes: '8',
          },
        ],
        [
          't_bytes_storage',
          {
            label: 'bytes',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_contract(Storage2)',
          {
            label: 'contract Storage2',
            members: undefined,
            numberOfBytes: '20',
          },
        ],
        [
          't_enum(MyEnum)',
          {
            label: 'enum Storage2.MyEnum',
            members: [
              'State1',
              'State2',
            ],
            numberOfBytes: '1',
          },
        ],
        [
          't_function_internal_nonpayable(t_bool)returns()',
          {
            label: 'function (bool)',
            members: undefined,
            numberOfBytes: '8',
          },
        ],
        [
          't_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns()',
          {
            label: 'function (string,string)',
            members: undefined,
            numberOfBytes: '8',
          },
        ],
        [
          't_function_internal_nonpayable(t_uint256)returns()',
          {
            label: 'function (uint256)',
            members: undefined,
            numberOfBytes: '8',
          },
        ],
        [
          't_function_internal_nonpayable(t_uint256)returns(t_address)',
          {
            label: 'function (uint256) returns (address)',
            members: undefined,
            numberOfBytes: '8',
          },
        ],
        [
          't_int8',
          {
            label: 'int8',
            members: undefined,
            numberOfBytes: '1',
          },
        ],
        [
          't_mapping(t_string_memory_ptr,t_address)',
          {
            label: 'mapping(string => address)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
          {
            label: 'mapping(string => enum Storage2.MyEnum)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
          {
            label: 'mapping(uint256 => bool[])',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
          {
            label: 'mapping(uint256 => contract Storage2[10])',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_array(t_contract(Storage2))dyn_storage)',
          {
            label: 'mapping(uint256 => contract Storage2[])',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_contract(Storage2))',
          {
            label: 'mapping(uint256 => contract Storage2)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_enum(MyEnum))',
          {
            label: 'mapping(uint256 => enum Storage2.MyEnum)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
          {
            label: 'mapping(uint256 => function (bool))',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
          {
            label: 'mapping(uint256 => mapping(string => address))',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_string_storage)',
          {
            label: 'mapping(uint256 => string)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_mapping(t_uint256,t_struct(MyStruct)storage)',
          {
            label: 'mapping(uint256 => struct Storage2.MyStruct)',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_string_memory_ptr',
          {
            label: 'string',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_string_storage',
          {
            label: 'string',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_struct(MyComplexStruct)storage',
          {
            label: 'struct Storage2.MyComplexStruct',
            members: [
              {
                label: 'uint256_dynarray',
                offset: 0,
                slot: '0',
                type: 't_array(t_uint256)dyn_storage',
              },
              {
                label: 'mapping_enums',
                offset: 0,
                slot: '1',
                type: 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
              },
              {
                label: 'other_struct',
                offset: 0,
                slot: '2',
                type: 't_struct(MyStruct)storage',
              },
            ],
            numberOfBytes: '160',
          },
        ],
        [
          't_struct(MyStruct)storage',
          {
            label: 'struct Storage2.MyStruct',
            members: [
              {
                label: 'struct_uint256',
                offset: 0,
                slot: '0',
                type: 't_uint256',
              },
              {
                label: 'struct_string',
                offset: 0,
                slot: '1',
                type: 't_string_storage',
              },
              {
                label: 'struct_address',
                offset: 0,
                slot: '2',
                type: 't_address',
              },
            ],
            numberOfBytes: '96',
          },
        ],
        [
          't_uint256',
          {
            label: 'uint256',
            members: undefined,
            numberOfBytes: '32',
          },
        ],
        [
          't_uint8',
          {
            label: 'uint8',
            members: undefined,
            numberOfBytes: '1',
          },
        ],
      ],
    }
