Skip to content

getBalances failure handling can't distinguish unfunded account from network/malformed-key errors #35

Description

@ndii-dev

load() in app/tabs/home.tsx wraps getBalances() in a single catch producing one static message, but Horizon returns a distinct 404 for genuinely unfunded accounts versus network-level failures versus (if it ever got this far) a malformed public key — getAccount/getBalances in src/services/stellar.ts don't distinguish these either, they just let the SDK's error bubble. Users need materially different guidance for each ("fund this address to activate it" vs "check your connection" vs "this address is invalid").

Definition of done:

  • stellar.ts distinguishes Horizon 404 (unfunded) from network errors from other HTTP errors, as typed results not thrown strings
  • home.tsx renders distinct UI/copy per case
  • Test coverage for at least the unfunded-account 404 path against a mocked Horizon response

Before opening a PR for this issue, read CONTRIBUTING.md.

This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:

  • Root cause / design-decision rationale in your own words — not a restatement of this issue
  • Every Definition of done bullet above addressed explicitly, with a one-line note on how
  • Evidence the code actually runs: pasted test/build output, a screen recording or before/after screenshots for UI changes, or real (non-mocked) logs for network/contract-facing work
  • New or updated tests included and shown passing (paste the output)
  • Any adjacent/related behavior this issue calls out re-verified, not assumed unaffected

PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions