feat(frontend): Station + Cosmostation WalletConnect (ustr-cmm parity, no Leap) #566
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#566
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Bring DEX Connect Wallet WalletConnect coverage in line with ustr-cmm for Station and Cosmostation. Leap stays out — vendor sunset (#159).
ustr-cmm’s preregister Terra Classic page (
PlasticDigits2/ustr-cmmcontracts/external/cmm-ustc-preregister/frontend-dapp/src/pages/TerraClassicPage.tsx) already connects Station and Cosmostation viaWalletType.WALLETCONNECT. The DEX Connect list still offers those two as Extension only, so mobile Chrome users without the extension cannot use Station or Cosmostation the way they can Keplr (#554 WC-M10), Lunc Dash, or Galaxy Station.Scope change (2026-08-19)
Original filing asked for full ustr-cmm wallet parity, including Leap. Product decision: Leap is sunset — do not re-add Leap (extension or WalletConnect). Remaining CMM gap is Station WC + Cosmostation WC.
Problem statement
Desktop Station / Cosmostation extensions already work. On mobile Chrome (no injected extension), Connect Wallet has no Station or Cosmostation WalletConnect row. Those users are sent to an Install desktop-extension path, while CMM already offers mobile WC for the same wallets.
Evidence / current gap
frontend/wallet.ts; no Connect list rowwindow.keplr(#554)DEX files:
frontend-dapp/src/components/wallet/connectWalletOptions.ts— Station and Cosmostation areWalletType.EXTENSIONonly; Keplr already flips to WC on mobilefrontend-dapp/src/services/terraclassic/wallet.ts—StationController/CosmostationController(WC_PROJECT_ID)exist; Station WC empty-wallet cache path (isStationWC) already exists; no Connect-list entryfrontend-dapp/src/utils/walletConnectPairing.ts— Station deep-link (terrastation.page.link) already in WC-M5 allowlist; Cosmostation mobile scheme may need an explicit allowlist entry if the vendor template is not already covered bywc:/intent:connectWalletOptions.test.ts,WalletModal.test.tsx— Leap must remain absentustr-cmm WC calls:
connect(WalletName.STATION, WalletType.WALLETCONNECT)connect(WalletName.COSMOSTATION, WalletType.WALLETCONNECT)Constraints / guardrails
LeapController, a Leap Connect row, a Leap install URL, or Leap WC. Keep purging persisted Leap sessions (#159). Tests that assert “no Leap” stay.wc:copy viaCopyButton, scheme allowlist, bounded connect/cancel, no AppKit/Web3Modal just for this.isWalletConnectMobileClient()and the extension is not injected, offer Station / Cosmostation as WalletConnect — not Install-only. When the extension is injected (in-app browser), keep the Extension row (WC-M7)./wallets/*assets. Do not add a Leap logo.VITE_WC_PROJECT_ID: do not drop the Vite WC project-id guard (#378).window.keplr, keep the Keplr-browser hint for terms.Proposed solution (high level)
Reuse the DEX modal / pairing / cancel stack (same pattern as Keplr on mobile Chrome). Do not copy CMM’s glass modal.
resolveConnectWalletOptions: Station and Cosmostation follow Keplr: WalletConnect on mobile when the matching extension is not injected; Extension when it is (or on desktop).ConnectWalletOptionEnv/isBrowserWalletExtensionDetectedso Station uses'station' in windowand Cosmostation uses the existing Keplr-like Cosmostation signal.terrastation.page.linkbuilder. Confirm Cosmostation Open / Copy works on Android Chrome; add a documented vendor scheme to WC-M5 only if needed.docs/frontend.md,QA_TEMPLATE.md,AGENTS_FRONTEND_WALLET_CONNECT_MODAL.md,AGENTS_FRONTEND_WALLETCONNECT_MOBILE.md— Station + Cosmostation WC; Leap still excluded.Acceptance criteria
terra1….javascript:/ arbitrary https from the payload.make verify-issue-566(or documented equivalent) updated.Test plan (functional)
terrastation.page.link/ Hexxagon still allowlisted; Cosmostation scheme (if added) allowlisted;javascript:/ off-allowlist https rejected.make verify-issue-554/make verify-issue-519stay green; #159 “no Leap” tests stay green.Test plan (attack / abuse)
javascript:/data:/ attacker https/wallets/*onlyVerification
make verify-issue-566(new) plusmake verify-issue-554.ust1cmm.com(CMM may still show Leap — DEX must not).Owner type
frontend
Priority
P2 — mobile Station / Cosmostation reach; not funds-at-risk.
Related
PlasticDigits2/ustr-cmmpreregisterTerraClassicPage.tsx(Station WC + Cosmostation WC)marked as related to #159
marked as related to #554
marked as related to #519
marked as related to #490
changed title from
feat(frontend): Terra Classic wallet parity with ustr-cmmtofeat(frontend): Station + Cosmostation WalletConnect (ustr-cmm parity, no Leap)changed the description
Scope update: Leap stays excluded (vendor sunset, #159). This issue is now Station WalletConnect + Cosmostation WalletConnect only, matching ustr-cmm’s preregister Terra Classic WC paths. Do not re-add Leap extension or Leap WC.
mentioned in commit
a6da62eeb2mentioned in merge request !1087
mentioned in commit
45c9e4c6eamentioned in commit
adc91bb474Post-merge note (!1087 on main). Station + Cosmostation WalletConnect paths (WC-M2/M5/M7, Leap excluded) are on
main.Remaining (code AC is partial until device QA):
terra1…; Cosmostation same.make verify-issue-566.mentioned in issue #573
marked as related to #573
mentioned in issue #588
mentioned in issue #511
mentioned in issue #658
marked as related to #658
mentioned in issue #672
mentioned in issue #679
mentioned in issue #681