from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession from app.config import settings from app.db.models import RoundConfig async def get_round_config(session: AsyncSession) -> RoundConfig: """Single-row operational config, lazily seeded from settings defaults on first use. fee_address starts empty until an operator sets it (admin endpoint, stage 10) — payouts must refuse to run until it's set.""" config = await session.scalar(select(RoundConfig)) if config is None: config = RoundConfig(fee_address="", bet_amount_sats=settings.bet_amount_sats) session.add(config) await session.flush() return config