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/contracts/libs/Message.sol

26 lines
679 B

// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.8.0;
library Message {
function format(bytes32 _recipient, uint256 _amount)
internal
pure
returns (bytes memory)
{
return abi.encodePacked(_recipient, _amount);
}
function recipient(bytes calldata message) internal pure returns (bytes32) {
return bytes32(message[0:32]);
}
function amount(bytes calldata message) internal pure returns (uint256) {
return uint256(bytes32(message[32:64]));
}
// alias for ERC721
function tokenId(bytes calldata message) internal pure returns (uint256) {
return amount(message);
}
}