near-protocol-rewards
Version:
A transparent, metric-based rewards system for NEAR projects
49 lines (48 loc) • 1.4 kB
TypeScript
/**
* 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;
}