#!/usr/bin/env python3
"""
Quick script to check on-chain positions
"""
import os
from dotenv import load_dotenv
from apollox_v2_client import ApolloXV2Client

load_dotenv()

private_key = os.getenv('WALLET_PRIVATE_KEY')
if not private_key:
    print("❌ WALLET_PRIVATE_KEY not found in .env")
    exit(1)

client = ApolloXV2Client(private_key=private_key)

print("\n" + "="*80)
print("🔍 CHECKING ON-CHAIN POSITIONS")
print("="*80)
print(f"Wallet: {client.account.address}")
print()

try:
    positions = client.get_positions()

    if len(positions) == 0:
        print("✅ No open positions on-chain")
    else:
        print(f"📊 Found {len(positions)} open position(s) on-chain:")
        print()

        for i, pos in enumerate(positions, 1):
            print(f"Position #{i}:")
            print(f"   Trade Hash: {pos['tradeHash']}")
            print(f"   Pair Base: {pos['pairBase']}")
            print(f"   Side: {'LONG' if pos['isLong'] else 'SHORT'}")
            print(f"   Margin: ${pos['margin']:.2f}")
            print(f"   Qty: {pos['qty']:.4f}")
            print(f"   Entry Price: ${pos['entryPrice']:.2f}")
            print(f"   Stop Loss: ${pos['stopLoss']:.2f}")
            print(f"   Take Profit: ${pos['takeProfit']:.2f}")
            print()

    # Check balances
    print("💰 BALANCES:")
    print(f"   BNB: {client.get_balance():.6f}")
    print(f"   USDT: ${client.get_usdt_balance():.2f}")
    print()

except Exception as e:
    print(f"❌ Error: {e}")
    import traceback
    traceback.print_exc()

print("="*80)
