import os
import sys
from pymysql.cursors import DictCursor

# config.py

# Настройка ноды
ENDPOINT="https://mainnet.helius-rpc.com" 
KEY_HEADER = "Authorization"
API_KEY = "Bearer 09c032e1-546c-4fb1-bb2d-0954024f1d54"

# Пути
BASE_DIR = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
TOKENS_FILE = os.path.abspath(os.path.join(BASE_DIR, "..", "tokens"))
WALLETS_DIR = os.path.join(BASE_DIR,  "..", "wallets")
DATA_DIR = os.path.join(BASE_DIR,  "..","..", "data")
LOG_FILE_PATH = os.path.join(BASE_DIR,  "..", "tokens.log")
TOKENS_JSON_FILE = os.path.join(BASE_DIR,  "..", "tmp", "token_session_list.json")
SESSION_WALLETS_FILE = os.path.join(BASE_DIR,  ".." , "tmp", "session_wallets.json")
DATE_RANGES = os.path.join(BASE_DIR,  "..", "tmp", "date_ranges.txt")

BONK_TOKENS_QUEUE_FILE = os.path.join(BASE_DIR,  "..", "tmp", "bonk_token_queue.json")
PUMP_TOKENS_QUEUE_FILE = os.path.join(BASE_DIR,  "..", "tmp", "pump_token_queue.json")



# БД
DB_HOST = "localhost"
DB_USER = "root"
DB_PASSWORD = "&YiHV8]i9LL5"
DB_NAME_TOKENS = "token_migrationsDB"
DB_NAME_WALLET_FILTERS = "wallets"

DB_CONFIG = {
    'host': 'localhost',
    'user': 'root',
    'password': '&YiHV8]i9LL5',
    'database': 'token_migrationsDB',
    'charset': 'utf8mb4',
    'cursorclass': DictCursor
}

WALLETS_DB_CONFIG = {
    'host': 'localhost',
    'user': 'root',
    'password': '&YiHV8]i9LL5',
    'database': 'wallets',
    'charset': 'utf8mb4',
    'cursorclass': DictCursor
}

#Ограничения для запросов
SIGNATURE_LIMIT = 1000
SIGNATURE_DELAY = 0
TRANSACTION_DELAY = 0
RETRY_DELAY = 1
MAX_RETRIES = 2
MAX_REQUESTS= None

#Процент для обнаружения бандла и МКап до которой проверяем
PUMP_PERCENT = 600
MC_STOP = 10000
CLOSE = 30000

#Примерная цена соланы
SOL_PRICE_USD = 180

#Диапазон MARKET_CAP
MIN_MARKET_CAP = 4_500
MAX_MARKET_CAP = 30_000

#Максимум токенов на кошельке
MAX_TOKENS_FOR_WALLET = 100

#Не более N токенов в чвс
MAX_TOKENS_PER_HOUR = 5

#Минимальное время холда и погрешность
MIN_HOLD_TIME_SECONDS = 420

TOLERANCE_PERCENT = 20
MIN_HOLD_TIME_PERCENT = 100 - TOLERANCE_PERCENT

#Минимальная цена покупок и погрешность
MIN_BUY = 0.5
MAX_SMALL_BUYS_PERCENT = 30
MIN_NORMAL_BUYS_PERCENT = 100 - MAX_SMALL_BUYS_PERCENT

#Процент созданных токенов
CREATED_TOKENS_PERCENT = 30
MAX_CREATED_PERCENT_PERCENT = CREATED_TOKENS_PERCENT

#Процент токенов купленных до миграции
TOKENS_BEFORE_MIGRATION_PERCENT = 60
MIN_TOKENS_BEFORE_MIGRATION_PERCENT = TOKENS_BEFORE_MIGRATION_PERCENT

#Процент токенов для нормалов после миграции с иксом
ADMISSION_PERCENT = 50
PROFIT_PERCENT_FOR_NORMALS = 150

# Telegram Configuration
TELEGRAM_BOT_TOKEN = "7872115805:AAGv8cJ9OM7Jm1HpwL_jrkxwDcej_XN76Cc"  # Set your bot token from @BotFather
TELEGRAM_CHAT_ID = "-1002554049506"    # Set your channel/chat ID
TELEGRAM_TOPIC_ID = "810"   # Optional: Set topic ID for groups with topics





