Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
310 changes: 307 additions & 3 deletions src/content/ccip/llms-full.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

## Summary

`AdvancedPoolHooksExtractor` implements `IExtractor` and transforms `AdvancedPoolHooks` calldata into a canonical list of `IPolicyEngine.Parameter` entries.
Expand All @@ -26,6 +28,14 @@ This contract does not modify state and is safe for on-chain policy evaluation p

`chains/evm/contracts/pools/extractors/AdvancedPoolHooksExtractor.sol`

<GitHubCard
title="AdvancedPoolHooksExtractor.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/extractors/AdvancedPoolHooksExtractor.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

---

## Import
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

## Summary

`AdvancedPoolHooks` is an optional extension contract that can be attached to a `[TokenPool](/ccip/evm/api-reference/v2.0.0/token-pool)` to add:
Expand All @@ -26,6 +28,14 @@ This contract is optional and not required for base pool operation.

`chains/evm/contracts/pools/AdvancedPoolHooks.sol`

<GitHubCard
title="AdvancedPoolHooks.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/AdvancedPoolHooks.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

---

## Import
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

## Summary

`AuthorizedCallers` is an owner-managed access control helper contract.
Expand All @@ -25,6 +27,14 @@ This contract is designed to be inherited by other contracts requiring restricte

`@chainlink/contracts/src/v0.8/shared/access/AuthorizedCallers.sol`

<GitHubCard
title="AuthorizedCallers.sol"
href="https://github.com/smartcontractkit/chainlink-evm/blob/contracts-solidity/1.5.0/contracts/src/v0.8/shared/access/AuthorizedCallers.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

---

## Import
Expand Down
10 changes: 10 additions & 0 deletions src/content/ccip/v2/evm/api-reference/v2.0.0/base-verifier.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BaseVerifier` defines the policy and validation layer for CCIP Cross-Chain Verifier (CCV) contracts.

It provides shared logic for:
Expand All @@ -33,6 +35,14 @@ All CCV implementations inherit from this contract to ensure consistent validati

`ccvs/components/BaseVerifier.sol`

<GitHubCard
title="BaseVerifier.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/ccvs/components/BaseVerifier.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BurnFromMintTokenPool` is a `TokenPool` implementation that burns tokens using `burnFrom` on the source chain and mints tokens on the destination chain.

If you use this pool, tokens are transferred to the pool and burned from the pool’s own balance using `burnFrom(address(this), amount)`.
Expand All @@ -28,6 +30,14 @@ Use this variant when your token requires `burnFrom` and permits the pool contra

`pools/BurnFromMintTokenPool.sol`

<GitHubCard
title="BurnFromMintTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/BurnFromMintTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

## Summary

`BurnMintTokenPoolAbstract` is an abstract base contract for burn/mint-style CCIP token pools.
Expand All @@ -23,6 +25,14 @@ Concrete implementations supply the source-chain burn behavior while reusing the

`chains/evm/contracts/pools/BurnMintTokenPoolAbstract.sol`

<GitHubCard
title="BurnMintTokenPoolAbstract.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/BurnMintTokenPoolAbstract.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

---

## Import
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BurnMintTokenPool` is a `TokenPool` implementation for bridging third-party tokens by burning tokens on the source chain and minting tokens on the destination chain.

If you use this pool, tokens are burned directly from the sender using the token’s standard `burn(amount)` path, rather than being transferred to the pool and burned from the pool’s balance.
Expand All @@ -28,6 +30,14 @@ Use this variant when your token supports direct burn operations and allows the

`pools/BurnMintTokenPool.sol`

<GitHubCard
title="BurnMintTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/BurnMintTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BurnMintWithLockReleaseFlagTokenPool` is a `BurnMintTokenPool` variant that encodes a lock/release flag in `destPoolData` for use by the destination pool.

If you use this pool, the source chain encodes additional metadata that the destination pool uses to determine whether tokens should be locked or released during execution.
Expand All @@ -28,6 +30,14 @@ Use this variant only when the destination pool is explicitly designed to decode

`pools/USDC/BurnMintWithLockReleaseFlagTokenPool.sol`

<GitHubCard
title="BurnMintWithLockReleaseFlagTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/USDC/BurnMintWithLockReleaseFlagTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BurnToAddressMintTokenPool` is a `TokenPool` implementation that transfers tokens to a designated burn address on the source chain and mints tokens on the destination chain.

