feat: carry real non-EVM CCIP addresses in a ccipNative{} plane - #41
Merged
Merged
Conversation
aelmanaa
force-pushed
the
feat/ccip-native-config
branch
from
September 22, 2026 10:31
0732d53 to
f924e83
Compare
SyedAsadKazmi
approved these changes
Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces and documents support for non-EVM (non-Ethereum Virtual Machine) chain address formats in the project configuration system. The most significant changes are the addition of the
ccipNative{}block andnativeChainIdfield for non-EVM chains (such as Solana and Aptos), ensuring that native chain addresses and IDs are stored in a format appropriate to each chain family. The documentation and sync scripts have been updated to reflect and enforce this separation, preventing non-EVM addresses from being incorrectly placed in the EVM-specificccip{}block, which would break tooling for all chains.Key changes:
1. Non-EVM Chain Support in Configuration
ccipNative{}andnativeChainIdfields to non-EVM chain config files (e.g.,solana-devnet.json,aptos-testnet.json) to store native-format addresses and real chain IDs, while keepingccip{}as an all-zero EVM skeleton andchainIdas"0"for compatibility. [1] [2] [3] [4]2. Documentation Updates
docs/config-architecture.mdanddocs/config-schema.mdto explain the newccipNative{}andnativeChainIdfields, their purpose, and their usage in non-EVM chains, including the rationale for keeping EVM and non-EVM fields separate. [1] [2] [3] [4] [5]docs/gotchas/index.mdanddocs/troubleshooting/index.mdabout the consequences of putting non-EVM addresses inccip{}and how to diagnose and fix related issues. [1] [2]3. Sync Script Enhancements
SyncCcipConfig.s.solto fetch and writeccipNative{}andnativeChainIdfor non-EVM chains during sync operations, ensuring these fields are API-owned and correctly maintained. [1] [2] [3]These changes ensure robust separation between EVM and non-EVM chain configuration data, preventing cross-family incompatibilities and improving the reliability of configuration tooling.