Retire DOT-HEZ bridge from the Bridge screen

The DOT<->HEZ bridge backend (the legacy single-key bot) is being
permanently decommissioned - it had zero multisig protection and no
liquidity gate at all on that leg (unconditionally "active" regardless
of pool state, the single least-safe path in the whole bridge). Once
USDT bridging is solid, HEZ is reachable indirectly (bridge USDT, swap
for HEZ within Pezkuwi's own ecosystem) without a dedicated native
bridge that would need its own from-scratch security work (native
currency has no Assets.approve_transfer-style delegation to reuse).

- BridgePair/BridgeDirection collapsed to USDT-only (USDT_TO_WUSDT/
  WUSDT_TO_USDT) - kept the pair/pairOptions/picker structure itself
  since it costs nothing and is the natural seam for a future pair,
  rather than hardcoding a single value inline.
- Removed the now-dead DOT/HEZ exchange-rate fetching (CoinGecko
  polling, fallback rate) and liquidity-gate logic entirely, not just
  the unreachable enum branches.
- Removed the separate "Bridge DOT ↔ HEZ" entry from the asset
  selector bottom sheet (BuySellSelectorMixin) - both it and "Bridge
  USDT" opened the exact same screen with no preset, so keeping a
  DOT-HEZ-labeled entry pointing at a USDT-only screen would have been
  actively misleading, not just redundant.
- bridge_title was the generic toolbar/picker-sheet title but hardcoded
  "DOT ↔ HEZ Bridge" regardless of pair - fixed to "USDT Bridge".
- Removed now-unreferenced strings (wallet_asset_bridge,
  bridge_pair_dot_hez, bridge_rate_format(_reverse),
  bridge_hez_to_dot_note/warning/blocked) from the base strings.xml.

Confirmed via research: feature-bridge-api/feature-bridge-impl modules
exist but are unrelated orphaned scaffolding, not depended on by :app,
zero code overlap with this screen - correctly out of scope here.
This commit is contained in:
2026-07-14 14:41:56 -07:00
parent 2ac8005c10
commit 7a2d330a0a
5 changed files with 32 additions and 149 deletions
+1 -8
View File
@@ -350,27 +350,20 @@
<string name="wallet_asset_sell_tokens">Sell tokens</string>
<string name="wallet_asset_buy_tokens">Buy tokens</string>
<string name="wallet_asset_bridge">Bridge DOT ↔ HEZ</string>
<string name="wallet_asset_bridge_usdt">Bridge USDT(DOT) ↔ USDT(HEZ)</string>
<!-- Bridge Screen -->
<string name="bridge_title">DOT ↔ HEZ Bridge</string>
<string name="bridge_pair_dot_hez">HEZ ⇄ DOT</string>
<string name="bridge_title">USDT Bridge</string>
<string name="bridge_pair_usdt">USDT ⇄ USDT.p</string>
<string name="bridge_you_send">You send</string>
<string name="bridge_you_receive">You receive (estimated)</string>
<string name="bridge_exchange_rate">Exchange rate</string>
<string name="bridge_fee">Bridge fee</string>
<string name="bridge_minimum">Minimum</string>
<string name="bridge_rate_format">1 DOT = %s HEZ</string>
<string name="bridge_rate_format_reverse">1 HEZ = %s DOT</string>
<string name="bridge_swap_button">Swap</string>
<string name="bridge_hez_to_dot_note">HEZ→DOT swaps are processed when sufficient DOT liquidity is available.</string>
<string name="bridge_insufficient_balance">Insufficient balance</string>
<string name="bridge_below_minimum">Amount below minimum</string>
<string name="bridge_enter_amount">Enter amount</string>
<string name="bridge_hez_to_dot_warning">HEZ→DOT swaps may have limited availability based on current liquidity.</string>
<string name="bridge_hez_to_dot_blocked">HEZ→DOT swaps are temporarily unavailable. Please try again when DOT liquidity is sufficient.</string>
<string name="bridge_wusdt_to_usdt_blocked">USDT(Pez)→USDT(Pol) swaps are temporarily unavailable. Waiting for 1:1 liquidity to be established.</string>
<string name="bridge_sign_status_ok">Bridge allowance OK (%s)</string>