Skip to content

Conversation

Mo-Hussain
Copy link
Contributor

@Mo-Hussain Mo-Hussain commented Oct 8, 2025

Description

  • deploy staging USDC/eclipsemainnet-ethereum-solanamainnet route

Summary by CodeRabbit

  • New Features

    • Public metadata published for USD Coin (Stage) for use by wallets, explorers and UIs.
    • Token definitions added for multiple chains (names, symbols, decimals, logos) with cross‑chain connections so wallets and bridges can recognize linked assets.
    • New deployment configuration enabling USDC Stage as a synthetic and collateralized asset across chains.
  • Chores

    • Standardized metadata/schema introduced for consistent public asset descriptors.

@Mo-Hussain Mo-Hussain self-assigned this Oct 8, 2025
Copy link

changeset-bot bot commented Oct 8, 2025

⚠️ No Changeset found

Latest commit: 55abe59

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

github-actions bot commented Oct 8, 2025

Check Warp Deploy Summary

Warp Route ID Status
USDCSTAGE/eclipsemainnet-ethereum-solanamainnet

Last updated: 2025-10-17 14:08:26 UTC

Copy link
Contributor

coderabbitai bot commented Oct 8, 2025

📝 Walkthrough

Walkthrough

Adds three new files for the USDCSTAGE warp route: a metadata.json, a tokens config YAML linking Ethereum, Sealevel (eclipsemainnet), and Solana entries, and a deployment YAML describing synthetic and collateral deployment details and addresses.

Changes

Cohort / File(s) Summary of Changes
Metadata
deployments/warp_routes/USDCSTAGE/metadata.json
Added public metadata JSON for USD Coin STAGE: name, symbol, description, image, and empty attributes array.
Warp route token config
deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-config.yaml
Added tokens array with three token entries for eclipsemainnet, ethereum, and solanamainnet, each listing addressOrDenom, optional collateralAddressOrDenom, connections, decimals, logoURI, name, standard, and symbol.
Deployment spec
deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-deploy.yaml
Added new deployment: eclipsemainnet synthetic deployment with foreignDeployment, gasLimit, and an ethereum collateral entry (owner, token address, symbol, interchainSecurityModule).

Sequence Diagram(s)

sequenceDiagram
    participant Config as Config repo
    participant Deployer as Deployment tooling
    participant Warp as Warp Routes service
    participant Ethereum as Ethereum chain
    participant Sealevel as Sealevel (eclipsemainnet)
    participant Solana as Solana chain

    Note over Config: New files added for USDCSTAGE
    Config->>Deployer: provide deploy YAML + token config
    Deployer->>Warp: register warp route & tokens
    Warp->>Sealevel: link Sealevel synthetic token entry
    Warp->>Ethereum: register collateral token & owner
    Warp->>Solana: register Solana collateral mapping
    Note right of Warp: Route now maps tokens across chains
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • paulbalaji
  • ltyu
  • xeno097

Poem

A wee route set up across the streams,
Tokens mapped and neat as dreams.
Metadata tucked, addresses placed,
Bridges ready, no haste — just taste. 🍃

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description is quite incomplete compared to the template. It only includes the Description section with a single bullet point that largely restates the title. The template requires two additional sections: Backward compatibility (a Yes/No answer about compatibility) and Testing (details about validating the new metadata configs and deployment addresses with Hyperlane tooling). Both of these sections are entirely missing, making this a significantly incomplete submission.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title "feat: deploy staging USDC/eclipsemainnet-ethereum-solanamainnet route" clearly and specifically describes the main change in this pull request. The changeset adds configuration and metadata files for a new USDC staging deployment across three chains (Eclipse mainnet, Ethereum, and Solana mainnet), which is exactly what the title communicates. It's concise, avoids vague terminology, and gives reviewers an immediate understanding of what's being deployed.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch mo/usdc-eclipse-staging

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 03b8562 and 55abe59.

