UNPKG

near-protocol-rewards

Version:

A transparent, metric-based rewards system for NEAR projects

49 lines (48 loc) 1.4 kB
/** * GitHub Rewards Calculator * Calculates developer rewards based on GitHub activity metrics */ import { GitHubMetrics, RewardCalculation } from "../types/metrics"; import { Logger } from "../utils/logger"; import { GitHubValidator } from "../validators/github"; export interface ActivityWeights { commits: number; pullRequests: number; reviews: number; issues: number; } export interface ActivityThresholds { commits: number; pullRequests: number; reviews: number; issues: number; } export interface Level { name: string; minScore: number; maxScore: number; color: string; } export declare const DEFAULT_WEIGHTS: ActivityWeights; export declare const DEFAULT_THRESHOLDS: ActivityThresholds; export declare class GitHubRewardsCalculator { private readonly weights; private readonly thresholds; private readonly logger; private readonly validator; constructor(weights: { commits: number; pullRequests: number; reviews: number; issues: number; }, thresholds: { commits: number; pullRequests: number; reviews: number; issues: number; }, logger: Logger, validator: GitHubValidator); calculateRewards(metrics: GitHubMetrics, timeframe: string): RewardCalculation; private calculateScore; private determineLevel; private calculateAchievements; }