| import os |
| import json |
| from dotenv import load_dotenv |
|
|
| |
| load_dotenv() |
|
|
| |
| try: |
| from google.colab import userdata |
| COLAB_HF_TOKEN = userdata.get('HF_TOKEN') |
| COLAB_GOOGLE_KEY = userdata.get('GOOGLE_API_KEY') |
| COLAB_PINATA = userdata.get('PINATA_JWT') |
| except (ImportError, Exception): |
| COLAB_HF_TOKEN, COLAB_GOOGLE_KEY, COLAB_PINATA = None, None, None |
|
|
| class AppConfig: |
| |
| |
| |
| PRIVATE_KEY = os.environ.get("PRIVATE_KEY") |
| PURECHAIN_RPC_URL = os.environ.get("PURECHAIN_RPC_URL", "http://3.34.161.207:8548") |
| PURECHAIN_CONTRACT_ADDRESS = os.environ.get("PURECHAIN_CONTRACT_ADDRESS") |
| |
| |
| PURECHAIN_CONTRACT_ADDRESS_PUREVERSATION = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PUREVERSATION") or os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PureVersation") |
| PURECHAIN_CONTRACT_ADDRESS_PURECONVO = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PURECONVO") or os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PureConvo") |
| PURECHAIN_CONTRACT_ADDRESS_PUREIUUY = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PUREIUUY") or os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PureIUUY", "0x0a735C97EBd5c645D6B641cBE976FDB26710bAdf") |
| PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN11 = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN11") |
| PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN12 = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN12") |
| PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN13 = os.environ.get("PURECHAIN_CONTRACT_ADDRESS_PUREBI_JUN13") |
| |
| CHAIN_ID = int(os.environ.get("PURECHAIN_CHAIN_ID", 900520900520)) |
| |
| |
| |
| |
| GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY") |
| PINATA_JWT = os.environ.get("PINATA_JWT") |
| HF_TOKEN = os.environ.get("HF_TOKEN") |
| GROQ_API_KEY = os.environ.get("GROQ_API_KEY") |
|
|
| |
| |
| |
| BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
| DATASET_DIR = os.environ.get("DATASET_DIR", os.path.join(BASE_DIR, "IEDID")) |
| PROFILES_DIR = os.environ.get("PROFILES_DIR", os.path.join(BASE_DIR, "lab_profiles")) |
| |
| |
| HF_REPO_ID = "toecm/IEDID" |
| |
| @classmethod |
| def setup_directories(cls): |
| os.makedirs(cls.DATASET_DIR, exist_ok=True) |
| os.makedirs(cls.PROFILES_DIR, exist_ok=True) |
| print("📂 Directories Ready:") |
| print(f" - {cls.DATASET_DIR}") |
| print(f" - {cls.PROFILES_DIR}") |
| |
| |
| @property |
| def CONTRACT_ABI(self): |
| return AppConfig.get_dynamic_abi() |
| |
| @classmethod |
| def get_dynamic_abi(cls): |
| try: |
| from src.dynamic_compiler import get_contract_interface |
| abi, _ = get_contract_interface() |
| return abi |
| except Exception as e: |
| print(f"⚠️ Dynamic ABI load failed: {e}") |
| return [] |
|
|
| |
| |
| try: |
| from src.dynamic_compiler import get_contract_interface |
| AppConfig.CONTRACT_ABI, _ = get_contract_interface() |
| except Exception as e: |
| print(f"⚠️ Startup compilation failed: {e}") |
| AppConfig.CONTRACT_ABI = [] |
|
|