"""
Script de monitoring du wallet
Vérifie les balances BNB et USDT
"""

from apollox_v2_client import ApolloXV2Client
from dotenv import load_dotenv
import os
import time

load_dotenv()
private_key = os.getenv('WALLET_PRIVATE_KEY')
client = ApolloXV2Client(private_key=private_key)

print("="*80)
print("💰 MONITORING WALLET - ApolloX V2 Degen Bot")
print("="*80)
print(f"\nWallet: {client.account.address}")
print(f"BSCScan: https://bscscan.com/address/{client.account.address}")
print("\nVérification des balances toutes les 10 secondes...")
print("Ctrl+C pour arrêter\n")
print("-"*80)

try:
    while True:
        bnb = client.get_balance()
        usdt = client.get_usdt_balance()

        timestamp = time.strftime("%H:%M:%S")

        # Status emojis
        bnb_status = "✅" if bnb >= 0.01 else "⏳"
        usdt_status = "✅" if usdt >= 50 else "⏳"

        print(f"[{timestamp}] {bnb_status} BNB: {bnb:.6f} | {usdt_status} USDT: {usdt:.2f}", end="")

        # Check si prêt
        if bnb >= 0.01 and usdt >= 50:
            print(" 🚀 PRÊT POUR TRADING!")
            print("\n" + "="*80)
            print("✅ Fonds suffisants détectés!")
            print(f"   BNB: {bnb:.6f} (min: 0.01)")
            print(f"   USDT: {usdt:.2f} (min: 50)")
            print("\n🎯 Vous pouvez maintenant lancer le bot de trading!")
            print("="*80)
            break
        else:
            print()

        time.sleep(10)

except KeyboardInterrupt:
    print("\n\n⏹️  Monitoring arrêté")
    print(f"\nBalance finale:")
    print(f"   BNB: {client.get_balance():.6f}")
    print(f"   USDT: {client.get_usdt_balance():.2f}")
