
    (i                        d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZmZmZ d	Ze	Z eee
      Z G d de      Zy)    )TestCase)	OrderArgsMarketOrderArgsCreateOrderOptionsOrderSummary	OrderType)AMOY)BUYSELL)Signer)OrderBuilderROUNDING_CONFIG)decimal_placesround_normal)POLY_GNOSIS_SAFEEOAr
   r   B0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80)private_keychain_idc                   h   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<y;)<TestOrderBuilderc                    | j                  t              5  t        t              }|j	                  g dt
        j                         d d d        | j                  t              5  t        dd      t        dd      g}t        t              }|j	                  |dt
        j                         d d d        t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d	       t        dd
      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       y # 1 sw Y   xY w# 1 sw Y   xY w)Nd   0.5100pricesize0.40.3      ?200皙?120)	assertRaises	Exceptionr   signercalculate_buy_market_pricer   FOKr   assertEqualselfbuilder	positionss      Q/var/www/br/venv/lib/python3.12/site-packages/tests/order_builder/test_builder.py#test_calculate_buy_market_price_FOKz4TestOrderBuilder.test_calculate_buy_market_price_FOK   s   y) 	G"6*G..r3	F	G
 y) 	N5u55u5I #6*G..y#y}}M	N u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	
e	G 	G
	N 	Ns   1I$AIII'c                    | j                  t              5  t        t              }|j	                  g d       d d d        | j                  t              5  t        dd      t        dd      g}t        t              }|j	                  |dt        j                         d d d        t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       t        dd      t        dd	      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d
       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d
       t        dd	      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d
       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       y # 1 sw Y   qxY w# 1 sw Y   xY w)Nr   r   10r   r   r    r   r!   300r#   r"      334,  333333?)	r%   r&   r   r'   calculate_sell_market_pricer   r   r)   r*   r+   s      r/   $test_calculate_sell_market_price_FOKz5TestOrderBuilder.test_calculate_sell_market_price_FOKV   sh   y) 	9"6*G//C8	9
 y) 	O5t45t4I #6*G//	3	N	O u51u51u51
	
 v&//	3	NPS	

 u51u51u40
	
 v&//	3	NPS	

 u51u51u40
	
 v&//	3	NPS	

 u51u51u51
	
 v&//	3	NPS	

 u51u51u51
	
 v&//	3	NPS	
y	9 	9
	O 	Os   "J'AJ4'J14J>c                    | j                  t              5  t        t              }|j	                  g dt
        j                         d d d        t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d	       t        dd
      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt
        j                        d       y # 1 sw Y   xY w)Nr   r   r   r   r   r!   r    r"   r#   r$   )	r%   r&   r   r'   r(   r   FAKr   r*   r+   s      r/   #test_calculate_buy_market_price_FAKz4TestOrderBuilder.test_calculate_buy_market_price_FAK   s   y) 	G"6*G..r3	F	G u51u51
	 v&..y#y}}Ms	
 u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	

 u51u51u51
	
 v&..y#y}}Ms	
