/** * Cancels an order by ID and resolves the returned promise once the cancel is * confirmed. Emits an error if not authenticated. The ID can be passed as a * number, or taken from an order array/object. * * @see WSv2#submitOrder * * @param {object|Array|number} order - order model, array, or ID to be cancelled * @returns {Promise} p */ async cancelOrder (order) { if (!this._isAuthenticated) { throw new Error('not authenticated') } const id = _isNumber(order) ? order : Array.isArray(order) ? order[0] : order.id debug(`cancelling order ${id}`) this._sendOrderPacket([0, 'oc', null, { id }]) return this._getEventPromise(`order-cancel-${id}`) }