Skip to content

feat(market): add Recently Minted token discovery surface - #4

Merged
TheArtofSatoshi merged 1 commit into
mainfrom
claude/optimistic-roentgen-9a287f
Jul 26, 2026
Merged

feat(market): add Recently Minted token discovery surface#4
TheArtofSatoshi merged 1 commit into
mainfrom
claude/optimistic-roentgen-9a287f

Conversation

@TheArtofSatoshi

Copy link
Copy Markdown

What

Adds a Recently Minted discovery surface to the Market hub — a browsable, newest-first feed of every token on the network, backed by RXinDexer's v4 recency index (glyph.get_recent, Glyph DB schema v4, live since 2026-07-18).

  • New Market-hub tabListings | Recently Minted switcher, deep-linkable as #/market?tab=recent. The Listings tab and its filters are unchanged.
  • Feed — All + a WAVE names filter (token_type 5) for the name marketplace, with explicit cursor-paginated Load more.
  • RPCgetRecentGlyphs(limit, cursor, tokenType?) on the vendored @photonic ElectrumX client (no SDK dependency added). Returns null when a server lacks the v4 index, so the UI shows an "index unavailable" state instead of erroring. Cursors are opaque and order-specific — held in memory only, never persisted across sessions.
  • Row → detail — each row links to the existing token detail view by ref, seeding the glyph locally via fetchGlyph so tokens minted by other wallets resolve. Local rows show their real thumbnail; foreign rows get a per-type icon with no eager network fetches.

Detail-view change

ViewDigitalObject previously returned "Token not found" for any glyph without an owned TxO, which blocked opening any foreign token from the feed. It now renders those read-only — content, description, Radiant ID, mint txid, WAVE attrs — with a "Not in your wallet — token info from the network" notice, and gates all owner actions (Send / Melt / Edit / List) and their modals behind the backing TxO. ViewFungible already handled glyph-only rows.

Design

Follows the dark design-system tokens; heading styles set explicitly (Chakra textStyle loses to Heading defaults).

Verification

Typecheck clean, all 345 unit tests pass, and the prod bundle was browser-smoke-tested (stale service worker cleared between rebuilds per the repo convention) with zero console exceptions. Exercised against live mainnet (radiantcore, Glyph DB v4):

Not deployed to the VPS.

🤖 Generated with Claude Code

Add a Recently Minted tab to the Market hub backed by RXinDexer's v4
recency index (glyph.get_recent), listing the newest tokens across all
types with a WAVE-names filter and cursor-paginated "Load more". The RPC
goes through the vendored @Photonic ElectrumX client (getRecentGlyphs),
degrading to an unavailable state when a server lacks the index. Cursors
are opaque and order-specific, held in memory only.

Rows link to the existing token detail view by ref, seeding the glyph
locally (fetchGlyph) so foreign tokens resolve. ViewDigitalObject now
renders glyph-only (unowned) tokens read-only — content and info with a
"not in your wallet" notice — instead of "Token not found", gating all
owner actions and their modals behind the backing TxO.

Verified against mainnet: pagination, WAVE filter, and detail links.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@TheArtofSatoshi
TheArtofSatoshi merged commit 9cf403a into main Jul 26, 2026
1 check failed
@TheArtofSatoshi
TheArtofSatoshi deleted the claude/optimistic-roentgen-9a287f branch July 26, 2026 15:48
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.

1 participant