-only return coin indices for successfully withdrawn coins
This commit is contained in:
parent
c8336c8c2c
commit
49608f0bbb
@ -492,7 +492,7 @@ async function processPlanchetExchangeBatchRequest(
|
||||
|
||||
const batchReq: ExchangeBatchWithdrawRequest = { planchets: [] };
|
||||
// Indices of coins that are included in the batch request
|
||||
const coinIdxs: number[] = [];
|
||||
const requestCoinIdxs: number[] = [];
|
||||
|
||||
await ws.db
|
||||
.mktx((x) => [
|
||||
@ -537,7 +537,7 @@ async function processPlanchetExchangeBatchRequest(
|
||||
coin_ev: planchet.coinEv,
|
||||
};
|
||||
batchReq.planchets.push(planchetReq);
|
||||
coinIdxs.push(coinIdx);
|
||||
requestCoinIdxs.push(coinIdx);
|
||||
}
|
||||
});
|
||||
|
||||
@ -563,7 +563,7 @@ async function processPlanchetExchangeBatchRequest(
|
||||
for (let i = startIdx; i < coinIdxs.length; i++) {
|
||||
let planchet = await tx.planchets.indexes.byGroupAndIndex.get([
|
||||
withdrawalGroup.withdrawalGroupId,
|
||||
coinIdxs[i],
|
||||
requestCoinIdxs[i],
|
||||
]);
|
||||
if (!planchet) {
|
||||
continue;
|
||||
@ -623,11 +623,11 @@ async function processPlanchetExchangeBatchRequest(
|
||||
codecForWithdrawBatchResponse(),
|
||||
);
|
||||
return {
|
||||
coinIdxs,
|
||||
coinIdxs: requestCoinIdxs,
|
||||
batchResp: r,
|
||||
};
|
||||
} catch (e) {
|
||||
await storeCoinError(e, coinIdxs[0]);
|
||||
await storeCoinError(e, requestCoinIdxs[0]);
|
||||
return {
|
||||
batchResp: { ev_sigs: [] },
|
||||
coinIdxs: [],
|
||||
@ -638,6 +638,7 @@ async function processPlanchetExchangeBatchRequest(
|
||||
const responses: ExchangeWithdrawBatchResponse = {
|
||||
ev_sigs: [],
|
||||
};
|
||||
const responseCoinIdxs: number[] = [];
|
||||
for (let i = 0; i < batchReq.planchets.length; i++) {
|
||||
try {
|
||||
const p = batchReq.planchets[i];
|
||||
@ -650,7 +651,7 @@ async function processPlanchetExchangeBatchRequest(
|
||||
await handleKycRequired(resp, i);
|
||||
// We still return blinded coins that we could actually withdraw.
|
||||
return {
|
||||
coinIdxs,
|
||||
coinIdxs: responseCoinIdxs,
|
||||
batchResp: responses,
|
||||
};
|
||||
}
|
||||
@ -659,12 +660,13 @@ async function processPlanchetExchangeBatchRequest(
|
||||
codecForWithdrawResponse(),
|
||||
);
|
||||
responses.ev_sigs.push(r);
|
||||
responseCoinIdxs.push(requestCoinIdxs[i]);
|
||||
} catch (e) {
|
||||
await storeCoinError(e, coinIdxs[i]);
|
||||
await storeCoinError(e, requestCoinIdxs[i]);
|
||||
}
|
||||
}
|
||||
return {
|
||||
coinIdxs,
|
||||
coinIdxs: responseCoinIdxs,
|
||||
batchResp: responses,
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user