docs: Terra Station wallet verification only on columbus-5 (not LocalTerra) #235

Closed
opened 2026-05-30 07:45:08 +00:00 by PlasticDigits · 19 comments
PlasticDigits commented 2026-05-30 07:45:08 +00:00 (Migrated from gitlab.com)

Summary

Terra Station cannot be used to verify Terra Classic gas/fee or transaction signing on LocalTerra (chain-id: localterra). Station ships a built-in localterra network entry with a stale ~0.015 uluna/gas step, while our LocalTerra node’s ante handler requires 28.325 uluna/gas (hardcoded in the localterra-cl8y binary). Station ignores dApp fee overrides (preferNoSetFee, experimentalSuggestChain, addNetwork), so every Station-signed tx on LocalTerra fails with insufficient fees (e.g. 3000uluna / ~12600 uluna vs ~23M uluna required).

Keplr and the dev/simulated wallet work on LocalTerra. Station verification must wait until columbus-5 deployment with non-economic tokens, where Station’s built-in columbus-5 gas step matches chain requirements.

Related investigation: GitLab #127.

Files to update

Docs

Skills (agent playbooks)

QA / scripts

Frontend error copy (optional follow-up in same MR)

Acceptance criteria

  • Every doc/skill/QA template that mentions LocalTerra wallet testing explicitly states: do not use Terra Station on LocalTerra for fee/signing verification.
  • LocalTerra wallet matrix lists Keplr (extension) and/or dev/simulated wallet as P0; Station is N/A (LocalTerra) or deferred.
  • columbus-5 (or pre-release staging on columbus-5 with non-economic tokens) is documented as the only environment for Terra Station P0 verification (swap, limits, bids, wrap/unwrap).
  • Cross-links to #127 and between AGENTS_FRONTEND_STATION_SIGNING.md ↔ AGENTS_TERRACLASSIC_GAS.md ↔ docs/frontend.md are consistent (no contradictory “test Station on LocalTerra” language).
  • Root cause is documented in one canonical place (recommend docs/frontend.md § Station extension signing): Station built-in localterra gas step vs node ante minimum; not fixable by dApp fee overrides alone.

Verification checklist (for the doc MR)

  • rg -i "station.*localterra|localterra.*station|Station \\+ Keplr on LocalTerra" docs/ skills/ scripts/qa/ returns no stale “test Station on LocalTerra” guidance (except the known-limitation explanation).
  • docs/qa-onboarding.md Wallet Matrix and swap walkthrough align with Keplr/dev wallet for local QA.
  • QA templates default to Keplr (or “wallet: Keplr / dev — not Station on LocalTerra”).
  • Agent skills cross-link the columbus-5-only Station rule from all three gas/signing playbooks.
  • Issue #127 comment thread references this doc issue once merged.
