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.

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