Skip to content

feat: buyer purchase history / license library ("My Beats" page) #10

Description

@brightpixel-dev

Difficulty: Hard · Priority: Critical

Overview

There's no page showing what a connected wallet has purchased. getLicense(holder, sampleId) already exists in crate.ts but is never called anywhere. Add a "My Beats" library page.

Acceptance Criteria

  • New route/page listing samples the connected wallet owns a license for
  • Each entry shows license tier and a working IPFS download link
  • Ownership reconfirmed via getLicense before exposing the download link
  • Persists across sessions (not just the transient post-purchase state in SampleDetail)

Technical Approach

No on-chain "list samples owned by X" function exists — build a per-address purchase index from purchase_license events (reuse the event-polling approach from the notifications issue), cache resolved sample data client-side keyed by wallet.

The contract's read surface doesn't support this query shape at all, so the indexing/caching layer has to be built from scratch client-side rather than a simple new API call.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions