@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
24 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateShareLimit = void 0;
const index_js_1 = require("../common/index.js");
const find_module_digest_js_1 = require("./find-module-digest.js");
const calculateShareLimit = (digests, moduleId) => {
const moduleDigest = (0, find_module_digest_js_1.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) / index_js_1.PERCENT_BASIS;
const activeLeft = capacity - active;
return {
active,
activeLeft,
capacity,
queue,
shareLimit,
};
};
exports.calculateShareLimit = calculateShareLimit;
//# sourceMappingURL=calculate-share-limit.js.map