## Summary Terra Station **cannot** be used to verify Terra Classic gas/fee or transaction signing on **LocalTerra** (`chain-id: localterra`). Station ships a built-in `localterra` network entry with a stale **~0.015 uluna/gas** step, while our LocalTerra node’s ante handler requires **28.325 uluna/gas** (hardcoded in the `localterra-cl8y` binary). Station ignores dApp fee overrides (`preferNoSetFee`, `experimentalSuggestChain`, `addNetwork`), so every Station-signed tx on LocalTerra fails with insufficient fees (e.g. `3000uluna` / `~12600 uluna` vs `~23M uluna` required). **Keplr and the dev/simulated wallet work on LocalTerra.** Station verification must wait until **columbus-5 deployment with non-economic tokens**, where Station’s built-in `columbus-5` gas step matches chain requirements. Related investigation: GitLab **#127**. ## Files to update ### Docs - [`docs/frontend.md`](docs/frontend.md) — § Terra Classic gas limits, § Station extension signing: remove “QA: Station + Keplr on LocalTerra”; add explicit **LocalTerra: Keplr/dev wallet only; Station → columbus-5 only** - [`docs/indexer-invariants.md`](docs/indexer-invariants.md) — wallet validation note currently says test both Station and Keplr on LocalTerra - [`docs/qa-onboarding.md`](docs/qa-onboarding.md) — Wallet Matrix (Station P0 on LocalTerra); swap walkthrough (“confirm in Station”) - [`docs/qa-templates/qa-test-pass.md`](docs/qa-templates/qa-test-pass.md) — default wallet = Station - [`docs/qa-templates/wrap-unwrap-test-pass.md`](docs/qa-templates/wrap-unwrap-test-pass.md) — same - [`docs/qa-templates/frontend-bug.md`](docs/qa-templates/frontend-bug.md) — note when Station-on-LocalTerra is out of scope ### Skills (agent playbooks) - [`skills/AGENTS_FRONTEND_STATION_SIGNING.md`](skills/AGENTS_FRONTEND_STATION_SIGNING.md) — LocalTerra `addNetwork` / fee-guard mitigations; add **known limitation: Station not verifiable on LocalTerra** - [`skills/AGENTS_TERRACLASSIC_GAS.md`](skills/AGENTS_TERRACLASSIC_GAS.md) — rule 7 “LocalTerra wallet matrix: test Station and Keplr” - [`skills/AGENTS_LOCALNET_TRADING_SWARM.md`](skills/AGENTS_LOCALNET_TRADING_SWARM.md) — “verify Station + Keplr” cross-link ### QA / scripts - [`scripts/qa/README.md`](scripts/qa/README.md) — optional § “Wallet verification scope” for laptop QA via tunnel ### Frontend error copy (optional follow-up in same MR) - [`frontend-dapp/src/utils/humanizeTerraTxError.ts`](frontend-dapp/src/utils/humanizeTerraTxError.ts) — Station reconnect hints on LocalTerra may mislead QA; consider pointing to Keplr/dev wallet for local testing ## Acceptance criteria - [ ] Every doc/skill/QA template that mentions **LocalTerra wallet testing** explicitly states: **do not use Terra Station on LocalTerra** for fee/signing verification. - [ ] **LocalTerra** wallet matrix lists **Keplr (extension)** and/or **dev/simulated wallet** as P0; Station is **N/A (LocalTerra)** or deferred. - [ ] **columbus-5** (or pre-release staging on columbus-5 with non-economic tokens) is documented as the **only** environment for Terra Station P0 verification (swap, limits, bids, wrap/unwrap). - [ ] Cross-links to **#127** and between [`AGENTS_FRONTEND_STATION_SIGNING.md`](skills/AGENTS_FRONTEND_STATION_SIGNING.md) ↔ [`AGENTS_TERRACLASSIC_GAS.md`](skills/AGENTS_TERRACLASSIC_GAS.md) ↔ [`docs/frontend.md`](docs/frontend.md) are consistent (no contradictory “test Station on LocalTerra” language). - [ ] Root cause is documented in one canonical place (recommend [`docs/frontend.md`](docs/frontend.md) § Station extension signing): Station built-in `localterra` gas step vs node ante minimum; not fixable by dApp fee overrides alone. ## Verification checklist (for the doc MR) - [ ] `rg -i "station.*localterra|localterra.*station|Station \\+ Keplr on LocalTerra" docs/ skills/ scripts/qa/` returns no stale “test Station on LocalTerra” guidance (except the known-limitation explanation). - [ ] [`docs/qa-onboarding.md`](docs/qa-onboarding.md) Wallet Matrix and swap walkthrough align with Keplr/dev wallet for local QA. - [ ] QA templates default to Keplr (or “wallet: Keplr / dev — not Station on LocalTerra”). - [ ] Agent skills cross-link the columbus-5-only Station rule from all three gas/signing playbooks. - [ ] Issue **#127** comment thread references this doc issue once merged.
PlasticDigits commented 2026-05-30 07:45:09 +00:00 (Migrated from gitlab.com)

marked as related to #127

marked as related to #127
PlasticDigits commented 2026-05-30 07:45:14 +00:00 (Migrated from gitlab.com)

mentioned in issue #127

mentioned in issue #127
PlasticDigits commented 2026-05-30 07:58:46 +00:00 (Migrated from gitlab.com)

mentioned in commit 5b8267e47f

mentioned in commit 5b8267e47f888ff0a126de19a35b197fceb1a4d2
PlasticDigits commented 2026-05-30 07:59:05 +00:00 (Migrated from gitlab.com)

Implementation complete (merged to main, 5b8267e)

Documented that Terra Station cannot verify gas/fees or transaction signing on LocalTerra — Station’s built-in localterra network uses a stale ~0.015 uluna/gas step while our node requires 28.325 uluna/gas, and Station ignores dApp fee overrides.

What changed

Verification checklist

  • rg -i "Station \+ Keplr on LocalTerra|test both Station|verify Station \+ Keplr" docs/ skills/ scripts/qa/ returns no stale “test Station on LocalTerra” guidance
  • docs/qa-onboarding.md Wallet Matrix lists Keplr/dev wallet P0 on LocalTerra; Station N/A or deferred
  • QA templates default to Keplr for local / Station for columbus-5
  • Agent skills cross-link columbus-5-only Station rule consistently
  • LocalTerra swap with Keplr succeeds; Station still fails with insufficient fees (expected — not a regression)
  • columbus-5 (or staging) Station P0 swap/limits/wrap smoke test when available

