@@ -74,6 +74,84 @@ def add_exchange_msg_deposit(
7474 }
7575 self ._msgs .append (msg )
7676
77+ def add_exchange_msg_cancel_spot_order (self , subaccount : str , market_id : int , order_hash : str ) -> None :
78+ msg = {
79+ "type" : "exchange/MsgCancelSpotOrder" ,
80+ "value" : {
81+ "sender" : privkey_to_address (self ._privkey , hrp = self ._hrp ),
82+ "subaccount_id" : subaccount ,
83+ "market_id" : market_id ,
84+ "order_hash" : order_hash ,
85+ },
86+ }
87+ self ._msgs .append (msg )
88+
89+ def add_exchange_msg_batch_cancel_spot_order (self , subaccount_id_list , market_id_list , order_hash_list ) -> None :
90+ msg = {
91+ #INFO: ATTENTION, Order`s`
92+ "type" : "exchange/MsgBatchCancelSpotOrders" ,
93+ "value" : {
94+ "sender" : privkey_to_address (self ._privkey , hrp = self ._hrp ),
95+ "data" : []
96+ },
97+ }
98+
99+ for i in range (len (subaccount_id_list )):
100+ msg ["value" ]["data" ].append (
101+ {
102+ "subaccount_id" : subaccount_id_list [i ],
103+ "market_id" : market_id_list [i ],
104+ "order_hash" : order_hash_list [i ],
105+ }
106+ )
107+
108+ self ._msgs .append (msg )
109+
110+ def add_exchange_msg_create_spot_limit_order (self , subaccount_id : str , market_id : str , fee_recipient : str , price , quantity , order_type , trigger_price ) -> None :
111+ msg = {
112+ "type" : "exchange/MsgCreateSpotLimitOrder" ,
113+ "value" : {
114+ "sender" : privkey_to_address (self ._privkey , hrp = self ._hrp ),
115+ "order" : {
116+ 'market_id' : market_id ,
117+ 'order_info' : {
118+ 'subaccount_id' : subaccount_id ,
119+ 'fee_recipient' : fee_recipient ,
120+ 'price' : price ,
121+ 'quantity' : quantity ,
122+ },
123+ 'order_type' : order_type ,
124+ "trigger_price" : trigger_price ,
125+ },
126+ }
127+ }
128+ self ._msgs .append (msg )
129+
130+ def add_exchange_msg_batch_create_spot_limit_orders (self , subaccount_id_list , market_id_list , fee_recipient_list , price_list , quantity_list , order_type_list , trigger_price_list ) -> None :
131+ msg = {
132+ "type" : "exchange/MsgBatchCreateSpotLimitOrders" ,
133+ "value" : {
134+ "sender" : privkey_to_address (self ._privkey , hrp = self ._hrp ),
135+ "orders" : []
136+ }
137+ }
138+
139+ for i in range (len (subaccount_id_list )):
140+ msg ["value" ]["orders" ].append ({
141+ 'market_id' : market_id_list [i ],
142+ 'order_info' : {
143+ 'subaccount_id' : subaccount_id_list [i ],
144+ 'fee_recipient' : fee_recipient_list [i ],
145+ 'price' : price_list [i ],
146+ 'quantity' : quantity_list [i ],
147+ },
148+ 'order_type' : order_type_list [i ],
149+ "trigger_price" : trigger_price_list [i ],
150+ }
151+ )
152+ self ._msgs .append (msg )
153+
154+
77155 def get_signed (self ) -> str :
78156 pubkey = privkey_to_pubkey (self ._privkey )
79157 base64_pubkey = base64 .b64encode (pubkey ).decode ("utf-8" )
0 commit comments