Verify #419: align limit-order cancel E2E with retail panel UX #950

Merged
PlasticDigits merged 1 commit from issue-419-verify-e2e-panel-cancel into main 2026-06-26 10:51:29 +00:00
PlasticDigits commented 2026-06-26 08:53:43 +00:00 (Migrated from gitlab.com)

Summary

Retail limit-order UX on main already meets #419 acceptance criteria (panel-first cancel, fee copy, claims, min_return). This MR aligns Playwright on-chain cancel with that UX: the tx spec cancels via My open limits (limits-page-cancel-placement-{order_id}) instead of the collapsed Advanced Cancel by order ID form.

Acceptance checklist

Criterion Result How verified
Connected wallet sees open limits without typing Order ID for cancel PASS LimitOrderMyPlacementsPanel on /limits; Vitest LimitOrderMyPlacementsPanel.test.tsx; E2E limit-orders-tx.spec.ts cancel via panel
Maker placement fee explained in pre-submit PASS LimitOrderPreSubmitSummary.test.tsx — retail placement fee copy
Dust/expiry claim paths with plain-language labels PASS Vitest claim labels; E2E limit-orders-claim-all-tx.spec.ts
min_return / belief price surfaced before hybrid market submit PASS TradeMarketOrderPanel.submitSnapshot.test.tsx
Pause state disables cancel/claim PASS Vitest pause cases in LimitOrderMyPlacementsPanel.test.tsx
Screenshot: My limits panel with cancel PASS E2E panel cancel tx on LocalTerra
Screenshot: Limit pre-submit — maker fee PASS Vitest limit-order-pre-submit-summary-maker-fee
Screenshot: Parked/expired claim row PASS E2E claim-all + Vitest dust/refund labels
Indexer getTraderLimitPlacements primary (not order-id form) PASS Code + docs/limit-orders.md § retail form
docs/limit-orders.md fee/claim flows PASS Existing docs on main

