
    Lfy                         d dl 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 G d
 de j                        Z G d dee      Zy)    Nc                      e Zd ZdZej
                  d        Zej
                  d        Zej
                  d        Zej
                  d        Z	ej
                  d        Z
ej
                  d        Zej
                  d        Zy	)
IMarketMakerz%
    XBR Market Maker interface.
    c                      y)z3

        :param details:
        :return:
        N )selfdetailss     S/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/autobahn/xbr/_interfaces.pystatuszIMarketMaker.status#           c                      y)z`

        :param key_id:
        :param price:
        :param details:
        :return:
        Nr   )r   key_idpricer   s       r	   offerzIMarketMaker.offer+   r   r   c                      yzJ

        :param key_id:
        :param details:
        :return:
        Nr   r   r   r   s      r	   revokezIMarketMaker.revoke5   r   r   c                      yr   r   r   s      r	   quotezIMarketMaker.quote>   r   r   c	                      y)z

        :param channel_id:
        :param channel_seq:
        :param buyer_pubkey:
        :param datakey_id:
        :param amount:
        :param balance:
        :param signature:
        :param details:
        :return:
        Nr   )	r   
channel_idchannel_seqbuyer_pubkey
datakey_idamountbalance	signaturer   s	            r	   buyzIMarketMaker.buyG   r   r   c                      y)zK

        :param address:
        :param details:
        :return:
        Nr   )r   addressr   s      r	   get_payment_channelsz!IMarketMaker.get_payment_channelsV   r   r   c                      y)zN

        :param channel_id:
        :param details:
        :return:
        Nr   )r   r   r   s      r	   get_payment_channelz IMarketMaker.get_payment_channel_   r   r   N)__name__
__module____qualname____doc__abcabstractmethodr
   r   r   r   r   r"   r$   r   r   r	   r   r      s     	  	  	  	  	  	  	 r   r   c                   4    e Zd ZdZej
                  d        Zy)	IProviderz!
    XBR Provider interface.
    c                      y)z

        :param key_id:
        :param buyer_pubkey:
        :param amount_paid:
        :param post_balance:
        :param signature:
        :param details:
        :return:
        Nr   )r   r   r   amount_paidpost_balancer   r   s          r	   sellzIProvider.selln   r   r   N)r%   r&   r'   r(   r)   r*   r0   r   r   r	   r,   r,   i   s!     	
 
r   r,   c                       e Zd ZdZy)	IConsumerz!
    XBR Consumer interface.
    Nr%   r&   r'   r(   r   r   r	   r2   r2   |       r   r2   c                   X    e Zd ZdZej
                  d        Zej
                  d        Zy)ISellerz
    XBR Seller interface.
    c                    K   yw)z3

        :param session:
        :return:
        Nr   r   sessions     r	   startzISeller.start           c                    K   yw)zG

        :param uri:
        :param payload:
        :return:
        Nr   )r   uripayloads      r	   wrapzISeller.wrap   r;   r<   N)r%   r&   r'   r(   r)   r*   r:   r@   r   r   r	   r6   r6      s;     	  	 r   r6   c                   X    e Zd ZdZej
                  d        Zej
                  d        Zy)IBuyerz
    XBR Buyer interface.
    c                    K   yw)z
        Start buying keys over the provided session.

        :param session: WAMP session that allows to talk to the XBR Market Maker.
        Nr   r8   s     r	   r:   zIBuyer.start   r;   r<   c                    K   yw)a  
        Decrypt and deserialize received XBR payload.

        :param key_id: The ID of the datakey the payload is encrypted with.
        :type key_id: bytes

        :param enc_ser: The serializer that was used for serializing the payload. One of ``cbor``, ``json``, ``msgpack``, ``ubjson``.
        :type enc_ser: str

        :param ciphertext: The encrypted payload to unwrap.
        :type ciphertext: bytes

        :returns: The unwrapped application payload.
        :rtype: object
        Nr   )r   r   enc_ser
ciphertexts       r	   unwrapzIBuyer.unwrap   r;   r<   N)r%   r&   r'   r(   r)   r*   r:   rG   r   r   r	   rB   rB      s;     	  	 r   rB   c                       e Zd ZdZy)	IDelegatez!
    XBR Delegate interface.
    Nr3   r   r   r	   rI   rI      r4   r   rI   )r)   ABCr   r,   r2   r6   rB   rI   r   r   r	   <module>rK      sl   6 H377 HV & cgg .SWW @ r   