
    l.j                    `    d dl mZ d dlmZ d dlmZ d dlmZ  G d d          Zdd	Z	dd
Z
dS )    )annotations)Any)HyperliquidVaultCollector)HyperliquidWalletCollectorc                       e Zd ZddZdddZdS )FakeTransportreturnNonec                    g | _         d S )N)calls)selfs    !tests/test_ctb_copy_collectors.py__init__zFakeTransport.__init__
   s    +-


    
   urlstrpayloaddict[str, Any]timeoutintr   c                    | j                             |           |d         xdk    r	 ddddd gS xdk    r g dd	id
S xdk    r g S xdk    r dg ggS dk    rg S t          d|           )NtypevaultSummarieszVault A0xabc1000)namevaultAddresstvlclearinghouseStateaccountValue100)assetPositionsmarginSummary
openOrders	portfolioaccountValueHistoryuserFillsByTimezunexpected payload )r   appendAssertionError)r   r   r   r   s       r   postzFakeTransport.post   s    
'"""fo!!!!!!*GFSSUYZZ%%%%%*,PU?VWWW	.344"""	<7<<===r   Nr	   r
   )r   )r   r   r   r   r   r   r	   r   )__name__
__module____qualname__r   r+    r   r   r   r   	   sA        . . . .> > > > > > >r   r   r	   r
   c                 6   t                      } t          |                               d          }d | j        D             dgk    sJ t	          |          dk    sJ |d         j        dk    sJ |d         j        dk    sJ |d         j        d	k    sJ d S )
N	transport{   )observed_at_msc                    g | ]
}|d          S r   r0   .0calls     r   
<listcomp>zLtest_vault_collector_uses_readonly_info_endpoint_payload.<locals>.<listcomp>!       555TDL555r   r      r   r   zhyperliquid_info:vaultSummaries)r   r   collect_vault_summariesr   lenvault_idr5   source)r3   	snapshotss     r   8test_vault_collector_uses_readonly_info_endpoint_payloadrC      s    I)I>>>VVfiVjjI55Y_555:J9KKKKKy>>QQ< G++++Q<&#----Q<"CCCCCCCr   c                     t                      } t          |                               ddd          }d | j        D             g dk    sJ |j        dk    sJ |j        d         d	         d
         dk    sJ d S )Nr2   r   d      )start_time_msr5   c                    g | ]
}|d          S r7   r0   r8   s     r   r;   z\test_wallet_collector_captures_state_orders_portfolio_and_optional_fills.<locals>.<listcomp>,   r<   r   )r    r%   r&   r(   r    r$   r!   r"   )r   r   collect_wallet_snapshotr   wallet_addressraw)r3   snapshots     r   Htest_wallet_collector_captures_state_orders_portfolio_and_optional_fillsrM   (   s    I)I>>>VVW^nq  CFV  G  GH55Y_5559}9}9}}}}}"g----<,-o>~NRWWWWWWWr   Nr,   )
__future__r   typingr   3src.ctb_copy.collectors.hyperliquid_vault_collectorr   4src.ctb_copy.collectors.hyperliquid_wallet_collectorr   r   rC   rM   r0   r   r   <module>rR      s    " " " " " "       Y Y Y Y Y Y [ [ [ [ [ [> > > > > > > >(D D D DX X X X X Xr   