create planchets only in one place
This commit is contained in:
parent
4c614429a0
commit
d7ee78669d
@ -647,40 +647,6 @@ async function depleteReserve(
|
|||||||
|
|
||||||
const withdrawalGroupId = encodeCrock(randomBytes(32));
|
const withdrawalGroupId = encodeCrock(randomBytes(32));
|
||||||
|
|
||||||
const planchets: PlanchetRecord[] = [];
|
|
||||||
let coinIdx = 0;
|
|
||||||
for (let i = 0; i < denomsForWithdraw.selectedDenoms.length; i++) {
|
|
||||||
const d = denomsForWithdraw.selectedDenoms[i];
|
|
||||||
const denom = d.denom;
|
|
||||||
for (let j = 0; j < d.count; j++) {
|
|
||||||
const r = await ws.cryptoApi.createPlanchet({
|
|
||||||
denomPub: denom.denomPub,
|
|
||||||
feeWithdraw: denom.feeWithdraw,
|
|
||||||
reservePriv: reserve.reservePriv,
|
|
||||||
reservePub: reserve.reservePub,
|
|
||||||
value: denom.value,
|
|
||||||
});
|
|
||||||
const planchet: PlanchetRecord = {
|
|
||||||
blindingKey: r.blindingKey,
|
|
||||||
coinEv: r.coinEv,
|
|
||||||
coinEvHash: r.coinEvHash,
|
|
||||||
coinIdx,
|
|
||||||
coinPriv: r.coinPriv,
|
|
||||||
coinPub: r.coinPub,
|
|
||||||
coinValue: r.coinValue,
|
|
||||||
denomPub: r.denomPub,
|
|
||||||
denomPubHash: r.denomPubHash,
|
|
||||||
isFromTip: false,
|
|
||||||
reservePub: r.reservePub,
|
|
||||||
withdrawalDone: false,
|
|
||||||
withdrawSig: r.withdrawSig,
|
|
||||||
withdrawalGroupId: withdrawalGroupId,
|
|
||||||
};
|
|
||||||
planchets.push(planchet);
|
|
||||||
coinIdx++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.trace("created plachets");
|
logger.trace("created plachets");
|
||||||
|
|
||||||
const withdrawalRecord: WithdrawalGroupRecord = {
|
const withdrawalRecord: WithdrawalGroupRecord = {
|
||||||
@ -747,9 +713,6 @@ async function depleteReserve(
|
|||||||
newReserve.retryInfo = initRetryInfo(false);
|
newReserve.retryInfo = initRetryInfo(false);
|
||||||
await tx.put(Stores.reserves, newReserve);
|
await tx.put(Stores.reserves, newReserve);
|
||||||
await tx.put(Stores.withdrawalGroups, withdrawalRecord);
|
await tx.put(Stores.withdrawalGroups, withdrawalRecord);
|
||||||
for (const p of planchets) {
|
|
||||||
await tx.put(Stores.planchets, p);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
@ -522,6 +522,7 @@ async function processInBatches(workGen: Iterator<Promise<void>>, batchSize: num
|
|||||||
if (batch.length == 0) {
|
if (batch.length == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
logger.trace(`processing withdrawal batch of ${batch.length} elements`);
|
||||||
await Promise.all(batch);
|
await Promise.all(batch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user