Skip to content

Commit

Permalink
CCIP onboarding of new tokens process (smartcontractkit#1747)
Browse files Browse the repository at this point in the history
* CCIP onboarding of new tokens process

* onboarding of new tokens

* link to concepts

* Update src/content/ccip/supported-networks/index.mdx

* Add links to the Token Pools architecture page

* Concepts intro for supported networks

* Update src/content/ccip/architecture.mdx

Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com>

* Update src/content/ccip/supported-networks/v1_2_0/testnet.mdx

Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com>

* Update src/content/ccip/supported-networks/v1_0_0/mainnet.mdx

Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com>

* Update src/content/ccip/supported-networks/v1_2_0/mainnet.mdx

Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com>

* Update Supported-networks-concepts.mdx

* Update Supported-networks-concepts.mdx

---------

Co-authored-by: aelmanaa <aelmanaa@gmail.com>
Co-authored-by: Amine E <aelmanaa@users.noreply.github.com>
Co-authored-by: Crystal Gomes <thedriftofwords@users.noreply.github.com>
  • Loading branch information
4 people authored and dorianbayart committed Feb 17, 2024
1 parent 9793bf3 commit 17c601b
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 3 deletions.
10 changes: 10 additions & 0 deletions src/content/ccip/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,16 @@ Each token has its own token pool, an abstraction layer over ERC-20 tokens that

Token pools provide rate limiting, which is a security feature enabling token issuers to set a maximum rate at which their token can be transferred.

<Aside type="note" title="Onboarding New Tokens">
Supported tokens for each lane are listed on the [CCIP supported network pages](/ccip/supported-networks). Expanding
support for additional tokens is an ongoing process to help ensure the highest level of cross-chain security. [Token
pool rate limits](/ccip/architecture/#token-pool-rate-limit) are configured per-token for each lane. These rate limits
are set together with token issuers where applicable. Rate limits are also selected based on various factors, such as
the unique risk characteristics of the token and the intended use cases. The onboarding process for adding new tokens
also helps ensure that dApps and users interact with the correct token version, reducing risks within the cross-chain
ecosystem.
</Aside>

#### Risk Management Network contract

The Risk Management contract maintains the list of Risk Management node addresses that are allowed to bless or curse. The contract also holds the quorum logic for blessing a committed Merkle Root and cursing CCIP on a destination blockchain. Read the [Risk Management Network Concepts](/ccip/concepts#risk-management-network) section to learn more.
Expand Down
4 changes: 3 additions & 1 deletion src/content/ccip/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,6 @@ Read [What Are Cross-Chain Smart Contracts](https://chain.link/education-hub/cro

## Supported Networks

See the [Supported Networks](/ccip/supported-networks/) page for a list of supported networks and contract addresses.
See the [Supported Networks](/ccip/supported-networks/) page for a list of supported networks, tokens, and contract addresses.

To learn about tokens, token pools, and the token onboarding process, see the [CCIP Architecture](/ccip/architecture#token-pools) page.
4 changes: 3 additions & 1 deletion src/content/ccip/supported-networks/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ title: "CCIP Supported Networks"
isIndex: true
---

Click on the following links to find the latest configuration for Chainlink CCIP:
Supported tokens and configurations vary from one network to another and might differ from one version to another. Check the latest supported tokens and the latest configuration for the specific version of CCIP that you use:

- Mainnets:
- [v1.2.0](/ccip/supported-networks/v1_2_0/mainnet)
- [v1.0.0 (Deprecated)](/ccip/supported-networks/v1_0_0/mainnet)
- Testnets:
- [v1.2.0](/ccip/supported-networks/v1_2_0/testnet)

To learn about tokens, token pools, and the token onboarding process, see the [CCIP Architecture](/ccip/architecture#token-pools) page.
4 changes: 4 additions & 0 deletions src/content/ccip/supported-networks/v1_0_0/mainnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ title: "CCIP Supported Networks Mainnet - v1.0.0"
import { Aside } from "@components"
import Main from "@features/ccip/components/supported-networks/Main.astro"
import { Environment, Version } from "@config/data/ccip"
import CcipCommon from "@features/ccip/CcipCommon.astro"

<Aside type="note" title="Mainnet Access">
[Apply for Mainnet Early Access](https://chainlinkcommunity.typeform.com/ccip-form?#ref_id=ccip_docs) to start
Expand Down Expand Up @@ -35,4 +36,7 @@ import { Environment, Version } from "@config/data/ccip"
[release notes](/ccip/release-notes) for a comprehensive overview of the enhancements and new features in v1.2.0.
</Aside>

<CcipCommon callout="supportedNetworksConcepts" />

## Configuration
<Main environment={Environment.Mainnet} version={Version.V1_0_0} />
4 changes: 4 additions & 0 deletions src/content/ccip/supported-networks/v1_2_0/mainnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ title: "CCIP Supported Networks Mainnet - v1.2.0"
import { Aside } from "@components"
import Main from "@features/ccip/components/supported-networks/Main.astro"
import { Environment, Version } from "@config/data/ccip"
import CcipCommon from "@features/ccip/CcipCommon.astro"

<Aside type="note" title="Mainnet Access">
[Apply for Mainnet Early Access](https://chainlinkcommunity.typeform.com/ccip-form?#ref_id=ccip_docs) to start
Expand Down Expand Up @@ -34,4 +35,7 @@ import { Environment, Version } from "@config/data/ccip"
[release notes](/ccip/release-notes) for a comprehensive overview of the enhancements and new features in v1.2.0.
</Aside>

<CcipCommon callout="supportedNetworksConcepts" />

## Configuration
<Main environment={Environment.Mainnet} version={Version.V1_2_0} />
4 changes: 4 additions & 0 deletions src/content/ccip/supported-networks/v1_2_0/testnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ title: "CCIP Supported Networks Testnet - v1.2.0"
import { Aside } from "@components"
import Main from "@features/ccip/components/supported-networks/Main.astro"
import { Environment, Version } from "@config/data/ccip"
import CcipCommon from "@features/ccip/CcipCommon.astro"

<Aside type="note" title="Testnet tokens">
Read the [LINK Token Contracts](/resources/link-token-contracts?parent=ccip) page to learn where to get testnet LINK
and native gas tokens. You can pay fees for each network in native gas tokens, wrapped native gas tokens, or LINK
tokens.
</Aside>

<CcipCommon callout="supportedNetworksConcepts" />

## Configuration
<Main environment={Environment.Testnet} version={Version.V1_2_0} />
5 changes: 4 additions & 1 deletion src/features/ccip/CcipCommon.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ const extraArgsCallout = await Astro.glob("./ExtraArgsCallout.mdx")
const ExtraArgsCalloutComponent = extraArgsCallout[0].Content
const thirdPartyApps = await Astro.glob("./third-party-apps.mdx")
const ThirdPartyAppsComponent = thirdPartyApps[0].Content
const SupportedNetworksConcepts = await Astro.glob("./Supported-networks-concepts.mdx")
const SupportedNetworksConceptsComponent = SupportedNetworksConcepts[0].Content
export type Props = {
callout?: "extraArgsCallout" | "thirdPartyApps"
callout?: "extraArgsCallout" | "thirdPartyApps" | "supportedNetworksConcepts"
}
const { callout } = Astro.props as Props
---

{callout === "extraArgsCallout" && <ExtraArgsCalloutComponent />}
{callout === "thirdPartyApps" && <ThirdPartyAppsComponent />}
{callout === "supportedNetworksConcepts" && <SupportedNetworksConceptsComponent />}
5 changes: 5 additions & 0 deletions src/features/ccip/Supported-networks-concepts.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { Aside } from "@components"

The configurations detailed on this page refer to [token pools](/ccip/architecture#token-pools) and [CCIP rate limits](/ccip/architecture#ccip-rate-limits). Each supported token has a [token pool](/ccip/architecture#token-pools) to facilitate various operations for transferring token value, and to enable [rate limits](/ccip/architecture#ccip-rate-limits) on token transfers. There are [rate limits for each individual token pool](/ccip/architecture#token-pool-rate-limit) and also [aggregate rate limits](/ccip/architecture#aggregate-rate-limit) that apply to all supported tokens on a particular lane. Both types of rate limits have a maximum capacity and a refill rate.

This page also lists the supported fee tokens for each lane, which shows how you can pay for CCIP fees. The [CCIP Billing](/ccip/billing) page explains how CCIP fees are calculated.

0 comments on commit 17c601b

Please sign in to comment.