import { DcOptions } from '@mtcute/core/utils.js' // some libraries only store the DCs in the source code, so we need to map them to the correct DCs // this may not be very accurate, but it's better than nothing // we *could* always map those to the primary dc (the client should handle that gracefully), // but imo it's better to be as accurate as possible // we'll also only map to ipv4 since that's more portable export const DC_MAPPING_PROD: Record = { '1': { main: { id: 1, ipAddress: '149.154.175.56', port: 443, }, media: { id: 1, ipAddress: '149.154.175.211', port: 443, }, }, '2': { main: { id: 2, ipAddress: '149.154.167.41', port: 443, }, media: { id: 2, ipAddress: '149.154.167.35', port: 443, }, }, '3': { main: { id: 3, ipAddress: '149.154.175.100', port: 443, }, media: { id: 3, ipAddress: '149.154.175.100', port: 443, }, }, '4': { main: { id: 4, ipAddress: '149.154.167.91', port: 443, }, media: { id: 4, ipAddress: '149.154.167.255', port: 443, }, }, '5': { main: { id: 5, ipAddress: '91.108.56.179', port: 443, }, media: { id: 5, ipAddress: '149.154.171.255', port: 443, }, }, } export const DC_MAPPING_TEST: Record = { '1': { main: { id: 1, ipAddress: '149.154.175.10', port: 80, }, media: { id: 1, ipAddress: '149.154.175.10', port: 80, }, }, '2': { main: { id: 2, ipAddress: '149.154.167.40', port: 443, }, media: { id: 2, ipAddress: '149.154.167.40', port: 443, }, }, '3': { main: { id: 3, ipAddress: '149.154.175.117', port: 443, }, media: { id: 3, ipAddress: '149.154.175.117', port: 443, }, }, } export function isTestDc(ip: string): boolean { return Object.values(DC_MAPPING_TEST).some((dc) => dc.main.ipAddress === ip || dc.media.ipAddress === ip) }