Source code for stellar_model.response.operation_response

from pydantic import BaseModel

from stellar_model import __issues__
from stellar_model.model.horizon.operations import (
    _OPERATION_TYPE_I_MAP,
    _OPERATION_TYPE_UNION,
)

__all__ = ["OperationResponse"]


[docs] class OperationResponse(BaseModel): """ Represents single operation response. Can be used for the following endpoint(s): - GET /operations/:operation_id See `Operations <https://developers.stellar.org/api/resources/operations/>`_ on Stellar API Reference. """ record: _OPERATION_TYPE_UNION def __init__(self, **data): if "type_i" not in data: raise ValueError( "Invalid data, `type_i` does not appear in the raw data. " "Please check the raw data first, if the data is correct, " "try to upgrade the library or raise an issue at {__issues__}." ) op_type = data["type_i"] if op_type not in _OPERATION_TYPE_I_MAP: raise ValueError( f"The type of operation is {op_type}, which is not currently supported in the version. " f"Please try to upgrade the library or raise an issue at {__issues__}." ) parser = _OPERATION_TYPE_I_MAP[op_type] record = parser.model_validate(data) super().__init__(record=record)