UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

25 lines 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.filterEmptyBatches = void 0; const filterEmptyBatches = (allQueueBatches, depositableKeysCount) => { const remainingKeys = new Map(Object.entries(depositableKeysCount).map(([k, v]) => [BigInt(k), v])); return allQueueBatches.map((queueBatches) => { const filteredBatches = []; for (const batch of queueBatches) { const { nodeOperatorId } = batch; const operatorRemainingKeys = remainingKeys.get(nodeOperatorId) ?? 0; const actualKeysCount = Math.min(batch.keysCount, operatorRemainingKeys); if (actualKeysCount <= 0) { continue; } filteredBatches.push({ nodeOperatorId, keysCount: actualKeysCount, }); remainingKeys.set(nodeOperatorId, operatorRemainingKeys - actualKeysCount); } return filteredBatches; }); }; exports.filterEmptyBatches = filterEmptyBatches; //# sourceMappingURL=filter-batches.js.map