Source code for aries_cloudagent.protocols.endorse_transaction.v1_0.handlers.transaction_acknowledgement_handler

"""Transaction acknowledgement message handler."""

from .....messaging.base_handler import (
    BaseHandler,
    BaseResponder,
    HandlerException,
    RequestContext,
)

from ..manager import TransactionManager, TransactionManagerError
from ..messages.transaction_acknowledgement import TransactionAcknowledgement


[docs]class TransactionAcknowledgementHandler(BaseHandler): """Message handler class for Acknowledging transaction."""
[docs] async def handle(self, context: RequestContext, responder: BaseResponder): """ Handle transaction acknowledgement message. Args: context: Request context responder: Responder callback """ self._logger.debug( f"TransactionAcknowledgementHandler called with context {context}" ) assert isinstance(context.message, TransactionAcknowledgement) if not context.connection_ready: raise HandlerException("No connection established") mgr = TransactionManager(context.profile) try: await mgr.receive_transaction_acknowledgement( context.message, context.connection_record.connection_id ) except TransactionManagerError: self._logger.exception("Error receiving transaction acknowledgement")