Skip to content

feat(warp-routes): deployed eth -> celestia -> eden btc warp route#1391

Open
xeno097 wants to merge 4 commits intomainfrom
xeno/btc-eth-celestia-eden
Open

feat(warp-routes): deployed eth -> celestia -> eden btc warp route#1391
xeno097 wants to merge 4 commits intomainfrom
xeno/btc-eth-celestia-eden

Conversation

@xeno097
Copy link
Copy Markdown
Contributor

@xeno097 xeno097 commented Feb 16, 2026

@xeno097 xeno097 marked this pull request as draft February 16, 2026 14:23
@hyper-gonk
Copy link
Copy Markdown
Contributor

hyper-gonk bot commented Feb 16, 2026

Check Warp Deploy Summary

Warp Route ID On-Chain Config Sync
BTC/celestia
BTC/eden

Last updated: 2026-02-20 22:10:14 UTC

paulbalaji added a commit to hyperlane-xyz/hyperlane-warp-ui-template that referenced this pull request Feb 20, 2026
Add 6 warp routes (3 tokens x 2 routes each):
- SOL/celestia: Solana <-> Celestia
- SOL/eden: Celestia <-> Eden
- ETH/celestia: Ethereum <-> Celestia
- ETH/eden: Celestia <-> Eden
- WBTC/celestia: Ethereum (LBTC) <-> Celestia
- WBTC/eden: Celestia <-> Eden

Configs sourced from:
- hyperlane-xyz/hyperlane-registry#1388
- hyperlane-xyz/hyperlane-registry#1389
- hyperlane-xyz/hyperlane-registry#1391

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@xeno097 xeno097 marked this pull request as ready for review February 20, 2026 21:59
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 20, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

This changeadds configuration and deployment manifests to introduce BTC/LBTC warp routes connecting Ethereum, Celestia, and Eden, plus a changeset that bumps the @hyperlane-xyz/registry minor version. No application code changes included.

Changes

Cohort / File(s) Summary
Version Metadata
./.changeset/healthy-donuts-behave.md
Bumps minor version for @hyperlane-xyz/registry and records the LBTC warp route addition.
Celestia Warp Route
deployments/warp_routes/BTC/celestia-config.yaml, deployments/warp_routes/BTC/celestia-deploy.yaml
Adds Celestia token config (BTC native + LBTC collateral link to Ethereum) and deployment entries for Celestia and Ethereum tokens.
Eden Warp Route
deployments/warp_routes/BTC/eden-config.yaml, deployments/warp_routes/BTC/eden-deploy.yaml
Adds Eden↔Celestia token mappings and deployment metadata defining collateral and synthetic roles for BTC across Eden and Celestia.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

A muddy bridge of bits and coins we lay,
From ether winds to Celestia's bay,
Eden nods, the routes align—no fuss, no fight;
LBTC sails calm through warp-lit night. 🐸✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: deploying a BTC warp route connecting Ethereum, Celestia, and Eden.
Description check ✅ Passed The description covers all required sections: it summarizes the changes (BTC warp route configs), confirms backward compatibility, and includes testing evidence with explorer links.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch xeno/btc-eth-celestia-eden

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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
Copy Markdown
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

🧹 Nitpick comments (2)
.changeset/healthy-donuts-behave.md (1)

5-5: Changeset description mismatches the route's canonical symbol.

The message says "lbtc warp route" but the files live under BTC/ and the Celestia/Eden synthetic tokens both carry symbol BTC. Only the Ethereum collateral is LBTC. The PR title itself says "BTC warp route." Worth keeping these consistent to avoid confusion down the road.

✏️ Suggested wording
-Added lbtc warp route for eth<>celestia and celestia<>eden
+Added BTC warp route (LBTC collateral on Ethereum) for eth<>celestia and celestia<>eden
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.changeset/healthy-donuts-behave.md at line 5, Update the changeset message
to match the route's canonical symbol: replace "lbtc warp route" with "BTC warp
route" (or explicitly state "LBTC (Ethereum collateral) ↔ BTC synthetic tokens"
if you want to mention the ETH collateral distinction); ensure references to the
BTC/ directory and the synthetic token symbol BTC are consistent with the PR
title and files rather than using only "lbtc".
deployments/warp_routes/BTC/eden-config.yaml (1)

1-1: Missing yaml-language-server schema comment.

celestia-config.yaml has # yaml-language-server: $schema=../schema.json at the top for IDE validation. This file doesn't. Small thing, but keeps the tooling consistent across the route's config files.

✏️ Proposed fix
+# yaml-language-server: $schema=../schema.json
 tokens:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@deployments/warp_routes/BTC/eden-config.yaml` at line 1, Add the
yaml-language-server schema comment as the first line of this YAML so IDE
validation works; insert the line "# yaml-language-server:
$schema=../schema.json" above the existing "tokens:" key in eden-config.yaml so
the schema applies to the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@deployments/warp_routes/BTC/celestia-config.yaml`:
- Around line 1-22: The two-token route mixes symbols (celestia token symbol BTC
vs ethereum token symbol LBTC), so decide which side is the canonical symbol and
make the config match: either (A) if the route should reflect the ethereum-side
asset, rename the route/directory and any references to use LBTC as the primary
symbol and update metadata (token.symbol, name, logoURI) accordingly for the
celestia entry; or (B) if both tokens represent the same canonical BTC asset,
change the ethereum token entry’s symbol (token.symbol) and name from LBTC to
BTC and adjust coinGeckoId/logoURI to match; locate the entries by their
chainName fields (celestia and ethereum) and the token symbols BTC and LBTC and
update token.symbol/name/logoURI consistently across the route.

---

Nitpick comments:
In @.changeset/healthy-donuts-behave.md:
- Line 5: Update the changeset message to match the route's canonical symbol:
replace "lbtc warp route" with "BTC warp route" (or explicitly state "LBTC
(Ethereum collateral) ↔ BTC synthetic tokens" if you want to mention the ETH
collateral distinction); ensure references to the BTC/ directory and the
synthetic token symbol BTC are consistent with the PR title and files rather
than using only "lbtc".

In `@deployments/warp_routes/BTC/eden-config.yaml`:
- Line 1: Add the yaml-language-server schema comment as the first line of this
YAML so IDE validation works; insert the line "# yaml-language-server:
$schema=../schema.json" above the existing "tokens:" key in eden-config.yaml so
the schema applies to the file.

Comment on lines +1 to +22
# yaml-language-server: $schema=../schema.json
tokens:
- addressOrDenom: "0x726f757465725f6170700000000000000000000000000002000000000000000e"
chainName: celestia
connections:
- token: ethereum|ethereum|0x02D28685e808A962aF327180AD55cEE32Eb94C94
decimals: 8
logoURI: /deployments/warp_routes/BTC/logo.svg
name: BTC
standard: CosmosNativeHypSynthetic
symbol: BTC
- addressOrDenom: "0x02D28685e808A962aF327180AD55cEE32Eb94C94"
chainName: ethereum
coinGeckoId: lombard-staked-btc
collateralAddressOrDenom: "0x8236a87084f8B84306f72007F36F2618A5634494"
connections:
- token: cosmosnative|celestia|0x726f757465725f6170700000000000000000000000000002000000000000000e
decimals: 8
logoURI: /deployments/warp_routes/BTC/lbtc-logo.svg
name: Lombard Staked Bitcoin
standard: EvmHypCollateral
symbol: LBTC
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash

# Find all warp route config files
echo "=== Warp route config files ==="
find deployments/warp_routes -name "*-config.yaml" -type f | sort

# For context, check how many tokens/chains are in each config
echo -e "\n=== Token count per config file ==="
find deployments/warp_routes -name "*-config.yaml" -type f | while read file; do
  count=$(rg -c "chainName:" "$file")
  echo "$file: $count chains"
done | sort

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 36881


🏁 Script executed:

#!/bin/bash

# Check the naming pattern more specifically - multi-chain routes
echo "=== Checking multi-chain route naming patterns ==="
find deployments/warp_routes -name "*-config.yaml" -type f | while read file; do
  chains=$(rg "chainName:" "$file" -o | sed 's/chainName: //' | tr '\n' ' ')
  basename_file=$(basename "$file")
  dirname_file=$(basename $(dirname "$file"))
  echo "Dir: $dirname_file | File: $basename_file | Chains: $chains"
done | head -20

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 1770


🏁 Script executed:

#!/bin/bash

# Check the BTC directory specifically for symbol patterns
echo "=== Checking BTC directory structure ==="
find deployments/warp_routes/BTC -type f | head -20

# Also check symbols in BTC configs
echo -e "\n=== Symbols in BTC configs ==="
rg "symbol:" deployments/warp_routes/BTC/ -A 0 -B 1

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 1338


🏁 Script executed:

#!/bin/bash

# Get actual chain names from a few multi-chain configs to understand naming
echo "=== Analyzing celestia-ethereum route (TIA) ==="
rg "chainName:" deployments/warp_routes/TIA/celestia-ethereum-config.yaml -o | sed 's/chainName: //'

echo -e "\n=== Analyzing BTC celestia route ==="
rg "chainName:" deployments/warp_routes/BTC/celestia-config.yaml -o | sed 's/chainName: //'

echo -e "\n=== Checking if naming truly represents all chains ==="
echo "TIA/celestia-ethereum has: $(rg 'chainName:' deployments/warp_routes/TIA/celestia-ethereum-config.yaml -c) chains"
echo "BTC/celestia has: $(rg 'chainName:' deployments/warp_routes/BTC/celestia-config.yaml -c) chains"

