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

1,326 lines 832 kB
export declare const CONTRACT_BASE_ABI: { readonly stakingRouter: readonly [{ readonly type: "receive"; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "DEFAULT_ADMIN_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "DEPOSIT_CONTRACT"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEE_PRECISION_POINTS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MANAGE_WITHDRAWAL_CREDENTIALS_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_STAKING_MODULES_COUNT"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_STAKING_MODULE_NAME_LENGTH"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "REPORT_EXITED_VALIDATORS_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "REPORT_REWARDS_MINTED_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "STAKING_MODULE_MANAGE_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "STAKING_MODULE_UNVETTING_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "TOTAL_BASIS_POINTS"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "UNSAFE_SET_EXITED_VALIDATORS_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "addStakingModule"; readonly inputs: readonly [{ readonly name: "_name"; readonly type: "string"; readonly internalType: "string"; }, { readonly name: "_stakingModuleAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_stakeShareLimit"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_priorityExitShareThreshold"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_stakingModuleFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_treasuryFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_maxDepositsPerBlock"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_minDepositBlockDistance"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "decreaseStakingModuleVettedKeysCountByNodeOperator"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorIds"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "_vettedSigningKeysCounts"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "_depositsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_depositCalldata"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "finalizeUpgrade_v2"; readonly inputs: readonly [{ readonly name: "_priorityExitShareThresholds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getAllNodeOperatorDigests"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.NodeOperatorDigest[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "isActive"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.NodeOperatorSummary"; readonly components: readonly [{ readonly name: "targetLimitMode"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "targetValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "refundedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckPenaltyEndTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getAllStakingModuleDigests"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.StakingModuleDigest[]"; readonly components: readonly [{ readonly name: "nodeOperatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "activeNodeOperatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "state"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModule"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "stakingModuleAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "stakingModuleFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "treasuryFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "stakeShareLimit"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "status"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "name"; readonly type: "string"; readonly internalType: "string"; }, { readonly name: "lastDepositAt"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "lastDepositBlock"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "exitedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "priorityExitShareThreshold"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "maxDepositsPerBlock"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "minDepositBlockDistance"; readonly type: "uint64"; readonly internalType: "uint64"; }]; }, { readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModuleSummary"; readonly components: readonly [{ readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getContractVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getDepositsAllocation"; readonly inputs: readonly [{ readonly name: "_depositsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "allocated"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "allocations"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLido"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getNodeOperatorDigests"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly outputs: readonly [{ readonly name: "digests"; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.NodeOperatorDigest[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "isActive"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.NodeOperatorSummary"; readonly components: readonly [{ readonly name: "targetLimitMode"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "targetValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "refundedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckPenaltyEndTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getNodeOperatorDigests"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_offset"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_limit"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.NodeOperatorDigest[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "isActive"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.NodeOperatorSummary"; readonly components: readonly [{ readonly name: "targetLimitMode"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "targetValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "refundedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckPenaltyEndTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getNodeOperatorSummary"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.NodeOperatorSummary"; readonly components: readonly [{ readonly name: "targetLimitMode"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "targetValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "refundedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stuckPenaltyEndTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleAdmin"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleMember"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "index"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleMemberCount"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingFeeAggregateDistribution"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "modulesFee"; readonly type: "uint96"; readonly internalType: "uint96"; }, { readonly name: "treasuryFee"; readonly type: "uint96"; readonly internalType: "uint96"; }, { readonly name: "basePrecision"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingFeeAggregateDistributionE4Precision"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "modulesFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "treasuryFee"; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModule"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModule"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "stakingModuleAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "stakingModuleFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "treasuryFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "stakeShareLimit"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "status"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "name"; readonly type: "string"; readonly internalType: "string"; }, { readonly name: "lastDepositAt"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "lastDepositBlock"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "exitedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "priorityExitShareThreshold"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "maxDepositsPerBlock"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "minDepositBlockDistance"; readonly type: "uint64"; readonly internalType: "uint64"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleActiveValidatorsCount"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "activeValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleDigests"; readonly inputs: readonly [{ readonly name: "_stakingModuleIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly outputs: readonly [{ readonly name: "digests"; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.StakingModuleDigest[]"; readonly components: readonly [{ readonly name: "nodeOperatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "activeNodeOperatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "state"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModule"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "stakingModuleAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "stakingModuleFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "treasuryFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "stakeShareLimit"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "status"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "name"; readonly type: "string"; readonly internalType: "string"; }, { readonly name: "lastDepositAt"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "lastDepositBlock"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "exitedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "priorityExitShareThreshold"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "maxDepositsPerBlock"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "minDepositBlockDistance"; readonly type: "uint64"; readonly internalType: "uint64"; }]; }, { readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModuleSummary"; readonly components: readonly [{ readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleIds"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "stakingModuleIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleIsActive"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleIsDepositsPaused"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleIsStopped"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleLastDepositBlock"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleMaxDepositsCount"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_maxDepositsValue"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleMaxDepositsPerBlock"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleMinDepositBlockDistance"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleNonce"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleStatus"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModuleSummary"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "summary"; readonly type: "tuple"; readonly internalType: "struct IStakingRouter.StakingModuleSummary"; readonly components: readonly [{ readonly name: "totalExitedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "totalDepositedValidators"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "depositableValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModules"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "res"; readonly type: "tuple[]"; readonly internalType: "struct IStakingRouter.StakingModule[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint24"; readonly internalType: "uint24"; }, { readonly name: "stakingModuleAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "stakingModuleFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "treasuryFee"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "stakeShareLimit"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "status"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "name"; readonly type: "string"; readonly internalType: "string"; }, { readonly name: "lastDepositAt"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "lastDepositBlock"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "exitedValidatorsCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "priorityExitShareThreshold"; readonly type: "uint16"; readonly internalType: "uint16"; }, { readonly name: "maxDepositsPerBlock"; readonly type: "uint64"; readonly internalType: "uint64"; }, { readonly name: "minDepositBlockDistance"; readonly type: "uint64"; readonly internalType: "uint64"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingModulesCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getStakingRewardsDistribution"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "recipients"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "stakingModuleIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }, { readonly name: "stakingModuleFees"; readonly type: "uint96[]"; readonly internalType: "uint96[]"; }, { readonly name: "totalFee"; readonly type: "uint96"; readonly internalType: "uint96"; }, { readonly name: "precisionPoints"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getTotalFeeE4Precision"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "totalFee"; readonly type: "uint16"; readonly internalType: "uint16"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getWithdrawalCredentials"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "grantRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "hasRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "hasStakingModule"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "_admin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_lido"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_withdrawalCredentials"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "onValidatorsCountsByNodeOperatorReportingFinished"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "reportRewardsMinted"; readonly inputs: readonly [{ readonly name: "_stakingModuleIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }, { readonly name: "_totalShares"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "reportStakingModuleExitedValidatorsCountByNodeOperator"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorIds"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "_exitedValidatorsCounts"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "reportStakingModuleStuckValidatorsCountByNodeOperator"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorIds"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "_stuckValidatorsCounts"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "reportValidatorExitDelay"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_proofSlotTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_publicKey"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "_eligibleToExitInSec"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "revokeRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setStakingModuleStatus"; readonly inputs: readonly [{ readonly name: "_stakingModuleId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_status"; readonly type: "uint8"; readonly internalType: "uint8"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setWithdrawalCredentials"; readonly inputs: readonly [{ readonly name: "_withdrawalCredentials"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "supportsInterface"; rea