Commands run (verify @ 9bc36230 + this branch E2E diff)

  • make test-frontend — 1084 passed
  • make test-contracts — pass
  • Targeted Vitest (#419 files) — 27 passed
  • playwright e2e/limit-orders-tx.spec.ts -g "cancel limit via my open limits" — 1 passed
  • playwright e2e/limit-orders-claim-all-tx.spec.ts — 1 passed

Follow-ups

  • Investigate intermittent ladder-place disable in full limit-orders-tx.spec.ts suite (unrelated to #419 scope; observed in prior verify).
## Summary Retail limit-order UX on `main` already meets #419 acceptance criteria (panel-first cancel, fee copy, claims, min_return). This MR aligns **Playwright on-chain cancel** with that UX: the tx spec cancels via **My open limits** (`limits-page-cancel-placement-{order_id}`) instead of the collapsed Advanced **Cancel by order ID** form. ## Acceptance checklist | Criterion | Result | How verified | |-----------|--------|--------------| | Connected wallet sees open limits without typing Order ID for cancel | **PASS** | `LimitOrderMyPlacementsPanel` on `/limits`; Vitest `LimitOrderMyPlacementsPanel.test.tsx`; E2E `limit-orders-tx.spec.ts` cancel via panel | | Maker placement fee explained in pre-submit | **PASS** | `LimitOrderPreSubmitSummary.test.tsx` — retail placement fee copy | | Dust/expiry claim paths with plain-language labels | **PASS** | Vitest claim labels; E2E `limit-orders-claim-all-tx.spec.ts` | | `min_return` / belief price surfaced before hybrid market submit | **PASS** | `TradeMarketOrderPanel.submitSnapshot.test.tsx` | | Pause state disables cancel/claim | **PASS** | Vitest pause cases in `LimitOrderMyPlacementsPanel.test.tsx` | | Screenshot: My limits panel with cancel | **PASS** | E2E panel cancel tx on LocalTerra | | Screenshot: Limit pre-submit — maker fee | **PASS** | Vitest `limit-order-pre-submit-summary-maker-fee` | | Screenshot: Parked/expired claim row | **PASS** | E2E claim-all + Vitest dust/refund labels | | Indexer `getTraderLimitPlacements` primary (not order-id form) | **PASS** | Code + `docs/limit-orders.md` § retail form | | `docs/limit-orders.md` fee/claim flows | **PASS** | Existing docs on `main` | ### Commands run (verify @ `9bc36230` + this branch E2E diff) - `make test-frontend` — 1084 passed - `make test-contracts` — pass - Targeted Vitest (#419 files) — 27 passed - `playwright e2e/limit-orders-tx.spec.ts -g "cancel limit via my open limits"` — 1 passed - `playwright e2e/limit-orders-claim-all-tx.spec.ts` — 1 passed ## Follow-ups - Investigate intermittent ladder-place disable in full `limit-orders-tx.spec.ts` suite (unrelated to #419 scope; observed in prior verify).
PlasticDigits commented 2026-06-26 08:55:31 +00:00 (Migrated from gitlab.com)

Security review — MR !950

Commit reviewed: 4d45409e431ba25e95342d18d98355cbc5f518e5
Scope: frontend-dapp/e2e/helpers/limit-e2e.ts, frontend-dapp/e2e/limit-orders-tx.spec.ts, skills/AGENTS_E2E_LIMIT_ORDERS_TX.md

Outcome: FINDINGS: 0 medium+

Security review: no medium+ findings on this diff.

Summary

This MR realigns Playwright on-chain cancel coverage with the retail My open limits panel UX (#419). All changes are confined to E2E test helpers, one tx spec, and agent documentation. No production application code, CosmWasm contracts, indexer routes, or dependency manifests are modified.

Areas checked

Category Result
Injection (XSS, SSRF, path traversal) N/A — no new user-facing sinks; orderId is parsed from \d+ in test-only code
Authn / authz bypass N/A — no auth or permission logic changed
Secret leakage / insecure logging None — no credentials or env values added
Unsafe deserialization / request forgery N/A — no new HTTP clients or parsers
Supply-chain / dependency risk None — no lockfile or package changes
On-chain / wallet boundary Unchanged — cancel still goes through existing window.confirm + wallet broadcast in production code (not touched by this MR)

Prior review threads

No prior security-review comments on this MR; nothing to re-report.

Inline findings

None.

## Security review — MR !950 **Commit reviewed:** `4d45409e431ba25e95342d18d98355cbc5f518e5` **Scope:** `frontend-dapp/e2e/helpers/limit-e2e.ts`, `frontend-dapp/e2e/limit-orders-tx.spec.ts`, `skills/AGENTS_E2E_LIMIT_ORDERS_TX.md` **Outcome:** `FINDINGS: 0` medium+ Security review: no medium+ findings on this diff. ### Summary This MR realigns Playwright on-chain cancel coverage with the retail **My open limits** panel UX (#419). All changes are confined to E2E test helpers, one tx spec, and agent documentation. No production application code, CosmWasm contracts, indexer routes, or dependency manifests are modified. ### Areas checked | Category | Result | |----------|--------| | Injection (XSS, SSRF, path traversal) | N/A — no new user-facing sinks; `orderId` is parsed from `\d+` in test-only code | | Authn / authz bypass | N/A — no auth or permission logic changed | | Secret leakage / insecure logging | None — no credentials or env values added | | Unsafe deserialization / request forgery | N/A — no new HTTP clients or parsers | | Supply-chain / dependency risk | None — no lockfile or package changes | | On-chain / wallet boundary | Unchanged — cancel still goes through existing `window.confirm` + wallet broadcast in production code (not touched by this MR) | ### Prior review threads No prior security-review comments on this MR; nothing to re-report. ### Inline findings None.
PlasticDigits commented 2026-06-26 10:51:30 +00:00 (Migrated from gitlab.com)

mentioned in commit 8c56f4b84b

mentioned in commit 8c56f4b84b9d9aee4bbbfc9875a2478035502cbd
PlasticDigits (Migrated from gitlab.com) merged commit 8c56f4b84b into main 2026-06-26 10:51:30 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!950
No description provided.