frontend: compact pool pre-sign summary card (#462) #997
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!997
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "qa/462-pool-presign-summary-refine"
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
Refines the pool provide/withdraw pre-sign summary merged in !990 (#462 / SEC-I05 F-03) to address cognitive-overload feedback: drops the swap-style intro paragraph (chain was duplicated), consolidates provide deposit amounts into one Amount row, and keeps the four SEC-D11 security anchors (action, pair, amount, chain).
Adds
PoolPagewiring tests,skills/AGENTS_FRONTEND_POOL_SIGNING_CONFIRMATION.md, and cross-links indocs/frontend.mdanddocs/exploit-replay-matrix.md.Acceptance checklist
cd frontend-dapp && npm run test:run -- src/pages/PoolPage.test.tsx -t "provide pre-sign"; manual:/pool→ Provide → enter both amounts → card above submitcd frontend-dapp && npm run test:run -- src/pages/PoolPage.test.tsx -t "withdraw pre-sign"; manual:/pool→ Withdraw → enter LP amountPoolPreSubmitSummary(chain label + action type)cd frontend-dapp && npm run test:run -- src/components/pool/__tests__/PoolPreSubmitSummary.test.tsxThird-party verification
Manual (needs
make dev+ wallet):http://127.0.0.1:5173/pool, expand a pair, click Provide Liquidity.A + B), Chain above the submit button.N LP.Blockers
None for merge from automated checks. Manual Keplr browser pass recommended post-merge.
Security review — MR !997
Commit reviewed:
81fc27c8220a5c3af82bc8e9a0e89c8fcac44e8eScope:
PoolPreSubmitSummarycompact layout (consolidated amount row, removed swap-style intro copy),PoolPagewiring tests, docs/skills cross-links for SEC-I05 / SEC-D11 pool parity.Method: Diff-only review with sink tracing for attacker-controlled inputs (
amountLines,pairLabel,actionLabel,chainFullLabel). Compared against existingSwapPreSubmitSummary/PoolPagewiring (unchanged in this MR).Outcome:
FINDINGS: 0medium+Summary
No new medium, high, or critical vulnerabilities on this diff.
SummaryRowrenders all props as React text nodes ({value}); nodangerouslySetInnerHTML. Unchanged from priorPoolPreSubmitSummary; indexer/CW20 symbol trust is pre-existing and identical to other pool/swap surfaces.data-testids. Removing the intro paragraph is a UX compaction; it does not remove chain identification or pair context, and does not decouple the card from form snapshot values (amountA/amountB/lpAmountwiring inPoolPage.tsxis outside this diff).Inline threads: None (no findings).
Prior security-review comments: None on this MR; nothing to re-report.
added 9 commits
mainb2b067ec- Merge branch 'main' into qa/462-pool-presign-summary-refineCompare with previous version
Resolved merge conflicts with
main.Conflict:
skills/AGENTS_FRONTEND_SWAP_SIGNING_CONFIRMATION.md— mergedmain's #461 limit-order labeled signing fields wording with this branch's #462 pool pre-sign rule (items 4 and 5).Checks:
tsc --noEmit,PoolPreSubmitSummary+PoolPageunit tests (22/22 pass).Security review — MR !997
Commit reviewed:
b2b067ec8f19d60bd0a60a460cfc79acbd3c737bScope:
PoolPreSubmitSummarycompact layout (consolidatedAmountrow viaamountLines.join(' + '), removed swap-style intro copy),PoolPagewiring tests, docs/skills cross-links for SEC-I05 / SEC-D11 pool parity;factorytest formatting-only hunk.Method: Diff-only review with sink tracing for attacker-controlled inputs (
amountLines,pairLabel,actionLabel,chainFullLabel). Compared against existingSwapPreSubmitSummary/PoolPageprovide-withdraw wiring (unchanged in this MR).Outcome:
FINDINGS: 0medium+Summary
Security review: no medium+ findings on this diff.
SummaryRowrenders all props as React text nodes ({value}); nodangerouslySetInnerHTML. Unchanged pattern from priorPoolPreSubmitSummary; indexer/CW20 symbol trust is pre-existing and identical to other pool/swap surfaces.data-testids. Removing the intro paragraph is UX compaction; chain identification and pair context are preserved. Summary values still snapshot form state (amountA/amountB/lpAmount+displayLabelwiring inPoolPage.tsxis outside this diff).join(' + ')could let a malicious CW20/indexer symbol containing+blur amount boundaries in the summary line; separate form inputs and wallet signing still reflect actual assets/amounts. Treat as pre-existing metadata-display trust, not a new executable sink — below medium threshold.Inline threads: None (no findings).
Prior security-review comments: Reviewed note on
81fc27c; findings still do not apply after rebase tob2b067ec(no new sinks introduced).mentioned in commit
772a7dec45Conflict resolution
Merged latest
mainintoqa/462-pool-presign-summary-refine(commit84ff936b). The prior conflict state was already cleared in an earlier merge (b2b067ec); this update integratesmainthrough9b98249d(#451 factory-address docs) with a clean merge — no file-level conflicts remained.Sanity checks:
PoolPreSubmitSummary.test.tsx+PoolPage.test.tsx— 22/22 passednpx tsc --noEmit— cleanmentioned in issue #462