You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/components/CCIP/ChainHero/LaneDetailsHero.tsx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -147,7 +147,7 @@ function LaneDetailsHero({
147
147
label="Out of Order Execution"
148
148
clipboardType="out-of-order-execution"
149
149
tooltip={
150
-
<StyledTooltiptip="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
+
<StyledTooltiptip="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."/>
Copy file name to clipboardExpand all lines: src/content/ccip/concepts/architecture/onchain/aptos/components.mdx
-9Lines changed: 0 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,18 +85,9 @@ When the Router forwards a `ccip_send` request, the OnRamp performs the followin
85
85
- If the message involves token transfers, it initiates a secure callback pattern by calling the `Token Admin Dispatcher`.
86
86
- 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.
87
87
88
-
-**Nonce Management**
89
-
- For ordered messages, it calls the `Nonce Manager` to retrieve and increment the sender's nonce for that destination.
90
-
91
88
-**Event Emission**
92
89
- Generates a unique `messageId` and emits a `CCIPMessageSent` event containing the complete, sequenced message details.
93
90
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
-
100
91
## OffRamp
101
92
102
93
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.
Copy file name to clipboardExpand all lines: src/content/ccip/concepts/architecture/onchain/evm/components.mdx
+1-12Lines changed: 1 addition & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,7 +81,7 @@ When the Router forwards a `ccipSend()` request to the OnRamp, the contract perf
81
81
- If the message involves token transfers, it retrieves the correct Token Pool from the Token Admin Registry.
82
82
- Initiates calls to lock or burn the token, based on the token handling mechanism.
83
83
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.
85
85
1.**Message ID Generation**
86
86
- Returns a unique message ID to the Router.
87
87
1.**Event Emission**
@@ -151,17 +151,6 @@ The FeeQuoter is an internal CCIP smart contract that calculates and returns CCI
151
151
152
152
For additional details on how CCIP fees are calculated, refer to the [CCIP Billing page](/ccip/billing).
153
153
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
-
165
154
## Token Admin Registry
166
155
167
156
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:
Copy file name to clipboardExpand all lines: src/content/ccip/concepts/best-practices/evm.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ date: Last Modified
4
4
title: "CCIP Best Practices (EVM)"
5
5
metadata:
6
6
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"
8
8
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"
9
9
datePublished: "2025-05-19T11:22:47Z"
10
10
lastModified: "2025-05-19T11:22:47Z"
@@ -82,7 +82,7 @@ The `allowOutOfOrderExecution` parameter enables you to control the execution or
82
82
-**When `allowOutOfOrderExecution` is Optional:**
83
83
- You can set `allowOutOfOrderExecution` to either `true` or `false`, depending on your application's requirements.
84
84
-**`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.
86
86
87
87
-**When `allowOutOfOrderExecution` is Required:**
88
88
- 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.
Copy file name to clipboardExpand all lines: src/content/ccip/llms-full.txt
+2-22Lines changed: 2 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -1096,7 +1096,7 @@ When the Router forwards a `ccipSend()` request to the OnRamp, the contract perf
1096
1096
- If the message involves token transfers, it retrieves the correct Token Pool from the Token Admin Registry.
1097
1097
- Initiates calls to lock or burn the token, based on the token handling mechanism.
1098
1098
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.
1100
1100
4. **Message ID Generation**
1101
1101
- Returns a unique message ID to the Router.
1102
1102
5. **Event Emission**
@@ -1166,17 +1166,6 @@ The FeeQuoter is an internal CCIP smart contract that calculates and returns CCI
1166
1166
1167
1167
For additional details on how CCIP fees are calculated, refer to the [CCIP Billing page](/ccip/billing).
1168
1168
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
-
1180
1169
## Token Admin Registry
1181
1170
1182
1171
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
1838
1827
- If the message involves token transfers, it initiates a secure callback pattern by calling the `Token Admin Dispatcher`.
1839
1828
- 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.
1840
1829
1841
-
- **Nonce Management**
1842
-
- For ordered messages, it calls the `Nonce Manager` to retrieve and increment the sender's nonce for that destination.
1843
-
1844
1830
- **Event Emission**
1845
1831
- Generates a unique `messageId` and emits a `CCIPMessageSent` event containing the complete, sequenced message details.
1846
1832
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
-
1853
1833
## OffRamp
1854
1834
1855
1835
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
4381
4361
- **When `allowOutOfOrderExecution` is Optional:**
4382
4362
- You can set `allowOutOfOrderExecution` to either `true` or `false`, depending on your application's requirements.
4383
4363
- **`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.
4385
4365
4386
4366
- **When `allowOutOfOrderExecution` is Required:**
4387
4367
- 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