=======================
👁👁 STORAGE LAYOUT snapshot 👁👁
=======================

=======================
➡ contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
=======================

+--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+
| Name               | Type                     | Slot | Offset | Bytes | Contract                                                       |
+========================================================================================================================================+
| spacer_0_0_20      | address                  | 0    | 0      | 20    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initialized       | uint8                    | 0    | 20     | 1     | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initializing      | bool                     | 0    | 21     | 1     | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[50]              | 1    | 0      | 1600  | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _owner             | address                  | 51   | 0      | 20    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 52   | 0      | 1568  | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _paused            | bool                     | 101  | 0      | 1     | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 102  | 0      | 1568  | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _status            | uint256                  | 151  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 152  | 0      | 1568  | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| spacer_201_0_32    | mapping(bytes32 => bool) | 201  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| spacer_202_0_32    | mapping(bytes32 => bool) | 202  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| successfulMessages | mapping(bytes32 => bool) | 203  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| xDomainMsgSender   | address                  | 204  | 0      | 20    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| msgNonce           | uint240                  | 205  | 0      | 30    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| receivedMessages   | mapping(bytes32 => bool) | 206  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[42]              | 207  | 0      | 1344  | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
+--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+

=======================
➡ contracts/L1/L1StandardBridge.sol:L1StandardBridge
=======================

+---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+
| Name          | Type                                            | Slot | Offset | Bytes | Contract                                           |
+==============================================================================================================================================+
| spacer_0_0_20 | address                                         | 0    | 0      | 20    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| spacer_1_0_20 | address                                         | 1    | 0      | 20    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| deposits      | mapping(address => mapping(address => uint256)) | 2    | 0      | 32    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| __gap         | uint256[47]                                     | 3    | 0      | 1504  | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
+---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+

=======================
➡ contracts/L1/L2OutputOracle.sol:L2OutputOracle
=======================

+-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------+
| Name              | Type                                            | Slot | Offset | Bytes | Contract                                       |
+==============================================================================================================================================+
| _initialized      | uint8                                           | 0    | 0      | 1     | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| _initializing     | bool                                            | 0    | 1      | 1     | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| __gap             | uint256[50]                                     | 1    | 0      | 1600  | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| _owner            | address                                         | 51   | 0      | 20    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| __gap             | uint256[49]                                     | 52   | 0      | 1568  | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| proposer          | address                                         | 101  | 0      | 20    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| latestBlockNumber | uint256                                         | 102  | 0      | 32    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------|
| l2Outputs         | mapping(uint256 => struct Types.OutputProposal) | 103  | 0      | 32    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
+-------------------+-------------------------------------------------+------+--------+-------+------------------------------------------------+

=======================
➡ contracts/L1/OptimismPortal.sol:OptimismPortal
=======================

+----------------------+----------------------------------------+------+--------+-------+------------------------------------------------+
| Name                 | Type                                   | Slot | Offset | Bytes | Contract                                       |
+========================================================================================================================================+
| _initialized         | uint8                                  | 0    | 0      | 1     | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| _initializing        | bool                                   | 0    | 1      | 1     | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| params               | struct ResourceMetering.ResourceParams | 1    | 0      | 32    | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| __gap                | uint256[48]                            | 2    | 0      | 1536  | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| l2Sender             | address                                | 50   | 0      | 20    | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| finalizedWithdrawals | mapping(bytes32 => bool)               | 51   | 0      | 32    | contracts/L1/OptimismPortal.sol:OptimismPortal |
+----------------------+----------------------------------------+------+--------+-------+------------------------------------------------+

=======================
➡ contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist
=======================

+-----------+--------------------------+------+--------+-------+----------------------------------------------------------+
| Name      | Type                     | Slot | Offset | Bytes | Contract                                                 |
+=========================================================================================================================+
| owner     | address                  | 0    | 0      | 20    | contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist |
|-----------+--------------------------+------+--------+-------+----------------------------------------------------------|
| whitelist | mapping(address => bool) | 1    | 0      | 32    | contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist |
+-----------+--------------------------+------+--------+-------+----------------------------------------------------------+

=======================
➡ contracts/L2/GasPriceOracle.sol:GasPriceOracle
=======================

