ваше сообщение коммита

This commit is contained in:
2025-08-16 02:29:42 +03:00
parent 3765c65a18
commit 9134e83b8f
33 changed files with 8680 additions and 1435 deletions

View File

@@ -0,0 +1,319 @@
/**
* 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<Object>} - Общая статистика
*/
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<Object>} - Статистика предложений
*/
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<Object>} - Статистика токенов
*/
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<Object>} - Статистика модулей
*/
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<Object>} - Статистика голосования
*/
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<Object>} - Активность по времени
*/
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<Object>} - Топ держателей
*/
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<Object>} - Распределение токенов
*/
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<Object>} - История событий
*/
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<Object>} - Метрики производительности
*/
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<Object>} - Аналитика по сетям
*/
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<Object>} - Отчет о деятельности
*/
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<Object>} - Сравнительная аналитика
*/
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<Object>} - Прогнозы и тренды
*/
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<Object>} - Аналитика рисков
*/
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<Object>} - Ключевые показатели эффективности
*/
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<Object>} - Дашборд аналитики
*/
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;
}
};