@brouie — please verify the doc matrix and LocalTerra wallet guidance match your QA expectations. Issue left open pending your sign-off.

## Implementation complete (merged to `main`, 5b8267e) Documented that **Terra Station cannot verify gas/fees or transaction signing on LocalTerra** — Station’s built-in `localterra` network uses a stale ~0.015 uluna/gas step while our node requires 28.325 uluna/gas, and Station ignores dApp fee overrides. ### What changed - **Canonical root cause:** [`docs/frontend.md` § Station extension signing](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/docs/frontend.md#station-extension-signing) — LocalTerra: Keplr/dev wallet only; Station → columbus-5 P0 - **QA onboarding:** split Wallet Matrix (LocalTerra vs columbus-5); swap walkthrough uses Keplr/dev wallet locally - **Indexer invariants:** LocalTerra browser-wallet validation note updated - **QA templates:** default wallet = Keplr (LocalTerra) / Station (columbus-5); bug template marks Station-on-LocalTerra out of scope - **Agent playbooks:** [`skills/AGENTS_FRONTEND_STATION_SIGNING.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_FRONTEND_STATION_SIGNING.md), [`skills/AGENTS_TERRACLASSIC_GAS.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_TERRACLASSIC_GAS.md), [`skills/AGENTS_LOCALNET_TRADING_SWARM.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_LOCALNET_TRADING_SWARM.md) — cross-linked #235 / #127 - **QA server docs:** [`scripts/qa/README.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/scripts/qa/README.md) § Wallet verification scope - **Error copy:** `humanizeTerraTxError.ts` — LocalTerra Station insufficient-fee hints now point to Keplr/dev wallet instead of misleading reconnect steps - **#127 thread:** cross-reference note added ### Verification checklist - [ ] `rg -i "Station \+ Keplr on LocalTerra|test both Station|verify Station \+ Keplr" docs/ skills/ scripts/qa/` returns no stale “test Station on LocalTerra” guidance - [ ] [`docs/qa-onboarding.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/docs/qa-onboarding.md) Wallet Matrix lists Keplr/dev wallet P0 on LocalTerra; Station N/A or deferred - [ ] QA templates default to Keplr for local / Station for columbus-5 - [ ] Agent skills cross-link columbus-5-only Station rule consistently - [ ] LocalTerra swap with **Keplr** succeeds; **Station** still fails with insufficient fees (expected — not a regression) - [ ] columbus-5 (or staging) Station P0 swap/limits/wrap smoke test when available @brouie — please verify the doc matrix and LocalTerra wallet guidance match your QA expectations. Issue left open pending your sign-off.
PlasticDigits commented 2026-05-30 07:59:24 +00:00 (Migrated from gitlab.com)

mentioned in commit 56c41e3d63

mentioned in commit 56c41e3d63719f128ead9c94aa4a9a4b996d2a04
PlasticDigits commented 2026-05-30 09:03:59 +00:00 (Migrated from gitlab.com)

mentioned in issue #203

mentioned in issue #203
PlasticDigits commented 2026-05-30 12:39:06 +00:00 (Migrated from gitlab.com)

qa agent team permitted to complete verification checklist.

qa agent team permitted to complete verification checklist.
PlasticDigits commented 2026-05-30 12:40:59 +00:00 (Migrated from gitlab.com)

QA verification complete (agent, 2026-05-30)

Verified GitLab #235 on worktree verify/issue-235 at origin/main (8c69546). Implementation was already merged (5b8267e docs, 56c41e3 fee-hint detection). No additional code changes required.

What was verified

Criterion Result
Docs/skills/QA: no stale "test Station on LocalTerra" PASS — rg for Station + Keplr on LocalTerra, test both Station, verify Station + Keplr → no matches
Known-limitation rg hits only PASS — explicit "do not use Station on LocalTerra" / N/A matrix rows
docs/qa-onboarding.md Wallet Matrix PASS — LocalTerra: Keplr + dev/sim P0; Station N/A; columbus-5: Station P0
QA templates PASS — Keplr (local) / Station (columbus-5); frontend-bug.md marks Station-on-local out of scope
Agent playbooks cross-links PASS — AGENTS_FRONTEND_STATION_SIGNING ↔ AGENTS_TERRACLASSIC_GAS ↔ AGENTS_LOCALNET_TRADING_SWARM ↔ docs/frontend.md § Station extension signing
Canonical root cause PASS — docs/frontend.md § Station extension signing
#127 thread PASS — note references #235 + doc links
humanizeTerraTxError PASS — 21/21 Vitest tests
LocalTerra swap (dev/sim wallet) PASS — e2e/swap-tx.spec.ts on live LocalTerra + indexer
Station insufficient-fee UX PASS — unit test for 3000uluna repro + ratio undershoot
columbus-5 Station P0 smoke Deferred — requires mainnet/staging (documented)