+---------------+---------+------+--------+-------+------------------------------------------------+
| Name          | Type    | Slot | Offset | Bytes | Contract                                       |
+==================================================================================================+
| _owner        | address | 0    | 0      | 20    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|---------------+---------+------+--------+-------+------------------------------------------------|
| spacer_1_0_32 | uint256 | 1    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|---------------+---------+------+--------+-------+------------------------------------------------|
| spacer_2_0_32 | uint256 | 2    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|---------------+---------+------+--------+-------+------------------------------------------------|
| overhead      | uint256 | 3    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|---------------+---------+------+--------+-------+------------------------------------------------|
| scalar        | uint256 | 4    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|---------------+---------+------+--------+-------+------------------------------------------------|
| decimals      | uint256 | 5    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
+---------------+---------+------+--------+-------+------------------------------------------------+

=======================
➡ contracts/L2/L1Block.sol:L1Block
=======================

+----------------+---------+------+--------+-------+----------------------------------+
| Name           | Type    | Slot | Offset | Bytes | Contract                         |
+=====================================================================================+
| number         | uint64  | 0    | 0      | 8     | contracts/L2/L1Block.sol:L1Block |
|----------------+---------+------+--------+-------+----------------------------------|
| timestamp      | uint64  | 0    | 8      | 8     | contracts/L2/L1Block.sol:L1Block |
|----------------+---------+------+--------+-------+----------------------------------|
| basefee        | uint256 | 1    | 0      | 32    | contracts/L2/L1Block.sol:L1Block |
|----------------+---------+------+--------+-------+----------------------------------|
| hash           | bytes32 | 2    | 0      | 32    | contracts/L2/L1Block.sol:L1Block |
|----------------+---------+------+--------+-------+----------------------------------|
| sequenceNumber | uint64  | 3    | 0      | 8     | contracts/L2/L1Block.sol:L1Block |
+----------------+---------+------+--------+-------+----------------------------------+

=======================
➡ contracts/legacy/L1BlockNumber.sol:L1BlockNumber
=======================

+------+------+------+--------+-------+----------+
| Name | Type | Slot | Offset | Bytes | Contract |
+================================================+
+------+------+------+--------+-------+----------+

=======================
➡ contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
=======================

+--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+
| Name               | Type                     | Slot | Offset | Bytes | Contract                                                       |
+========================================================================================================================================+
| spacer_0_0_20      | address                  | 0    | 0      | 20    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initialized       | uint8                    | 0    | 20     | 1     | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initializing      | bool                     | 0    | 21     | 1     | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[50]              | 1    | 0      | 1600  | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _owner             | address                  | 51   | 0      | 20    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 52   | 0      | 1568  | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _paused            | bool                     | 101  | 0      | 1     | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 102  | 0      | 1568  | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _status            | uint256                  | 151  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[49]              | 152  | 0      | 1568  | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| spacer_201_0_32    | mapping(bytes32 => bool) | 201  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| spacer_202_0_32    | mapping(bytes32 => bool) | 202  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| successfulMessages | mapping(bytes32 => bool) | 203  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| xDomainMsgSender   | address                  | 204  | 0      | 20    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| msgNonce           | uint240                  | 205  | 0      | 30    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| receivedMessages   | mapping(bytes32 => bool) | 206  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| __gap              | uint256[42]              | 207  | 0      | 1344  | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
+--------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+

=======================
➡ contracts/L2/L2StandardBridge.sol:L2StandardBridge
=======================

+---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+
| Name          | Type                                            | Slot | Offset | Bytes | Contract                                           |
+==============================================================================================================================================+
| spacer_0_0_20 | address                                         | 0    | 0      | 20    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| spacer_1_0_20 | address                                         | 1    | 0      | 20    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| deposits      | mapping(address => mapping(address => uint256)) | 2    | 0      | 32    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
|---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| __gap         | uint256[47]                                     | 3    | 0      | 1504  | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
+---------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+

=======================
➡ contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
=======================

+--------------+--------------------------+------+--------+-------+----------------------------------------------------------+
| Name         | Type                     | Slot | Offset | Bytes | Contract                                                 |
+============================================================================================================================+
| sentMessages | mapping(bytes32 => bool) | 0    | 0      | 32    | contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser |
|--------------+--------------------------+------+--------+-------+----------------------------------------------------------|
| nonce        | uint256                  | 1    | 0      | 32    | contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser |
+--------------+--------------------------+------+--------+-------+----------------------------------------------------------+

=======================
➡ contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
=======================

