# Connext Adapter

Lucid has developed an adapter that integrates with the **Connext messaging bridge** to send and receive cross-chain messages.

## Fees

Connext does **not support on-chain fee quoting**. Fees must be calculated **off-chain** using Connext’s SDK.

When sending or exporting a transaction from the **Lucid App**, Lucid automatically calculates the required fees for the transaction, including any **protocol fees**.

Connext does **not refund excess gas fees** that may be sent during the transaction.

### Interfaces

Each adapter implements the following public functions:

#### relayMessage

```solidity
function relayMessage( uint256 destChainId, address destination, bytes memory options, bytes calldata message ) external payable returns (bytes32)
```

Sends a message through the Connext bridge, deducts the protocol fee, and pays the required bridge fee.

* The Ether value sent by the calling contract must include both the Connext transfer fee and the Lucid protocol fee.
* Returns a `bytes32` value representing the `transferId` assigned by Connext.
* Includes a `delegate` address parameter, which can be used to call **Connext-specific functions** on the destination chain after the message is received (e.g., `forceUpdateSlippage()`).

Input Params:

<table><thead><tr><th width="146.86328125">Type</th><th>Name</th><th>Description</th></tr></thead><tbody><tr><td>uint256</td><td>destChainId</td><td>The destination chain ID.</td></tr><tr><td>address</td><td>destination</td><td>The destination address.</td></tr><tr><td>bytes</td><td>options</td><td>An abi-encoded delegate address.</td></tr><tr><td>bytes</td><td>message</td><td>The message to be relayed.</td></tr></tbody></table>

***

#### calculateFee

```solidity
function calculateFee(uint256 amount) public view returns (uint256)
```

Calculates the **Lucid protocol fee** based on the bridge fee provided for the Connext message transfer. Returns the fee amount in wei.

Input Params:

<table><thead><tr><th width="146.86328125">Type</th><th>Name</th><th>Description</th></tr></thead><tbody><tr><td>uint256</td><td>amount</td><td>The eth value in wei that is passed to the Bridge to pay for the message transfer</td></tr></tbody></table>
