feat: display 24h key price TWAP - #840
Closed
mayborn005 wants to merge 323 commits into
Closed
Conversation
…env-vars-522 Add environment variable contribution guide
…gration-tests-519-521-523-525 Add integration tests for accesslayerorg#519, accesslayerorg#521, accesslayerorg#523, and accesslayerorg#525
…e-421-creator-card-skeleton feat(accesslayerorg#421): add CreatorCardSkeleton matching CreatorCard layout
…mat-activity-amount-helper feat: add formatActivityAmount helper for XLM transaction amounts
…ng-error-states docs: standardize loading and error state guidelines for page components
… utility function
Add integration test for clamp helper being applied to key amount input field
…on-test-for-isownwallet-edit-controls-533 feat: add integration tests for isOwnWallet and implement isOwnWallet…
Add helper for computing bonding curve price at any given supply step without mutating contract state
- Add isOwnWallet(address, connectedAddress) to walletConnection.utils.ts - Returns false when connectedAddress is null (wallet not connected) - Performs case-insensitive comparison for address matching - Add comprehensive unit tests covering all acceptance criteria: - Matching addresses return true - Non-matching addresses return false - Null connected address returns false - Case-insensitive comparison works correctly
…-wallet-utility Add isOwnWallet utility function with unit tests
Closes accesslayerorg#539 - HoldingsEmptyState: settled-empty only (skeleton while loading) - CTA to /creators; aria role=status - tests: empty settle + no flash during load
…oldings-empty-state feat(holdings): empty state UI when wallet has no creator keys
Trade confirmation now shows "Bought/Sold {n} key(s) from {creator}"
instead of a generic holdings-refreshed message. The quick-buy demo
flow in CreatorCard uses the same wording for consistency.
Issue 557: Add copy-to-clipboard button for creator Stellar address
- Add FEATURED_CREATOR_STELLAR_ADDRESS constant (demo Stellar public key)
- Add stellarAddressCopied state for 2-second Copied! feedback
- Add handleCopyStellarAddress using existing copyTextToClipboard util
- Render address row with truncated mono display and accessible copy button
- Button aria-label toggles between 'Copy Stellar address' and 'Stellar address copied'
Issue 556: Add structured debug log for React Query cache miss
- Import useQueryClient in useCreatorDetail
- Detect cache miss by checking queryClient.getQueryData before fetch
- Emit console.debug with { creator_id, cache_status: 'miss', duration_ms }
- Log is skipped in test environments (NODE_ENV === 'test')
Issue 555: Add unit tests for useFormatXlm hook
- Create src/hooks/useFormatXlm.ts with formatXlm() and useFormatXlm()
- 16 tests covering: default 2dp precision, decimal override (0 and 7),
thousands separator, zero input, large values without scientific notation,
and hook interface stability
Issue 554: Add T keyboard shortcut to open trade panel
- Add isTradeShortcut() helper (bare T, no modifiers)
- Stabilise openTradeDialog with useCallback
- Register keydown listener after openTradeDialog declaration to avoid
TS2448 'used before declaration' error
- Listener respects isEditableShortcutTarget() and cleans up on unmount
- Document shortcut in README.md
Misc: update .gitignore with __snapshots__, *.snap, coverage, .nyc_output,
Thumbs.db, and lock files from other package managers
feat: resolve issues 554-557
…helper feat: Add creator card subtitle clamp helper
…ering - Create PriceSparkline component rendering SVG path from dataPoints array - Handle 7, 1, and 0 data point edge cases safely - Apply emerald-400 line color when last value > first value - Co-locate tests following existing __tests__/ convention Closes accesslayerorg#572
…ice-sparkline test: add PriceSparkline component and unit tests for data point rendering
…-timing-logging Add Navigation Timing Performance Logging for Client-Side Route Loads
…gs-sorting-tests Feature/holdings sorting tests
…-modal-improvements Wallet connect modal improvements
…rs-infinite-scroll-776 feat: add key holder infinite scroll
…curve-price-preview test: cover bonding curve price preview
errorboundary
…it-tests-following-empty-state Fix/component unit tests following empty state
…accesslayerorg#814) Fetch a per-holder stakedQuantity from the holders endpoint and surface the liquid vs. staked split in the holder list: - KeyHolderEntry / KeyHolder gain an optional stakedQuantity field - rankKeyHolders derives stakedQuantity (clamped to [0, keyCount]) and liquidQuantity (keyCount - stakedQuantity) per ranked entry; ranking stays keyed on total quantity so staked keys still count toward rank - KeyHolderList renders Staked, Liquid and Total columns with a header row and shows a staking badge on rows where stakedQuantity > 0 - CreatorDetailPage sample holders carry demo staked values Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Surface staking economics on the key detail page so holders can weigh staking: - Course gains stakingPoolBalance / totalStaked / recentFeeInflow from the key detail API - stakingRewards.utils computes estimated APY (recentFeeInflow * 12 / stakingPoolBalance * 100, null on divide-by-zero) and hasStakingActivity() for the hide condition - StakingRewardsSection renders pool balance, total staked and est. APY with a "Stake your keys" CTA to /profile?tab=staking, a loading skeleton while data fetches, and nothing when there is no staking activity - CreatorDetailPage renders it below the stat cards (demo stats until the API returns real values) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ction (accesslayerorg#818, accesslayerorg#816) Introduces a creator dashboard at /creator/:id/dashboard whose Settings tab hosts the two creator-facing configuration surfaces. Both issues share this previously-missing page. accesslayerorg#818 — Edit Profile: - creatorMetadata.utils: name (64) / bio (256) limit validation and a minimal-change diff - CreatorMetadataForm pre-fills current metadata, shows live character counters, blocks submit while over a limit or unchanged, and submits only changed fields - useUpdateMetadataMutation issues the update_metadata contract call accesslayerorg#816 — Auction Setup: - auctionConfig.utils: derives Not configured / Active (X of Y sold) / Completed state and validates price (> 0) and supply (whole, > 0) - AuctionSetupPanel shows current state, validated price/supply inputs, and a Cancel Auction button only while auction_sold is zero - useConfigureAuctionMutation / useCancelAuctionMutation issue configure_auction / cancel_auction with a success toast on confirmation Course gains name/bio/avatarUri and auctionPrice/auctionSupply/auctionSold. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…creator-keys-leaderboard-779 feat: add trending creator keys leaderboard
…16-817-818 feat: staking visibility + creator dashboard settings (accesslayerorg#814, accesslayerorg#816, accesslayerorg#817, accesslayerorg#818)
…-holder-count-780 fix(wallet): add optimistic holder count update on key purchase (accesslayerorg#780)
…issues-fixed Fix/all issues fixed
✅ Deploy Preview for accesslayer ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@mayborn005 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! 🚀 |
|
👋 Thanks for your contribution! We don't accept pull requests directly to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Verification
pnpm buildwas attempted; dependency linking did not complete in the workspace, so CI should perform the full build.Closes #827