Skip to content

Commit a721aee

Browse files
authored
Token terminology update (#1414)
1 parent eba9f0b commit a721aee

File tree

15 files changed

+30
-30
lines changed

15 files changed

+30
-30
lines changed

public/samples/CCIP/Messenger.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ contract Messenger is CCIPReceiver, OwnerIsCreator {
191191

192192
/// @notice Sends data to receiver on the destination chain.
193193
/// @notice Pay for fees in native gas.
194-
/// @dev Assumes your contract has sufficient native gas coins.
194+
/// @dev Assumes your contract has sufficient native gas tokens.
195195
/// @param _destinationChainSelector The identifier (aka selector) for the destination blockchain.
196196
/// @param _receiver The address of the recipient on the destination blockchain.
197197
/// @param _text The text to be sent.

scripts/reference/chains.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
"wss://bsc-ws-node.nariox.org"
9090
],
9191
"faucets": ["https://free-online-app.com/faucet-for-eth-evm-chains/"],
92-
"nativeCurrency": { "name": "Binance Chain Native Gas Coin", "symbol": "BNB", "decimals": 18 },
92+
"nativeCurrency": { "name": "Binance Chain Native Gas Token", "symbol": "BNB", "decimals": 18 },
9393
"infoURL": "https://www.binance.org",
9494
"shortName": "bnb",
9595
"chainId": 56,
@@ -110,7 +110,7 @@
110110
"https://bsc-testnet.publicnode.com"
111111
],
112112
"faucets": ["https://testnet.binance.org/faucet-smart"],
113-
"nativeCurrency": { "name": "Binance Chain Native Gas Coin", "symbol": "tBNB", "decimals": 18 },
113+
"nativeCurrency": { "name": "Binance Chain Native Gas Token", "symbol": "tBNB", "decimals": 18 },
114114
"infoURL": "https://testnet.binance.org/",
115115
"shortName": "bnbt",
116116
"chainId": 97,

