github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/src/legacy/LegacyMessagePasser.sol (about)

     1  // SPDX-License-Identifier: MIT
     2  pragma solidity 0.8.15;
     3  
     4  import { ISemver } from "src/universal/ISemver.sol";
     5  
     6  /// @custom:legacy
     7  /// @custom:proxied
     8  /// @custom:predeploy 0x4200000000000000000000000000000000000000
     9  /// @title LegacyMessagePasser
    10  /// @notice The LegacyMessagePasser was the low-level mechanism used to send messages from L2 to L1
    11  ///         before the Bedrock upgrade. It is now deprecated in favor of the new MessagePasser.
    12  contract LegacyMessagePasser is ISemver {
    13      /// @notice Mapping of sent message hashes to boolean status.
    14      mapping(bytes32 => bool) public sentMessages;
    15  
    16      /// @notice Semantic version.
    17      /// @custom:semver 1.1.0
    18      string public constant version = "1.1.0";
    19  
    20      /// @notice Passes a message to L1.
    21      /// @param _message Message to pass to L1.
    22      function passMessageToL1(bytes memory _message) external {
    23          sentMessages[keccak256(abi.encodePacked(_message, msg.sender))] = true;
    24      }
    25  }