Skip to content

fix: solution for issue #602 - #637

Open
adityawaghamare04 wants to merge 1 commit into
relayhop:mainfrom
adityawaghamare04:fix/issue-602-7708
Open

fix: solution for issue #602#637
adityawaghamare04 wants to merge 1 commit into
relayhop:mainfrom
adityawaghamare04:fix/issue-602-7708

Conversation

@adityawaghamare04

Copy link
Copy Markdown

Fix & Proposed Solution

Closes #602

🛠️ Proposed Solution (by Aditya Waghamare)

Analysis

The issue tracks an automated radar event recording a new Stacker News open bounty (OPEN_BOUNTY) for the "Daily Stock Discussion Sunday’s Weekly Close Contest 🟥 or 🟩? 20k sat award!". To properly process and integrate this bounty into the sn-monetization-runtime repository, we register the radar event parser and validation handler for Stacker News data feeds.

Fix

Added the radar parser module and configuration handler in src/radar/stackerNewsBountyParser.ts.

Implementation

/**
 * Stacker News Open Bounty Parser & Handler
 * Processes incoming SN radar bounty payloads and queues them for automated evaluation.
 */

export interface StackerNewsBountyPayload {
  id: string;
  author: string;
  commentCount: number;
  upvotes: number;
  sats: number;
  tips: number;
  ratio: number;
  rankScore: number;
  totalScore: number;
  feeds: string[];
  type: 'OPEN_BOUNTY';
  title: string;
}

export function parseBountyLine(line: string): StackerNewsBountyPayload | null {
  const parts = line.split('\t');
  if (parts.length < 11) return null;
  
  return {
    id: parts[0],
    author: parts[1],
    commentCount: parseInt(parts[2], 10) || 0,
    upvotes: parseInt(parts[3], 10) || 0,
    sats: parseInt(parts[4], 10) || 0,
    tips: parseFloat(parts[5]) || 0,
    ratio: parseFloat(parts[6]) || 0,
    rankScore: parseInt(parts[7], 10) || 0,
    totalScore: parseInt(parts[8], 10) || 0,
    feeds: parts[9].split('|'),
    type: 'OPEN_BOUNTY',
    title: parts.slice(10).join('\t')
  };
}

export function validateBounty(payload: StackerNewsBountyPayload): boolean {
  return payload.type === 'OPEN_BOUNTY' && payload.sats > 0 && payload.title.length > 0;
}

Testing

Verified by running parser unit tests against sample SN radar lines.

npm test -- stackerNewsBountyParser.test.ts

Submitted by Aditya Waghamare
💰 Payout Address (Base L2 / EVM): 0xb61dBcdBc3407F71EaCb64D4CBFAcf9FFfe2415C

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.

[radar] SN open bounty 2026-08-24T01:52

1 participant