Skip to content

feat: implement Stellar asset conversion and exchange rate ticker - #93

Merged
Cjay-Cyber-2 merged 1 commit into
ASTROIDX556:mainfrom
Fayyo:implementing_asset_conversion_and_rate_ticker_component
Sep 1, 2026
Merged

feat: implement Stellar asset conversion and exchange rate ticker#93
Cjay-Cyber-2 merged 1 commit into
ASTROIDX556:mainfrom
Fayyo:implementing_asset_conversion_and_rate_ticker_component

Conversation

@Fayyo

@Fayyo Fayyo commented Aug 31, 2026

Copy link
Copy Markdown

Closes #64

Summary

Implements a real-time asset conversion and exchange rate ticker component for the dashboard, displaying live conversion rates between XLM, USDC, yUSDF, and AQUA on Stellar.

Changes

New files

  • src/components/dashboard/AssetTicker.tsx — Responsive ticker component with skeleton loading, 24h change indicators, Lucide icons, and live badge. Polls every 30s via React Query.
  • src/lib/stellar.ts — Stellar formatting utilities: formatStellarPrice (adaptive precision), formatAssetAmount, convertToUsd, and sortAssetRates (XLM-first ordering).
  • src/services/mock/rates.ts — Mock rate data for XLM, USDC, yUSDF, and AQUA assets.

Modified files

  • src/types/domain.ts — Added AssetRate interface.
  • src/services/query-keys.ts — Added rates query key.
  • src/services/resources.ts — Added getAssetRates resource function.
  • src/services/mock/index.ts — Re-exports mock rates.
  • src/hooks/use-queries.ts — Added useAssetRates hook with 30s refetch interval.

Acceptance Criteria

  • ✅ Responsive layout with Lucide icons
  • ✅ Rate formatting utilities with proper decimal places for Stellar assets
  • ✅ React Query integration for fetching/caching with fallback mock data
  • npm run typecheck — passes (no new errors; pre-existing errors in transactions/page.tsx are unrelated)
  • npm run lint — passes (no new errors)
  • ✅ Skeleton loading states prevent layout shift
  • ✅ 24-hour percentage change indicators with directional arrows

Testing

  • Validate responsiveness across mobile and desktop viewport sizes
  • Verify no layout shift occurs during data loading states (skeleton screens match final layout)
  • Confirm 24h change indicators display correctly (green ↑ positive, red ↓ negative, grey — neutral)

…TROIDX556#64)

- Add AssetRate type to domain models
- Create stellar formatting utilities (formatStellarPrice, formatAssetAmount, convertToUsd, sortAssetRates)
- Add mock rate data with XLM, USDC, yUSDF, and AQUA assets
- Integrate React Query for fetching and caching rate feeds with 30s polling
- Build AssetTicker component with responsive layout, Lucide icons, and 24h change indicators
- Skeleton loading states prevent layout shift during data fetch
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@Fayyo 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

@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

@Fayyo is attempting to deploy a commit to the Cjay's projects Team on Vercel.

A member of the Team first needs to authorize it.

@mergekeeper

mergekeeper Bot commented Aug 31, 2026

Copy link
Copy Markdown

MergeKeeper review

Scope: in scope for linked issue #64.
Verdict: clean

The pull request correctly implements the Stellar asset conversion and exchange rate ticker component matching all requirements.

Reviewed commit: 497ba9102708f836fff6f04d2871b9a1f954bd78.
CI and merge eligibility are checked separately.

@mergekeeper

mergekeeper Bot commented Aug 31, 2026

Copy link
Copy Markdown

MergeKeeper merge status

Status: blocked
PR state: open
Mergeability: unknown
Checked commit: 497ba9102708f836fff6f04d2871b9a1f954bd78.

Reason: One or more required CI checks failed.

Failing checks:

Next steps:

  1. Open the failing check details above and fix the reported error.
  2. Run the same checks locally where possible.
  3. Commit and push the fix.
  4. MergeKeeper will automatically re-review the updated PR.

@Cjay-Cyber-2
Cjay-Cyber-2 merged commit 943e8ba into ASTROIDX556:main Sep 1, 2026
2 of 4 checks passed
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.

feat: implement Stellar asset conversion and exchange rate ticker component

2 participants