+
    i                        ^ RI Ht ^ RIt^ RIHt ^RIHt ^RIHtH	t	H
t
Ht ]'       d   ^RIHt ]! ]P                  ]P                   04      t ! R R4      tR# )	    )annotationsN)TYPE_CHECKING)
OrderModel)OrderStatusActionSide	OrderType)KalshiClientc                     ] tR t^tRtR R lt]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltRRR RR!R/R" R# lltR$ R% ltR& R' ltR5R( R) lltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4tR# )6OrderzRepresents a Kalshi order.

Key fields are exposed as typed properties for IDE support.
All other OrderModel fields are accessible via attribute delegation.
c               $    V ^8  d   QhRRRRRR/# )   clientr
   datar   returnNone )formats   "V/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pykalshi/orders.py__annotate__Order.__annotate__   s!      | : $     c                	    Wn         W n        R # N_clientr   )selfr   r   s   &&&r   __init__Order.__init__   s    	r   c                   V ^8  d   QhRR/# r   r   strr   )r   s   "r   r   r      s     " "# "r   c                	.    V P                   P                  # r   )r   order_idr   s   &r   r$   Order.order_id       yy!!!r   c                   V ^8  d   QhRR/# r!   r   )r   s   "r   r   r      s          r   c                	.    V P                   P                  # r   )r   tickerr%   s   &r   r*   Order.ticker       yyr   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   #   s          r   c                	.    V P                   P                  # r   )r   statusr%   s   &r   r/   Order.status"   r,   r   c                   V ^8  d   QhRR/# )r   r   zAction | Noner   )r   s   "r   r   r   '   s          r   c                	.    V P                   P                  # r   )r   actionr%   s   &r   r3   Order.action&   r,   r   c                   V ^8  d   QhRR/# )r   r   zSide | Noner   )r   s   "r   r   r   +   s      k r   c                	.    V P                   P                  # r   )r   sider%   s   &r   r7   
Order.side*       yy~~r   c                   V ^8  d   QhRR/# )r   r   zOrderType | Noner   )r   s   "r   r   r   /   s      & r   c                	.    V P                   P                  # r   )r   typer%   s   &r   r<   
Order.type.   r9   r   c                   V ^8  d   QhRR/# r   r   
int | Noner   )r   s   "r   r   r   3   s     # #: #r   c                	.    V P                   P                  # r   )r   	yes_pricer%   s   &r   rB   Order.yes_price2   s    yy"""r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r   7   s     " "* "r   c                	.    V P                   P                  # r   )r   no_pricer%   s   &r   rF   Order.no_price6   r'   r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r   ;   s     ' 'z 'r   c                	.    V P                   P                  # r   )r   initial_countr%   s   &r   rJ   Order.initial_count:   s    yy&&&r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r   ?   s     $ $J $r   c                	.    V P                   P                  # r   )r   
fill_countr%   s   &r   rN   Order.fill_count>   s    yy###r   c                   V ^8  d   QhRR/# r?   r   )r   s   "r   r   r   C   s     ) ) )r   c                	.    V P                   P                  # r   )r   remaining_countr%   s   &r   rR   Order.remaining_countB   s    yy(((r   c                   V ^8  d   QhRR/# )r   r   z
str | Noner   )r   s   "r   r   r   G   s     & &j &r   c                	.    V P                   P                  # r   )r   created_timer%   s   &r   rV   Order.created_timeF   s    yy%%%r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   L   s       r   c                    V P                   P                  P                  V P                  4      pVP                  V n        V # )zSCancel this order.