📒 Files selected for processing (2)
  • deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-config.yaml (1 hunks)
  • deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-deploy.yaml (1 hunks)
🧰 Additional context used
🪛 Gitleaks (8.28.0)
deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-deploy.yaml

[high] 10-10: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: check-warp-deploy
🔇 Additional comments (4)
deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-deploy.yaml (2)

1-4: Eclipse and Ethereum deployments look properly configured.

The foreign deployment address and collateral setup align with the config file. One thing though—the static analysis flagged line 10 as a potential API key, but that's just a false positive. The address 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 is the well-known USDC token on Ethereum mainnet, so no worries there.

Just confirm that the Ethereum warp route address (0x04C26A1Efb87D5Ac9ee6179754B4CDDC61fC11d5 in the config file) is the correct deployment—if you've got that validated on your end, we're good to go.


5-11: Collateral deployment on Ethereum looks solid.

Owner, symbol, and collateral token address are all set. The zero address for interchainSecurityModule is fine if that's the intended setup for staging.

deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-config.yaml (2)

3-12: Eclipse token entry is wired up correctly.

The eclipsemainnet synthetic token bridges to both Ethereum and Solana properly. Connections reference the right addresses, and the decimals and metadata all line up.


13-22: Ethereum collateral entry looks good.

The token points to the actual USDC on Ethereum, and the collateral address matches what's in the deploy config. Connections to Eclipse are set.

Comment on lines +23 to +32
- addressOrDenom: E5rVV8zXwtc4TKGypCJvSBaYbgxa4XaYg5MS6N9QGdeo
chainName: solanamainnet
collateralAddressOrDenom: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
connections:
- token: sealevel|eclipsemainnet|6QSWUmEaEcE2KJrU5jq7T11tNRaVsgnG8XULezjg7JjL
decimals: 6
logoURI: /deployments/warp_routes/USDCSTAGE/logo.svg
name: USDCSTAGE
standard: SealevelHypCollateral
symbol: USDCSTAGE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Solana collateral setup is valid, but fix the name field inconsistency.

The Solana entry has everything it needs—proper address, collateral reference, and connection back to Eclipse. One thing to tidy up though: line 30 uses USDCSTAGE for the name, while the Eclipse and Ethereum entries both use USD Coin STAGE. Keep it consistent.

Apply this diff to match the naming convention:

-    name: USDCSTAGE
+    name: USD Coin STAGE
📝 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.

Suggested change
- addressOrDenom: E5rVV8zXwtc4TKGypCJvSBaYbgxa4XaYg5MS6N9QGdeo
chainName: solanamainnet
collateralAddressOrDenom: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
connections:
- token: sealevel|eclipsemainnet|6QSWUmEaEcE2KJrU5jq7T11tNRaVsgnG8XULezjg7JjL
decimals: 6
logoURI: /deployments/warp_routes/USDCSTAGE/logo.svg
name: USDCSTAGE
standard: SealevelHypCollateral
symbol: USDCSTAGE
- addressOrDenom: E5rVV8zXwtc4TKGypCJvSBaYbgxa4XaYg5MS6N9QGdeo
chainName: solanamainnet
collateralAddressOrDenom: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
connections:
- token: sealevel|eclipsemainnet|6QSWUmEaEcE2KJrU5jq7T11tNRaVsgnG8XULezjg7JjL
decimals: 6
logoURI: /deployments/warp_routes/USDCSTAGE/logo.svg
name: USD Coin STAGE
standard: SealevelHypCollateral
symbol: USDCSTAGE
🤖 Prompt for AI Agents
In
deployments/warp_routes/USDCSTAGE/eclipsemainnet-ethereum-solanamainnet-config.yaml
around lines 23 to 32, the Solana entry uses the name field "USDCSTAGE" which is
inconsistent with the Eclipse and Ethereum entries; change the name value to
"USD Coin STAGE" (matching spacing and casing used elsewhere) so the three
entries share the same display name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant