Skip to content

feat: enable Across and deBridge swappers#12208

Open
stuuagentclaw wants to merge 1 commit intoshapeshift:developfrom
stuuagentclaw:feat/enable-across-debridge-swappers
Open

feat: enable Across and deBridge swappers#12208
stuuagentclaw wants to merge 1 commit intoshapeshift:developfrom
stuuagentclaw:feat/enable-across-debridge-swappers

Conversation

@stuuagentclaw
Copy link
Copy Markdown

@stuuagentclaw stuuagentclaw commented Mar 25, 2026

Description

Enable Across Protocol and deBridge DLN as active swap routes by setting their feature flags to true.

Both swappers are fully implemented and have been in the codebase for weeks:

Impact

Enabling these swappers adds 2 new route providers to ShapeShift's quote comparison engine, competing alongside Relay, THORChain, Chainflip, and other active swappers for best execution.

Key chains that gain additional routes:

  • MegaETH: Relay (active) + Across (81 routes) + deBridge
  • Berachain: Relay (active) + deBridge
  • Scroll, Linea, Sonic, Mantle, Cronos: gain Across and/or deBridge routes
  • Existing chains (ETH, ARB, OP, Base, etc.): more route competition = better prices

Across supported chains (verified via API)

Ethereum, Optimism, BNB, Polygon, Arbitrum, zkSync, Linea, Base, Scroll, Blast, Mode, Ink, Unichain, Worldchain, Monad, MegaETH, HyperEVM, Plasma, Soneium + more

deBridge supported chains (verified via API)

Ethereum, Optimism, BNB, Polygon, Arbitrum, Avalanche, Base, Linea, Sonic, Story, Flow EVM, MegaETH, Berachain, Mantle, Cronos, BOB, Gnosis, SEI + more

Risk

Medium - Enables two new swap routes globally. Both have been in the codebase behind flags and tested via their respective integration PRs. No new contracts or on-chain interaction changes.

Affected: All swap quotes will now include Across and deBridge routes when available for the selected pair. Users may see more route options.

Testing

Engineering

  • Verify type-check and lint pass
  • Verify Across quotes return for ETH → ARB swap
  • Verify deBridge quotes return for ETH → BSC swap
  • Verify both appear in quote comparison alongside Relay/THORChain

Operations

  • Verify Across route appears in swap UI for supported chains
  • Verify deBridge route appears in swap UI for supported chains
  • Verify swap execution works end-to-end for at least one Across route
  • Verify swap execution works end-to-end for at least one deBridge route
  • Verify quote comparison shows multiple routes when available

Summary by CodeRabbit

  • New Features
    • Enabled Across Swap and deBridge Swap features in the application.

Enable VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP feature flags.

Both swappers are fully implemented and wired to multiple chains:
- Across: supports 20+ EVM chains including MegaETH, Scroll, Base, Arbitrum
- deBridge: supports 12+ EVM chains including MegaETH, Berachain, Sonic

These swappers have been in the codebase since PR shapeshift#11941 (deBridge) and
earlier (Across), with chain wiring expanded in PRs shapeshift#12143 and shapeshift#12144.

Enabling them adds competitive route options alongside Relay, THORChain,
and Chainflip for best-price routing.
@stuuagentclaw stuuagentclaw requested a review from a team as a code owner March 25, 2026 10:19
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

Two Vite feature flags were enabled in the .env file: VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP were toggled from false to true.

Changes

Cohort / File(s) Summary
Environment Configuration
.env
Enabled two feature flags: VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP changed from false to true.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Two flags now dance in the .env file so bright,
Across Swap and deBridge, enabled with delight!
From false to true, the features take flight, 🚀
Simple, swift, and pure configuration might!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: enabling two feature flags for Across and deBridge swappers in the environment configuration.
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

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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.env:
- Line 367: Remove the redundant mode-specific environment variable entries for
VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP: since these flags are
already defined globally (VITE_FEATURE_ACROSS_SWAP and
VITE_FEATURE_DEBRIDGE_SWAP present in the main .env), open the environment files
for specific modes and delete any lines that set VITE_FEATURE_ACROSS_SWAP or
VITE_FEATURE_DEBRIDGE_SWAP so the global values are authoritative and no
mode-specific overrides remain.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1fa77b38-5809-4043-949d-ba32dfb247b1

📥 Commits

Reviewing files that changed from the base of the PR and between 7b7725d and ebca0a6.

📒 Files selected for processing (1)
  • .env


# deBridge DLN
VITE_FEATURE_DEBRIDGE_SWAP=false
VITE_FEATURE_DEBRIDGE_SWAP=true
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
set -euo pipefail

echo "Scanning .env variants for Across/deBridge feature flags..."
fd -HI '^\.env(\..+)?$' | while read -r f; do
  rg -n '^(VITE_FEATURE_ACROSS_SWAP|VITE_FEATURE_DEBRIDGE_SWAP)=' "$f" || true
done

echo
echo "Expected: only .env contains these keys (set to true), and .env.* files contain no entries for them."

Repository: shapeshift/web

Length of output: 359


Remove VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP from mode-specific .env.* files.

These flags are now globally enabled in .env (lines 362, 367) but still exist in .env.development or .env.production (lines 150, 152). Following the project convention, remove them from mode-specific env files to avoid redundant overrides.

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

In @.env at line 367, Remove the redundant mode-specific environment variable
entries for VITE_FEATURE_ACROSS_SWAP and VITE_FEATURE_DEBRIDGE_SWAP: since these
flags are already defined globally (VITE_FEATURE_ACROSS_SWAP and
VITE_FEATURE_DEBRIDGE_SWAP present in the main .env), open the environment files
for specific modes and delete any lines that set VITE_FEATURE_ACROSS_SWAP or
VITE_FEATURE_DEBRIDGE_SWAP so the global values are authoritative and no
mode-specific overrides remain.

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