Connected wallet chip missing standard elements : no balance display, no copy address, no explorer link, no switch wallet #140
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#140
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?
Issue Summary
After connecting a wallet, the header chip and its dropdown are missing four standard connected-state elements expected on every DEX:
wallet balance,copy-addressbutton,explorer link, andswitch-walletoption. The dropdown only exposes Disconnect and Trader Profile. A CEX-migrant trader cannot confirm their address, check their balance at a glance, or jump to an explorer without leaving the app.Reproduction Steps
http://127.0.0.1:3000Expected Behavior
The connected wallet chip and its dropdown should include:
Actual Behavior
Disconnect works correctly and resets the header to the unconnected state.
Environment Details
localterra(local Docker)VITE_NETWORK=local npm run devWallet / Device Details
Severity / Impact
P2 Polish. No functionality is blocked , disconnect and reconnect work. However, the missing balance, copy, explorer link, and switch wallet are standard affordances on every multi-wallet DEX. CEX migrants expect to verify their address and check buying power at a glance. Found under W2-C3 (Connected state Display and Interactivity dimensions).
mentioned in issue #116
@totdking @PlasticDigits — source-level audit found additional gaps in the wallet chip beyond the four standard elements this ticket covers (balance / copy / explorer / switch wallet). also surfacing infrastructure dependencies the fix needs.
Additional gaps at
frontend-dapp/src/components/wallet/WalletButton.tsxHIGH (extending the four standard elements)
<sm:(mobile), the chip drops the "Wallet" copy entirely and shows ONLY the truncated 4+4 address. There is no copy / explorer / network / balance affordance on mobile. The four standard elements you scoped need a mobile presentation strategy too.POLISH
<div className="fixed inset-0 z-40" onClick={...} />— no role, no keyboard dismissal, no Esc listener at the dropdown level.Escapeis handled atLayout.tsx:39-48for the More menu but NOT for the wallet menu. Replace with semantic dismisser, add Esc handler.Infrastructure dependencies the fix needs
These need to land first or alongside, not after:
Copy address — needs a CopyButton primitive
navigator.clipboarddoes not appear ANYWHERE infrontend-dapp/src. Zero hits. Whatever copy affordance lands here is the first one in the codebase.<CopyButton>primitive while at it. Same pattern will apply to address-row sites elsewhere (Trader page, Pool addresses, LP token, Tx hash — currently none have copy buttons either).Explorer link — needs a new helper
utils/terraExplorer.tsonly exposesgetExplorerTxUrl. There is nogetExplorerAddressUrlhelper today. Need to add one before wiring "View on explorer" in the dropdown.Cross-cutting opportunity —
<AddressRow>primitiveWhile building the chip dropdown's copy/explorer affordances, worth considering an
<AddressRow>primitive (shortened text + copy button + explorer link) that can be reused at other partial-info surfaces matching this gap pattern:TraderPage.tsx:88-99— search input + result header useshortenAddressbut no copy/explorer affordancePoolPage.tsx:723— LP token address as static<span className="font-mono">{shortenAddress(...)}</span>PoolPage,ChartsPage,LimitOrdersPageTxResultAlert.tsx:21-35— has explorer link, no copy button (parity gap)migrating those to a shared
<AddressRow>would close ~5 partial-info surfaces in one shape.Suggestion
either:
A. expand this ticket to cover network text + mobile chip + dropdown Esc handler + CopyButton primitive + getExplorerAddressUrl helper. all interrelated.
B. keep this ticket scoped to dropdown elements only and file siblings for the chip-text, mobile-presentation, and infra primitives. file the AddressRow as a separate cross-cutting umbrella.
either works. flagging the infra dependencies regardless so the fix doesn't get blocked mid-implementation.
cc @PlasticDigits
mentioned in issue #145
B is approved, open the issues.
Visual checklist verification : W3-C1 (LUNC balance visible before trading).
While carrying out the visual checklist for #116 the W3-C1 (Native + token balances shown in hybrid UI (header, sidebar, pair strip, modal) shows the other tokens i.e CW20 tokens before and after trading but do not display the lunc(native token) . Not sure this qualifies as a big issue, but just documenting as per checklist rules.
cc: @PlasticDigits
@totdking Missing the lunc information is important. @Brouie
mentioned in commit
1b6fbbb957Update — native LUNC balance on connected wallet chip
Implemented the missing LUNC (bank
uluna) display called out in the W3-C1 visual checklist thread on this issue. Pushed tomainas1b6fbbb.What changed
WalletLuncBalanceuses existinguseNativeUlunaBalance(same React Query key as swap/pool/trade gas gates).WalletButtonshows formatted LUNC on the connected chip at all breakpoints (no menu open required) and repeats balance + full bech32 address in the dropdown header.skills/AGENTS_FRONTEND_WALLET_CHIP.mdStill open on #140 (scope B — sibling issues)
CopyButton/getExplorerAddressUrlprimitivesVerification checklist
12.5 LUNC) without opening the menuterra1…address at top— LUNC(not blank); disconnect still worksWalletLuncBalance.test.tsx,WalletButton.test.tsx@Brouie — please verify on your LocalTerra stack when convenient. Leaving the issue open until copy/explorer/switch-wallet siblings land.
cc @totdking @PlasticDigits
mentioned in issue #183
marked as related to #183
mentioned in issue #184
marked as related to #184
mentioned in issue #185
marked as related to #185
mentioned in issue #186
marked as related to #186
mentioned in issue #187
marked as related to #187
mentioned in issue #188
marked as related to #188
Scope B — sibling issues opened
Per @PlasticDigits approval on scope B, the remaining #140 work is split into dedicated issues (LUNC balance remains here /
main):CopyButtonprimitive (clipboard)getExplorerAddressUrlhelperAddressRowprimitive (cross-cutting)This issue can close once #185, #186, and #187 are verified; #188 may trail as a separate umbrella.
cc @Brouie @totdking
mentioned in commit
574dfdf4e6Verification checklist
12.5 LUNC) without opening the menuterra1…address at top— LUNC(not blank); disconnect still worksWalletLuncBalance.test.tsx,WalletButton.test.tsxGood to go, can close
cc: @PlasticDigits , @Brouie
mentioned in issue #630
mentioned in issue #671
marked as related to #671