"""Serializers for transaction APIs."""

from __future__ import annotations

from rest_framework import serializers

from .models import Transaction


class TransactionSerializer(serializers.ModelSerializer):
    """Read-only view of wallet-impacting transactions."""

    class Meta:
        model = Transaction
        fields = [
            "id",
            "transaction_type",
            "amount",
            "status",
            "balance_before",
            "balance_after",
            "blockchain",
            "transaction_hash",
            "data",
            "created_at",
            "updated_at",
        ]
        read_only_fields = fields
