
    afy                         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dS )    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d	S )
IMarketMakerz%
    XBR Market Maker interface.
    c                     dS )z3

        :param details:
        :return:
        N )selfdetailss     J/var/www/html/env/lib/python3.11/site-packages/autobahn/xbr/_interfaces.pystatuszIMarketMaker.status#             c                     dS )z`

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

        :param key_id:
        :param details:
        :return:
        Nr   r   r   r   s      r	   revokezIMarketMaker.revoke5   r   r   c                     dS r   r   r   s      r	   quotezIMarketMaker.quote>   r   r   c	                     dS )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                     dS )zK

        :param address:
        :param details:
        :return:
        Nr   )r   addressr   s      r	   get_payment_channelsz!IMarketMaker.get_payment_channelsV   r   r   c                     dS )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                   2    e Zd ZdZej        d             ZdS )	IProviderz!
    XBR Provider interface.
    c                     dS )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dS )	IConsumerz!
    XBR Consumer interface.
    Nr%   r&   r'   r(   r   r   r	   r2   r2   |              r   r2   c                   R    e Zd ZdZej        d             Zej        d             ZdS )ISellerz
    XBR Seller interface.
    c                 
   K   dS )z3

        :param session:
        :return:
        Nr   r   sessions     r	   startzISeller.start   
        r   c                 
   K   dS )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                   R    e Zd ZdZej        d             Zej        d             ZdS )IBuyerz
    XBR Buyer interface.
    c                 
   K   dS )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   dS )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:   rF   r   r   r	   rA   rA      s\          	   	    r   rA   c                       e Zd ZdZdS )	IDelegatez!
    XBR Delegate interface.
    Nr3   r   r   r	   rH   rH      r4   r   rH   )r)   ABCr   r,   r2   r6   rA   rH   r   r   r	   <module>rJ      s,  6 


H H H H H37 H H HV       &           cg   .    SW   @         r   