@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
20 lines • 885 B
JavaScript
import { PERCENT_BASIS } from '../common/index.js';
import { findModuleDigest } from './find-module-digest.js';
export const calculateShareLimit = (digests, moduleId) => {
const moduleDigest = findModuleDigest(digests, moduleId);
const shareLimit = moduleDigest.state.stakeShareLimit;
const active = moduleDigest.summary.totalDepositedValidators -
moduleDigest.summary.totalExitedValidators;
const queue = moduleDigest.summary.depositableValidatorsCount;
const totalActive = digests.reduce((acc, { summary }) => acc + summary.totalDepositedValidators - summary.totalExitedValidators, 0n);
const capacity = (totalActive * shareLimit) / PERCENT_BASIS;
const activeLeft = capacity - active;
return {
active,
activeLeft,
capacity,
queue,
shareLimit,
};
};
//# sourceMappingURL=calculate-share-limit.js.map