Skip to content

feat: real-time on-chain sale notifications for producers #9

Description

@brightpixel-dev

Difficulty: Hard · Priority: Critical

Overview

Producers currently have no way to learn a beat sold other than manually reopening Profile and comparing the earnings number to before. Add in-app notifications driven by on-chain sale events.

Acceptance Criteria

  • Bell icon + dropdown in the navbar showing recent sale notifications
  • New sale while connected surfaces a toast + adds to the list
  • Read/unread state persisted per wallet address
  • No-op gracefully when contract ID env var is unset

Technical Approach

Poll Soroban getEvents for purchase_license/withdraw_earnings topics with a persisted cursor, filter to events involving the connected address, resolve sample info via get_sample, store dismissed/read state client-side.

New event-driven state layer with no existing precedent in this codebase (cursor persistence, de-dup, pagination against RPC retention limits) — a new subsystem, not a component tweak.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    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