docs: fix broken link and add CCTP contract addresses#19
docs: fix broken link and add CCTP contract addresses#19johnletey merged 5 commits intonoble-assets:mainfrom
Conversation
WalkthroughRemoved a Callout and replaced placeholder Mainnet/Testnet blocks with populated contract-address tables in the contract addresses page; fixed a Markdown hyperlink syntax error in the homepage. No public/exported API changes. Changes
Sequence Diagram(s)Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
pages/index.mdx (1)
11-11: Corrected Markdown Link in the "Noble Design" Section
The updated Markdown hyperlink for the industry-standard documentation now appears properly formatted. Additionally, while the link fix resolves the broken syntax, consider revising the phrase “with regards to” to “regarding” (or similar) for improved clarity and formality.🧰 Tools
🪛 LanguageTool
[misspelling] ~11-~11: Although “with regards to” is sometimes used in casual speech, it is typically considered a nonstandard phrase.
Context: ...sign.md) smart contracting capabilities with regards to asset issuance functionality. This func...(IN_OR_WITH_REGARDS_TO_OF)
pages/cctp/contract_addresses.mdx (1)
18-20: Consistency in the Testnet Section Address Formatting
In the Testnet table, the "OP Mainnet" and "Arbitrum" rows list plain text addresses, whereas the Ethereum and Avalanche rows use Markdown hyperlinks. For consistency and ease of navigation, consider wrapping these addresses in hyperlink syntax—provided that a suitable explorer URL exists. If intentionally omitted, a brief comment noting this divergence would aid future maintainers.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
pages/cctp/contract_addresses.mdx(1 hunks)pages/index.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
pages/index.mdx
[misspelling] ~11-~11: Although “with regards to” is sometimes used in casual speech, it is typically considered a nonstandard phrase.
Context: ...sign.md) smart contracting capabilities with regards to asset issuance functionality. This func...
(IN_OR_WITH_REGARDS_TO_OF)
🔇 Additional comments (1)
pages/cctp/contract_addresses.mdx (1)
7-10: Valid Contract Addresses in the Mainnet Section
The Mainnet table now properly provides contract addresses with hyperlinks that point directly to the respective blockchain explorer pages. This enhancement improves usability and traceability for users verifying contract details.
| | Ethereum | 0 | [0x1ae045d99236365cbdc1855acd2d2cfc232d04d1](https://goerli.etherscan.io/address/0x1ae045d99236365cbdc1855acd2d2cfc232d04d1) | | ||
| | Avalanche | 1 | [0x7B66B923F808193a157E1b38Ef8C3AE8a97ACe98](https://testnet.snowtrace.io/address/0x7b66b923f808193a157e1b38ef8c3ae8a97ace98#code) | | ||
| | Optimism | 2 | 0x7B66B923F808193a157E1b38Ef8C3AE8a97ACe98 | | ||
| | OP Mainnet| 2 | 0x7B66B923F808193a157E1b38Ef8C3AE8a97ACe98 | |
There was a problem hiding this comment.
this should rather be testnet right 😇
There was a problem hiding this comment.
thanks for catching that. updated!
|
@adiraviraj Could we get all other CCTP v1 networks added here? |
|
@johnletey added |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (3)
pages/cctp/contract_addresses.mdx (3)
5-6: Clarify column label: specify contract and version (CCTP v1).This table lists TokenMessenger (v1) addresses. Naming it explicitly avoids confusion with V2 contracts.
-| Chain | Domain | Address | +| Chain | Domain | TokenMessenger address (v1) | | :-------- | :----: | ------: |
7-13: Use EIP-55 checksum casing for consistency; values verified against Circle docs.Only Ethereum and Avalanche rows need casing updates. Domains and addresses match Circle’s TokenMessenger v1 list (including Unichain=10). (developers.circle.com)
-| Ethereum | 0 | [0xbd3fa81b58ba92a82136038b25adec7066af3155](https://etherscan.io/address/0xbd3fa81b58ba92a82136038b25adec7066af3155) | -| Avalanche | 1 | [0x6b25532e1060ce10cc3b0a99e5683b91bfde6982](https://snowtrace.io/address/0x6b25532e1060ce10cc3b0a99e5683b91bfde6982) | +| Ethereum | 0 | [0xBd3fa81B58Ba92a82136038B25aDec7066af3155](https://etherscan.io/address/0xbd3fa81b58ba92a82136038b25adec7066af3155) | +| Avalanche | 1 | [0x6B25532e1060CE10cc3B0A99e5683b91BFDe6982](https://snowtrace.io/address/0x6b25532e1060ce10cc3b0a99e5683b91bfde6982) |
18-23: Complete v1 testnets and tighten formatting; values verified against Circle docs.
- Add Base Sepolia and Polygon PoS Amoy TokenMessenger (v1) rows.
- Rename column to reflect contract/version and remove trailing spaces/pipe in header. (developers.circle.com)
-| Chain | Domain | Address | +| Chain | Domain | TokenMessenger address (v1) | | :-------- | :----: | ------: | | Ethereum Sepolia | 0 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia.etherscan.io/address/0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5) | | Avalanche Fuji | 1 | [0xeb08f243E5d3FCFF26A9E38Ae5520A669f4019d0](https://testnet.snowtrace.io/address/0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0) | | OP Sepolia | 2 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia-optimism.etherscan.io/address/0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5) | | Arbitrum Sepolia | 3 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia.arbiscan.io/address/0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5) | +| Base Sepolia | 6 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia.basescan.org/address/0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5) | +| Polygon PoS Amoy | 7 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://amoy.polygonscan.com/address/0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5) |Note: Unichain Sepolia appears under Message(V2) docs, not TokenMessenger(v1); add only if you intend to document V2 separately. (developers.circle.com)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
pages/cctp/contract_addresses.mdx(1 hunks)
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (2)
pages/cctp/contract_addresses.mdx (2)
29-29: Prefer Polygonscan for Amoy to match mainnet explorer consistency.Use
amoy.polygonscan.cominstead of OKLink for consistency with the mainnet Polygon row.-| Polygon PoS Amoy | 7 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://www.oklink.com/amoy/address/0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5) | +| Polygon PoS Amoy | 7 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://amoy.polygonscan.com/address/0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5) |
5-16: Add provenance note (“Last updated” + source).Below each table, add a one-liner with last-updated date and a link to the authoritative source to reduce drift and ease audits.
Also applies to: 21-32
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
pages/cctp/contract_addresses.mdx(1 hunks)
| | Chain | Domain | Address | | ||
| | :-------- | :----: | ------: | | ||
| | Ethereum | 0 | [0xbd3fa81b58ba92a82136038b25adec7066af3155](https://etherscan.io/address/0xbd3fa81b58ba92a82136038b25adec7066af3155) | | ||
| | Avalanche | 1 | [0x6b25532e1060ce10cc3b0a99e5683b91bfde6982](https://snowtrace.io/address/0x6b25532e1060ce10cc3b0a99e5683b91bfde6982) | | ||
| | OP Mainnet | 2 | [0x2B4069517957735bE00ceE0fadAE88a26365528f](https://optimistic.etherscan.io/address/0x2b4069517957735be00cee0fadae88a26365528f) | | ||
| | Arbitrum | 3 | [0x19330d10D9Cc8751218eaf51E8885D058642E08A](https://arbiscan.io/address/0x19330d10D9Cc8751218eaf51E8885D058642E08A) | | ||
| | Solana | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3) | | ||
| | Base | 6 | [0x1682Ae6375C4E4A97e4B583BC394c861A46D8962](https://basescan.org/address/0x1682Ae6375C4E4A97e4B583BC394c861A46D8962) | | ||
| | Polygon PoS | 7 | [0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE](https://polygonscan.com/address/0x9daf8c91aefae50b9c0e69629d3f6ca40ca3b3fe) | | ||
| | Sui | 8 | [0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e](https://suiscan.xyz/mainnet/object/0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e/tx-blocks) | | ||
| | Aptos | 9 | [0x9bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d](https://explorer.aptoslabs.com/account/0x9bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d/transactions?network=mainnet) | | ||
| | Unichain | 10 | [0x4e744b28E787c3aD0e810eD65A24461D4ac5a762](https://uniscan.xyz/address/0x4e744b28E787c3aD0e810eD65A24461D4ac5a762) | |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Confirm domain IDs and network coverage (gap at domain “4”, Unichain support).
There’s no row for domain “4”, and Unichain (domain “10”) is listed. Please verify these domain assignments against Circle’s CCTP v1 mapping and confirm Unichain’s inclusion is supported.
Also applies to: 21-32
🌐 Web query:
Circle CCTP domain ID mapping for all supported v1 networks (which chain is domain 4?)
💡 Result:
Short answer: domain 4 = Noble. [1][2]
Full Circle CCTP domain mappings (as listed by Circle):
0 = Ethereum.
1 = Avalanche.
2 = OP (Optimism).
3 = Arbitrum.
4 = Noble.
5 = Solana.
6 = Base.
7 = Polygon PoS.
10 = Unichain.
11 = Linea.
12 = Codex.
13 = Sonic.
14 = World Chain.
16 = Sei.
17 = BNB Smart Chain (BSC). [1][2]
Sources: Circle developer docs — Supported Domains and CCTP contracts/pages. [1] (developers.circle.com) [2] (developers.circle.com)
Citations:
- 1: https://developers.circle.com/stablecoins/docs/supported-domains?utm_source=openai
- 2: https://developers.circle.com/cctp/evm-smart-contracts?utm_source=openai
Add missing Noble network (domain 4)
- In pages/cctp/contract_addresses.mdx (after the Arbitrum row), insert a table entry for Noble (domain 4) per Circle CCTP v1 mapping.
- The Unichain entry (domain 10) aligns with the official mapping and requires no change.
🤖 Prompt for AI Agents
In pages/cctp/contract_addresses.mdx around lines 5 to 16, add the missing Noble
network row (domain 4) immediately after the Arbitrum row: insert a table entry
with "Noble" as the Chain, "4" as the Domain, and the official Noble CCTP v1
contract address with a link to its block explorer per the Circle CCTP v1
mapping; ensure the Markdown table alignment matches the existing rows and do
not alter the Unichain (domain 10) entry.
| | Avalanche Fuji | 1 | [0xeb08f243E5d3FCFF26A9E38Ae5520A669f4019d0](https://testnet.snowtrace.io/address/0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0) | | ||
| | OP Sepolia | 2 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia-optimism.etherscan.io/address/0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5) | | ||
| | Arbitrum Sepolia | 3 | [0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5](https://sepolia.arbiscan.io/address/0x9f3b8679c73c2fef8b59b4f3444d4e156fb70aa5) | | ||
| | Solana Devnet | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3) | |
There was a problem hiding this comment.
Fix Solana Devnet link to point to Devnet (missing cluster param).
Current link opens the account on mainnet. Append ?cluster=devnet.
-| Solana Devnet | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3) |
+| Solana Devnet | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3?cluster=devnet) |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | Solana Devnet | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3) | | |
| | Solana Devnet | 5 | [CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3](https://solscan.io/account/CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3?cluster=devnet) | |
🤖 Prompt for AI Agents
pages/cctp/contract_addresses.mdx around line 27: the Solana Devnet URL
currently points to the mainnet view; update the link by appending the cluster
query parameter so it opens the devnet cluster (add ?cluster=devnet to the URL),
keeping the rest of the markdown table cell intact.
| | Sui Testnet | 8 | 0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb | | ||
| | Aptos Testnet | 9 | 0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9 | |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Add explorer links for Sui Testnet and Aptos Testnet for parity with other rows.
These two rows show raw addresses only; link them to the same explorers used for mainnet with proper testnet params.
-| Sui Testnet | 8 | 0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb |
-| Aptos Testnet | 9 | 0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9 |
+| Sui Testnet | 8 | [0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb](https://suiscan.xyz/testnet/object/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/tx-blocks) |
+| Aptos Testnet | 9 | [0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9](https://explorer.aptoslabs.com/account/0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9/transactions?network=testnet) |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | Sui Testnet | 8 | 0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb | | |
| | Aptos Testnet | 9 | 0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9 | | |
| | Sui Testnet | 8 | [0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb](https://suiscan.xyz/testnet/object/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/tx-blocks) | | |
| | Aptos Testnet | 9 | [0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9](https://explorer.aptoslabs.com/account/0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9/transactions?network=testnet) | |
🤖 Prompt for AI Agents
In pages/cctp/contract_addresses.mdx around lines 30-31, the Sui Testnet and
Aptos Testnet rows currently show raw addresses only; update those table cells
to mirror other rows by wrapping each address with the same explorer link format
used for mainnet but pointing to the explorers' testnet view (i.e., use the Sui
explorer URL with the network=testnet param for the Sui address and the Aptos
explorer testnet URL for the Aptos address), ensuring the visible text remains
the short/raw address while the markdown/HTML anchor targets the testnet
explorer.
fixes a formatting issue in a markdown link and adds CCTP contract addresses to
contract_addresses.mdx.Summary by CodeRabbit