fix(e2e): locate LUNC-C pool card on paginated pool page (#340) #837
No reviewers
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!837
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cursor/gitlab-issue-workflow-47d4"
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
Fixes GitLab #340: wrap-pool tx specs (E7–E10) timed out expanding the LUNC-C card when the indexer pool list exceeds
PAGE_SIZE(20) and LUNC-C is not on page 1.Changes
frontend-dapp/e2e/helpers/pool-nav.ts:gotoPoolCardBySymbol— indexer search (#pool-search+ Search), paginate fallback, word-boundary card match (avoidsALUNC-Cfalse positives), indexer outage detection.gotoWrapPoolLuncCard— searches byVITE_LUNC_C_TOKEN_ADDRESSwhen available (fromglobal-setup/.env.local), elseLUNC-C.wrap-pool.spec.tstx describe to usegotoWrapPoolLuncCardinstead of.filter({ hasText: 'LUNC-C' })on the default page-1 list.wrap-e2e.ts:requirePoolCardWithNativeWrap/requirePoolCardWithReceiveWrappedacceptPage | Locator(scoped to the located card).global-setup.ts: loadVITE_LUNC_C_TOKEN_ADDRESSfrom.env.localfor env-driven search.e2e/README.md: document pool pagination invariant for wrap-pool tx.getByTitle('Use max balance')instead of/^\d/(was matching0.5%slippage preset).Acceptance checklist
deploy-local). Verified search narrows list to 1 LUNC-C card via token address on 27-pair deploy.sg docker -c 'bash scripts/with-node.sh --cwd frontend-dapp -- ./node_modules/.bin/playwright test e2e/wrap-pool.spec.ts --project=e2e-tx -g "Pool Transaction"'→ 4/4 passedVITE_LUNC_C_TOKEN_ADDRESS, indexer total 1 pair, LUNC-C/EMBER card visibletest.skipadded; missing pair still fails with seed instructionswrap-pool.spec.ts --project=e2e-tx4/4 txwrap-pool.spec.ts --project=e2e-smokewrap-pool.spec.tsise2e-txonly perplaywright.config.ts(testMatch: txSpecGlobs)CI=1 make test-e2efull suiteLUNC-Con/poolwith many pairsVerification for third parties
On QA with 75+ pairs: confirm
/pooldefault view hides LUNC-C on page 1, then run the command above — expand should succeed within the 90sbeforeEachwindow.mentioned in issue #340
changed the description
changed the description
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issue.
Reviewed by Cursor Bugbot for commit
7486c859a6. Configure here.Pagination skips pages while loading
Medium Severity
In
paginateToPoolCard, eachNextclick is followed immediately by a short visibility check, without waiting for the pool list fetch to finish (unlikesubmitPoolSearch, which callswaitForPoolListSettled). While/poolshows loading skeletons and no cards, the helper can treat the pair as missing and clickNextagain, advancing the UI page before the prior page’s results render and skipping the page that actually contains the card.Reviewed by Cursor Bugbot for commit
7486c859a6. Configure here.Security review
Commit reviewed:
7486c859a6aa204b3058097ddc660251d53e7e16Scope: E2E-only changes for wrap-pool tx specs (#340):
pool-nav.ts,wrap-e2e.ts,wrap-pool.spec.ts,global-setup.ts,e2e/README.md.Outcome:
FINDINGS: 0medium+Reviewed the MR diff for injection, authn/authz, secret leakage, SSRF/XSS, and unsafe deserialization. Changes are confined to Playwright test helpers and specs; no production frontend, indexer, or contract code is modified.
pool-nav.tsdrives the existing/poolsearch UI in a test browser with hardcodedLUNC-Cor deploy-timeVITE_LUNC_C_TOKEN_ADDRESS(public on-chain address from.env.local).escapeRegExpis used before building the card-matchingRegExp.wrap-e2e.ts/wrap-pool.spec.tsscope locators to the located card; locator selector hardening only.Inline threads: none (no medium+ findings).
added 1 commit
c9742e67- fix(e2e): wait for pool list to settle after pagination Next clickCompare with previous version
Security review
Commit reviewed:
c9742e67f26bb6d6cd16b16a414ac37ebc115ffcScope: E2E-only changes for wrap-pool tx specs (#340):
pool-nav.ts,wrap-e2e.ts,wrap-pool.spec.ts,global-setup.ts,e2e/README.md(re-reviewed after pagination-settle fix inpaginateToPoolCard).Outcome:
FINDINGS: 0medium+Reviewed the full MR diff (
main..HEAD, 5 files) for injection, authn/authz bypass, secret leakage, SSRF/XSS, unsafe deserialization, and supply-chain risk. All changes are confined to Playwright test helpers and specs; no production frontend, indexer, or contract code is modified.Trace summary (no exploitable paths):
pool-nav.tsautomates the existing/poolsearch UI in a test browser. Search input is hardcodedLUNC-Cor deploy-timeVITE_LUNC_C_TOKEN_ADDRESS(public on-chain address from.env.local, same pattern as existing LCD/indexer env loading inglobal-setup.ts).escapeRegExpis applied before building the card-matchingRegExp. Pagination helper only clicks in-page Next/Search controls — no new network endpoints or server-side sinks.wrap-e2e.ts/wrap-pool.spec.tsscope locators to the located card (Page | Locator); locator hardening only, no auth boundary changes.Prior review: commit
7486c859— same outcome; latest commit addswaitForPoolListSettledafter pagination (test reliability only, not a security control change).Inline threads: none (no medium+ findings).
Pull request closed