Skip to content

Commit d8d14d8

Browse files
Ccip updates (#3282)
* nonce manager updates + billing bps update * update llms
1 parent ccb507c commit d8d14d8

File tree

7 files changed

+13
-53
lines changed

7 files changed

+13
-53
lines changed

reports/llms-report.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"startedAt": "2025-12-12T16:45:20.957Z",
2+
"startedAt": "2025-12-12T18:52:31.071Z",
33
"siteBase": "https://docs.chain.link",
44
"sections": [
55
{
@@ -30,9 +30,9 @@
3030
"section": "ccip",
3131
"pagesProcessed": 260,
3232
"outputPath": "src/content/ccip/llms-full.txt",
33-
"bytes": 2849877,
33+
"bytes": 2848574,
3434
"prevBytes": 2849877,
35-
"deltaBytes": 0
35+
"deltaBytes": -1303
3636
},
3737
{
3838
"section": "data-feeds",
@@ -87,8 +87,8 @@
8787
"pagesProcessed": 12,
8888
"outputPath": "src/content/resources/llms-full.txt",
8989
"bytes": 341272,
90-
"prevBytes": 339715,
91-
"deltaBytes": 1557
90+
"prevBytes": 341272,
91+
"deltaBytes": 0
9292
},
9393
{
9494
"section": "architecture-overview",
@@ -123,5 +123,5 @@
123123
"deltaBytes": 0
124124
}
125125
],
126-
"finishedAt": "2025-12-12T16:45:24.639Z"
126+
"finishedAt": "2025-12-12T18:52:34.836Z"
127127
}

