github.com/ethereum-optimism/optimism@v1.7.2/packages/sdk/test/contracts/ICrossDomainMessenger.sol (about)

     1  pragma solidity ^0.8.9;
     2  
     3  // Right now this is copy/pasted from the contracts package. We need to do this because we don't
     4  // currently copy the contracts into the root of the contracts package in the correct way until
     5  // we bundle the contracts package for publication. As a result, we can't properly use the
     6  // package the way we want to from inside the monorepo (yet). Needs to be fixed as part of a
     7  // separate pull request.
     8  
     9  interface ICrossDomainMessenger {
    10      /**********
    11       * Events *
    12       **********/
    13  
    14      event SentMessage(
    15          address indexed target,
    16          address sender,
    17          bytes message,
    18          uint256 messageNonce,
    19          uint256 gasLimit
    20      );
    21      event RelayedMessage(bytes32 indexed msgHash);
    22      event FailedRelayedMessage(bytes32 indexed msgHash);
    23  
    24      /*************
    25       * Variables *
    26       *************/
    27  
    28      function xDomainMessageSender() external view returns (address);
    29  
    30      /********************
    31       * Public Functions *
    32       ********************/
    33  
    34      /**
    35       * Sends a cross domain message to the target messenger.
    36       * @param _target Target contract address.
    37       * @param _message Message to send to the target.
    38       * @param _gasLimit Gas limit for the provided message.
    39       */
    40      function sendMessage(
    41          address _target,
    42          bytes calldata _message,
    43          uint32 _gasLimit
    44      ) external;
    45  }