If you use this pool, tokens are not burned through the token contract. Instead, they are transferred to a specified address that serves as a burn address.
Expand All @@ -31,6 +33,14 @@ Use this variant when your token does not support `burn` or `burnFrom`, and you

`pools/BurnToAddressMintTokenPool.sol`

<GitHubCard
title="BurnToAddressMintTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/BurnToAddressMintTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`BurnWithFromMintTokenPool` is a `TokenPool` implementation for bridging tokens by burning tokens on the source chain and minting tokens on the destination chain.

If you use this pool, tokens are burned from a specified address using the token’s `burn(address, amount)` function.
Expand Down Expand Up @@ -35,6 +37,14 @@ Use this variant when your token exposes a `burn(address, amount)` interface and

`pools/BurnWithFromMintTokenPool.sol`

<GitHubCard
title="BurnWithFromMintTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/BurnWithFromMintTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
10 changes: 10 additions & 0 deletions src/content/ccip/v2/evm/api-reference/v2.0.0/ccip-receiver.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`CCIPReceiver` is an abstract base contract that defines the validated entrypoint for inbound CCIP messages on the destination chain.

The CCIP Router calls `ccipReceive`, which enforces that only the configured Router can deliver messages, then delegates execution to `_ccipReceive`.
Expand Down Expand Up @@ -37,6 +39,14 @@ This contract provides:

`applications/CCIPReceiver.sol`

<GitHubCard
title="CCIPReceiver.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/applications/CCIPReceiver.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

## Summary

`CCTPMessageTransmitterProxy` is a forwarding proxy that restricts access to Circle’s `IMessageTransmitter.receiveMessage` while keeping a stable onchain address.
Expand All @@ -26,6 +28,14 @@ This proxy is used to stabilize the caller address required by CCTP integrations

`chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol`

<GitHubCard
title="CCTPMessageTransmitterProxy.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

---

## Import
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`CCTPVerifier` validates cross-chain USDC messages using Circle CCTP.

If you use this verifier, it confirms that a message and attestation are valid by calling the configured CCTP `MessageTransmitter` and enforcing domain and sender checks.
Expand All @@ -27,7 +29,15 @@ Use this verifier when integrating CCIP with CCTP-based USDC transfers.

## Contract

`verifiers/CCTPVerifier.sol`
`pools/USDC/CCTPThroughCCVTokenPool.sol`

<GitHubCard
title="CCTPThroughCCVTokenPool.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/pools/USDC/CCTPThroughCCVTokenPool.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

Expand Down
10 changes: 10 additions & 0 deletions src/content/ccip/v2/evm/api-reference/v2.0.0/cctp-verifier.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`CCTPVerifier` is a CCIP Cross-Chain Verifier that integrates with Circle CCTP to handle USDC transfers.

On the source chain, it constructs and forwards CCTP burn messages via the configured TokenMessenger.
Expand All @@ -29,6 +31,14 @@ This verifier is specific to CCTP V2 and is not backwards compatible with CCTP V

`ccvs/CCTPVerifier.sol`

<GitHubCard
title="CCTPVerifier.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/ccvs/CCTPVerifier.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

`CCVConfigValidation` provides validation helpers for CCV (Cross-Chain Verifier) configuration arrays used across CCIP components.

It ensures that CCV sets are:
Expand All @@ -31,6 +33,14 @@ These checks prevent invalid or ambiguous verifier configurations from being use

`libraries/CCVConfigValidation.sol`

<GitHubCard
title="CCVConfigValidation.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/libraries/CCVConfigValidation.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
10 changes: 10 additions & 0 deletions src/content/ccip/v2/evm/api-reference/v2.0.0/client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ metadata:
version: "2.0.0"
---

import { GitHubCard } from "@components"

import { Aside } from "@components"

`Client` defines the canonical CCIP message format and encoding helpers used by applications.
Expand All @@ -33,6 +35,14 @@ All CCIP message construction and decoding relies on this library.

`libraries/Client.sol`

<GitHubCard
title="Client.sol"
href="https://github.com/smartcontractkit/chainlink-ccip/blob/contracts-ccip-v2.0.0/chains/evm/contracts/libraries/Client.sol"
iconName="github-svg-card"
>
Check out the complete code on GitHub.
</GitHubCard>

## Import

```solidity
Expand Down
Loading
Loading