Skip to content

feat: design stellar configuration#527

Merged
temma02 merged 1 commit intoStellerCraft:mainfrom
lyon-1050:feature/issue-18-design-stellar-configuration
Apr 29, 2026
Merged

feat: design stellar configuration#527
temma02 merged 1 commit intoStellerCraft:mainfrom
lyon-1050:feature/issue-18-design-stellar-configuration

Conversation

@lyon-1050
Copy link
Copy Markdown
Contributor

Here's a summary of what was implemented for issue-018:

Files created:

  1. apps/frontend/src/lib/customization/validate-stellar.ts — Zod
    schema (stellarConfigSchema) and validateStellarConfig() function
    covering:
    - Network selection (mainnet | testnet) with mismatch detection
    against Horizon URL
  • Horizon URL validation (format + network/URL consistency check)
    • Soroban RPC URL (optional, URL format)
    • Asset pairs: type-aware validation (alphanum4 max 4 chars,
      non-native requires valid G… issuer, max 20 pairs)
    • Contract addresses: must be 56-char base32 starting with C
    • DEFAULT_STELLAR_CONFIG (testnet defaults, safe for new
      deployments)

apps/frontend/src/components/app/stellar/useStellarConfigForm.ts —
React hook following the useBrandingForm pattern, with field-level
3. apps/frontend/src/components/app/stellar/StellarConfigPanel.tsx
— Accessible form component with:

  • Radio-group network selector with auto-fill of default URLs on
    switch
    • URL inputs with aria-describedby help text and aria-invalid
      error states
  • Asset pair list (add/remove, per-side asset fields with
    contextual help)
    • Contract address list (add/remove with inline validation)
  1. apps/frontend/src/components/app/stellar/index.ts — barrel
    export
  2. apps/frontend/src/lib/customization/validate-stellar.test.ts —
    32 tests, all passing.

closes #18

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 29, 2026

@lyon-1050 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Copy link
Copy Markdown
Collaborator

temma02 commented Apr 29, 2026

Merged manually with conflict resolution (accepting incoming changes).

@temma02 temma02 merged commit d7dca60 into StellerCraft:main Apr 29, 2026
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.

Issue 018: Design the Stellar configuration panel UX

2 participants