#!/usr/bin/env python3
"""
Julie Security Network - Add Honeypot Check to Any Bot in 5 Lines (Python)
Public Endpoint: https://julie.freysa.dev
Documentation: https://julie.freysa.dev/integrate
Zero external dependencies (uses standard python urllib).
"""
import urllib.request
import json
import os

def check_token_safety(token_address: str, chain: str = "base") -> dict:
    """
    1. Zero-dependency 5-line token safety audit (Free Demo / First 5 Audits per 24h).
    Drop directly into any Python sniper, copy-trading bot, or Telegram agent.
    """
    url = f"https://julie.freysa.dev/api/audit?chain={chain}&contract={token_address}"
    req = urllib.request.Request(url, headers={"User-Agent": "JulieBotGuard/1.0"})
    with urllib.request.urlopen(req, timeout=5) as resp:
        verdict = json.loads(resp.read().decode())
    if not verdict.get("safe_to_swap", False):
        raise ValueError(f"[RUG_PREVENTED] {token_address} failed audit: {verdict.get('kill_reason', 'High Risk')}")
    return verdict

def check_token_safety_paid(token_address: str, chain: str = "base", session_key: str = None) -> dict:
    """
    2. Continuous Paid Continuation (After 5th Scan / 1-Click Auto Pass).
    Pass session_key or auto_pass=starter to unlock 125 scans for $1.00 USDC in one call.
    """
    key = session_key or os.getenv("JULIE_SESSION_KEY", "")
    query = f"chain={chain}&contract={token_address}"
    query += f"&session_key={key}" if key else "&auto_pass=starter"
    url = f"https://julie.freysa.dev/api/audit?{query}"
    req = urllib.request.Request(url, headers={"User-Agent": "JulieBotGuard/1.0"})
    with urllib.request.urlopen(req, timeout=5) as resp:
        return json.loads(resp.read().decode())

if __name__ == "__main__":
    print("Testing Base Native USDC contract...")
    audit = check_token_safety("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913")
    print(f"Verdict: {'SAFE TO TRADE' if audit.get('safe_to_swap') else 'DANGEROUS'} | Risk: {audit.get('risk_score')}")