+--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+
| Name         | Type                                            | Slot | Offset | Bytes | Contract                                           |
+=============================================================================================================================================+
| _balances    | mapping(address => uint256)                     | 0    | 0      | 32    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| _allowances  | mapping(address => mapping(address => uint256)) | 1    | 0      | 32    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| _totalSupply | uint256                                         | 2    | 0      | 32    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| _name        | string                                          | 3    | 0      | 32    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| _symbol      | string                                          | 4    | 0      | 32    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| remoteToken  | address                                         | 5    | 0      | 20    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
|--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| bridge       | address                                         | 6    | 0      | 20    | contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH |
+--------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+

=======================
➡ contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
=======================

+-------------+---------+------+--------+-------+------------------------------------------------------+
| Name        | Type    | Slot | Offset | Bytes | Contract                                             |
+======================================================================================================+
| l1FeeWallet | address | 0    | 0      | 20    | contracts/L2/SequencerFeeVault.sol:SequencerFeeVault |
+-------------+---------+------+--------+-------+------------------------------------------------------+

=======================
➡ contracts/vendor/WETH9.sol:WETH9
=======================

+-----------+-------------------------------------------------+------+--------+-------+----------------------------------+
| Name      | Type                                            | Slot | Offset | Bytes | Contract                         |
+========================================================================================================================+
| name      | string                                          | 0    | 0      | 32    | contracts/vendor/WETH9.sol:WETH9 |
|-----------+-------------------------------------------------+------+--------+-------+----------------------------------|
| symbol    | string                                          | 1    | 0      | 32    | contracts/vendor/WETH9.sol:WETH9 |
|-----------+-------------------------------------------------+------+--------+-------+----------------------------------|
| decimals  | uint8                                           | 2    | 0      | 1     | contracts/vendor/WETH9.sol:WETH9 |
|-----------+-------------------------------------------------+------+--------+-------+----------------------------------|
| balanceOf | mapping(address => uint256)                     | 3    | 0      | 32    | contracts/vendor/WETH9.sol:WETH9 |
|-----------+-------------------------------------------------+------+--------+-------+----------------------------------|
| allowance | mapping(address => mapping(address => uint256)) | 4    | 0      | 32    | contracts/vendor/WETH9.sol:WETH9 |
+-----------+-------------------------------------------------+------+--------+-------+----------------------------------+

=======================
➡ contracts/universal/ProxyAdmin.sol:ProxyAdmin
=======================

+--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------+
| Name               | Type                                          | Slot | Offset | Bytes | Contract                                      |
+============================================================================================================================================+
| owner              | address                                       | 0    | 0      | 20    | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
|--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------|
| proxyType          | mapping(address => enum ProxyAdmin.ProxyType) | 1    | 0      | 32    | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
|--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------|
| implementationName | mapping(address => string)                    | 2    | 0      | 32    | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
|--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------|
| addressManager     | contract AddressManager                       | 3    | 0      | 20    | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
|--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------|
| upgrading          | bool                                          | 3    | 20     | 1     | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
+--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------+

=======================
➡ contracts/universal/Proxy.sol:Proxy
=======================

+------+------+------+--------+-------+----------+
| Name | Type | Slot | Offset | Bytes | Contract |
+================================================+
+------+------+------+--------+-------+----------+

=======================
➡ contracts/legacy/L1ChugSplashProxy.sol:L1ChugSplashProxy
=======================

+------+------+------+--------+-------+----------+
| Name | Type | Slot | Offset | Bytes | Contract |
+================================================+
+------+------+------+--------+-------+----------+

=======================
➡ contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20
=======================

+--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------+
| Name         | Type                                            | Slot | Offset | Bytes | Contract                                                            |
+==============================================================================================================================================================+
| _balances    | mapping(address => uint256)                     | 0    | 0      | 32    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| _allowances  | mapping(address => mapping(address => uint256)) | 1    | 0      | 32    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| _totalSupply | uint256                                         | 2    | 0      | 32    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| _name        | string                                          | 3    | 0      | 32    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| _symbol      | string                                          | 4    | 0      | 32    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| remoteToken  | address                                         | 5    | 0      | 20    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
|--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------|
| bridge       | address                                         | 6    | 0      | 20    | contracts/universal/OptimismMintableERC20.sol:OptimismMintableERC20 |
+--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------+

=======================
➡ contracts/universal/OptimismMintableERC20Factory.sol:OptimismMintableERC20Factory
=======================

+------+------+------+--------+-------+----------+
| Name | Type | Slot | Offset | Bytes | Contract |
+================================================+
+------+------+------+--------+-------+----------+