src/components/CCIP/ChainHero/LaneDetailsHero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ function LaneDetailsHero({
147147
label="Out of Order Execution"
148148
clipboardType="out-of-order-execution"
149149
tooltip={
150-
<StyledTooltip tip="Controls the execution order of your messages on the destination blockchain. Setting this to true allows messages to be executed in any order. Setting it to false ensures messages are executed in sequence, so a message will only be executed if the preceding one has been executed. On lanes where 'Out of Order Execution' is required, you must set this to true; otherwise, the transaction will revert." />
150+
<StyledTooltip tip="Currently controls the execution order of your messages on the destination blockchain. Required = Must be set for all messages, and to True. Optional = Can be set, and if set to True, enables Out-of-Order messaging. Note: Being deprecated in early 2026; OOO becomes default and only option." />
151151
}
152152
>
153153
{getOutOfOrderText(enforceOutOfOrder)}

src/config/data/ccip/data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ export const events: VersionedEvents = {
171171
export const networkFees: NetworkFees = {
172172
tokenTransfers: {
173173
[TokenMechanism.LockAndUnlock]: {
174-
allLanes: { gasTokenFee: "0.07 %", linkFee: "0.063 %" },
174+
allLanes: { gasTokenFee: "0.05 %", linkFee: "0.063 %" },
175175
},
176176
[TokenMechanism.LockAndMint]: {
177177
fromEthereum: { gasTokenFee: "0.50 USD", linkFee: "0.45 USD" },

src/content/ccip/concepts/architecture/onchain/aptos/components.mdx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,9 @@ When the Router forwards a `ccip_send` request, the OnRamp performs the followin
8585
- If the message involves token transfers, it initiates a secure callback pattern by calling the `Token Admin Dispatcher`.
8686
- The dispatcher uses the `Token Admin Registry` to store the message context (sender, receiver, etc.) before invoking the correct `Token Pool` to `lock_or_burn` the assets.
8787

88-
- **Nonce Management**
89-
- For ordered messages, it calls the `Nonce Manager` to retrieve and increment the sender's nonce for that destination.
90-
9188
- **Event Emission**
9289
- Generates a unique `messageId` and emits a `CCIPMessageSent` event containing the complete, sequenced message details.
9390

94-
## Nonce Manager
95-
96-
The `ccip::nonce_manager` module enables optional strict message ordering. It tracks outbound nonces on a per-sender and per-destination-chain basis.
97-
98-
When out-of-order execution is disabled for a message, the `OnRamp` module uses the `Nonce Manager` to assign an incrementing nonce, which is then verified by the `OffRamp` on the destination chain.
99-
10091
## OffRamp
10192

10293
The `ccip_offramp::offramp` module is an internal CCIP module that operates on the destination chain. It is the primary module that the offchain DONs interact with to deliver messages to Aptos.

src/content/ccip/concepts/architecture/onchain/evm/components.mdx

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ When the Router forwards a `ccipSend()` request to the OnRamp, the contract perf
8181
- If the message involves token transfers, it retrieves the correct Token Pool from the Token Admin Registry.
8282
- Initiates calls to lock or burn the token, based on the token handling mechanism.
8383
1. **Nonce Management**
84-
- Uses the Nonce Manager to ensure messages requiring in-order execution are processed in the correct order.
84+
- Uses the Nonce Manager to ensure messages requiring in-order execution are processed in the correct order. Note: In-Order enforcement using Nonce Manager will be deprecated in early 2026.
8585
1. **Message ID Generation**
8686
- Returns a unique message ID to the Router.
8787
1. **Event Emission**
@@ -151,17 +151,6 @@ The FeeQuoter is an internal CCIP smart contract that calculates and returns CCI
151151

152152
For additional details on how CCIP fees are calculated, refer to the [CCIP Billing page](/ccip/billing).
153153

154-
## NonceManager
155-
156-
The NonceManager helps order messages in CCIP by tracking outbound nonces on the source blockchain and inbound nonces on the destination blockchain. It ensures strict ordering when the message's extraArgs parameter requires ordering, thus providing a flexible design.
157-
158-
1. **Ordered Messages**
159-
- **Non-zero Nonces:** When an OnRamp identifies a message that must preserve ordering, it increments and assigns a non-zero outbound nonce.
160-
- **Inbound Validation:** On the destination blockchain, the OffRamp checks that the incoming message's nonce matches the expected inbound nonce. If there is a mismatch, the message is skipped or deferred for later retry.
161-
1. **Out-of-Order Messages**
162-
- **Zero Nonces:** For messages marked "out of order," the OnRamp sets the nonce to **0**.
163-
- **No Sequence Checks:** Because `nonce == 0` indicates no ordering, the OffRamp does not validate or increment inbound nonces. These messages can execute immediately without waiting for earlier messages.
164-
165154
## Token Admin Registry
166155

167156
The Token Admin Registry is a user-facing CCIP smart contract that maintains a one-to-one mapping between token addresses and their corresponding token pool addresses on a given chain. The OnRamp and OffRamp contracts use the Token Admin Registry to retrieve a token's configured token pool address to call the appropriate functions:

src/content/ccip/concepts/best-practices/evm.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: Last Modified
44
title: "CCIP Best Practices (EVM)"
55
metadata:
66
description: "Comprehensive security guide for CCIP on EVM chains covering message verification, gas optimization, token administration, liquidity management, multi-signature protection, and chain-specific considerations for building secure cross-chain applications."
7-
image: "/images/ccip/ccip-hl-v1.6.gif"
7+
image: "/images/ccip/ccip-hl-v1.6.png"
88
excerpt: "ccip evm best practices ethereum security message verification gas limit optimization token administration liquidity management multi-signature contracts ccip receiver extra args defensive programming"
99
datePublished: "2025-05-19T11:22:47Z"
1010
lastModified: "2025-05-19T11:22:47Z"
@@ -82,7 +82,7 @@ The `allowOutOfOrderExecution` parameter enables you to control the execution or
8282
- **When `allowOutOfOrderExecution` is Optional:**
8383
- You can set `allowOutOfOrderExecution` to either `true` or `false`, depending on your application's requirements.
8484
- **`true`:** Messages can be executed in any order relative to other messages from the same sender. If a previous message has not yet been executed on the destination chain, it does not block the execution of subsequent messages.
85-
- **`false`:** Messages are executed in order. CCIP ensures that preceding messages are processed before executing the current message.
85+
- **`false`:** Messages are executed in order. CCIP ensures that preceding messages are processed before executing the current message. Note: Functionality for `allowOutofOrderExecution` = `false` (ie., enforcing In-Order cross-chain messages) is being deprecated in early 2026.
8686

8787
- **When `allowOutOfOrderExecution` is Required:**
8888
- You **must** set `allowOutOfOrderExecution` to `true`. This setting acknowledges that messages may be executed out of order. If set to `false`, the message will revert and will not be processed.

src/content/ccip/llms-full.txt

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ When the Router forwards a `ccipSend()` request to the OnRamp, the contract perf
10961096
- If the message involves token transfers, it retrieves the correct Token Pool from the Token Admin Registry.
10971097
- Initiates calls to lock or burn the token, based on the token handling mechanism.
10981098
3. **Nonce Management**
1099-
- Uses the Nonce Manager to ensure messages requiring in-order execution are processed in the correct order.
1099+
- Uses the Nonce Manager to ensure messages requiring in-order execution are processed in the correct order. Note: In-Order enforcement using Nonce Manager will be deprecated in early 2026.
11001100
4. **Message ID Generation**
11011101
- Returns a unique message ID to the Router.
11021102
5. **Event Emission**
@@ -1166,17 +1166,6 @@ The FeeQuoter is an internal CCIP smart contract that calculates and returns CCI
11661166

11671167
For additional details on how CCIP fees are calculated, refer to the [CCIP Billing page](/ccip/billing).
11681168

1169-
## NonceManager
1170-
1171-
The NonceManager helps order messages in CCIP by tracking outbound nonces on the source blockchain and inbound nonces on the destination blockchain. It ensures strict ordering when the message's extraArgs parameter requires ordering, thus providing a flexible design.
1172-
1173-
1. **Ordered Messages**
1174-
- **Non-zero Nonces:** When an OnRamp identifies a message that must preserve ordering, it increments and assigns a non-zero outbound nonce.
1175-
- **Inbound Validation:** On the destination blockchain, the OffRamp checks that the incoming message's nonce matches the expected inbound nonce. If there is a mismatch, the message is skipped or deferred for later retry.
1176-
2. **Out-of-Order Messages**
1177-
- **Zero Nonces:** For messages marked "out of order," the OnRamp sets the nonce to **0**.
1178-
- **No Sequence Checks:** Because `nonce == 0` indicates no ordering, the OffRamp does not validate or increment inbound nonces. These messages can execute immediately without waiting for earlier messages.
1179-
11801169
## Token Admin Registry
11811170

11821171
The Token Admin Registry is a user-facing CCIP smart contract that maintains a one-to-one mapping between token addresses and their corresponding token pool addresses on a given chain. The OnRamp and OffRamp contracts use the Token Admin Registry to retrieve a token's configured token pool address to call the appropriate functions:
@@ -1838,18 +1827,9 @@ When the Router forwards a `ccip_send` request, the OnRamp performs the followin
18381827
- If the message involves token transfers, it initiates a secure callback pattern by calling the `Token Admin Dispatcher`.
18391828
- The dispatcher uses the `Token Admin Registry` to store the message context (sender, receiver, etc.) before invoking the correct `Token Pool` to `lock_or_burn` the assets.
18401829

1841-
- **Nonce Management**
1842-
- For ordered messages, it calls the `Nonce Manager` to retrieve and increment the sender's nonce for that destination.
1843-
18441830
- **Event Emission**
18451831
- Generates a unique `messageId` and emits a `CCIPMessageSent` event containing the complete, sequenced message details.
18461832

1847-
## Nonce Manager
1848-
1849-
The `ccip::nonce_manager` module enables optional strict message ordering. It tracks outbound nonces on a per-sender and per-destination-chain basis.
1850-
1851-
When out-of-order execution is disabled for a message, the `OnRamp` module uses the `Nonce Manager` to assign an incrementing nonce, which is then verified by the `OffRamp` on the destination chain.
1852-
18531833
## OffRamp
18541834

18551835
The `ccip_offramp::offramp` module is an internal CCIP module that operates on the destination chain. It is the primary module that the offchain DONs interact with to deliver messages to Aptos.
@@ -4381,7 +4361,7 @@ The `allowOutOfOrderExecution` parameter enables you to control the execution or
43814361
- **When `allowOutOfOrderExecution` is Optional:**
43824362
- You can set `allowOutOfOrderExecution` to either `true` or `false`, depending on your application's requirements.
43834363
- **`true`:** Messages can be executed in any order relative to other messages from the same sender. If a previous message has not yet been executed on the destination chain, it does not block the execution of subsequent messages.
4384-
- **`false`:** Messages are executed in order. CCIP ensures that preceding messages are processed before executing the current message.
4364+
- **`false`:** Messages are executed in order. CCIP ensures that preceding messages are processed before executing the current message. Note: Functionality for `allowOutofOrderExecution` = `false` (ie., enforcing In-Order cross-chain messages) is being deprecated in early 2026.
43854365

43864366
- **When `allowOutOfOrderExecution` is Required:**
43874367
- You **must** set `allowOutOfOrderExecution` to `true`. This setting acknowledges that messages may be executed out of order. If set to `false`, the message will revert and will not be processed.

0 commit comments

Comments
 (0)