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 }