CCTP V1 Message Header
The top-level message header format is standard for all messages passing through CCTP V1.Sequential Nonces
A message nonce is a unique identifier for a message that can only be used once on the destination domain. In CCTP V1, message nonces are implemented using Sequential Nonces, where the next available nonce on a source domain is an integer. On the destination domain, messages can be received in any order, and used nonces are stored as a hash of the source domain and nonce integer value.Why we use
bytes32 type for addressesCCTP V1 is built to support EVM chains, which use 20 byte addresses, and non-EVM
chains, many of which use 32 byte addresses. We provide a
Message.sol library
as a reference implementation for converting between address and bytes32 in
Solidity.CCTP V1 Message Body
The message format includes a dynamically sizedmessageBody field, used for
application-specific messages. For example, TokenMessenger defines a
BurnMessage
with data related to cross-chain transfers.