CCTPDeployment

Documentation for eth_defi.cctp.whitelist.CCTPDeployment Python class.

class CCTPDeployment

Bases: object

CCTP V2 deployment configuration for guard whitelisting.

All CCTP V2 contracts share the same address across EVM chains (CREATE2), so this mainly configures which destination domains are allowed.

Attributes summary

token_messenger

TokenMessengerV2 contract address

message_transmitter

MessageTransmitterV2 contract address

token_minter

TokenMinterV2 contract address

allowed_destination_domains

CCTP domain IDs of allowed destination chains.

Methods summary

__init__([token_messenger, ...])

create_for_chain(chain_id[, ...])

Create a CCTP deployment configuration for a given chain.

token_messenger: eth_typing.evm.HexAddress

TokenMessengerV2 contract address

message_transmitter: eth_typing.evm.HexAddress

MessageTransmitterV2 contract address

token_minter: eth_typing.evm.HexAddress

TokenMinterV2 contract address

allowed_destination_domains: list[int]

CCTP domain IDs of allowed destination chains. Use eth_defi.cctp.constants.CHAIN_ID_TO_CCTP_DOMAIN to convert chain IDs to domain IDs.

classmethod create_for_chain(chain_id, allowed_destinations=None)

Create a CCTP deployment configuration for a given chain.

Parameters
  • chain_id (int) – EVM chain ID of the source chain (e.g. 1 for Ethereum).

  • allowed_destinations (list[int] | None) – List of EVM chain IDs for allowed destination chains. Automatically converted to CCTP domain IDs. If None, no destinations are allowed (add them separately).

Returns

Configured CCTPDeployment instance.

Raises

ValueError – If the source chain or a destination chain is not supported.

Return type

eth_defi.cctp.whitelist.CCTPDeployment

__init__(token_messenger=<factory>, message_transmitter=<factory>, token_minter=<factory>, allowed_destination_domains=<factory>)
Parameters
Return type

None