src/pages/ccip/api-reference/Client.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ struct EVM2AnyMessage {
8181
| receiver | bytes | Receiver address. Use `abi.encode(sender)` to encode the address to _bytes_. |
8282
| data | bytes | Payload sent within the CCIP message. |
8383
| tokenAmounts | Client.EVMTokenAmount[] | Tokens and their amounts in the source chain representation. |
84-
| feeToken | address | Address of feeToken. Set `address(0)` to pay in native gas coins such as ETH on Ethereum or MATIC on Polygon. |
84+
| feeToken | address | Address of feeToken. Set `address(0)` to pay in native gas tokens such as ETH on Ethereum or MATIC on Polygon. |
8585
| extraArgs | bytes | Users fill in the [EVMExtraArgsV1 struct](#evmextraargsv1) then encode it to bytes using the [\_argsToBytes function](#_argstobytes) |
8686

8787
### EVM_EXTRA_ARGS_V1_TAG

src/pages/ccip/architecture.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ One OffRamp contract per [lane](/ccip/concepts#lane) exists. This contract perfo
8787

8888
Each token has its own token pool, an abstraction layer over ERC-20 tokens that facilitates OnRamp and OffRamp token-related operations. Token pools are configurable to `lock` or `burn` at the source blockchain and `unlock` or `mint` at the destination blockchain. The mechanism for handling tokens depends on the characteristics of the token in question. Here are a few examples:
8989

90-
- Blockchain-native gas coins, such as ETH, MATIC, and AVAX, can only be minted on their native chains. These tokens cannot be burned on the source and minted at the destination to transfer these tokens between chains. Instead, the linked token pool uses a "Lock and Mint" approach that locks the token at its source and then mints a wrapped or synthetic asset on the destination blockchain. This synthetic asset represents the locked asset and is essential for redeeming the locked asset.
90+
- Blockchain-native gas tokens, such as ETH, MATIC, and AVAX, can only be minted on their native chains. These tokens cannot be burned on the source and minted at the destination to transfer these tokens between chains. Instead, the linked token pool uses a "Lock and Mint" approach that locks the token at its source and then mints a wrapped or synthetic asset on the destination blockchain. This synthetic asset represents the locked asset and is essential for redeeming the locked asset.
9191
- A token like LINK is minted on a single chain (Ethereum mainnet) with a fixed total supply. CCIP cannot natively mint it on another chain. In this case, the "Lock and Mint" approach is required.
9292
- Some tokens can be minted on multiple chains. Examples of such tokens include stablecoins like USDC, TUSD, USDT, and FRAX. The linked token pools use a "Burn and Mint" method to burn the token at its source and then mint it natively on the destination blockchain. Wrapped assets such as WBTC or WETH are other examples that use the "Burn and Mint" approach.
9393
- A token with a Proof Of Reserve (PoR) feed on a specific chain poses a challenge for the "Burn and Mint" method when applied to other chains because it conflicts with the PoR feed. For these tokens, "Lock and Mint" is the preferred approach.
@@ -134,7 +134,7 @@ Read the [ARM concepts](/ccip/concepts#active-risk-management-arm-network) page
134134

135135
The CCIP billing model uses the `feeToken` specified in the message to pay a single fee on the source chain. CCIP uses a gas-locked fee payment mechanism, referred to as _Smart Execution_, to help ensure the reliable execution of cross-chain transactions regardless of destination chain gas spikes. For developers, this means you can simply pay on the source chain and CCIP will take care of execution on the destination chain.
136136

137-
On each source chain, CCIP maintains a cache of destination gas prices, denominated in each `feeToken`. To prevent staleness, these prices are routinely updated by either piggybacking user messages or timeouts. CCIP supports fee payments in LINK and in alternative assets, which currently includes native blockchain gas coins and their ERC20 wrapped versions. The payment model for CCIP is designed to significantly reduce friction for users and quickly scale CCIP to more blockchains by supporting fee payments that originate across a multitude of chains over time.
137+
On each source chain, CCIP maintains a cache of destination gas prices, denominated in each `feeToken`. To prevent staleness, these prices are routinely updated by either piggybacking user messages or timeouts. CCIP supports fee payments in LINK and in alternative assets, which currently includes blockchain-native gas tokens and their ERC20 wrapped versions. The payment model for CCIP is designed to significantly reduce friction for users and quickly scale CCIP to more blockchains by supporting fee payments that originate across a multitude of chains over time.
138138

139139
### Overheads and fees
140140

src/pages/ccip/getting-started.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { CodeSample, ClickToZoom, CopyText, Aside } from "@components"
1717

1818
A simple use case for Chainlink CCIP is sending data between smart contracts on different blockchains. This guide shows you how to deploy a CCIP sender contract and a CCIP receiver contract to two different blockchains and send data from the sender contract to the receiver contract. You pay the CCIP fees using LINK.
1919

20-
Fees can also be paid in alternative assets, which currently include the native gas coins of the source blockchain and their ERC20 wrapped version. For example, you can pay ETH or WETH when you send transactions to the CCIP router on Ethereum and MATIC or WMATIC when you send transactions to the CCIP router on Polygon.
20+
Fees can also be paid in alternative assets, which currently include the native gas tokens of the source blockchain and their ERC20 wrapped version. For example, you can pay ETH or WETH when you send transactions to the CCIP router on Ethereum and MATIC or WMATIC when you send transactions to the CCIP router on Polygon.
2121

2222
## Before you begin
2323

src/pages/ccip/supported-networks.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Each available network has two rate limits:
2828

2929
Both limits have a _Refill rate_, which is the speed at which the maximum capacity is restored. For example, if 100 LINK is transferred using the Ethereum Sepolia => Optimism Goerli Lane, the total capacity for that lane is used up. After that, the maximum capacity restores at a rate of 1 LINK per second.
3030

31-
Read the [LINK Token Contracts](/resources/link-token-contracts?parent=ccip) page to learn where to get testnet LINK and native gas coins. You can pay fees for each network in native gas coins, wrapped native gas coins, or LINK tokens.
31+
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.
3232

3333
## Service Limits
3434

src/pages/ccip/tutorials/cross-chain-tokens-from-eoa.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ To transfer tokens and pay in LINK, use the following command:
9696
node src/transfer-tokens.js sourceChain destinationChain destinationAccount tokenAddress amount feeTokenAddress
9797
```
9898

99-
The `feeTokenAddress` parameter specifies the token address for paying CCIP fees. The supported tokens for paying fees include LINK, the native gas coin of the source blockchain (ETH for Ethereum), and the wrapped native gas coin (WETH for Ethereum).
99+
The `feeTokenAddress` parameter specifies the token address for paying CCIP fees. The supported tokens for paying fees include LINK, the native gas token of the source blockchain (ETH for Ethereum), and the wrapped native gas token (WETH for Ethereum).
100100

101101
Complete the following steps in your terminal:
102102

@@ -269,9 +269,9 @@ The script calls the router to estimate the fees for transferring tokens.
269269

270270
This section handles the actual transferring of tokens. It covers three cases:
271271

272-
- **Fees paid using the native gas coin:** The contract makes one approval for the transfer amount. The fees are included in the `value` transaction field.
273-
- **Fees paid using an asset different from the native gas coin and the token being transferred:** The contracts makes two approvals. The first approval is for the transfer amount and the second approval is for the fees.
274-
- **Fees paid using the same asset that is being transferred, but not the native gas coin:** The contract makes a single approval for the sum of the transfer amount and fees.
272+
- **Fees paid using the native gas token:** The contract makes one approval for the transfer amount. The fees are included in the `value` transaction field.
273+
- **Fees paid using an asset different from the native gas token and the token being transferred:** The contracts makes two approvals. The first approval is for the transfer amount and the second approval is for the fees.
274+
- **Fees paid using the same asset that is being transferred, but not the native gas token:** The contract makes a single approval for the sum of the transfer amount and fees.
275275

276276
The script waits for the transaction to be validated and stores the transaction receipt.
277277

src/pages/ccip/tutorials/cross-chain-tokens.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ whatsnext:
1515
import { CodeSample, ClickToZoom, CopyText, Aside } from "@components"
1616
import CcipCommon from "@features/ccip/CcipCommon.astro"
1717

18-
In this tutorial, you will use Chainlink CCIP to transfer tokens from a smart contract to an account on a different blockchain. First, you will pay for the CCIP fees on the source blockchain using LINK. Then, you will use the same contract to pay CCIP fees in native gas coins. For example, you would use ETH on Ethereum or MATIC on Polygon.
18+
In this tutorial, you will use Chainlink CCIP to transfer tokens from a smart contract to an account on a different blockchain. First, you will pay for the CCIP fees on the source blockchain using LINK. Then, you will use the same contract to pay CCIP fees in native gas tokens. For example, you would use ETH on Ethereum or MATIC on Polygon.
1919

2020
<Aside type="note" title="Node Operator Rewards">
2121
CCIP rewards the oracle node and ARM node operators in LINK.
@@ -127,7 +127,7 @@ You will transfer _0.001 CCIP-BnM_. The CCIP fees for using CCIP will be paid in
127127

128128
You will transfer _0.001 CCIP-BnM_. The CCIP fees for using CCIP will be paid in Sepolia's native ETH. Read this [explanation](#transferring-tokens-and-pay-in-native) for a detailed description of the code example.
129129

130-
1. Open MetaMask and connect to _Ethereum Sepolia_. Fund your contract with native gas coins. You can transfer <CopyText text="0.01" code/> _ETH_ to your contract. **Note**: The native gas coins are used to pay for CCIP fees.
130+
1. Open MetaMask and connect to _Ethereum Sepolia_. Fund your contract with native gas tokens. You can transfer <CopyText text="0.01" code/> _ETH_ to your contract. **Note**: The native gas tokens are used to pay for CCIP fees.
131131

132132
1. Transfer CCIP-BnM from _Ethereum Sepolia_:
133133

@@ -159,7 +159,7 @@ You will transfer _0.001 CCIP-BnM_. The CCIP fees for using CCIP will be paid in
159159
alt="Chainlink CCIP Explorer transaction details"
160160
/>
161161

162-
1. The CCIP transaction is completed once the status is marked as "Success". The data field is empty because you only transfer tokens. Note that CCIP fees are denominated in LINK. Even if CCIP fees are paid using native gas coins, node operators will be paid in LINK.
162+
1. The CCIP transaction is completed once the status is marked as "Success". The data field is empty because you only transfer tokens. Note that CCIP fees are denominated in LINK. Even if CCIP fees are paid using native gas tokens, node operators will be paid in LINK.
163163

164164
<br />
165165

@@ -226,7 +226,7 @@ The `transferTokensPayNative` function undertakes five primary operations:
226226
- The `tokenAmounts` is an array, with each element comprising an `EVMTokenAmount` [struct](/ccip/api-reference/Client#evmtokenamount) containing the token address and amount. The array contains one element where the `_token` (token address) and `_amount` (token amount) are passed by the user when calling the `transferTokensPayNative` function.
227227
- The `extraArgs` specifies the `gasLimit` for relaying the message to the recipient contract on the destination blockchain, along with a `strict` parameter. In this example, the `gasLimit` is set to `0` because the contract only transfers tokens and does not expect function calls on the destination blockchain. The `strict` parameter is set to `false`.
228228
**Note**: If `strict` is true and `ccipReceive` reverts on the destination blockchain, subsequent messages from the same sender will be blocked by CCIP until the reverted message can be executed.
229-
- The `_feeTokenAddress` designates the token address used for CCIP fees. Here, `address(0)` signifies payment in native gas coins (ETH).
229+
- The `_feeTokenAddress` designates the token address used for CCIP fees. Here, `address(0)` signifies payment in native gas tokens (ETH).
230230

231231
{" "}
232232

src/pages/ccip/tutorials/programmable-token-transfers.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ whatsnext:
1515
import { CodeSample, ClickToZoom, CopyText, Aside } from "@components"
1616
import CcipCommon from "@features/ccip/CcipCommon.astro"
1717

18-
In this tutorial, you will use Chainlink CCIP to transfer tokens and arbitrary data between smart contracts on different blockchains. First, you will pay for the CCIP fees on the source blockchain using LINK. Then, you will use the same contract to pay CCIP fees in native gas coins. For example, you would use ETH on Ethereum or MATIC on Polygon.
18+
In this tutorial, you will use Chainlink CCIP to transfer tokens and arbitrary data between smart contracts on different blockchains. First, you will pay for the CCIP fees on the source blockchain using LINK. Then, you will use the same contract to pay CCIP fees in native gas tokens. For example, you would use ETH on Ethereum or MATIC on Polygon.
1919

2020
<Aside type="note" title="Node Operator Rewards">
2121
CCIP rewards the oracle node and ARM node operators in LINK.
@@ -146,7 +146,7 @@ You will transfer _0.001 CCIP-BnM_ and a text. The CCIP fees for using CCIP will
146146

147147
You will transfer _0.001 CCIP-BnM_ and a text. The CCIP fees for using CCIP will be paid in Sepolia's native ETH. Read this [explanation](#transferring-tokens-and-data-and-pay-in-native) for a detailed description of the code example.
148148

149-
1. Open MetaMask and connect to _Ethereum Sepolia_. Fund your contract with ETH tokens. You can transfer <CopyText text="0.01" code/> _ETH_ to your contract. The native gas coins are used to pay the CCIP fees.
149+
1. Open MetaMask and connect to _Ethereum Sepolia_. Fund your contract with ETH tokens. You can transfer <CopyText text="0.01" code/> _ETH_ to your contract. The native gas tokens are used to pay the CCIP fees.
150150

151151
1. Send a string data with tokens from _Ethereum Sepolia_:
152152

@@ -178,7 +178,7 @@ You will transfer _0.001 CCIP-BnM_ and a text. The CCIP fees for using CCIP will
178178
alt="Chainlink CCIP Explorer transaction details"
179179
/>
180180

181-
1. The CCIP transaction is completed once the status is marked as "Success". In this example, the CCIP message ID is _0x3a2cde0d0dd07f2b2e7841b550221101d57792eb581a75ed11419022f13fd865_. Note that CCIP fees are denominated in LINK. Even if CCIP fees are paid using native gas coins, node operators will be paid in LINK.
181+
1. The CCIP transaction is completed once the status is marked as "Success". In this example, the CCIP message ID is _0x3a2cde0d0dd07f2b2e7841b550221101d57792eb581a75ed11419022f13fd865_. Note that CCIP fees are denominated in LINK. Even if CCIP fees are paid using native gas tokens, node operators will be paid in LINK.
182182

183183
<br />
184184

@@ -255,7 +255,7 @@ The `sendMessagePayNative` function undertakes five primary operations:
255255
- The `data` is encoded from a `string` to `bytes` using [abi.encode](https://docs.soliditylang.org/en/develop/abi-spec.html).
256256
- The `tokenAmounts` is an array, with each element comprising an `EVMTokenAmount` [struct](/ccip/api-reference/Client#evmtokenamount) containing the token address and amount. The array contains one element where the `_token` (token address) and `_amount` (token amount) are passed by the user when calling the `transferTokensPayNative` function.
257257
- The `extraArgs` specifies the `gasLimit` for relaying the message to the recipient contract on the destination blockchain, along with a `strict` parameter. In this example, the `gasLimit` is set to `200000` and `strict` is set to `false`. **Note**: If `strict` is true and `ccipReceive` reverts on the destination blockchain, subsequent messages from the same sender will be blocked by CCIP until the reverted message can be executed.
258-
- The `_feeTokenAddress` designates the token address used for CCIP fees. Here, `address(0)` signifies payment in native gas coins (ETH).
258+
- The `_feeTokenAddress` designates the token address used for CCIP fees. Here, `address(0)` signifies payment in native gas tokens (ETH).
259259

260260
{" "}
261261

0 commit comments

Comments
 (0)