Skip to content

Commit e2ff8c2

Browse files
committed
Rebased
2 parents 8f28b63 + c958e86 commit e2ff8c2

File tree

12 files changed

+986
-266
lines changed

12 files changed

+986
-266
lines changed

β€Ždocs/api.mdβ€Ž

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { Arguments, Argv } from 'yargs';
2+
import { RemoveAllOrdersRequest, RemoveAllOrdersResponse } from '../../proto/xudrpc_pb';
3+
import { callback, loadXudClient } from '../command';
4+
5+
export const command = 'removeallorders';
6+
7+
export const describe = 'removes all orders';
8+
9+
export const builder = (argv: Argv) => argv
10+
.example('$0 removeallorders', describe);
11+
12+
const formatOutput = (response: RemoveAllOrdersResponse.AsObject) => {
13+
if (response.removedOrderIdsList.length <= 0 && response.onHoldOrderIdsList.length <= 0) {
14+
console.log('No orders found');
15+
return;
16+
}
17+
18+
if (response.removedOrderIdsList.length) {
19+
response.removedOrderIdsList.forEach((removedOrder => console.log(`Removed order with id ${removedOrder}`)));
20+
}
21+
if (response.onHoldOrderIdsList.length) {
22+
response.onHoldOrderIdsList.forEach((id => console.log(`Order with id ${id} has a hold for a pending swap and will be removed afterwards`)));
23+
}
24+
25+
};
26+
27+
export const handler = async (argv: Arguments<any>) => {
28+
(await loadXudClient(argv)).removeAllOrders(new RemoveAllOrdersRequest(), callback(argv, formatOutput));
29+
};

β€Žlib/grpc/GrpcService.tsβ€Ž

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,26 @@ class GrpcService {
288288
}
289289
}
290290

291+
/**
292+
* See [[Service.removeAllOrders]]
293+
*/
294+
public removeAllOrders: grpc.handleUnaryCall<xudrpc.RemoveAllOrdersRequest, xudrpc.RemoveAllOrdersResponse> = async (_, callback) => {
295+
if (!this.isReady(this.service, callback)) {
296+
return;
297+
}
298+
try {
299+
const { removedOrderLocalIds, onHoldOrderLocalIds } = await this.service.removeAllOrders();
300+
301+
const response = new xudrpc.RemoveAllOrdersResponse();
302+
response.setRemovedOrderIdsList(removedOrderLocalIds);
303+
response.setOnHoldOrderIdsList(onHoldOrderLocalIds);
304+
305+
callback(null, response);
306+
} catch (err) {
307+
callback(getGrpcError(err), null);
308+
}
309+
}
310+
291311
/**
292312
* See [[Service.getBalance]]
293313
*/

β€Žlib/orderbook/OrderBook.tsβ€Ž

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -841,6 +841,22 @@ class OrderBook extends EventEmitter {
841841
return order;
842842
}
843843

844+
public removeOwnOrders = () => {
845+
const removedOrderLocalIds = [];
846+
const onHoldOrderLocalIds = [];
847+
848+
for (const localId of this.localIdMap.keys()) {
849+
const onHoldIndicator = this.removeOwnOrderByLocalId(localId, true);
850+
if (onHoldIndicator === 0) {
851+
removedOrderLocalIds.push(localId);
852+
} else {
853+
onHoldOrderLocalIds.push(localId);
854+
}
855+
}
856+
857+
return { removedOrderLocalIds, onHoldOrderLocalIds };
858+
}
859+
844860
/**
845861
* Removes all or part of an order from the order book by its local id. Throws an error if the
846862
* specified pairId is not supported or if the order to cancel could not be found.

β€Žlib/proto/xudrpc.swagger.jsonβ€Ž

Lines changed: 49 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žlib/proto/xudrpc_grpc_pb.d.tsβ€Ž

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žlib/proto/xudrpc_grpc_pb.jsβ€Ž

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žlib/proto/xudrpc_pb.d.tsβ€Ž

Lines changed: 46 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
Β (0)