# Class EvmCircleBridge<N, C>

#### Type Parameters

- #### N extends Network

- #### C extends EvmChains

#### Hierarchy

- EvmCircleBridge

#### Implements

- CircleBridge<N, EvmPlatformType, C>

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:30

#####
Index

### Constructors

constructor

### Properties

chain
chainId
contracts
messageReceivedEventHash
messageSentEventHash
msgTransmitter
network
provider
tokenEventHash
tokenMessenger

### Methods

createUnsignedTx
isTransferCompleted
parseTransactionDetails
redeem
transfer
fromRpc

## Constructors

### `Private` constructor

- new EvmCircleBridge<N, C>(network, chain, provider, contracts): EvmCircleBridge<N, C>

- #### Type Parameters

  - #### N extends "Mainnet" | "Testnet" | "Devnet"

  - #### C extends "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Arbitrum" | "Optimism" | "Gnosis" | "Base" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky"

  #### Parameters

  - ##### network: N

  - ##### chain: C

  - ##### provider: Provider

  - ##### contracts: Contracts

  #### Returns EvmCircleBridge<N, C>

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:41

## Properties

### `Readonly` chain

chain: C

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:43

### `Readonly` chainId

chainId: bigint

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:33

### `Readonly` contracts

contracts: Contracts

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:45

### `Readonly` messageReceivedEventHash

messageReceivedEventHash: string

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:39

### `Readonly` messageSentEventHash

messageSentEventHash: string

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:38

### `Readonly` msgTransmitter

msgTransmitter: MessageTransmitter

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:34

### `Readonly` network

network: N

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:42

### `Readonly` provider

provider: Provider

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:44

### `Readonly` tokenEventHash

tokenEventHash: string

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:37

### `Readonly` tokenMessenger

tokenMessenger: TokenMessenger

- Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:35

## Methods

### `Private` createUnsignedTx

- createUnsignedTx(txReq, description, parallelizable?): EvmUnsignedTransaction<N, C>

- #### Parameters

  - ##### txReq: TransactionRequest

  - ##### description: string

  - ##### parallelizable: boolean = false

  #### Returns EvmUnsignedTransaction<N, C>

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:224

### isTransferCompleted

- isTransferCompleted(message): Promise<boolean>

- #### Parameters

  - ##### message: {
    destinationCaller: UniversalAddress;
    destinationDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base";
    nonce: bigint;
    payload: { readonly burnToken: UniversalAddress; readonly mintRecipient: UniversalAddress; readonly amount: bigint; readonly messageSender: UniversalAddress; };
    recipient: UniversalAddress;
    sender: UniversalAddress;
    sourceDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base";
    }

    - ##### destinationCaller: UniversalAddress

    - ##### destinationDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base"

    - ##### nonce: bigint

    - ##### payload: { readonly burnToken: UniversalAddress; readonly mintRecipient: UniversalAddress; readonly amount: bigint; readonly messageSender: UniversalAddress; }

    - ##### recipient: UniversalAddress

    - ##### sender: UniversalAddress

    - ##### sourceDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base"

  #### Returns Promise<boolean>

  Implementation of CircleBridge.isTransferCompleted

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:163

### parseTransactionDetails

- parseTransactionDetails(txid): Promise<CircleTransferMessage>

- #### Parameters

  - ##### txid: string

  #### Returns Promise<CircleTransferMessage>

  Implementation of CircleBridge.parseTransactionDetails

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:173

### redeem

- redeem(sender, message, attestation): AsyncGenerator<EvmUnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### sender: AccountAddress<C>

  - ##### message: {
    destinationCaller: UniversalAddress;
    destinationDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base";
    nonce: bigint;
    payload: { readonly burnToken: UniversalAddress; readonly mintRecipient: UniversalAddress; readonly amount: bigint; readonly messageSender: UniversalAddress; };
    recipient: UniversalAddress;
    sender: UniversalAddress;
    sourceDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base";
    }

    - ##### destinationCaller: UniversalAddress

    - ##### destinationDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base"

    - ##### nonce: bigint

    - ##### payload: { readonly burnToken: UniversalAddress; readonly mintRecipient: UniversalAddress; readonly amount: bigint; readonly messageSender: UniversalAddress; }

    - ##### recipient: UniversalAddress

    - ##### sender: UniversalAddress

    - ##### sourceDomain: "Solana" | "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base"

  - ##### attestation: string

  #### Returns AsyncGenerator<EvmUnsignedTransaction<N, C>, any, unknown>

  Implementation of CircleBridge.redeem

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:98

### transfer

- transfer(sender, recipient, amount): AsyncGenerator<EvmUnsignedTransaction<N, C>, any, unknown>

- #### Parameters

  - ##### sender: AccountAddress<C>

  - ##### recipient: ChainAddress

  - ##### amount: bigint

  #### Returns AsyncGenerator<EvmUnsignedTransaction<N, C>, any, unknown>

  Implementation of CircleBridge.transfer

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:116

### `Static` fromRpc

- fromRpc<N>(provider, config): Promise<EvmCircleBridge<N, "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Arbitrum" | "Optimism" | "Gnosis" | "Base" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky">>

- #### Type Parameters

  - #### N extends "Mainnet" | "Testnet" | "Devnet"

  #### Parameters

  - ##### provider: Provider

  - ##### config: ChainsConfig<N, "Solana" | "Algorand" | "Near" | "Sui" | "Aptos" | "Btc" | "Evm" | "Cosmwasm">

  #### Returns Promise<EvmCircleBridge<N, "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Arbitrum" | "Optimism" | "Gnosis" | "Base" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky">>

  - Defined in platforms/evm/protocols/cctp/src/circleBridge.ts:87

Generated using TypeDoc