
    tfT                        d dl Z 	 d dlmZ dZnA# e$ r9Ze j                            d                    e                     dZY dZ[ndZ[ww xY werd dl	Z	 e	j
                     d dlmZ d dlmZ d dlmZ d dlZd d	lmZ d d
lmZmZmZmZmZ d dlmZmZmZ  G d dej                  Z G d dej                  Z G d dej                   Z  G d dej!                  Z! ej"        e             ej"        e             ej"        e             ej"        e!            ej"        e!            ej"        e!           dS dS )    N)xbrTz,WARNING: could not import autobahn.xbr - {}
F)deferToThread)LoopingCall)ensureDeferred)hl)	IProviderISeller	IConsumerIBuyer	IDelegate)_seller_buyer_blockchainc                   0    e Zd Z ej                    ZeZdS )SimpleBlockchainN)__name__
__module____qualname__txaiomake_loggerlogr   backgroundCaller     \/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/autobahn/twisted/xbr/__init__.pyr   r   2   s&        e!!(r   r   c                   J     e Zd Z ej                    Zd fd	Zd Zd Z xZ	S )	KeySeriesNc                 |    t                                          |||||           d| _        d | _        d | _        d S )NF)super__init__running	_run_loop_started)selfapi_idpriceintervalcount	on_rotate	__class__s         r   r    zKeySeries.__init__9   s<    GGVUHeYGGG DL!DN DMMMr   c           	      T   K    j         J  j                            dt           j                  t          t          j         j                                       d _        t           fd           _          j         
                     j                   _         j        S )z\
            Start offering and selling data encryption keys in the background.
            NzGStarting key rotation every {interval} seconds for api_id="{api_id}" ..)bytes)r'   r%   Tc                  F    t                                                     S )N)r   _rotater$   s   r   <lambda>z!KeySeries.start.<locals>.<lambda>J   s    1O1O r   )r"   r   infor   	_intervaluuidUUID_api_idr!   r   startr#   r/   s   `r   r6   zKeySeries.start?   s       >)))HMMc#%dn#5#5bQUQ]A^A^A^>_>_  a a a  DL()O)O)O)OPPDN N00@@DM= r   c                     | j         s,t          d                    | j        j                            | j                                          d| _         | j        S )zE
            Stop offering/selling data encryption keys.
            z&cannot stop {} - not currently runningN)r"   RuntimeErrorformatr*   r   stopr#   r/   s    r   r:   zKeySeries.stopO   sV     > m"#K#R#RSWSaSj#k#klllN!!!!DN= r   )NNN)
r   r   r   r   r   r   r    r6   r:   __classcell__)r*   s   @r   r   r   6   sk        e!!	! 	! 	! 	! 	! 	!	! 	! 	! 
	! 
	! 
	! 
	! 
	! 
	! 
	!r   r   c                   4    e Zd ZdZ ej                    ZeZdS )SimpleSellerz
        Simple XBR seller component. This component can be used by a XBR seller delegate to
        handle the automated selling of data encryption keys to the XBR market maker.
        N)r   r   r   __doc__r   r   r   r   r   r   r   r=   r=   [   s/        	 	  e!!			r   r=   c                   ,    e Zd Z ej                    ZdS )SimpleBuyerN)r   r   r   r   r   r   r   r   r   r@   r@   c   s        e!!r   r@   )#sysautobahnr   HAS_XBRImportErrorestderrwriter9   r   use_twistedtwisted.internet.threadsr   twisted.internet.taskr   twisted.internet.deferr   r3   autobahn.utilr   autobahn.xbr._interfacesr   r	   r
   r   r   autobahn.xbrr   r   r   r   r   r=   r@   registerr   r   r   <module>rP      sz  6 


GG   JDKKANNOOOGGGGGG
  F$LLLE666666111111555555KKK      YYYYYYYYYYYYYY9999999999) ) ) ) );7 ) ) )#! #! #! #! #!G% #! #! #!J    w+   " " " " "f( " " " G\"""I|$$$I|$$$FOK   I{###I{#####MF$ F$s    A/AA