Skip to content

feat: liquidity depth indicator, holder snapshot history, graduation celebration, trade history table - #1124

Merged
Chucks1093 merged 1 commit into
accesslayerorg:devfrom
Yormee-103:feat/liquidity-depth-holder-snapshots-graduation-trade-history
Oct 17, 2026
Merged

Chucks1093 merged 1 commit into
accesslayerorg:devfrom
Yormee-103:feat/liquidity-depth-holder-snapshots-graduation-trade-history

Conversation

@Yormee-103

Copy link
Copy Markdown
Contributor

Closes #1108
Closes #1107
Closes #1110
Closes #1114

Changes

  • Implement liquidity depth indicator on buy form #1108 Liquidity depth — the buy form shows the max keys buyable within the current slippage tolerance (largest quantity whose bonding-curve price impact stays within tolerance), updates when slippage changes, warns from 80% of the limit, disables Buy above it, and has an accessible tooltip.
  • Build key holder snapshot history viewer in analytics section #1107 Holder snapshot history — new section on the key detail page: holder count and top-10 share charts with 7d / 30d / all-time selector, one marker per snapshot at its real timestamp, a current-snapshot stats card (total holders, top holder %, Gini), 5-minute cache, and handling for keys with fewer than 3 snapshots.
  • Add key graduation celebration animation and share prompt #1110 Graduation — when supply reaches the final curve milestone a graduation card shows milestone stats, confetti plays once per session per key, and the share prompt has a pre-filled tweet and a copy-referral-link button.
  • Implement trade history table with export to CSV #1114 Trade history — the portfolio Trade History tab is now a paginated table (Date, Key, Direction, Amount, Price, Fee, Total) with green/red chips, date-range and key-name filters, and CSV export of all matching rows (formula-injection safe).

Assumptions to confirm with the backend

  • Holder snapshots are read from GET /keys/:keyId/holder-snapshots?range=7d|30d|all returning { snapshots: [{ snapshotAt, holderCount, topHolderPercent, top10SharePercent, giniCoefficient }] }.
  • Trades gain an optional feeXlm; when absent the fee is shown as 0. History is loaded by following the existing cursor on GET /users/:wallet/trades, then filtered/paginated client-side.
  • Graduation is detected from the existing curve config (supply ≥ highest milestone threshold).

Testing

  • New tests: liquidity depth utils + TradeDialog integration, HolderSnapshotHistory, GraduationCelebration, TradeHistoryLedger (53 tests, all pass).
  • ProfilePage.integration: updated the one test that asserted the old infinite-scroll trade table, since that table is replaced (8/8 pass).
  • eslint and tsc -b clean on changed files. Full suite: no new failures vs upstream/dev; the ~160 existing failures (e.g. LandingPage, CreatorDetailPage, other TradeDialog suites, BatchTransferModal) are pre-existing and untouched.

🤖 Generated with Claude Code

…celebration, trade history table

- accesslayerorg#1108: show max buy within slippage tolerance on the buy form, warn near
  the limit, and disable Buy above it
- accesslayerorg#1107: holder snapshot history charts and stats card on the key detail page
- accesslayerorg#1110: graduation card with once-per-session confetti, tweet and referral link
- accesslayerorg#1114: paginated trade history table with filters and CSV export of all
  matching rows on the portfolio page

Closes accesslayerorg#1108, closes accesslayerorg#1107, closes accesslayerorg#1110, closes accesslayerorg#1114

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@drips-wave

drips-wave Bot commented Oct 17, 2026

Copy link
Copy Markdown

@Yormee-103 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

@Chucks1093
Chucks1093 merged commit 69ae297 into accesslayerorg:dev Oct 17, 2026
1 check 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

2 participants