Post-merge checklist for humans

  • Spot-read docs/frontend.md § Station extension signing
  • LocalTerra: confirm Terra Classic Keplr swap succeeds (extension)
  • LocalTerra: confirm Station still fails insufficient-fee (expected — not a regression)
  • columbus-5 (or non-economic staging): Station P0 swap / limits / wrap smoke when network is available

Closing — all in-repo acceptance criteria and agent-verifiable runtime checks passed.

## QA verification complete (agent, 2026-05-30) Verified GitLab **#235** on worktree `verify/issue-235` at `origin/main` (`8c69546`). Implementation was already merged (`5b8267e` docs, `56c41e3` fee-hint detection). No additional code changes required. ### What was verified | Criterion | Result | |-----------|--------| | Docs/skills/QA: no stale "test Station on LocalTerra" | **PASS** — `rg` for `Station + Keplr on LocalTerra`, `test both Station`, `verify Station + Keplr` → no matches | | Known-limitation `rg` hits only | **PASS** — explicit "do not use Station on LocalTerra" / N/A matrix rows | | `docs/qa-onboarding.md` Wallet Matrix | **PASS** — LocalTerra: Keplr + dev/sim P0; Station N/A; columbus-5: Station P0 | | QA templates | **PASS** — Keplr (local) / Station (columbus-5); `frontend-bug.md` marks Station-on-local out of scope | | Agent playbooks cross-links | **PASS** — `AGENTS_FRONTEND_STATION_SIGNING` ↔ `AGENTS_TERRACLASSIC_GAS` ↔ `AGENTS_LOCALNET_TRADING_SWARM` ↔ `docs/frontend.md` § Station extension signing | | Canonical root cause | **PASS** — `docs/frontend.md` § Station extension signing | | **#127** thread | **PASS** — note references #235 + doc links | | `humanizeTerraTxError` | **PASS** — 21/21 Vitest tests | | LocalTerra swap (dev/sim wallet) | **PASS** — `e2e/swap-tx.spec.ts` on live LocalTerra + indexer | | Station insufficient-fee UX | **PASS** — unit test for 3000uluna repro + ratio undershoot | | columbus-5 Station P0 smoke | **Deferred** — requires mainnet/staging (documented) | ### Post-merge checklist for humans - [ ] Spot-read `docs/frontend.md` § Station extension signing - [ ] LocalTerra: confirm **Terra Classic Keplr** swap succeeds (extension) - [ ] LocalTerra: confirm **Station** still fails insufficient-fee (expected — not a regression) - [ ] **columbus-5** (or non-economic staging): Station P0 swap / limits / wrap smoke when network is available Closing — all in-repo acceptance criteria and agent-verifiable runtime checks passed.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-05-30 12:41:00 +00:00
PlasticDigits commented 2026-05-31 12:29:12 +00:00 (Migrated from gitlab.com)

mentioned in issue #252

mentioned in issue #252
PlasticDigits commented 2026-05-31 13:08:25 +00:00 (Migrated from gitlab.com)

mentioned in issue #247

mentioned in issue #247
PlasticDigits commented 2026-05-31 13:15:59 +00:00 (Migrated from gitlab.com)

mentioned in issue #249

mentioned in issue #249
PlasticDigits commented 2026-05-31 14:36:46 +00:00 (Migrated from gitlab.com)

mentioned in issue #260

mentioned in issue #260
PlasticDigits commented 2026-06-07 12:14:12 +00:00 (Migrated from gitlab.com)

mentioned in issue #337

mentioned in issue #337
PlasticDigits commented 2026-08-18 23:53:10 +00:00 (Migrated from gitlab.com)

mentioned in issue #567

mentioned in issue #567
PlasticDigits commented 2026-08-19 01:07:34 +00:00 (Migrated from gitlab.com)

mentioned in merge request !1091

mentioned in merge request !1091
PlasticDigits commented 2026-08-21 11:29:50 +00:00 (Migrated from gitlab.com)

mentioned in issue #587

mentioned in issue #587
PlasticDigits commented 2026-08-23 03:05:42 +00:00 (Migrated from gitlab.com)

mentioned in issue #599

mentioned in issue #599
PlasticDigits commented 2026-08-27 00:20:45 +00:00 (Migrated from gitlab.com)

mentioned in issue #679

mentioned in issue #679
PlasticDigits commented 2026-08-27 00:20:55 +00:00 (Migrated from gitlab.com)

mentioned in issue #681

mentioned in issue #681
Sign in to join this conversation.
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#235
No description provided.