Add LocalTerra wrap-mapper pause/unpause smoke test (SEC-B06, #396) #926
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!926
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-396-wrap-mapper-pause-smoke"
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
Adds on-chain LocalTerra smoke coverage for wrap-mapper governance pause (GitLab #396 / launch checklist SEC-B06). The existing frontend and Playwright tests mock LCD pause state; this MR exercises the deployed
ustr-cmmwrap-mapper contract:set_paused(true)rejects treasurywrap_depositand LUNC-Csendunwrap with clear paused errors, andset_paused(false)restores both paths.New entry points:
make smoke-wrap-mapper-pause— post-deploy on-chain transcriptmake verify-issue-396— smoke + existing SEC-A02 Vitest bundleDocs cross-linked in
docs/testing.md,docs/runbooks/launch-checklist.md, andskills/AGENTS_FRONTEND_SWAP_SAFETY_CTA.md.Related: #396 (issue stays open until merge)
Acceptance checklist
make smoke-wrap-mapper-pause(wrap_deposit step)make smoke-wrap-mapper-pause(CW20 send unwrap step)make smoke-wrap-mapper-pause(post-unpause steps)ustr-cmmwrap_mapper.wasm viamake deploy-localmake verify-issue-396(VitestSwapPage.test.tsx -t SEC-A02)Verification checklist (third parties)
make start && make wait-healthymake deploy-local(full seed — treasury + wrap-mapper)make verify-issue-396→ expectPASS=4 FAIL=0make smoke-wrap-mapper-pause— expect transcript endingOK: smoke-wrap-mapper-pause passedSample smoke output (LocalTerra):
Follow-ups
configdirectly.Security review
Commit reviewed:
294de27a8287bada8c7f739812274602d950ed63Scope: MR !926 — LocalTerra wrap-mapper pause/unpause smoke test (SEC-B06, #396):
scripts/smoke-wrap-mapper-pause.sh,scripts/lib/smoke-wrap-env.sh,scripts/qa/verify-issue-396.sh, Makefile targets, docs/skills cross-links.Outcome:
FINDINGS: 0medium+Summary: Reviewed added/modified bash smoke/verify scripts and wiring. Changes are post-deploy LocalTerra QA tooling only (no production services, contracts, or frontend runtime paths). Attacker-controlled inputs were traced:
frontend-dapp/.env.local(deploy artifact) viaread_env_varand passed quoted toterrad tx/lcd_smart_query_raw— same pattern as existingsmoke-pool-swap/smoke-deploy-env; no command-injection or unauthenticated remote trigger path.e2e_terrad_txbroadcasts from the fixed LocalTerratest1keyring inside the dev container;set_pausedauth is on-chain wrap-mapper policy (out of diff scope).Inline threads: none (no medium+ findings).
Security review: no medium+ findings on this diff.
added 7 commits
main9df6672a- Merge branch 'main' into issue-396-wrap-mapper-pause-smokeCompare with previous version
Resolved merge conflicts with
main.Conflict:
Makefile.PHONYline only — both branches added new targets independently.Resolution: Combined both sides:
smoke-wrap-mapper-pause,verify-issue-396main:check-blacklist-decision-docs,verify-issue-400Sanity check:
make -nfor the affected targets passes. Pushed merge commit9df6672a.Security review
Commit reviewed:
9df6672a440969f1e837dac6fee129aec5aa38d7Scope: MR !926 — LocalTerra wrap-mapper pause/unpause smoke test (SEC-B06, #396):
scripts/smoke-wrap-mapper-pause.sh,scripts/lib/smoke-wrap-env.sh,scripts/qa/verify-issue-396.sh, Makefile targets, docs/skills cross-links.Outcome:
FINDINGS: 0medium+Summary: Reviewed all added/modified paths in the MR diff. Changes are post-deploy LocalTerra QA tooling only — no production services, CosmWasm contracts, indexer routes, or frontend runtime code. Attacker-controlled inputs were traced to sinks:
frontend-dapp/.env.localcontract addresses + LCD URL (smoke-wrap-env.sh)lcd_smart_query_raw/e2e_terrad_tx→terrad tx wasm executesmoke-deploy-env/smoke-pool-swap. Terra bech32 addresses cannot inject shell or JSON metacharacters in the constructed execute payloads.SMOKE_WRAP_AMOUNT/SMOKE_UNWRAP_AMOUNT/TEST_ADDRESSenv overrides--amountflag and CW20sendJSONset_pausedbroadcaststest1keyring viae2e_terrad_tx; authorization is enforced by wrap-mapper contract policy (out of diff scope). Intended smoke behavior on localnet.localterra_lcd_curl/ host curl fallbackNo new dependencies, secret material in logs, XSS/CSRF/injection paths in deployable application code, or authz boundary changes introduced by this diff.
Inline threads: none (no medium+ findings).
Security review: no medium+ findings on this diff.
mentioned in commit
96e814ab22