import sqlite3, json, csv, gzip, collections, os
A = "0x92a0849f9b1e9e02363a4bd8d74a317fa6ddae92"
BC = "0x4757fc41278bd0f1b028c6dae71d381dc4558d98"
MA = "0xbae538011874261e3fb4ca6aa03cacb2766c4d81"
MBC = "0x79411dbcbcf0e5b27cd222f24e082fc0bbf32f16"
STM = "0xf341c935599822f1bc1ec29e27606724fbbf6595"
W = "/root/fwa1"

def load_crew():
    c = sqlite3.connect("file:/opt/pricepredict-data/crew.db?mode=ro", uri=True)
    L = c.execute("select pool,b,tx,creator,root,fam,fee,t from launch").fetchall()
    Wt = {r[0]: r[1:] for r in c.execute("select addr,kind,funder,via,fund_b,fund_tx,nonce,hop_root,t from wallet")}
    return L, Wt

def load_labels():
    return list(csv.DictReader(open(W + "/pond_crew_labels.csv")))

def load_edge(days):
    out = {}
    for d in days:
        f = f"{W}/edge/pond_{d}.jsonl.gz"
        if not os.path.exists(f):
            continue
        for l in gzip.open(f):
            r = json.loads(l)
            out[r["pool"]] = r
    return out
