@@ -87,7 +87,7 @@ Parameters:
8787 );
8888 <b >if</b > (order.is_some()) {
8989 // Order is already placed in the order book, so we can cancel it
90- <b >return</b > <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >(market, order.destroy_some(), callbacks);
90+ <b >return</b > <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >(market, order.destroy_some(), < b >true</ b >, callbacks);
9191 };
9292 pre_cancel_order_for_tracker(
9393 market.get_pre_cancellation_tracker_mut(),
@@ -115,7 +115,7 @@ Parameters:
115115- callbacks: The market clearinghouse callbacks for cleanup operations
116116
117117
118- <pre ><code ><b >public</b > <b >fun</b > <a href =" order_operations.md#0x7_order_operations_cancel_order " >cancel_order</a >< ; M: <b >copy</b >, drop, store> ; (market: &<b >mut</b > <a href =" market_types.md#0x7_market_types_Market " >market_types::Market</a >< ; M> ; , <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >: <b >address</b >, order_id: <a href =" order_book_types.md#0x7_order_book_types_OrderIdType " >order_book_types::OrderIdType</a >, callbacks: &<a href =" market_types.md#0x7_market_types_MarketClearinghouseCallbacks " >market_types::MarketClearinghouseCallbacks</a >< ; M> ; )
118+ <pre ><code ><b >public</b > <b >fun</b > <a href =" order_operations.md#0x7_order_operations_cancel_order " >cancel_order</a >< ; M: <b >copy</b >, drop, store> ; (market: &<b >mut</b > <a href =" market_types.md#0x7_market_types_Market " >market_types::Market</a >< ; M> ; , <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >: <b >address</b >, order_id: <a href =" order_book_types.md#0x7_order_book_types_OrderIdType " >order_book_types::OrderIdType</a >, emit_event: bool, callbacks: &<a href =" market_types.md#0x7_market_types_MarketClearinghouseCallbacks " >market_types::MarketClearinghouseCallbacks</a >< ; M> ; ): < a href = " single_order_types.md#0x7_single_order_types_SingleOrder " >single_order_types::SingleOrder</ a > & lt ; M & gt ;
119119</code ></pre >
120120
121121
@@ -128,11 +128,13 @@ Parameters:
128128 market: &<b >mut</b > Market< ; M> ; ,
129129 <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >: <b >address</b >,
130130 order_id: OrderIdType,
131+ emit_event: bool,
131132 callbacks: &MarketClearinghouseCallbacks< ; M> ;
132- ) {
133+ ): SingleOrder & lt ; M & gt ; {
133134 <b >let</b > order = market.get_order_book_mut().<a href =" order_operations.md#0x7_order_operations_cancel_order " >cancel_order</a >(<a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >, order_id);
134135 <b >assert</b >!(<a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a > == order.get_account(), <a href =" order_operations.md#0x7_order_operations_ENOT_ORDER_CREATOR " >ENOT_ORDER_CREATOR</a >);
135- <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >(market, order, callbacks);
136+ <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >(market, order, emit_event, callbacks);
137+ order
136138}
137139</code ></pre >
138140
@@ -232,7 +234,7 @@ Parameters:
232234- callbacks: The market clearinghouse callbacks for cleanup operations
233235
234236
235- <pre ><code ><b >fun</b > <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >< ; M: <b >copy</b >, drop, store> ; (market: &<b >mut</b > <a href =" market_types.md#0x7_market_types_Market " >market_types::Market</a >< ; M> ; , order: <a href =" single_order_types.md#0x7_single_order_types_SingleOrder " >single_order_types::SingleOrder</a >< ; M> ; , callbacks: &<a href =" market_types.md#0x7_market_types_MarketClearinghouseCallbacks " >market_types::MarketClearinghouseCallbacks</a >< ; M> ; )
237+ <pre ><code ><b >fun</b > <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >< ; M: <b >copy</b >, drop, store> ; (market: &<b >mut</b > <a href =" market_types.md#0x7_market_types_Market " >market_types::Market</a >< ; M> ; , order: <a href =" single_order_types.md#0x7_single_order_types_SingleOrder " >single_order_types::SingleOrder</a >< ; M> ; , emit_event: bool, callbacks: &<a href =" market_types.md#0x7_market_types_MarketClearinghouseCallbacks " >market_types::MarketClearinghouseCallbacks</a >< ; M> ; )
236238</code ></pre >
237239
238240
@@ -244,6 +246,7 @@ Parameters:
244246<pre ><code ><b >fun</b > <a href =" order_operations.md#0x7_order_operations_cancel_single_order_helper " >cancel_single_order_helper</a >< ; M: store + <b >copy</b > + drop> ; (
245247 market: &<b >mut</b > Market< ; M> ; ,
246248 order: SingleOrder< ; M> ; ,
249+ emit_event: bool,
247250 callbacks: &MarketClearinghouseCallbacks< ; M> ;
248251) {
249252 <b >let</b > (
@@ -262,23 +265,25 @@ Parameters:
262265 cleanup_order_internal(
263266 <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >, order_id, single_order_book_type(), is_bid, remaining_size, metadata, callbacks
264267 );
265- market.emit_event_for_order(
266- order_id,
267- client_order_id,
268- <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >,
269- orig_size,
270- 0,
271- remaining_size,
272- price,
273- is_bid,
274- <b >false</b >,
275- aptos_experimental::market_types::order_status_cancelled(),
276- std::string::utf8(b"Order cancelled"),
277- metadata,
278- <a href =" ../../aptos-framework/../aptos-stdlib/../move-stdlib/doc/option.md#0x1_option_none " >option::none</a >(), // trigger_condition
279- time_in_force,
280- callbacks
281- );
268+ <b >if</b > (emit_event) {
269+ market.emit_event_for_order(
270+ order_id,
271+ client_order_id,
272+ <a href =" ../../aptos-framework/doc/account.md#0x1_account " >account</a >,
273+ orig_size,
274+ 0,
275+ remaining_size,
276+ price,
277+ is_bid,
278+ <b >false</b >,
279+ aptos_experimental::market_types::order_status_cancelled(),
280+ std::string::utf8(b"Order cancelled"),
281+ metadata,
282+ <a href =" ../../aptos-framework/../aptos-stdlib/../move-stdlib/doc/option.md#0x1_option_none " >option::none</a >(), // trigger_condition
283+ time_in_force,
284+ callbacks
285+ );
286+ }
282287}
283288</code ></pre >
284289
0 commit comments