The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/solidity/contracts/interfaces/optimism/ICrossDomainMessenger.sol

42 lines
1.2 KiB

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
/**
* @title ICrossDomainMessenger interface for bedrock update
* @dev eth-optimism's version uses strict 0.8.15 which we don't want to restrict to
*/
interface ICrossDomainMessenger {
/**
* Sends a cross domain message to the target messenger.
* @param _target Target contract address.
* @param _message Message to send to the target.
* @param _gasLimit Gas limit for the provided message.
*/
function sendMessage(
address _target,
bytes calldata _message,
uint32 _gasLimit
) external payable;
function relayMessage(
uint256 _nonce,
address _sender,
address _target,
uint256 _value,
uint256 _minGasLimit,
bytes calldata _message
) external payable;
function xDomainMessageSender() external view returns (address);
function OTHER_MESSENGER() external view returns (address);
function PORTAL() external view returns (address);
}
interface IL1CrossDomainMessenger is ICrossDomainMessenger {}
interface IL2CrossDomainMessenger is ICrossDomainMessenger {
function messageNonce() external view returns (uint256);
}