Package hyperlane is Hyperlane's wire format, byte for byte, for a mailbox on gno.land: the message and its id, the incremental merkle tree the validators checkpoint, the checkpoint digest they sign, a warp route's token message, and the multisig check a destination runs over the signatures. It keeps no state and reads no chain.
Sources (hyperlane-monorepo 3cd9308, 2026-10-10): solidity/contracts/libs/Message.sol, Merkle.sol, CheckpointLib.sol, TypeCasts.sol, token/libs/TokenMessage.sol, isms/libs/MessageIdMultisigIsmMetadata.sol; the vectors in vectors/ are this package's tests.
One departure, and only on the gno side: gno.land has no secp256k1, so the multisig a gno mailbox runs (VerifyMultisig) takes ed25519 signatures over the same checkpoint digest Hyperlane's validators sign with secp256k1, and each signature names its validator in one leading byte (65 bytes a signature, as in Hyperlane's metadata). Messages, ids, the tree and the digest are Hyperlane's exactly, so the other chain's ISM checks a gno checkpoint with its stock code.