test: Playwright e2e-tx matrix for community-tax pair #622
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#622
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?
Parent / siblings
Depends on the LocalTerra community-tax seed + funding + indexer env issue (
.env.localpins, Transfer provision, local UST1 stand-in, registered tax/EMBER pair). Parent product: #592, #593, #607, #615, #201.Existing Create Token Playwright (
create-token-602.spec.ts,enable-feature-612.spec.ts,option2-copy-616.spec.ts) is UI-only and bakes columbus-5 launcher pins viae2e/helpers/community-tax-env.ts. Do not treat those as tx coverage.Current codebase
e2e-tx(1 Playwright worker, sharedtest1mnemonic) drives Swap / Pool / Limits / Hybrid / Wrap / fee-tier against the first liquid dual-CW20 gem pair (almost always EMBER/CORAL):swap-tx.spec.ts,swap-route-alignment-tx.spec.ts,trade-market-route-solve-501-tx.spec.tsamount; You Receive == simulationpool-tx.spec.ts,pool-one-sided-533-tx.spec.tsTransferFrom/ zap 1:1limit-orders-tx.spec.ts(+ gas / claim-all)Send1:1hybrid-swap.spec.ts,multihop-hybrid-tx.spec.tswrap-swap.spec.ts,wrap-pool.spec.tsfee-tier-tx.spec.tse2e/global-setup.tsrunse2e-provision-dev-wallet.sh(Mint factory CW20s) + hybrid book seed. Helpers (chain.ts,swap-ui.ts,pool-ui.ts,limit-e2e.ts) fail closed when LCD/funds/pair missing (AGENTS_E2E_STRICT_CHAIN.md). They do not readTaxPreviewor community-tax env from.env.local.community-tax-env.tsdefaultsVITE_COMMUNITY_TAX_CODE_ID=11611and the columbus-5 launcher so smoke specs can render/token/createwithout a local instance.Why this is needed
Retail paths (Swap Max, You Receive, Trade market
route/solve, pool, limits, zap, hybrid, Create/Enable invoices) are what users hit on a listed tax token. Crate tests and#601LCD smoke do not click the dApp. Gem e2e will not pick the tax pair unless we add explicit specs. Quotes that ignore outbound buy split or extra-debit Max will ship as “the wallet lied.” Router hops must tax the original trader (T592-13) with hybrid always on (#596).Constraints / guardrails
e2e-tx1 worker (shared sequence). Do not add tax txs toe2e-smokeas silent skips.test.skipon the default path)..env.localaddresses from the seed issue over columbus-5 bake-in for tx specs. Smoke UI specs may keep columbus-5 fallbacks for/token/createchrome when skip-tax deploy is used.useCommunityTaxSellBps/TaxPreview). Buy You Receive must be net (#615), not raw pairSimulation.Relevant files
frontend-dapp/e2e/swap-tx.spec.tsfrontend-dapp/e2e/swap-route-alignment-tx.spec.tsfrontend-dapp/e2e/trade-market-route-solve-501-tx.spec.ts/route/solvefrontend-dapp/e2e/pool-tx.spec.ts/pool-one-sided-533-tx.spec.tsfrontend-dapp/e2e/limit-orders-tx.spec.tsfrontend-dapp/e2e/hybrid-swap.spec.ts/multihop-hybrid-tx.spec.tsfrontend-dapp/e2e/create-token-602.spec.ts/enable-feature-612.spec.tsfrontend-dapp/e2e/helpers/community-tax-env.tsfrontend-dapp/e2e/global-setup.tsfrontend-dapp/src/hooks/useCommunityTaxSellBps.tsfrontend-dapp/src/utils/taxPreviewMaxSpend.tsfrontend-dapp/playwright.config.tse2e-txglobsskills/AGENTS_E2E_STRICT_CHAIN.mdskills/AGENTS_FRONTEND_HYBRID_ALWAYS_ON.mdskills/AGENTS_INDEXER_TAX_AWARE_ROUTING.mdRecommended direction
Add
frontend-dapp/e2e/community-tax-tx.spec.ts(and small helperse2e/helpers/community-tax-e2e.ts) rather than parameterizing every gem spec:P0 (must land with this issue)
P1 (same issue if time; else unchecked follow-ups in this ticket)
Buy/sell tax applies on every listed-pair swap), not “route skips tax.”GET /route/solveYou Receive matches net rank (R615).P2 (document if not implemented)
Do not put tax pairs into
multihop-hybrid-txCORAL→IRON unless the route is explicit.Acceptance criteria
make test-e2e-txon a seed deploy includes the new spec and fails if the tax pair/env is missing (strict).PLAYWRIGHT_SKIP_CHAIN=1does not silently pass tax tx specs (they aree2e-txonly).community-tax-env.tstx path reads.env.local; smoke-only columbus-5 fallback is documented.make verify-issue-596/501/533still green.Test plan (all paths)
e2e-provision— tax balance ≥ floor via Transfer; global setup does not Mint tax.swaphop.trader.route/solvenet ≥ honest alternative when tax is worse.limit_order_fillstill present; tax not double-counted.Test plan (attack / hack / abuse)
traderon pair-direct from the dApptraderunlessfrom == routertest.skipwhen tax pair missinge2e-txVerification
Attach tx hashes / screenshots for sell + buy in the MR. Close when P0 is green on a seed deploy; leave P1/P2 checkboxes explicit.
marked as related to #620
marked as related to #201
marked as related to #592
marked as related to #593
marked as related to #607
marked as related to #615
marked as related to #596
mentioned in issue #620
marked as related to #621
marked as related to #623
mentioned in issue #624
mentioned in merge request !1133
mentioned in commit
1c3440335bmentioned in merge request !1135
mentioned in commit
5f683cfe9fmentioned in commit
01cd541b65Merge note (!1135)
Merged to
mainas !1135 (01cd541b) after resolving conflicts with !1133/#621 and !1134/#623 (docs/Makefile/AGENTS.mdonly). Did not wait for CI; jobs failed withci_quota_exceeded.Sanity on this tip
make verify-issue-6226/6 static + unit (funding-kind + 14 Vitest). Live Playwright was not re-run (VERIFY_ISSUE_622_CHAINunset).Remaining (do not reopen this ticket)
The MR already recorded a P0 sell extra-debit miss on this shared LocalTerra: user debit
100000vsTaxPreview105000while the indexer was down, and leftover #623 tax pairs filledpairs[0]. Still needed on a freshmake deploy-local+ indexer:test.skip)make verify-issue-533live P4–P8 after leftover tax tokens are gone from gem pickersTracked on the new post-merge issue for !1133–!1135.
mentioned in issue #625
marked as related to #625