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

=======================
➡ L1CrossDomainMessenger
=======================

+---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+
| Name                      | Type                     | Slot | Offset | Bytes | Contract                                                       |
+===============================================================================================================================================+
| _initialized              | uint8                    | 0    | 0      | 1     | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initializing             | bool                     | 0    | 1      | 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 |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| REMOVED_VARIABLE_SPACER_1 | bytes32                  | 201  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| REMOVED_VARIABLE_SPACER_2 | bytes32                  | 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                  | uint256                  | 205  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| otherMessenger            | address                  | 206  | 0      | 20    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| receivedMessages          | mapping(bytes32 => bool) | 207  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| blockedSystemAddresses    | mapping(address => bool) | 208  | 0      | 32    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| portal                    | contract OptimismPortal  | 209  | 0      | 20    | contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger |
+---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+

=======================
➡ L1StandardBridge
=======================

+-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+
| Name        | Type                                            | Slot | Offset | Bytes | Contract                                           |
+============================================================================================================================================+
| messenger   | contract CrossDomainMessenger                   | 0    | 0      | 20    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
|-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| otherBridge | contract StandardBridge                         | 1    | 0      | 20    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
|-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| deposits    | mapping(address => mapping(address => uint256)) | 2    | 0      | 32    | contracts/L1/L1StandardBridge.sol:L1StandardBridge |
+-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+

=======================
➡ 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 |
|-------------------+----------------------------------------------------------+------+--------+-------+------------------------------------------------|
| sequencer         | address                                                  | 101  | 0      | 20    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+----------------------------------------------------------+------+--------+-------+------------------------------------------------|
| latestBlockNumber | uint256                                                  | 102  | 0      | 32    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
|-------------------+----------------------------------------------------------+------+--------+-------+------------------------------------------------|
| l2Outputs         | mapping(uint256 => struct L2OutputOracle.OutputProposal) | 103  | 0      | 32    | contracts/L1/L2OutputOracle.sol:L2OutputOracle |
+-------------------+----------------------------------------------------------+------+--------+-------+------------------------------------------------+

=======================
➡ 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[49]                            | 2    | 0      | 1568  | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| l2Sender             | address                                | 51   | 0      | 20    | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| finalizedWithdrawals | mapping(bytes32 => bool)               | 52   | 0      | 32    | contracts/L1/OptimismPortal.sol:OptimismPortal |
|----------------------+----------------------------------------+------+--------+-------+------------------------------------------------|
| __gap                | uint256[48]                            | 53   | 0      | 1536  | contracts/L1/OptimismPortal.sol:OptimismPortal |
+----------------------+----------------------------------------+------+--------+-------+------------------------------------------------+

=======================
➡ DeployerWhitelist
=======================

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

=======================
➡ GasPriceOracle
=======================

+----------+---------+------+--------+-------+------------------------------------------------+
| Name     | Type    | Slot | Offset | Bytes | Contract                                       |
+=============================================================================================+
| _owner   | address | 0    | 0      | 20    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|----------+---------+------+--------+-------+------------------------------------------------|
| spacer0  | uint256 | 1    | 0      | 32    | contracts/L2/GasPriceOracle.sol:GasPriceOracle |
|----------+---------+------+--------+-------+------------------------------------------------|
| spacer1  | 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 |
+----------+---------+------+--------+-------+------------------------------------------------+

=======================
➡ 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 |
+----------------+---------+------+--------+-------+----------------------------------+

=======================
➡ L1BlockNumber
=======================

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

=======================
➡ L2CrossDomainMessenger
=======================

+---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+
| Name                      | Type                     | Slot | Offset | Bytes | Contract                                                       |
+===============================================================================================================================================+
| _initialized              | uint8                    | 0    | 0      | 1     | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| _initializing             | bool                     | 0    | 1      | 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 |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| REMOVED_VARIABLE_SPACER_1 | bytes32                  | 201  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| REMOVED_VARIABLE_SPACER_2 | bytes32                  | 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                  | uint256                  | 205  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| otherMessenger            | address                  | 206  | 0      | 20    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| receivedMessages          | mapping(bytes32 => bool) | 207  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
|---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------|
| blockedSystemAddresses    | mapping(address => bool) | 208  | 0      | 32    | contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger |
+---------------------------+--------------------------+------+--------+-------+----------------------------------------------------------------+

=======================
➡ L2StandardBridge
=======================

+-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+
| Name        | Type                                            | Slot | Offset | Bytes | Contract                                           |
+============================================================================================================================================+
| messenger   | contract CrossDomainMessenger                   | 0    | 0      | 20    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
|-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| otherBridge | contract StandardBridge                         | 1    | 0      | 20    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
|-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------|
| deposits    | mapping(address => mapping(address => uint256)) | 2    | 0      | 32    | contracts/L2/L2StandardBridge.sol:L2StandardBridge |
+-------------+-------------------------------------------------+------+--------+-------+----------------------------------------------------+

=======================
➡ 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 |
+--------------+--------------------------+------+--------+-------+----------------------------------------------------------+

=======================
➡ OVM_ETH
=======================

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

=======================
➡ SequencerFeeVault
=======================

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

=======================
➡ WETH9
=======================

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

=======================
➡ 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 Lib_AddressManager                   | 3    | 0      | 20    | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
|--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------|
| upgrading          | bool                                          | 3    | 20     | 1     | contracts/universal/ProxyAdmin.sol:ProxyAdmin |
+--------------------+-----------------------------------------------+------+--------+-------+-----------------------------------------------+

=======================
➡ Proxy
=======================

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

=======================
➡ L1ChugSplashProxy
=======================

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

=======================
➡ 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 |
+--------------+-------------------------------------------------+------+--------+-------+---------------------------------------------------------------------+

=======================
➡ OptimismMintableTokenFactory
=======================

+--------+---------+------+--------+-------+-----------------------------------------------------------------------------------+
| Name   | Type    | Slot | Offset | Bytes | Contract                                                                          |
+==============================================================================================================================+
| bridge | address | 0    | 0      | 20    | contracts/universal/OptimismMintableTokenFactory.sol:OptimismMintableTokenFactory |
+--------+---------+------+--------+-------+-----------------------------------------------------------------------------------+