g	G 	Gs   1IIc                 L   | j                  t              5  t        t              }|j	                  g d       d d d        t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d	       t        dd      t        dd
      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       t        dd
      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       t        dd      t        dd      t        dd      g}t        t              }| j                  |j	                  |dt        j                        d       y # 1 sw Y   cxY w)Nr   r   r2   r   r   r#   r    r   r!   r3   r"   r4   r5   r6   r7   )	r%   r&   r   r'   r8   r   r*   r   r;   r+   s      r/   $test_calculate_sell_market_price_FAKz5TestOrderBuilder.test_calculate_sell_market_price_FAK   sR   y) 	9"6*G//C8	9 u40u40
	 v&//	3	NPS	
 u51u51u51
	
 v&//	3	NPS	

 u51u51u40
	
 v&//	3	NPS	

 u51u51u40
	
 v&//	3	NPS	

 u51u51u51
	
 v&//	3	NPS	

 u51u51u51
	
 v&//	3	NPS	
{	9 	9s   "JJ#c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y Ng?{Gz?i     0.1r      
r   r'   get_market_order_amountsr
   r   r*   UtilsBuyr   assertGreaterEqualr   	r,   r-   delta_price
delta_sizeamountr   sidemakertakers	            r/   %test_get_market_order_amounts_buy_0_1z6TestOrderBuilder.test_get_market_order_amounts_buy_0_1  s    v&
nE1*%,%E%E(>&"eU   x0  !6:  !6:'' 2L4J + 1* j(F n    c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y NrA   r   rB   0.01r      rE   rI   s	            r/   &test_get_market_order_amounts_buy_0_01z7TestOrderBuilder.test_get_market_order_amounts_buy_0_01*  s    v&
mE1*%,%E%E(?&"eU   x0  !6:  !6:'' 2L4J + 1* j(F mrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y NgMbP?rA   
   rB   0.001r      rE   rI   s	            r/   'test_get_market_order_amounts_buy_0_001z8TestOrderBuilder.test_get_market_order_amounts_buy_0_001@  s    v&
lE1*%,%E%E(@&"eU   x0  !6:  !6:'' 2L4J + 1* j(F lrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y Ng-C6?rA   rB   0.0001r      rE   rI   s	            r/   (test_get_market_order_amounts_buy_0_0001z9TestOrderBuilder.test_get_market_order_amounts_buy_0_0001V  s    v&
kE1*%,%E%E(A&"eU   x0  !6:  !6:'' 2L4J + 1* j(F krQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r@   
r   r'   rF   r   r   r*   	UtilsSellr   rH   r   rI   s	            r/   &test_get_market_order_amounts_sell_0_1z7TestOrderBuilder.test_get_market_order_amounts_sell_0_1l  s    v&
nE1*%,%E%E&%)?&"eU   y1  !6:  !6:'' 2L4J + 1* j(F nrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rS   rc   rI   s	            r/   'test_get_market_order_amounts_sell_0_01z8TestOrderBuilder.test_get_market_order_amounts_sell_0_01  s    v&
mE1*%,%E%E&%)@&"eU   y1  !6:  !6:'' 2L4J + 1* j(F mrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rX   rc   rI   s	            r/   (test_get_market_order_amounts_sell_0_001z9TestOrderBuilder.test_get_market_order_amounts_sell_0_001  s    v&
lE1*%,%E%E&%)A&"eU   y1  !6:  !6:'' 2L4J + 1* j(F lrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |t               | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r^   rc   rI   s	            r/   )test_get_market_order_amounts_sell_0_0001z:TestOrderBuilder.test_get_market_order_amounts_sell_0_0001  s    v&
kE1*%,%E%E&%)B&"eU   y1  !6:  !6:'' 2L4J + 1* j(F krQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r@   	r   r'   get_order_amountsr
   r   r*   r   rH   r   	r,   r-   rJ   rK   r   r   rM   rN   rO   s	            r/   test_get_order_amounts_buy_0_1z/TestOrderBuilder.test_get_order_amounts_buy_0_1  s    v&
dlE1*%,%>%>uoe&<&"eU   q)  !6:  !6:'' 2L4J + 1* *$D dlrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rS   rm   ro   s	            r/   test_get_order_amounts_buy_0_01z0TestOrderBuilder.test_get_order_amounts_buy_0_01  s    v&
ckE1*%,%>%>uof&=&"eU   q)  !6:  !6:'' 2L4J + 1* *$D ckrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rX   rm   ro   s	            r/    test_get_order_amounts_buy_0_001z1TestOrderBuilder.test_get_order_amounts_buy_0_001  s    v&
bjE1*%,%>%>uog&>&"eU   q)  !6:  !6:'' 2L4J + 1* *$D bjrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r^   rm   ro   s	            r/   !test_get_order_amounts_buy_0_0001z2TestOrderBuilder.test_get_order_amounts_buy_0_0001  s    v&
aiE1*%,%>%>uoh&?&"eU   q)  !6:  !6:'' 2L4J + 1* *$D airQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r@   	r   r'   rn   r   r   r*   r   rH   r   ro   s	            r/   test_get_order_amounts_sell_0_1z0TestOrderBuilder.test_get_order_amounts_sell_0_1  s    v&
dlE1*%,%>%>$u'=&"eU   q)  !6:  !6:'' 2L4J + 1* *$D dlrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rS   rx   ro   s	            r/    test_get_order_amounts_sell_0_01z1TestOrderBuilder.test_get_order_amounts_sell_0_012  s    v&
ckE1*%,%>%>$v'>&"eU   q)  !6:  !6:'' 2L4J + 1* *$D ckrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y rX   rx   ro   s	            r/   !test_get_order_amounts_sell_0_001z2TestOrderBuilder.test_get_order_amounts_sell_0_001H  s    v&
bjE1*%,%>%>$w'?&"eU   q)  !6:  !6:'' 2L4J + 1* *$D bjrQ   c                    t        t              }d}d}d}|dk  rd}|dk  r|j                  t        ||t        d         \  }}}| j                  |d       | j                  t        |      d       | j                  t        |      d       | j                  t        ||z  d      t        |d             ||z   }|dk  r||z   }|dk  ry y r^   rx   ro   s	            r/   "test_get_order_amounts_sell_0_0001z3TestOrderBuilder.test_get_order_amounts_sell_0_0001^  s    v&
aiE1*%,%>%>$x'@&"eU   q)  !6:  !6:'' 2L4J + 1* *$D airQ   c                 *   t        t              }|j                  t        dddt              t        dd            }| j                  |j                  d	   d
       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d
       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d        | j                  |j                  d	   |j                  d   z  d       y )!N123Q?   token_idr   r   rM   rT   F	tick_sizeneg_risk
