Skip to content
Lattice

IReceiverV2

Git Source

Title: IReceiverV2

Author: Vendored minimal subset of Circle's CCTP v2 MessageTransmitterV2

(https://github.com/circlefin/evm-cctp-contracts). Upstream license: Apache-2.0. Upstream compiles at Solidity 0.7.6 — this subset is REDECLARED at pragma ^0.8.30. Only the receive-side methods the CCTPBridgeAdapter relays to are re-declared; do NOT add an evm-cctp-contracts dependency.

Destination-side of CCTP v2: receiveMessage validates the Iris attestation over message and, if valid, mints USDC DIRECTLY to the encoded recipient. It is PERMISSIONLESS unless the burn specified a destinationCaller — the mint's trust root is the Circle attester set + denylist, not the calling contract.

Functions

receiveMessage

Verifies attestation over message and executes the message (mints USDC to the recipient).

function receiveMessage(bytes calldata message, bytes calldata attestation) external returns (bool success);

Parameters

NameTypeDescription
messagebytesThe CCTP message bytes emitted by the source depositForBurn.
attestationbytesThe Iris attestation (attester signatures) over message.

Returns

NameTypeDescription
successboolTrue if the message was received and executed.

localDomain

The CCTP domain id of the chain this transmitter is deployed on.

function localDomain() external view returns (uint32);

Returns

NameTypeDescription
<none>uint32