UNPKG

near-protocol-rewards

Version:

A transparent, metric-based rewards system for NEAR projects

26 lines (25 loc) 695 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseCollector = void 0; class BaseCollector { constructor(logger, rateLimiter) { this.logger = logger; this.rateLimiter = rateLimiter; } error(message, context) { this.logger?.error(message, context); } async withRateLimit(fn) { try { await this.rateLimiter?.acquire(); const result = await fn(); await this.rateLimiter?.release(); return result; } catch (error) { await this.rateLimiter?.release(); throw error; } } } exports.BaseCollector = BaseCollector;