Skip to content
Merged
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
90 changes: 76 additions & 14 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,89 @@ name: Test
on: [push, pull_request]

jobs:
test:
name: Test
# Job 1: Check Solidity Compilation and Solhint
solidity:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Checkout Repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
uses: actions/checkout@v4

- name: Cache NPM dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install Dependencies
run: npm i
run: npm ci

- name: Check Solidity Compilation
run: npm run sol:compile

- name: Check Solidity Solhint
run: npm run lint-solc
- name: Check Eslint

# Job 2: Check ESLint
eslint:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Cache NPM dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install Dependencies
run: npm ci

- name: Check ESLint
run: npm run lint
- name: Build
run: npm run build
# TODO: fix css files throwing 404 errors
- name: Check internal links

# Job 3: Check Internal Links
linkcheck-internal:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Cache NPM dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install Dependencies
run: npm ci

- name: Check Internal Links
run: npm run linkcheck-internal
- name: Check types
run: npm run typecheck

# Job 4: Check Types
typecheck:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Cache NPM dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install Dependencies
run: npm ci

- name: Check Types
run: npm run typecheck
4 changes: 2 additions & 2 deletions src/components/QuickLinks/data/productChainLinks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,12 @@ export const productChainLinks: ProductChainLinks = {
logo: automationLogo,
chains: {
arbitrum: "/chainlink-automation/overview/supported-networks#arbitrum",
avalanche: "/chainlink-automation/overview/supported-networks#avalanche-mainnet",
avalanche: "/chainlink-automation/overview/supported-networks#avalanche",
base: "/chainlink-automation/overview/supported-networks#base",
"bnb-chain": "/chainlink-automation/overview/supported-networks#bnb-chain",
ethereum: "/chainlink-automation/overview/supported-networks#ethereum",
fantom: "/chainlink-automation/overview/supported-networks#fantom",
"gnosis-chain": "/chainlink-automation/overview/supported-networks#gnosis-chain-xdai",
"gnosis-chain": "/chainlink-automation/overview/supported-networks#gnosis",
optimism: "/chainlink-automation/overview/supported-networks#optimism",
polygon: "/chainlink-automation/overview/supported-networks#polygon",
},
Expand Down
6 changes: 4 additions & 2 deletions src/content/ccip/api-reference/v1.5.1/client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ struct EVM2AnyMessage {
| feeToken | address | Address of feeToken. address(0) means you will send msg.value. |
| extraArgs | bytes | Populate this with \_argsToBytes(EVMExtraArgsV2). |

### EVMExtraArgsV1
### EVMExtraArgs

#### EVMExtraArgsV1

```solidity
bytes4 public constant EVM_EXTRA_ARGS_V1_TAG = 0x97a657c9;
Expand All @@ -89,7 +91,7 @@ struct EVMExtraArgsV1 {
}
```

### EVMExtraArgsV2
#### EVMExtraArgsV2

```solidity
bytes4 public constant EVM_EXTRA_ARGS_V2_TAG = 0x181dcf10;
Expand Down
2 changes: 1 addition & 1 deletion src/content/ccip/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ Chainlink CCIP token transfers benefit from rate limits for additional security.

You can find the complete list of lanes and their rate limits on the [CCIP Directory](/ccip/directory) page.

The rate limits are enforced at both the source and destination blockchains for maximum security. If these rate limits are reached, descriptive errors with detailed information are generated and returned to the sender. This enables CCIP users to gracefully handle these errors within their dApps to preserve the end-user experience. A comprehensive list of errors and their descriptions is available on the [errors API reference](/ccip/api-reference/v1.5.1/errors#ratelimiter) page.
The rate limits are enforced at both the source and destination blockchains for maximum security. If these rate limits are reached, descriptive errors with detailed information are generated and returned to the sender. This enables CCIP users to gracefully handle these errors within their dApps to preserve the end-user experience. A comprehensive list of errors and their descriptions is available on the [errors API reference](/ccip/api-reference/v1.5.1/errors#rate-limiter-errors) page.

### Token pool rate limit

Expand Down
14 changes: 8 additions & 6 deletions src/content/ccip/concepts/cross-chain-tokens.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ The **Token Pool contract** is responsible for executing the cross-chain token t
- **BurnMintTokenPool**: Handles the burning, or minting of tokens depending whether it is the source or destination blockchain.
- **LockReleaseTokenPool**: Handles the locking or releasing of tokens depending on whether it is the source or destination blockchain.

For more information on the token pool contracts and their functionalities, refer to the [Requirement for Token Pools](#requirement-for-token-pools) section.
For more information on the token pool contracts and their functionalities, refer to the [Requirement for Token Pools](#requirements-for-token-pools) section.

### Registration

Expand Down Expand Up @@ -548,13 +548,15 @@ The configuration of token pools includes adding new blockchains, setting remote
- **Usage**:
- To add a new blockchain, the pool owner provides the remote chain selector, pool address, token address, and rate limiter configurations.
- To remove a blockchain, the `allowed` flag is set to `false`, and the chain is removed from the list of supported chains.
1. [`setRemotePool`](/ccip/api-reference/v1.5.1/token-pool#setremotepool):
1. [`addRemotePool`](/ccip/api-reference/v1.5.1/token-pool#addremotepool):

- **Purpose**: Set the remote pool's address to link the current token pool to a corresponding pool on a remote blockchain.
- **Purpose**: Adds a new remote pool address for a specific blockchain, enabling support for multiple pools per chain.
- **Details**:
- This function is used to establish the connection between token pools on different blockchains.
- It validates the provided chain selector and updates the remote pool address for the selected chain.
- **Usage**: This function sets or updates the remote pool address for a specific blockchain.
- Allows adding multiple pools for a single chain selector, which is crucial during pool upgrades
- Maintains support for in-flight messages from existing pools while adding new ones
- Validates chain selector support and prevents duplicate pool additions
- Each pool address is hashed and stored for efficient lookup
- **Usage**: This function is particularly useful during pool upgrades, allowing seamless transitions between pool versions while maintaining transaction support.

1. [`setChainRateLimiterConfig`](/ccip/api-reference/v1.5.1/token-pool#setchainratelimiterconfig):

Expand Down
Loading
Loading