IReceiverV2
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
| Name | Type | Description |
|---|---|---|
| message | bytes | The CCTP message bytes emitted by the source depositForBurn. |
| attestation | bytes | The Iris attestation (attester signatures) over message. |
Returns
| Name | Type | Description |
|---|---|---|
| success | bool | True 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
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |