Skip to content

feat(screener): add screener routes for market data filtering and pagination#68

Merged
Miracle656 merged 1 commit into
Miracle656:mainfrom
fadesany:screener-endpoint
Jun 1, 2026
Merged

feat(screener): add screener routes for market data filtering and pagination#68
Miracle656 merged 1 commit into
Miracle656:mainfrom
fadesany:screener-endpoint

Conversation

@fadesany
Copy link
Copy Markdown
Contributor

@fadesany fadesany commented Jun 1, 2026

closes #63

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@fadesany 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
Owner

@Miracle656 Miracle656 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely done — the screener route is well-structured and safe:

  • Dynamic ORDER BY ${sortBy} ${order} is the one spot you can't parameterize, and you correctly allowlist both (allowedSortFields + asc/desc) before interpolation, so no injection.
  • All filter values, the keyset cursor tuple, and limit go through $N placeholders.
  • Keyset pagination with (sortBy, pair_key) row-value comparison + fetch-one-extra hasMore is the right approach, and the base64 cursor round-trips cleanly.

Minor (non-blocking) note: market_cap is aliased to the same expression as liquidity in screener_data, so filtering/sorting by market_cap behaves identically to liquidity. Fine as a placeholder, but worth a follow-up once real market-cap data exists.

The failing Typecheck & build check is the pre-existing src/webhookDispatcher.ts error on main (direction: string not assignable to ThresholdDirection) — unrelated to this PR; screener.ts adds no new type errors. Merging through it.

@Miracle656 Miracle656 merged commit 6399f59 into Miracle656:main Jun 1, 2026
1 of 2 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.

/screener endpoint

2 participants