feat: retail how-to for providing LUNC liquidity (v2 LP + maker limits) #531
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#531
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
Retail users on dex.cl8y.com cannot figure out how to provide LUNC liquidity. Support already answered the product facts; the dApp does not.
Bundle one retail how-to surface for both ways people hear “provide LUNC liquidity”:
/poolprovide + withdraw (native LUNC auto-wrap or wrap-then-deposit)./tradeor/limits(escrow is not pool LP; no farming UI).Do not split “write a GitLab doc” vs “add a Pool hint” vs “explain wrap” vs “explain two-sided deposit” vs “distinguish limit maker” into separate issues. Do not add a rewards/farming program.
Related: #147 (CW20 add-LP three fees), #213 (native wrap + provide), #366 (IL notice), #417 (onboarding strip is Swap/Trade/Limits only), #480 (provide auto-fill / withdraw preview), #489 (no always-on essays), #507 (
/wrap), #462 (pre-sign summary).Current codebase
The mechanics work. What is missing is a user-facing path that a LUNC holder can follow without reading GitLab
docs/frontend.md.provide_liquidity { assets }and CW20send→withdraw_liquidity. First deposit locksMINIMUM_LIQUIDITY(1000). Later deposits mintmin(amount_a × share / reserve_a, …). Off-ratio deposits donate the excess./poolcheckbox Use native LUNC (auto-wrap) builds a multi-msg wrap+provide (#213)./wrapis under More when wrap env is set (#507). Burn tax / unwrap quotes are wrap-page concerns (#512).decrease_allowancemulti-tx./poolUIfrontend.mdanchors, not a retail guide.HEADER_FULL_NAV_MIN_WIDTH_PX= 1200). Mobile bottom nav includes Pool.TradeOnboardingStripon/,/trade,/limitsonly: “Start with Swap” + Swap · Trade · Limits. Pool and Wrap are absent. Dismiss persists forever.docs/user-incident-faq.mdcovers pause/blacklist, not “how do I add LUNC to a pool?”. Engineering docs are not a retail FAQ.Why this is needed
/wraplives under More.frontend.mdis not an answer to “has it been written here?” on the production dApp.Constraints / guardrails
<details>, first-visit dismissible strip, or a short/help/ docs page linked once). Labels stay ≤ ~5 words on chrome./ust1mint ≠/wrapas a destination. Wrap is a step for native LUNC, not the liquidity product.token0/token1. “Pool” / “Provide” / “Withdraw” / “Limit” — not “AMM invariant” / “CW20 Send”.Relevant files
frontend-dapp/src/pages/PoolPage.tsxfrontend-dapp/src/components/common/TradeOnboardingStrip.tsxfrontend-dapp/src/components/common/navItems.tsfrontend-dapp/src/pages/WrapPage.tsxfrontend-dapp/src/components/portfolio/PortfolioLpOverviewSection.tsxfrontend-dapp/src/components/legal/legalCopy.tsdocs/frontend.md§ Pool provide / wrapdocs/user-incident-faq.mdskills/AGENTS_FRONTEND_COPY_COGNITIVE_LOAD.mdskills/AGENTS_FRONTEND_POOL_PROVIDE_WITHDRAW_PREVIEW.mdskills/AGENTS_MAINNET_WRAP_ENABLEMENT.mdRecommended direction
Ship a short retail how-to the dApp can open in one tap, plus one discoverability hook.
/pool(“Add both tokens. Native LUNC can auto-wrap. How to”), orTradeOnboardingStripwith a Pool link without turning it into a lecture, ordocs/frontend.mdstays the invariant source; add a pointer to the retail doc so agents do not paste protocol essays onto the page.Acceptance criteria
docs/frontend.mdas the only guide./poolor/wrapfirst; bank LUNC is still required for gas./pooland that LP tokens represent the share./tradeor/limits.<details>/ dedicated help. Chrome labels stay short.make verify-issue-<iid>.Test plan (all paths)
Content / IA
/pool(or chosen entry)frontend.mdlinksUnit / RTL (
make test-frontend)token0/token1; no APR; “no incentive” string if specified.Playwright
/pooldesktoppool.spec.ts+ tx path still green with how-to mounted/wrapthen/pool/limitsor/tradeManual QA (production-shaped)
Test plan — attack, hack, and abuse vectors
ENVIRONMENT_EXPLAINER). Do not teach signing messages from a different origin.#512behavior; do not tell users to unwrap to an exchange without the existing warning.decrease_allowanceif provide fails.innerHTMLof indexer or wallet strings.Verification criteria
Issue is done when all of the following are true:
make verify-issue-<iid>green.docs/frontend.md/ copy playbook point at it. No farm program shipped.Mode
Severity
mentioned in commit
b35548b994Also need to mention fees if they exist, for instance on pair creation
mentioned in commit
410f8fd733mentioned in merge request !1061
Implementation is in !1061 (
feat/531-retail-lunc-lp-howto).Shipped: opt-in
/pool#lp-howto(dismissible hint +<details>), footer/Portfolio links, pair-creation fee mention, no incentive copy,make verify-issue-531.Still for humans: cold-user pass on QA/dex.cl8y.com (do not use GitLab as the only guide).
Merge sanity check for !1061 (before landing on main):
/pool#lp-howto, two-sided LP, wrap/gas/withdraw, pair-creation fee, no incentive program, footer/Portfolio hooks).verify-issue-531.shonly gates P1–P3 even though P5/P8 exist in the spec.<a href="/pool#lp-howto">(full reload) rather than a React Router<Link>.mentioned in commit
dac47e806ementioned in commit
c03dbdf199mentioned in commit
781f87c52dmentioned in commit
9ee15f75ecmentioned in issue #533
mentioned in issue #547
marked as related to #547
mentioned in issue #546
mentioned in issue #617
mentioned in issue #619
mentioned in issue #660
marked as related to #660
mentioned in issue #663
mentioned in issue #717