feat: surface F6 code-id freeze on dApp + indexer route/solve #1111

Merged
PlasticDigits merged 1 commit from feat/585-f6-code-id-freeze into main 2026-08-21 11:23:46 +00:00
PlasticDigits commented 2026-08-21 03:42:22 +00:00 (Migrated from gitlab.com)

Closes #585. Surfaces live F6 (AssetCodeIdDrift / not-whitelisted / guard unavailable) so route/solve does not treat frozen hops as executable and the dApp does not show a generic failed tx.

Does not replace on-chain write-path fail-closed (#582 / #584). Option (D) indexer watch remains rejected as a security control. No FoT math (H-01). Does not un-gate cancel / claim / withdraw. Does not list 8266 (#581).

Summary

  • Indexer: 60s background LCD probe + process-local cache. route/solve skips frozen hops at path enumeration (find_path + build_adjacency). Pair list/detail (and token-pairs) expose code_id_frozen so charts/pool can still list the market.
  • dApp: humanize F6 execute errors; freeze banners on Swap / Trade / Pool / Charts / Limits with copy that quotes can still appear; CTA Market frozen.
  • Invariants F585-1–F585-8 in docs/frontend.md. Playbook: skills/AGENTS_FRONTEND_CODE_ID_FREEZE.md. On-chain pin: skills/AGENTS_CW20_CODE_ID_PIN.md.

Test plan

  • make verify-issue-585 (8/8 including internal retest) — indexer lib + pair/route/solve integration, 267 frontend tests, docs/skills greps
  • Independent second make verify-issue-585 (8/8)
  • After merge: Coolify indexer restart so the 60s freeze probe is live (catalog code_id_frozen + hop exclude)
  • Manual: frozen pair on /trade /charts /pool shows banner; Swap execute error is humanized
  • Do not treat this MR as unblocking 8266 listing (#581)

Closes #585

Closes #585. Surfaces live F6 (`AssetCodeIdDrift` / not-whitelisted / guard unavailable) so `route/solve` does not treat frozen hops as executable and the dApp does not show a generic failed tx. Does **not** replace on-chain write-path fail-closed ([#582](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/582) / [#584](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/584)). Option **(D)** indexer watch remains rejected as a security control. No FoT math (H-01). Does not un-gate cancel / claim / withdraw. Does not list 8266 ([#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581)). ## Summary - Indexer: 60s background LCD probe + process-local cache. `route/solve` skips frozen hops at path enumeration (`find_path` + `build_adjacency`). Pair list/detail (and token-pairs) expose `code_id_frozen` so charts/pool can still list the market. - dApp: humanize F6 execute errors; freeze banners on Swap / Trade / Pool / Charts / Limits with copy that quotes can still appear; CTA **Market frozen**. - Invariants **F585-1–F585-8** in [`docs/frontend.md`](docs/frontend.md#code-id-freeze-gitlab-585). Playbook: [`skills/AGENTS_FRONTEND_CODE_ID_FREEZE.md`](skills/AGENTS_FRONTEND_CODE_ID_FREEZE.md). On-chain pin: [`skills/AGENTS_CW20_CODE_ID_PIN.md`](skills/AGENTS_CW20_CODE_ID_PIN.md). ## Test plan - [x] `make verify-issue-585` (8/8 including internal retest) — indexer lib + pair/`route/solve` integration, 267 frontend tests, docs/skills greps - [x] Independent second `make verify-issue-585` (8/8) - [ ] After merge: Coolify indexer restart so the 60s freeze probe is live (catalog `code_id_frozen` + hop exclude) - [ ] Manual: frozen pair on `/trade` `/charts` `/pool` shows banner; Swap execute error is humanized - [ ] Do not treat this MR as unblocking 8266 listing (#581) Closes #585
PlasticDigits commented 2026-08-21 03:43:03 +00:00 (Migrated from gitlab.com)

marked this merge request as ready

marked this merge request as **ready**
PlasticDigits commented 2026-08-21 03:43:05 +00:00 (Migrated from gitlab.com)

mentioned in issue #585

mentioned in issue #585
PlasticDigits commented 2026-08-21 03:43:19 +00:00 (Migrated from gitlab.com)

mentioned in issue #581

mentioned in issue #581
PlasticDigits commented 2026-08-21 03:43:21 +00:00 (Migrated from gitlab.com)

mentioned in issue #584

mentioned in issue #584
PlasticDigits commented 2026-08-21 03:43:24 +00:00 (Migrated from gitlab.com)

mentioned in issue #582

mentioned in issue #582
PlasticDigits commented 2026-08-21 11:23:47 +00:00 (Migrated from gitlab.com)

mentioned in commit 048c2dd965

mentioned in commit 048c2dd965637ccd58f7bac9dca380da804500d1
PlasticDigits (Migrated from gitlab.com) merged commit 048c2dd965 into main 2026-08-21 11:23:47 +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!1111
No description provided.