Frontend QA Checklist: CEX-Quality Trading Experience #291
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#291
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?
Frontend QA Checklist — CEX-Quality Trading Experience
Goal: Verify the CL8Y DEX dApp delivers the polish, speed, and reliability traders expect from a top-tier centralized exchange (Binance / Coinbase / Bybit class UX), while remaining transparently on-chain.
Scope:
frontend-dapp/across routes/(Swap),/trade/:pairAddr,/limits,/pool,/create,/charts,/portfolio,/trader/:address,/tiers,/protocol.How to run: Test against LocalTerra only (chain
localterra, LCDhttp://localhost:1317) per the environment matrix — do not test on testnet or mainnet. Use Station wallet on Terra Classic. Cover desktop + mobile, light/dark as applicable, and at least one slow-network throttle pass.Item IDs: Each item has a stable code (
<SECTION>-<n>) for referencing in bug reports and MRs.Order Entry & Execution (OE) — the core loop
Charts & Market Data (CM)
Portfolio, Positions & PnL (PP)
Wallet & Connectivity (WC)
Performance & Responsiveness (PR) — CEX-grade speed
Visual Polish & Layout (VP)
Mobile Experience (ME)
Accessibility (AX)
Error Handling & Edge Cases (EH)
Trust, Safety & Transparency (TS)
Pool & Liquidity —
/pool(PL)Create Pair —
/create(CP)Fee Tiers —
/tiers(FT)Protocol & Oracle —
/protocol(PO)Trader (Public) —
/trader/:address(TR)Global UX & Utilities (GX)
localStorage)AddressRow)Sign-off: All sections checked on LocalTerra, desktop + mobile, with one throttled-network pass. Note build SHA and any deviations in comments.
assigned to @totdking
changed the description
changed the description
changed the description
Order Entry & Execution (OE) — the core loop
Charts & Market Data (CM)
Portfolio, Positions & PnL (PP)
Wallet & Connectivity (WC)
Performance & Responsiveness (PR) — CEX-grade speed
VP — Visual Polish & Layout
ME
mentioned in issue #337
marked the checklist item PP-1 Portfolio loads balances, LP positions, and open orders accurately as completed
marked the checklist item PP-2 Trader page PnL values are correct, signed, and color-coded (green/red) as completed
marked the checklist item WC-5 LCD/RPC connectivity errors degrade gracefully with retry, not a blank screen as completed
marked the checklist item WC-4 Reconnect on reload is seamless (no forced re-auth loop) as completed
marked the checklist item WC-3 Wallet-not-installed path shows a helpful install prompt as completed
marked the checklist item WC-2 Network badge clearly indicates chain; wrong-network state is obvious and recoverable as completed
marked the checklist item WC-1 Connect / disconnect / switch account via Station works smoothly as completed
marked the checklist item PR-1 Initial load and route transitions feel instant; lazy chunks load without visible jank as completed
marked the checklist item PR-2 No layout shift
CLSas data streams in; skeletons/placeholders used as completedmarked the checklist item PP-3 Positions table sorts/paginates without layout shift as completed
marked the checklist item PP-4 Values reconcile with on-chain state after a trade (no stale balances) as completed
marked the checklist item PR-4 No memory leaks or runaway polling when left open on the trade page as completed
marked the checklist item PR-5 Chunk-load errors recover gracefully (auto-reload/retry) as completed
mentioned in issue #350
marked the checklist item VP-1 Consistent spacing, typography, and alignment across all pages as completed
marked the checklist item VP-1 Consistent spacing, typography, and alignment across all pages as incomplete
marked the checklist item VP-1 Consistent spacing, typography, and alignment across all pages as completed
marked the checklist item VP-3 Loading, empty, and error states are all designed (no raw error text) as completed
marked the checklist item VP-1 Consistent spacing, typography, and alignment across all pages as incomplete
marked the checklist item OE-1 Market swap: amount in/out updates instantly; price impact, min received, and fees are shown before submit as completed
marked the checklist item OE-4 Slippage tolerance is configurable and respected; obvious warning on high price impact as completed
marked the checklist item OE-9 Numbers never show floating-point dust; consistent decimal precision per token as completed
marked the checklist item OE-10 Confirm/disclosure modals are clear, not blocking spam, and remember acknowledgement appropriately as completed
marked the checklist item CM-1 Price chart loads fast, supports timeframes, and matches indexer/last-trade price as completed
marked the checklist item CM-3 Indicators render correctly and are readable on dark backgrounds as completed
marked the checklist item CM-4 Market data outage banner appears on indexer failure and clears on recovery as completed
marked the checklist item CM-5 Empty/low-liquidity pairs render gracefully (no broken chart, no NaN) as completed
marked the checklist item ME-2 Mobile nav stack behaves correctly (back navigation, no trapped views) as completed
marked the checklist item ME-3 Charts and tables are usable or sensibly adapted on small screens as completed
marked the checklist item ME-4 No horizontal overflow; modals fit viewport as completed
marked the checklist item AX-1 Full keyboard navigation for swap/limit entry, dropdowns, and modals as completed
marked the checklist item AX-2 Focus is trapped in modals and restored on close as completed
marked the checklist item AX-3 Color contrast meets WCAG AA, including PnL red/green as completed
marked the checklist item AX-4 Interactive elements have accessible names/roles; listboxes are screen-reader friendly as completed
Error Handling & Edge Cases (EH)
marked the checklist item EH-2 Insufficient balance / insufficient gas blocked with clear messaging before submit as completed
marked the checklist item EH-3 Indexer outage, LCD outage, and stale-data states each have distinct, honest UX as completed
marked the checklist item EH-4 ErrorBoundary catches render failures with a recovery action (no white screen) as completed
marked the checklist item EH-5 Invalid routes redirect home; invalid pair/trader addresses handled gracefully as completed
marked the checklist item TS-1 Fees
protocol, hooks, tier discountare itemized and accurate before confirm as completedmarked the checklist item TS-4 Legal footer notice present and links valid as completed
marked the checklist item TS-3 Risk acknowledgement / swap disclosure shown where appropriate as completed
marked the checklist item TS-2 Tier/fee-discount status
CL8Y holdingsis reflected correctly in quoted fees as completedmarked the checklist item TS-5 No misleading "guaranteed" language; on-chain nature is clear as completed
marked the checklist item PL-1 Pool list loads with correct pair count; search by symbol/address/denom works as completed
marked the checklist item PL-2 Sort
Name / 24h volume / Fee / Created / Pair IDand asc/desc order behave correctly as completedmarked the checklist item PL-3 Pagination
Prev/Next, page X of Yworks and disables at bounds as completedmarked the checklist item PL-4 "Router-known
factoryonly" filter and "In router (factory)" vs "Indexer only" badges are accurate as completedmarked the checklist item PL-5 Indexer-vs-factory count drift note appears only when counts differ and reads sensibly as completed
marked the checklist item PL-6 Provide Liquidity: balances load, Max/Half respect gas, estimated LP shown, non-proportional ratio warning appears as completed
marked the checklist item PL-7 Provide Liquidity: insufficient-balance and insufficient-LUNC-for-gas gates block submit with clear copy as completed
marked the checklist item PL-8 Withdraw Liquidity: LP balance shown/clickable, slippage presets
0\.5/1/2%, insufficient-LP guard as completedmarked the checklist item PL-9 Tx success/error alerts render with tx hash; balances and pool reserves refresh after add/remove as completed
marked the checklist item CP-2 Code-ID whitelist check shows whitelisted
✓/ not-whitelistedwarningstates as completedmarked the checklist item CP-1 Token A/B address inputs validate Terra address format with inline errors as completed
marked the checklist item CP-3 Duplicate / identical-token guard blocks submit with clear message as completed
marked the checklist item CP-4 "Before creating a pair" guidance is present; submit disabled until valid + wallet connected as completed
marked the checklist item FT-1 Tier list loads with holding requirement, discount %, and effective fee per tier as completed
marked the checklist item FT-2 Current status reflects registered tier / "Not registered"; governance-only tiers labeled and not self-registerable as completed
Create Pair
CP-5 Create success/error surfaces tx result; failure messaging is actionable - https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/382
Fee tiers
FT-3 Register flow works and updates status; eligibility tied to CL8Y balance - https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/383
FT-4 Deregister flow works and is hidden for governance-assigned tiers - https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/383
marked the checklist item FT-5 "How it works" table and effective-fee math match the active base fee; not-configured state handled as completed
marked the checklist item PO-1 USTC/USD reference price, source, and fetched-at render; multi-source table shown when present as completed
marked the checklist item PO-2 Recent USTC/USD history table loads, paginates/scrolls, and handles empty state as completed
marked the checklist item PO-3 Hook events table loads with time/hook/action/amount/tx; contract filter works as completed
marked the checklist item PO-4 Market-data outage banner appears on indexer failure with working retry as completed
marked the checklist item TR-1 Viewing an arbitrary trader by URL address loads their positions/PnL as completed
marked the checklist item TR-2 Link is shareable and reload-safe; switching address resets view correctly as completed
marked the checklist item TR-3 Invalid/empty/unknown trader address is handled gracefully (no crash, clear empty state) as completed
marked the checklist item GX-1 Token wrap/unwrap
native ↔ CW20is clear in swap & liquidity; "auto-wrap" / "receive as wrapped" toggles behave correctly as completedmarked the checklist item GX-2 Theme switch
light/dark/systemapplies instantly and persists across reloads (localStorage) as completedmarked the checklist item GX-3 Audio feedback
button/success/errorfires appropriately and is not jarring; mute/disable respected if available as completedmarked the checklist item GX-4 Copy-address and view-on-explorer actions work and give feedback (AddressRow) as completed
marked the checklist item GX-5 Token symbols/logos resolve consistently across pages
registry/fallbacks; no missing-icon or raw-denom leaks as completedmarked the checklist item GX-5 Token symbols/logos resolve consistently across pages
registry/fallbacks; no missing-icon or raw-denom leaks as incompletemarked the checklist item GX-5 Token symbols/logos resolve consistently across pages
registry/fallbacks; no missing-icon or raw-denom leaks as completedmarked the checklist item OE-2 Limit orders place, display, edit, and cancel reliably; resting orders survive reload as completed
marked the checklist item OE-5 MEV posture / protection setting is visible and persists across sessions as completed
marked the checklist item OE-8 Tx lifecycle is crisp: pending → broadcast → confirmed/failed, each with clear UI state as completed
marked the checklist item CM-2 Live price/last-trade updates without full reload; no flicker or jump as completed
marked the checklist item OE-6 Multi-hop routing picks the best route; route is displayed and explainable as completed
marked the checklist item PR-3 Input → quote latency is sub-second under normal conditions as completed
marked the checklist item VP-1 Consistent spacing, typography, and alignment across all pages as completed
marked the checklist item VP-2 Dense-but-readable trading layout; key actions reachable without scrolling on desktop as completed
marked the checklist item VP-4 Hover/active/focus states present on all interactive elements as completed
marked the checklist item VP-4 Hover/active/focus states present on all interactive elements as incomplete
marked the checklist item VP-5 Toasts/alerts are positioned consistently and auto-dismiss sensibly as completed
marked the checklist item VP-4 Hover/active/focus states present on all interactive elements as completed
marked the checklist item ME-1 Trade flow fully usable on mobile (tap targets, keyboards, scroll/nav stack) as completed
marked the checklist item EH-1 Rejected/timed-out transactions show actionable messages, not raw errors as completed
marked the checklist item CP-5 Create success/error surfaces tx result; failure messaging is actionable as completed
marked the checklist item GX-6 Header navigation: all routes reachable; responsive "More" menu folds correctly across desktop/tablet/mobile breakpoints as completed
marked the checklist item FT-3 Register flow works and updates status; eligibility tied to CL8Y balance as completed
marked the checklist item FT-4 Deregister flow works and is hidden for governance-assigned tiers as completed
marked the checklist item OE-7 "Max" / percentage
25/50/75/100%buttons account for gas and never overspend native balance as completedmarked the checklist item OE-3 Limit ladder: multiple orders place atomically with correct spacing; partial failures surface clearly as completed
@PlasticDigits , all checklist in this have been marked as completed, is valid for close now .