near-protocol-rewards
Version:
A transparent, metric-based rewards system for NEAR projects
26 lines (25 loc) • 884 B
TypeScript
import { ErrorCode } from "./errors";
import { MetricsSource } from "./metrics";
export interface ValidationMetadata {
source: MetricsSource;
validationType: "data" | "security" | "performance";
}
export type ValidationErrorCode = "TIMESTAMP_DRIFT" | "STALE_DATA" | "USER_COUNT_DISCREPANCY" | "LOW_ACTIVITY_CORRELATION" | "VALIDATION_ERROR" | ErrorCode;
export interface ValidationError {
code: ValidationErrorCode;
message: string;
context?: Record<string, unknown>;
}
export interface ValidationWarning {
code: ValidationErrorCode;
message: string;
context?: Record<string, unknown>;
}
export interface ValidationResult {
isValid: boolean;
errors: ValidationError[];
warnings: ValidationWarning[];
timestamp: number;
metadata: ValidationMetadata;
}
export declare function isValidationError(obj: unknown): obj is ValidationError;