Returns:
    Self with updated data (status will be CANCELED).
)r   	portfoliocancel_orderr$   r   r   updateds   & r   cancelOrder.cancelL   s2     ,,((55dmmDLL	r   countNrB   rF   c               (    V ^8  d   QhRRRRRRRR/# )r   ra   r@   rB   rF   r   r   r   )r   s   "r   r   r   V   s4        	
  
r   c          
         V P                   P                  P                  V P                  Ve   TMV P                  VVV P
                  V P                  V P                  R7      pVP                  V n        V # )zAmend this order's price or count.

Args:
    count: New total contract count.
    yes_price: New YES price in cents.
    no_price: New NO price in cents (converted to yes_price internally).

Returns:
    Self with updated data.
)ra   rB   rF   r*   r3   r7   )	r   r[   amend_orderr$   rR   r*   r3   r7   r   )r   ra   rB   rF   r^   s   &$$$ r   amendOrder.amendV   sg    " ,,((44MM ,%$2F2F;;;; 5 	
 LL	r   c                    V ^8  d   QhRRRR/# )r   	reduce_byintr   r   r   )r   s   "r   r   r   t   s      # % r   c                    V P                   P                  P                  V P                  V4      pVP                  V n        V # )zDecrease the remaining count of this order.

Args:
    reduce_by: Number of contracts to reduce by.

Returns:
    Self with updated data.
)r   r[   decrease_orderr$   r   )r   rh   r^   s   && r   decreaseOrder.decreaset   s4     ,,((77yQLL	r   c                   V ^8  d   QhRR/# rY   r   )r   s   "r   r   r      s       r   c                    V P                   P                  P                  V P                  4      pVP                  V n        V # )zXRe-fetch this order's current state from the API.

Returns:
    Self with updated data.
)r   r[   	get_orderr$   r   r]   s   & r   refreshOrder.refresh   s2     ,,((224==ALL	r   c               $    V ^8  d   QhRRRRRR/# )r   timeoutfloatpoll_intervalr   r   r   )r   s   "r   r   r      s$      49	r   c           	     R   \         P                  ! 4       V,           pV P                  \        9  dv   \         P                  ! 4       V8  d4   \	        RV P
                   RV P                  P                   RV R24      h\         P                  ! V4       V P                  4        K  V # )a?  Block until order reaches a terminal state.

Terminal states are: CANCELED, EXECUTED.

Args:
    timeout: Maximum seconds to wait before raising TimeoutError.
    poll_interval: Seconds between refresh calls.

Returns:
    Self with updated data.

Raises:
    TimeoutError: If timeout is reached before terminal state.
zOrder z still z after s)	time	monotonicr/   TERMINAL_STATUSESTimeoutErrorr$   valuesleeprq   )r   rt   rv   deadlines   &&& r   wait_until_terminalOrder.wait_until_terminal   s    " >>#g-kk!22~~8+"T]]O74;;3D3D2EWWIUVW  JJ}%LLNr   c                   V ^8  d   QhRR/# )r   namer"   r   )r   s   "r   r   r      s     ( ( (r   c                	.    \        V P                  V4      # r   )getattrr   )r   r   s   &&r   __getattr__Order.__getattr__   s    tyy$''r   c                    V ^8  d   QhRRRR/# )r   otherobjectr   boolr   )r   s   "r   r   r      s     9 9F 9t 9r   c                	    \        V\        4      '       g   \        # V P                  P                  VP                  P                  8H  # r   )
isinstancer   NotImplementedr   r$   )r   r   s   &&r   __eq__Order.__eq__   s4    %''!!yy!!UZZ%8%888r   c                   V ^8  d   QhRR/# )r   r   ri   r   )r   s   "r   r   r      s     ( (# (r   c                	@    \        V P                  P                  4      # r   )hashr   r$   r%   s   &r   __hash__Order.__hash__   s    DII&&''r   c                   V ^8  d   QhRR/# r!   r   )r   s   "r   r   r      s     l l# lr   c                	   V P                   '       d%   V P                   P                  P                  4       MR pV P                  '       d%   V P                  P                  P                  4       MR pV P                  e   V P                  MV P
                  pV P                  ;'       g    ^ pV P                  ;'       g    ^ pRV P                   RV RV RV RV RV RV P                  P                   R2# )?z<Order z |  z @/>)
r3   r}   upperr7   rB   rF   rN   rJ   r*   r/   )r   r3   r7   pricefilledtotals   &     r   __repr__Order.__repr__   s    .2kkk""((*s*.)))tyy$$&"&.."<$--%%A""''aS$r%F81UGSVW[WbWbWhWhViijkkr   c                   V ^8  d   QhRR/# r!   r   )r   s   "r   r   r      s        S  r   c                	    ^RI Hp V! V 4      # )   )
order_html)_reprr   )r   r   s   & r   _repr_html_Order._repr_html_   s    %$r   r   )g      >@g      ?)__name__
__module____qualname____firstlineno____doc__r   propertyr$   r*   r/   r3   r7   r<   rB   rF   rJ   rN   rR   rV   r_   re   rl   rq   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      sR    " "                 # # " " ' ' $ $ ) ) & &
 ! !%	
  $<6(9
(l   r   r   )
__future__r   ry   typingr   modelsr   enumsr   r   r   r	   r   r
   	frozensetCANCELEDEXECUTEDr{   r   r   r   r   <module>r      sE    "     7 7${33[5I5IJK n  n r   