Skip to content

feat: add Stellar RPC retry handling#15

Open
kaycke1337 wants to merge 1 commit into
wraith-protocol:developfrom
kaycke1337:add-stellar-rpc-retry
Open

feat: add Stellar RPC retry handling#15
kaycke1337 wants to merge 1 commit into
wraith-protocol:developfrom
kaycke1337:add-stellar-rpc-retry

Conversation

@kaycke1337
Copy link
Copy Markdown

Summary

  • Add a shared Stellar retry helper with exponential backoff, ±25% jitter, retry telemetry, AbortSignal support, and StellarRetryExhaustedError
  • Wrap Stellar Horizon/Soroban fetches and Soroban SDK calls in retry handling
  • Surface exhausted network retries as "Network unstable — try again." with retry buttons in Stellar send/receive flows
  • Add Vitest unit coverage for transient HTTP retries, non-retryable 4xx behavior, JSON parse retries, exhausted retries, and aborted signals

Closes #2

Validation

  • npx prettier --check .
  • npx vitest run
  • npx tsc --noEmit
  • npx vite build
  • npx pnpm@10 test
  • npx pnpm@10 build
  • git diff --check

Note: Vite build emits existing dependency chunk/PURE annotation warnings, but exits successfully.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

@kaycke1337 is attempting to deploy a commit to the truthixify's projects Team on Vercel.

A member of the Team first needs to authorize it.

@truthixify truthixify changed the base branch from main to develop May 27, 2026 17:15
@truthixify
Copy link
Copy Markdown
Contributor

Heads up — we've just set up a develop branch as the integration target for all Drips × Stellar Wave contributions, and I've retargeted this PR's base from main to develop on your behalf. The diff is unchanged; nothing to do on your end.

Going forward, please branch from and target develop. We'll periodically merge developmain as we cut releases. Thanks for contributing!

@truthixify
Copy link
Copy Markdown
Contributor

Retry primitive (src/lib/stellar/retry.ts + tests) is exactly what issue #2 asked for. Conflict appeared after #13 (input validation) just merged, both touch StellarSend.tsx.

Rebase:

git fetch origin
git rebase origin/develop
git push --force-with-lease

When resolving StellarSend.tsx, keep #13's validation constants and balance-debounce logic, then wrap your retry hooks around the network calls. Thanks @kaycke1337.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Retry + exponential backoff for Soroban RPC

2 participants