Files
plm-lottery/app/bets/confirmation.py
T

20 lines
677 B
Python
Raw Normal View History

2026-07-21 10:26:11 +02:00
from datetime import datetime, timezone
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.db.models import PendingTransaction, RoundParticipant
from app.tx.confirmation import register_handler
async def _on_bet_confirmed(session: AsyncSession, pending: PendingTransaction) -> None:
participant = await session.scalar(
select(RoundParticipant).where(RoundParticipant.bet_txid == pending.current_txid)
)
if participant is not None and participant.status == "broadcast":
participant.status = "confirmed"
participant.confirmed_at = datetime.now(timezone.utc)
register_handler("bet", _on_bet_confirmed)