import { Filter } from 'interfaces'; import { ENV } from 'types'; export interface GetNodesArguments extends Filter { filter: FilterNodes; env?: ENV; } export interface FilterNodes { name: string; type: string; tags: string[]; } export interface GetCurrentNodeArguments { authToken: string; env?: ENV; } export interface Node { name: string; registrationPubKey: string; tags: string[]; details: any; id: string; ownerId: string; nodeSeries: string; nodeId: string; nftId: string; type: string; validationCredits: number; osRewards: string; validationRate: number; countResponses: number; isVerified: boolean; image: string; opesId: string; } export interface GetStatsArguments { accountId: string | null; env?: ENV; publicKey: string | null; } export interface GetStatsResponse { getStats: Stats; } export interface VerifyNodeArguments { registrationCode: string; env?: ENV; token: string; } export interface VerifyNodeResponse { verifyNode: boolean; } export interface Stats { serverNodes: number; mobileNodes: number; validations: number; validationsToday: number; osMinted: string; validationCredits: number; validationCreditsToday: number; activeSlot: number; successRate: number; balance: Balance[]; validationsThisWeek: ValidationsThisWeek[]; validationsHistory: ValidationsHistory[]; currentWeekRewards: string; lastWeekRewards: string; todayRewards: string; } export interface ValidationsThisWeek { count: number; date: { day: number; month: number; year: number; }; } export interface ValidationsHistory { count: number; date: string; } export interface GetNodesResponse { getNodes: Node[]; } export interface Balance { currency: string; amount: string; } export interface VerifyNodeInput { registrationCode: string; } export interface TrackStatsArguments { accountId: string; onMessage: (response: TrackStatsResponse) => void; onError: (error: any) => void; } export interface TrackStatsResponse { trackStats: Stats; }