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

24 lines 1.09 kB
"use strict"; 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