Skip to content

fix(launchpad): show launches paired with unlisted ERC-20 quotes properly - #57

Merged
kevincodex1 merged 1 commit into
mainfrom
fix/unknown-quote-pairs
Sep 25, 2026
Merged

kevincodex1 merged 1 commit into
mainfrom
fix/unknown-quote-pairs

Conversation

@kevincodex1

@kevincodex1 kevincodex1 commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

The factory accepts any ERC-20 as the quote. A quote not on our lists showed as "?", with 18 decimals assumed and no warning (SHEAF/MUSEWORLD on Base).

  • indexer reads symbol/name/decimals of unlisted quotes into bb_quote_tokens
  • new quote key "other": token's own symbol, cleaned, and replaced by its address when it is or looks like a listed asset (USDC, ETH, GITLAWB, stocks)
  • real decimals; trading stays disabled until they are known
  • "Unlisted pair" badge on token page, list rows and dashboard; trade panel notice with the pair token address; never priced in USD, never in Trending

Summary by CodeRabbit

  • New Features

    • Launches using unlisted pair tokens now display an “Unlisted pair” badge and the paired token’s address.
    • Trading is available for unlisted pairs once token decimals are verified. The trade panel warns that USD pricing is unavailable and blocks trades while decimals are being checked.
    • Unlisted pair tokens can use their on-chain symbol and decimals when valid.
  • Bug Fixes

    • Unknown pair tokens are no longer misidentified as listed assets or included in Trending.

…erly

The factory accepts any ERC-20 as the quote. A quote not on our lists showed as
"?", with 18 decimals assumed and no warning (SHEAF/MUSEWORLD on Base).

- indexer reads symbol/name/decimals of unlisted quotes into bb_quote_tokens
- new quote key "other": token's own symbol, cleaned, and replaced by its
  address when it is or looks like a listed asset (USDC, ETH, GITLAWB, stocks)
- real decimals; trading stays disabled until they are known
- "Unlisted pair" badge on token page, list rows and dashboard; trade panel
  notice with the pair token address; never priced in USD, never in Trending
@coderabbitai

coderabbitai Bot commented Sep 25, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Essentials

Run ID: d2f99247-6ead-4639-a3b6-5a945bedb1a5

📥 Commits

Reviewing files that changed from the base of the PR and between 75b1579 and 49778b3.

📒 Files selected for processing (14)
  • app/db/schema.sql
  • app/src/app/t/[chain]/[token]/page.tsx
  • app/src/components/launchpad/LaunchRow.tsx
  • app/src/components/launchpad/MeDashboard.tsx
  • app/src/components/launchpad/TradePanel.tsx
  • app/src/components/launchpad/UnlistedPairBadge.tsx
  • app/src/components/launchpad/transaction-safety.test.ts
  • app/src/lib/launchpad/config.ts
  • app/src/lib/launchpad/first-buy.ts
  • app/src/lib/launchpad/indexer.ts
  • app/src/lib/launchpad/native-quote.test.ts
  • app/src/lib/launchpad/queries.ts
  • app/src/lib/launchpad/unlisted-quote.test.ts
  • app/src/lib/launchpad/unlisted-quote.ts
 _____________________________________________________________________________________________________________
< Hello, it's me. I was wondering if after all these reviews you'd like to meet...to celebrate bug-free code. >
 -------------------------------------------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@kevincodex1
kevincodex1 merged commit 53acb32 into main Sep 25, 2026
6 of 7 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.

1 participant