/** * Copyright (c) 2024-2025 Тарабанов Александр Викторович * All rights reserved. * * This software is proprietary and confidential. * Unauthorized copying, modification, or distribution is prohibited. * * For licensing inquiries: info@hb3-accelerator.com * Website: https://hb3-accelerator.com * GitHub: https://github.com/HB3-ACCELERATOR */ // Сервис для работы с аналитикой DLE import axios from 'axios'; /** * Получает общую статистику DLE * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Общая статистика */ export const getDLEStats = async (dleAddress) => { try { const response = await axios.post('/dle-analytics/get-dle-stats', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении статистики DLE:', error); throw error; } }; /** * Получает статистику предложений * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Статистика предложений */ export const getProposalsStats = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-proposals-stats', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении статистики предложений:', error); throw error; } }; /** * Получает статистику токенов * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Статистика токенов */ export const getTokenStats = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-token-stats', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении статистики токенов:', error); throw error; } }; /** * Получает статистику модулей * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Статистика модулей */ export const getModulesStats = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-modules-stats', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении статистики модулей:', error); throw error; } }; /** * Получает статистику голосования * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Статистика голосования */ export const getVotingStats = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-voting-stats', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении статистики голосования:', error); throw error; } }; /** * Получает активность DLE по времени * @param {string} dleAddress - Адрес DLE * @param {string} period - Период (day, week, month, year) * @returns {Promise} - Активность по времени */ export const getDLEActivity = async (dleAddress, period = 'month') => { try { const response = await axios.post('/dle-analytics/get-dle-activity', { dleAddress, period }); return response.data; } catch (error) { console.error('Ошибка при получении активности DLE:', error); throw error; } }; /** * Получает топ держателей токенов * @param {string} dleAddress - Адрес DLE * @param {number} limit - Количество записей * @returns {Promise} - Топ держателей */ export const getTopTokenHolders = async (dleAddress, limit = 10) => { try { const response = await axios.post('/blockchain/get-top-token-holders', { dleAddress, limit }); return response.data; } catch (error) { console.error('Ошибка при получении топ держателей токенов:', error); throw error; } }; /** * Получает распределение токенов * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Распределение токенов */ export const getTokenDistribution = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-token-distribution', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении распределения токенов:', error); throw error; } }; /** * Получает историю событий * @param {string} dleAddress - Адрес DLE * @param {string} eventType - Тип события * @param {number} fromBlock - Начальный блок * @param {number} toBlock - Конечный блок * @returns {Promise} - История событий */ export const getEventHistory = async (dleAddress, eventType, fromBlock, toBlock) => { try { const response = await axios.post('/dle-analytics/get-event-history', { dleAddress, eventType, fromBlock, toBlock }); return response.data; } catch (error) { console.error('Ошибка при получении истории событий:', error); throw error; } }; /** * Получает метрики производительности * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Метрики производительности */ export const getPerformanceMetrics = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-performance-metrics', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении метрик производительности:', error); throw error; } }; /** * Получает аналитику по сетям * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Аналитика по сетям */ export const getNetworkAnalytics = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-network-analytics', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении аналитики по сетям:', error); throw error; } }; /** * Получает отчет о деятельности * @param {string} dleAddress - Адрес DLE * @param {string} reportType - Тип отчета * @param {Object} filters - Фильтры * @returns {Promise} - Отчет о деятельности */ export const getActivityReport = async (dleAddress, reportType, filters = {}) => { try { const response = await axios.post('/blockchain/get-activity-report', { dleAddress, reportType, ...filters }); return response.data; } catch (error) { console.error('Ошибка при получении отчета о деятельности:', error); throw error; } }; /** * Получает сравнительную аналитику * @param {string} dleAddress - Адрес DLE * @param {string} comparisonType - Тип сравнения * @returns {Promise} - Сравнительная аналитика */ export const getComparativeAnalytics = async (dleAddress, comparisonType) => { try { const response = await axios.post('/blockchain/get-comparative-analytics', { dleAddress, comparisonType }); return response.data; } catch (error) { console.error('Ошибка при получении сравнительной аналитики:', error); throw error; } }; /** * Получает прогнозы и тренды * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Прогнозы и тренды */ export const getTrendsAndForecasts = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-trends-forecasts', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении прогнозов и трендов:', error); throw error; } }; /** * Получает аналитику рисков * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Аналитика рисков */ export const getRiskAnalytics = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-risk-analytics', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении аналитики рисков:', error); throw error; } }; /** * Получает ключевые показатели эффективности * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Ключевые показатели эффективности */ export const getKPIs = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-kpis', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении ключевых показателей эффективности:', error); throw error; } }; /** * Получает дашборд аналитики * @param {string} dleAddress - Адрес DLE * @returns {Promise} - Дашборд аналитики */ export const getAnalyticsDashboard = async (dleAddress) => { try { const response = await axios.post('/blockchain/get-analytics-dashboard', { dleAddress }); return response.data; } catch (error) { console.error('Ошибка при получении дашборда аналитики:', error); throw error; } };