fix(frontend): Galaxy Finder columbus-5 path uses /mainnet instead of /columbus-5 #478
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#478
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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
Mainnet (
VITE_NETWORK=mainnet/columbus-5) builds open Terra Classic Galaxy Finder links under/mainnet/…. That path does not resolve txs reliably; Finder expects the chain-id path/columbus-5/…. Soft-launch users ondex.cl8y.com/dex.cl8y.cosee “Swap successful!” with a TX link that fails or is hard to use.Reported bad URL
https://finder.terraclassic.community/mainnet/tx/E73111142EC4548455DBE3D09531DF9987342D602CC4BAFB73E34DC953C40EB6Expected URL
https://finder.terraclassic.community/columbus-5/tx/E73111142EC4548455DBE3D09531DF9987342D602CC4BAFB73E34DC953C40EB6This issue bundles the config fix, Vitest expectations, and docs/playbook matrix updates (same root cause for tx and address explorer links).
Related: #184 (address helper), #430 (SEC-E10 segment validation — keep intact).
Current codebase
Explorer links are centralized; components must not hardcode Finder hosts.
frontend-dapp/public/chains/chainlist.jsoncolumbus-5entry has"explorerUrl": "https://finder.terraclassic.community/mainnet"frontend-dapp/src/utils/terraExplorer.tsgetExplorerTxUrl/getExplorerAddressUrlresolveNETWORKS[DEFAULT_NETWORK].terra.chainId→chainlist.explorerUrl→{base}/tx|address/{segment}/cosmos/tx/v1beta1/txs/…,/cosmos/auth/v1beta1/accounts/…) — unaffectedrebel-2)/testnet— out of scope unless Hexxagon also requires chain-id pathsTxResultAlert,TerraBroadcastPendingLink, order history,AddressRow, wallet “View on explorer”terraExplorer.test.tsanddocs/frontend.md§ Terra Classic block explorer URLs encode/mainnet/as correctterraExplorer.tsitself is fine structurally; the wrong base path is inchainlist.json, then frozen by tests and docs.Why a new implementation is needed
Galaxy Finder’s public routing for Terra Classic mainnet is
/columbus-5/, not the product label/mainnet/. Users cannot open successful swap / pool / limit txs from in-app links. Address explorer links are broken the same way (…/mainnet/address/…). Soft launch depends on these links for support and self-serve verification.Constraints / guardrails
explorerUrlinchainlist.json; do not hardcode Finder hosts in React components.null→ nohref). Do not weaken adversarial tests.VITE_NETWORK/DEFAULT_NETWORK; do not infer network from the hash/address string.rebel-2/ Hexxagon base if verified; this bug is columbus-5 / Galaxy Finder.docs/frontend.mdand any expectations inskills/AGENTS_FRONTEND_TERRA_EXPLORER.md.terraExplorer(grep for Finder hosts before merge).Relevant files
frontend-dapp/public/chains/chainlist.jsoncolumbus-5explorerUrlfrontend-dapp/src/utils/terraExplorer.tsfrontend-dapp/src/utils/__tests__/terraExplorer.test.ts/columbus-5/docs/frontend.mdskills/AGENTS_FRONTEND_TERRA_EXPLORER.md/mainnetTxResultAlert.tsx,TerraBroadcastPendingLink.tsx,AddressRow.tsx,WalletDropdownMenuItems.tsx, order-history tx columnRecommended direction
explorerUrltohttps://finder.terraclassic.community/columbus-5(no trailing slash; existing code strips trailing/).…/columbus-5/tx/{hash}…/columbus-5/address/{addr}docs/frontend.mdmatrix cells that still say/mainnet/….finder.terraclassic.community/mainnetand clear leftovers.Optional hardening (only if cheap): add a one-line comment on the
chainlistentry that Finder uses chain id path segments, not the wordmainnet.Acceptance criteria
getExplorerTxUrl(validHash)returnshttps://finder.terraclassic.community/columbus-5/tx/{hash}.getExplorerAddressUrl(validAddr)returnshttps://finder.terraclassic.community/columbus-5/address/{addr}.null(no injectablehref)./mainnetFinder base.docs/frontend.md(and playbook if needed) document/columbus-5/for mainnet.Test plan (all paths)
Unit
VITE_NETWORK=mainnet— tx URL uses/columbus-5/tx/…VITE_NETWORK=mainnet— address URL uses/columbus-5/address/…VITE_NETWORK=local— LCD tx + account REST unchangedVITE_NETWORK=testnet— Hexxagon/testnet/…unchanged (unless intentionally updated)terraExplorer.test.tsstill passcd frontend-dapp && npx vitest run src/utils/__tests__/terraExplorer.test.ts(ormake test-frontendscoped equivalently)Integration / UI smoke
hrefcontains/columbus-5/tx/and opens FinderAddressRow: address link contains/columbus-5/address/Docs drift
finder.terraclassic.community/mainnetin repo (except historical issue text if any)docs/frontend.mdmatrix matches implemented URLsTest plan (attack / hack / abuse vectors)
Keep #430 / SEC-E10 coverage; path-segment change must not open new injection surface.
javascript:…as tx hash or addressnull; no anchor renderednull../, extra/) in hashnull(non-64-hex)nullnullexplorerUrlin chainlistfinder.terraclassic.communityfor columbus-5https://Add or retain Vitest cases for the adversarial rows above; component-level safety tests (
AddressRow.explorerSafety,TerraBroadcastPendingLink) must still omit links when helpers returnnull.Verification criteria
terraExplorerVitest file green with/columbus-5/expectations; SEC-E10 cases green.E7311114…C40EB6(or equivalent new swap)./columbus-5/address/…./columbus-5.finder.terraclassic.community/mainnetabsent from source/docs after the change.Severity
Minor UX / correctness — does not block swap execution, but impairs post-tx discovery and support on soft launch.
mentioned in commit
976c123dc5mentioned in merge request !1014
mentioned in commit
8ed7b2d6cementioned in issue #541