Skip to content

feat: campaign rewards page lifecycle and key reserve balance chip (#1204, #1208) - #1253

Merged
Chucks1093 merged 1 commit into
accesslayerorg:devfrom
samjay8:fix/1204-1208
Oct 21, 2026
Merged

Chucks1093 merged 1 commit into
accesslayerorg:devfrom
samjay8:fix/1204-1208

Conversation

@samjay8

@samjay8 samjay8 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Summary

#1204 — Seasonal campaign rewards page

  • The campaigns page now groups campaigns into Active, Upcoming and Ended sections (GET /campaigns?wallet=).
  • Each card shows the key name, reward pool, criteria, a live countdown ("Starts in" for upcoming campaigns), and eligibility status and progress (for example, volume / min_volume).
  • On ended campaigns, eligible wallets get a Claim reward button. It submits the claim_campaign_reward contract call (campaign_id, claimant) through the connected signer.
  • After a successful claim, a Claimed badge replaces the button. The badge appears immediately, then a refetch confirms it.
  • An empty state is shown when no campaigns exist.

#1208 — Reserve balance indicator on key detail

  • Adds a Reserve Balance chip to the key detail stats row. It is fed by GET /keys/:key_id/reserve and refetched on every page load.
  • A tooltip explains the reserve's role as a price stability backstop.
  • A Low reserve warning appears when the reserve is below 10% of market cap.
  • The chip is hidden for keys with no reserve accrued.

Testing

  • New tests: CampaignsPage.test.tsx, ReserveBalanceChip.test.tsx and keyReserve.utils.test.ts, plus lifecycle cases in campaign.utils.test.ts. The existing CampaignsSection tests still pass.
  • pnpm lint and pnpm build pass.

Closes #1204
Closes #1208

Campaigns page (accesslayerorg#1204): list active, upcoming and ended campaigns with a
live countdown, eligibility progress, a Claim reward button on ended
campaigns the wallet qualified for (claim_campaign_reward contract call)
and a Claimed badge afterwards, plus an empty state when none exist.

Key detail page (accesslayerorg#1208): add a Reserve Balance stat chip fed by
GET /keys/:key_id/reserve, with a tooltip explaining the reserve backstop,
a low reserve warning below 10% of market cap, and the chip hidden for
keys with no reserve accrued.

Closes accesslayerorg#1204
Closes accesslayerorg#1208
@drips-wave

drips-wave Bot commented Oct 21, 2026

Copy link
Copy Markdown

@samjay8 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 5aa60a9 into accesslayerorg:dev Oct 21, 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

Development

Successfully merging this pull request may close these issues.

Add bonding curve reserve balance indicator on key detail page Build seasonal campaign rewards page with eligibility tracker

2 participants