order_argsoptionsmakerAmount6 takerAmount =
ףp=?e   頻@#(\?jt)@   (\?z@   P;a" ,Ο8Q?皙3@`q#R} (\?QU@   H@l	    P	} 	r   r'   create_orderr   r
   r   r*   orderr   r,   r-   signed_orders      r/   "test_create_order_decimal_accuracyz3TestOrderBuilder.test_create_order_decimal_accuracyt  s~   v& ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 ++ 	 '%H , 
 	}-	
 	}-	
 	}-0B0B=0QQSW	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   
ףp=
5@o   {   P  r   r   r   rM   fee_rate_bpsnonce
expirationrC   Fr   r   saltrN   *0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266r'   rO   *0x0000000000000000000000000000000000000000tokenIdr    r   ArM   r   r   r   
feeRateBpssignatureTyper   r'   r   r   r
   r   
assertTrue
isinstancer   intassertIsNotNoner*   r   	signaturefloatr   s      r/   test_create_order_buy_0_1z*TestOrderBuilder.test_create_order_buy_0_1%  s3   v&++    'G , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   Q?r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r    ɳ r   r   rM   r   r   r   r   r   r   r   s      r/   test_create_order_buy_0_01z+TestOrderBuilder.test_create_order_buy_0_01j  s3   v&++    '%H , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   y&1?r   r   r   r   r   rZ   Fr   r   r   rN   r   r'   rO   r   r   r    r   r   rM   r   r   r   r   r   r   r   s      r/   test_create_order_buy_0_001z,TestOrderBuilder.test_create_order_buy_0_001  s3   v&++    '5I , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   Ǻv?r   r   r   r   r   r_   Fr   r   r   rN   r   r'   rO   r   r   r   @ r   r   rM   r   r   r   r   r   r   r   s      r/   test_create_order_buy_0_0001z-TestOrderBuilder.test_create_order_buy_0_0001  s3   v&++    'EJ , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nsig_typer   r!   r   r   r   r   r   rC   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r'   r   r   r   r   r   r   r   r   r   r   r*   r   r   r   s      r/   test_create_order_sell_0_1z+TestOrderBuilder.test_create_order_sell_0_19  s6   v0@A++    'G , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   test_create_order_sell_0_01z,TestOrderBuilder.test_create_order_sell_0_01~  s6   v0@A++    '%H , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   rZ   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   test_create_order_sell_0_001z-TestOrderBuilder.test_create_order_sell_0_001  s6   v0@A++    '5I , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   r_   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   test_create_order_sell_0_0001z.TestOrderBuilder.test_create_order_sell_0_0001  s6   v0@A++    'EJ , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 *   t        t              }|j                  t        dddt              t        dd            }| j                  |j                  d	   d
       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d
       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d       |j                  t        dddt              t        dd            }| j                  |j                  d	   d       | j                  |j                  d   d        | j                  |j                  d	   |j                  d   z  d       y )!Nr   r   r   r   rT   Tr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s      r/   +test_create_order_decimal_accuracy_neg_riskz<TestOrderBuilder.test_create_order_decimal_accuracy_neg_riskM  s~   v& ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 ++ 	 '$G , 
 	}-	
 	}-	
 	}-0B0B=0QQSW	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   r   r   r   r   r   rC   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   s      r/   "test_create_order_buy_0_1_neg_riskz3TestOrderBuilder.test_create_order_buy_0_1_neg_risk  s3   v&++    'F , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   s      r/   #test_create_order_buy_0_01_neg_riskz4TestOrderBuilder.test_create_order_buy_0_01_neg_riskC  s3   v&++    '$G , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   rZ   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   s      r/   $test_create_order_buy_0_001_neg_riskz5TestOrderBuilder.test_create_order_buy_0_001_neg_risk  s3   v&++    '4H , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 j   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r_   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   s      r/   %test_create_order_buy_0_0001_neg_riskz6TestOrderBuilder.test_create_order_buy_0_0001_neg_risk  s3   v&++    'DI , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r!   r   r   r   r   r   rC   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   #test_create_order_sell_0_1_neg_riskz4TestOrderBuilder.test_create_order_sell_0_1_neg_risk  s6   v0@A++    'F , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   $test_create_order_sell_0_01_neg_riskz5TestOrderBuilder.test_create_order_sell_0_01_neg_riskW  s6   v0@A++    '$G , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   rZ   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   %test_create_order_sell_0_001_neg_riskz6TestOrderBuilder.test_create_order_sell_0_001_neg_risk  s6   v0@A++    '4H , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 v   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r   r   r_   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r   s      r/   &test_create_order_sell_0_0001_neg_riskz7TestOrderBuilder.test_create_order_sell_0_0001_neg_risk  s6   v0@A++    'DI , 
 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c                 4   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  |       |j                         }| j                  |       | j                  t        |d   t                     | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d          y )Nr   r   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   11782400r   21040000rM   r   50000r   r   111r   r   r   r'   r   r   r
   r   r   dictr   r   r   r*   r   r,   r-   r   signed_order_dicts       r/   test_dict_order_buy_neg_riskz-TestOrderBuilder.test_dict_order_buy_neg_risk&  s   v&++    '$G , 
 	\*(--/./
#4V#<cBCg&8	
 	h'8	
 	g&8	
 	i(	
 	m,	
 	m,	
 	f%	
 	l+	
 	g&	
 	l+	
 	o.	
 	.{;<rQ   c                 @   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  |       |j                         }| j                  |       | j                  t        |d   t                     | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t
               | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d          y ) Nr   r   r   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   r   r'   r   r   r   r   r   r   r   r   r   r   r*   r   s       r/   test_dict_order_sell_neg_riskz.TestOrderBuilder.test_dict_order_sell_neg_riskj  s   v0@A++    '$G , 
 	\*(--/./
#4V#<cBCg&8	
 	h'8	
 	g&8	
 	i(	
 	m,	
 	m,	
 	f%	
 	l+	
 	g&	
 	l+	
 	o.	
 	.{;<rQ   c                 4   t        t              }|j                  t        dddt        ddd      t        dd	
            }| j                  |       |j                         }| j                  |       | j                  t        |d   t                     | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d          y )Nr   r   r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   r   r   s       r/   test_dict_order_buyz$TestOrderBuilder.test_dict_order_buy  s   v&++    '%H , 
 	\*(--/./
#4V#<cBCg&8	
 	h'8	
 	g&8	
 	i(	
 	m,	
 	m,	
 	f%	
 	l+	
 	g&	
 	l+	
 	o.	
 	.{;<rQ   c                 @   t        t        t              }|j                  t	        dddt
        ddd      t        d	d
            }| j                  |       |j                         }| j                  |       | j                  t        |d   t                     | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t
               | j                  |d   d       | j                  |d   d       | j                  |d   d       | j                  |d   t               | j                  |d          y ) Nr   r   r   r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r   r   r   r   s       r/   test_dict_order_sellz%TestOrderBuilder.test_dict_order_sell  s   v0@A++    '%H , 
 	\*(--/./
#4V#<cBCg&8	
 	h'8	
 	g&8	
 	i(	
 	m,	
 	m,	
 	f%	
 	l+	
 	g&	
 	l+	
 	o.	
 	.{;<rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   r   r   r   rM   r   r   rL   r   r   rC   Fr   r   r   rN   r   r'   rO   r   r   r    r    rM   r   r   r   r   r   r   r'   create_market_orderr   r
   r   r   r   r   r   r   r*   r   r   rH   r   r   s      r/    test_create_market_order_buy_0_1z1TestOrderBuilder.test_create_market_order_buy_0_16	  s0   v&22&  'G 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   Ȥ
rM   r   r   r   r   r   r  r   s      r/   !test_create_market_order_buy_0_01z2TestOrderBuilder.test_create_market_order_buy_0_01z	  s0   v&22&  '%H 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rZ   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   hojrM   r   r   r   r   r   r  r   s      r/   "test_create_market_order_buy_0_001z3TestOrderBuilder.test_create_market_order_buy_0_001	  s0   v&22&  '5I 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r_   Fr   r   r   rN   r   r'   rO   r   r   r   r   r      I`P rM   r   r   r   r   r   r  r   s      r/   #test_create_market_order_buy_0_0001z4TestOrderBuilder.test_create_market_order_buy_0_0001
  s0   v&22&  'EJ 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   r   r   r   r   rC   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   r   r   r   r   r   r  r   s      r/   )test_create_market_order_buy_0_1_neg_riskz:TestOrderBuilder.test_create_market_order_buy_0_1_neg_riskF
  s0   v&22&  'F 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   r   r   r   r   r   r  r   s      r/   *test_create_market_order_buy_0_01_neg_riskz;TestOrderBuilder.test_create_market_order_buy_0_01_neg_risk
  s0   v&22&  '$G 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rZ   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   r   r   r   r   r   r  r   s      r/   +test_create_market_order_buy_0_001_neg_riskz<TestOrderBuilder.test_create_market_order_buy_0_001_neg_risk
  s0   v&22&  '4H 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r_   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   r   r   r   r   r   r  r   s      r/   ,test_create_market_order_buy_0_0001_neg_riskz=TestOrderBuilder.test_create_market_order_buy_0_0001_neg_risk  s0   v&22&  'DI 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   r   r   r   r   rC   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   rM   rB   r   r   r   r   r   r   r'   r  r   r   r   r   r   r   r   r   r*   r   r   rH   r   r   s      r/   !test_create_market_order_sell_0_1z2TestOrderBuilder.test_create_market_order_sell_0_1V  s0   v&22&  'G 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rT   Fr   r   r   rN   r   r'   rO   r   r   r   r   r    ~VrM   rB   r   r   r   r   r   r  r   s      r/   "test_create_market_order_sell_0_01z3TestOrderBuilder.test_create_market_order_sell_0_01  s0   v&22&  '%H 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rZ   Fr   r   r   rN   r   r'   rO   r   r   r   r   r    sU rM   rB   r   r   r   r   r   r  r   s      r/   #test_create_market_order_sell_0_001z4TestOrderBuilder.test_create_market_order_sell_0_001  s0   v&22&  '5I 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r_   Fr   r   r   rN   r   r'   rO   r   r   r   r   r   逋 rM   rB   r   r   r   r   r   r  r   s      r/   $test_create_market_order_sell_0_0001z5TestOrderBuilder.test_create_market_order_sell_0_0001"  s0   v&22&  'EJ 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r!   r   r   r   r   rC   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   rB   r   r   r   r   r   r  r   s      r/   *test_create_market_order_sell_0_1_neg_riskz;TestOrderBuilder.test_create_market_order_sell_0_1_neg_riskf  s0   v&22&  'F 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rT   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   rB   r   r   r   r   r   r  r   s      r/   +test_create_market_order_sell_0_01_neg_riskz<TestOrderBuilder.test_create_market_order_sell_0_01_neg_risk  s0   v&22&  '$G 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   rZ   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r  rM   rB   r   r   r   r   r   r  r   s      r/   ,test_create_market_order_sell_0_001_neg_riskz=TestOrderBuilder.test_create_market_order_sell_0_001_neg_risk  s0   v&22&  '4H 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   c           
      h   t        t              }|j                  t        t        ddddd      t        dd	      
      }| j                  t        |j                  d   t                     | j                  |       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   d       | j                  |j                  d   t               | j                  |j                         | j                  t        |j                  d         t        |j                  d         z  d       y )Nr   r   r   r   r   r   r_   Tr   r   r   rN   r   r'   rO   r   r   r   r   r   r   rM   rB   r   r   r   r   r   r  r   s      r/   -test_create_market_order_sell_0_0001_neg_riskz>TestOrderBuilder.test_create_market_order_sell_0_0001_neg_risk2  s0   v&22&  'DI 3 

 	
<#5#5f#=sCD\*w'8	
 	x(8	
 	w'8	
 	y)	
 	}-	
 	}-	
 	v&	
 	|,	
 	w'	
 	|,	
 	/	
 	\334,$$]34L&&}567	
rQ   N)=__name__
__module____qualname__r0   r9   r<   r>   rP   rV   r\   ra   re   rg   ri   rk   rp   rr   rt   rv   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)   rQ   r/   r   r      su   6
p@
D7
rA
F),),),),),),),),%,%,%,%,%,%,%,%,o
bC
JC
JC
JC
JC
JC
JC
JC
Jo
bC
JC
JC
JC
JC
JC
JC
JC
JB=HB=HB=HB=HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
rQ   r   N)unittestr   py_clob_client.clob_typesr   r   r   r   r   py_clob_client.constantsr	   &py_clob_client.order_builder.constantsr
   r   py_clob_client.signerr   $py_clob_client.order_builder.builderr   r   $py_clob_client.order_builder.helpersr   r   py_order_utils.modelr   r   rG   rd   r   r   r'   r   r-  rQ   r/   <module>r6     sT      * < ( N M  S	K(	;W5
x W5
rQ   