a
    jFwjT                     @  sZ   d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ ddl	m
Z
 G dd	 d	Zd
S )    )annotations)datetime)Iterable)SymbolState)DecisionSnapshot   )OpportunityRadarc                   @  s2   e Zd ZddddddZdddd	d
ddZdS )RadarDecisionBridgeNzOpportunityRadar | NoneNone)radarreturnc                 C  s   |pt  | _d S )N)r   r   )selfr    r   5/home/opc/hanz-radar/runtime/src/hanz_radar/bridge.py__init__   s    zRadarDecisionBridge.__init__zIterable[SymbolState]zdatetime | Nonezlist[DecisionSnapshot])statesnowr   c                 C  s    | j j||d}dd |jD S )N)r   c                 S  sH   g | ]@}|j jd krt|j|j|j j|j|j|j|j|j	
 dd	qS )LEWATIZ
HANZ_RADAR)	symbolmarketactionevidencerisktriggerprice
updated_atsource)statusvaluer   r   r   r   r   r   r   	timestamp	isoformat).0signalr   r   r   
<listcomp>   s   z1RadarDecisionBridge.decisions.<locals>.<listcomp>)r   evaluateactive_signals)r   r   r   snapshotr   r   r   	decisions   s    zRadarDecisionBridge.decisions)N)N)__name__
__module____qualname__r   r'   r   r   r   r   r	      s    r	   N)
__future__r   r   typingr   Zhanz_realtime.modelsr   Zhanz_server.modelsr   enginer   r	   r   r   r   r   <module>   s   