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
@@ -14,7 +14,7 @@ import CcipCommon from "@features/ccip/CcipCommon.astro"
14
14
15
15
## Introduction
16
16
17
-
This guide explains how to construct CCIP Messages from Ethereum Virtual Machine (EVM) chains (e.g. Ethereum) to SVM chains (e.g. Solana). We'll cover the message structure, required parameters, and implementation details for different message types including token transfers, arbitrary data messaging, and programmatic token transfers (data and tokens).
17
+
This guide explains how to construct CCIP Messages from Ethereum Virtual Machine (EVM) chains (e.g. Ethereum) to SVM chains (e.g. Solana). We'll cover the message structure, required parameters, and implementation details for different message types including token transfers, arbitrary data messaging, and programmable token transfers (data and tokens).
18
18
19
19
## CCIP Message Structure
20
20
@@ -36,7 +36,7 @@ struct EVM2AnyMessage {
36
36
-**Token-only transfers**:
37
37
-**Use**: `0x0000000000000000000000000000000000000000000000000000000000000000` (32-byte zero address)
38
38
-**Why**: No program execution needed for token-only transfers.
39
-
-**Arbitrary Messaging** or **Programmatic Token Transfers**:
39
+
-**Arbitrary Messaging** or **Programmable Token Transfers**:
40
40
-**Use**: The program ID of the SVM program that implements the `ccip_receive` instruction, converted to a 32-byte hex format.
41
41
-**Why**: The program will process the incoming CCIP message and execute the `ccip_receive` instruction.
42
42
@@ -61,7 +61,7 @@ struct EVM2AnyMessage {
61
61
62
62
-**Definition**: Contains the payload that will be passed to the receiving program
63
63
-**For token-only transfers**: Empty (`0x`)
64
-
-**For arbitrary messaging** or **programmatic token transfers**: Contains the data the receiver program will process
64
+
-**For arbitrary messaging** or **programmable token transfers**: Contains the data the receiver program will process
65
65
-**Encoding requirement**: Must be encoded as a hex string with `0x`· prefix
-**Definition**: An array of token addresses and amounts to transfer
82
82
-**For data-only messages**: Must be an empty array
83
-
-**For token transfers** or **programmatic token transfers**: Each entry specifies a token address and amount. **Note**: Check the [CCIP Directory](/ccip/directory) for the list of supported tokens on each lane
83
+
-**For token transfers** or **programmable token transfers**: Each entry specifies a token address and amount. **Note**: Check the [CCIP Directory](/ccip/directory) for the list of supported tokens on each lane
84
84
85
85
### feeToken
86
86
@@ -115,7 +115,7 @@ Specifies the amount of compute units allowed for calling the `ccip_receive` ins
115
115
116
116
-**For token transfers only**: **MUST** be set to 0
117
117
118
-
-**For arbitrary messaging** or **programmatic token transfers**: Must be
118
+
-**For arbitrary messaging** or **programmable token transfers**: Must be
119
119
determined through comprehensive testing of the receiver program under different conditions
120
120
121
121
</Aside>
@@ -390,7 +390,7 @@ Use this configuration when sending only data messages to SVM:
390
390
391
391
</Aside>
392
392
393
-
### Programmatic Token Transfer (Data and Tokens)
393
+
### Programmable Token Transfer (Data and Tokens)
394
394
395
395
Use this configuration when sending both tokens and data in a single message:
Copy file name to clipboardExpand all lines: src/content/ccip/tutorials/svm/destination/index.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,8 +4,8 @@ date: Last Modified
4
4
title: "CCIP Tutorials: EVM to SVM"
5
5
isIndex: true
6
6
metadata:
7
-
description: "Learn how to implement cross-chain communication from Ethereum to Solana using Chainlink CCIP. Tutorials cover token transfers, arbitrary messaging, and programmatic token transfers with detailed implementation guides."
description: "Learn how to implement cross-chain communication from Ethereum to Solana using Chainlink CCIP. Tutorials cover token transfers, arbitrary messaging, and programmable token transfers with detailed implementation guides."
Copy file name to clipboardExpand all lines: src/content/ccip/tutorials/svm/source/build-messages.mdx
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@ date: Last Modified
4
4
title: "Building CCIP Messages from SVM to EVM"
5
5
isIndex: false
6
6
metadata:
7
-
description: "Comprehensive guide for implementing Cross-Chain Interoperability Protocol (CCIP) messages from SVM to EVM chains. Learn how to structure messages, manage account requirements, and implement token transfers, arbitrary data messaging, and programmatic token transfers."
description: "Comprehensive guide for implementing Cross-Chain Interoperability Protocol (CCIP) messages from SVM to EVM chains. Learn how to structure messages, manage account requirements, and implement token transfers, arbitrary data messaging, and programmable token transfers."
@@ -14,7 +14,7 @@ import CcipCommon from "@features/ccip/CcipCommon.astro"
14
14
15
15
## Introduction
16
16
17
-
This guide explains how to construct CCIP Messages from SVM chains (e.g. Solana) to EVM chains (e.g. Ethereum, Arbitrum, Avalanche, etc.). We'll cover the message structure, required parameters, account management, and implementation details for different message types including token transfers, arbitrary data messaging, and programmatic token transfers (data and tokens).
17
+
This guide explains how to construct CCIP Messages from SVM chains (e.g. Solana) to EVM chains (e.g. Ethereum, Arbitrum, Avalanche, etc.). We'll cover the message structure, required parameters, account management, and implementation details for different message types including token transfers, arbitrary data messaging, and programmable token transfers (data and tokens).
18
18
19
19
## CCIP Message Structure
20
20
@@ -68,7 +68,7 @@ pub struct SVM2AnyMessage {
68
68
69
69
-**Definition**: Contains the payload that will be passed to the receiving contract on the destination chain
70
70
-**For token-only transfers**: Must be empty
71
-
-**For arbitrary messaging** or **programmatic token transfers**: Contains the data the receiver contract will process
71
+
-**For arbitrary messaging** or **programmable token transfers**: Contains the data the receiver contract will process
72
72
-**Encoding consideration**: The receiver on the destination chain must be able to correctly decode this data.
73
73
74
74
<Asidetitle="Data Encoding for Cross-Chain Messages">
@@ -150,7 +150,7 @@ struct GenericExtraArgsV2 {
150
150
151
151
-**Gas limit**:
152
152
- For token transfers only: Gas limit must be set to 0
153
-
- For arbitrary messaging or programmatic token transfers: gas limit must be set based on the receiving contract's complexity.
153
+
- For arbitrary messaging or programmable token transfers: gas limit must be set based on the receiving contract's complexity.
154
154
-**Allow out of order execution**:
155
155
- Must always be set to true.
156
156
@@ -257,7 +257,7 @@ Use this configuration when sending only data to EVM chains:
257
257
258
258
</Aside>
259
259
260
-
### Programmatic Token Transfer (Data and Tokens)
260
+
### Programmable Token Transfer (Data and Tokens)
261
261
262
262
Use this configuration when sending both tokens and data in a single message:
Copy file name to clipboardExpand all lines: src/content/ccip/tutorials/svm/source/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ title: "CCIP Tutorials: SVM to EVM"
5
5
isIndex: true
6
6
metadata:
7
7
description: "Learn how to implement cross-chain communication from Solana to Ethereum using Chainlink CCIP. Tutorials cover environment setup, token transfers, and message building with detailed implementation guides."
0 commit comments