github.com/ethereum-optimism/optimism@v1.7.2/packages/contracts-bedrock/src/libraries/LegacyCrossDomainUtils.sol (about) 1 // SPDX-License-Identifier: MIT 2 pragma solidity ^0.8.9; 3 4 // Importing from the legacy contracts package causes issues with the build of the contract bindings 5 // so we just copy the library here from 6 // /packages/contracts/contracts/libraries/bridge/Lib_CrossDomainUtils.sol at commit 7 // 7866168c 8 9 /// @title LegacyCrossDomainUtils 10 library LegacyCrossDomainUtils { 11 /// @notice Generates the correct cross domain calldata for a message. 12 /// @param _target Target contract address. 13 /// @param _sender Message sender address. 14 /// @param _message Message to send to the target. 15 /// @param _messageNonce Nonce for the provided message. 16 /// @return ABI encoded cross domain calldata. 17 function encodeXDomainCalldata( 18 address _target, 19 address _sender, 20 bytes memory _message, 21 uint256 _messageNonce 22 ) 23 internal 24 pure 25 returns (bytes memory) 26 { 27 return abi.encodeWithSignature( 28 "relayMessage(address,address,bytes,uint256)", _target, _sender, _message, _messageNonce 29 ); 30 } 31 }