echo -e "\n=== Checking other 2-chain routes with 1-chain labels ==="
for file in deployments/warp_routes/BEST/ethereum-config.yaml deployments/warp_routes/ETH/eni-config.yaml deployments/warp_routes/FORM/ethereum-form-config.yaml; do
  if [ -f "$file" ]; then
    chains=$(rg "chainName:" "$file" -o | sed 's/chainName: //' | tr '\n' '/' | sed 's/\/$//')
    echo "$file: $chains"
  fi
done

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 601


🏁 Script executed:

#!/bin/bash

# Check if there are OTHER symbols in BTC routes (beyond LBTC)
echo "=== All unique symbols in BTC directory configs ==="
rg "symbol:" deployments/warp_routes/BTC/*.yaml | sed 's/.*symbol: //' | sort -u

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 136


🏁 Script executed:

#!/bin/bash

# Extract actual chain names from a few configs
echo "=== TIA/celestia-ethereum routes (2 files) ==="
echo "File 1:"
cat deployments/warp_routes/TIA/celestia-ethereum-config.yaml | grep -A 1 "chainName:"

echo -e "\n=== BTC/celestia route ==="
cat deployments/warp_routes/BTC/celestia-config.yaml | grep -A 1 "chainName:"

echo -e "\n=== BEST/ethereum route ==="
head -30 deployments/warp_routes/BEST/ethereum-config.yaml | grep -A 1 "chainName:"

echo -e "\n=== Summary: Checking if single-chain naming matches reality ==="
# For celestia-config.yaml: filename says "celestia" but has 2 chains
echo "BTC/celestia-config.yaml filename says 'celestia' but has:"
rg "chainName:" deployments/warp_routes/BTC/celestia-config.yaml | wc -l
echo "chains in reality"

echo -e "\nETH/eni-config.yaml filename says 'eni' but has:"
rg "chainName:" deployments/warp_routes/ETH/eni-config.yaml | wc -l
echo "chains in reality"

Repository: hyperlane-xyz/hyperlane-registry

Length of output: 747


Symbol inconsistency worth noting in route structure.

The BTC directory contains two tokens with different symbols: BTC (on celestia) and LBTC (on ethereum, representing Lombard Staked Bitcoin). While this works technically, the registry has a precedent of keeping directory names aligned with primary token symbols (e.g., the oUSDT refactor). If this route intends to represent a cohesive asset bridge, consider whether the directory should reflect the ethereum-side symbol.

The single-chain label in the filename (celestia-config.yaml despite covering two chains) is common throughout the registry—many similar routes use this pattern—so that's not a structural concern.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@deployments/warp_routes/BTC/celestia-config.yaml` around lines 1 - 22, The
two-token route mixes symbols (celestia token symbol BTC vs ethereum token
symbol LBTC), so decide which side is the canonical symbol and make the config
match: either (A) if the route should reflect the ethereum-side asset, rename
the route/directory and any references to use LBTC as the primary symbol and
update metadata (token.symbol, name, logoURI) accordingly for the celestia
entry; or (B) if both tokens represent the same canonical BTC asset, change the
ethereum token entry’s symbol (token.symbol) and name from LBTC to BTC and
adjust coinGeckoId/logoURI to match; locate the entries by their chainName
fields (celestia and ethereum) and the token symbols BTC and LBTC and update
token.symbol/name/logoURI consistently across the route.

paulbalaji added a commit to hyperlane-xyz/hyperlane-warp-ui-template that referenced this pull request Feb 25, 2026
Add 6 warp routes (3 tokens x 2 routes each):
- SOL/celestia: Solana <-> Celestia
- SOL/eden: Celestia <-> Eden
- ETH/celestia: Ethereum <-> Celestia
- ETH/eden: Celestia <-> Eden
- WBTC/celestia: Ethereum (LBTC) <-> Celestia
- WBTC/eden: Celestia <-> Eden

Configs sourced from:
- hyperlane-xyz/hyperlane-registry#1388
- hyperlane-xyz/hyperlane-registry#1389
- hyperlane-xyz/hyperlane-registry#1391

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
paulbalaji added a commit to hyperlane-xyz/hyperlane-warp-ui-template that referenced this pull request Feb 27, 2026
Add 6 warp routes (3 tokens x 2 routes each):
- SOL/celestia: Solana <-> Celestia
- SOL/eden: Celestia <-> Eden
- ETH/celestia: Ethereum <-> Celestia
- ETH/eden: Celestia <-> Eden
- WBTC/celestia: Ethereum (LBTC) <-> Celestia
- WBTC/eden: Celestia <-> Eden

Configs sourced from:
- hyperlane-xyz/hyperlane-registry#1388
- hyperlane-xyz/hyperlane-registry#1389
- hyperlane-xyz/hyperlane-registry#1391

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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