@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
1,654 lines • 71.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StakingRouterAbi = void 0;
exports.StakingRouterAbi = [
{
type: 'receive',
stateMutability: 'payable',
},
{
type: 'function',
name: 'DEFAULT_ADMIN_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'DEPOSIT_CONTRACT',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'FEE_PRECISION_POINTS',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'MANAGE_WITHDRAWAL_CREDENTIALS_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'MAX_STAKING_MODULES_COUNT',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'MAX_STAKING_MODULE_NAME_LENGTH',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'REPORT_EXITED_VALIDATORS_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'REPORT_REWARDS_MINTED_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'STAKING_MODULE_MANAGE_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'STAKING_MODULE_UNVETTING_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'TOTAL_BASIS_POINTS',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'UNSAFE_SET_EXITED_VALIDATORS_ROLE',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'addStakingModule',
inputs: [
{
name: '_name',
type: 'string',
internalType: 'string',
},
{
name: '_stakingModuleAddress',
type: 'address',
internalType: 'address',
},
{
name: '_stakeShareLimit',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_priorityExitShareThreshold',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_stakingModuleFee',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_treasuryFee',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_maxDepositsPerBlock',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_minDepositBlockDistance',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'decreaseStakingModuleVettedKeysCountByNodeOperator',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorIds',
type: 'bytes',
internalType: 'bytes',
},
{
name: '_vettedSigningKeysCounts',
type: 'bytes',
internalType: 'bytes',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'deposit',
inputs: [
{
name: '_depositsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_depositCalldata',
type: 'bytes',
internalType: 'bytes',
},
],
outputs: [],
stateMutability: 'payable',
},
{
type: 'function',
name: 'finalizeUpgrade_v2',
inputs: [
{
name: '_priorityExitShareThresholds',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'getAllNodeOperatorDigests',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'tuple[]',
internalType: 'struct IStakingRouter.NodeOperatorDigest[]',
components: [
{
name: 'id',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'isActive',
type: 'bool',
internalType: 'bool',
},
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.NodeOperatorSummary',
components: [
{
name: 'targetLimitMode',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'targetValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'refundedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckPenaltyEndTimestamp',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getAllStakingModuleDigests',
inputs: [],
outputs: [
{
name: '',
type: 'tuple[]',
internalType: 'struct IStakingRouter.StakingModuleDigest[]',
components: [
{
name: 'nodeOperatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'activeNodeOperatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'state',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModule',
components: [
{
name: 'id',
type: 'uint24',
internalType: 'uint24',
},
{
name: 'stakingModuleAddress',
type: 'address',
internalType: 'address',
},
{
name: 'stakingModuleFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'treasuryFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'stakeShareLimit',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'status',
type: 'uint8',
internalType: 'uint8',
},
{
name: 'name',
type: 'string',
internalType: 'string',
},
{
name: 'lastDepositAt',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'lastDepositBlock',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'exitedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'priorityExitShareThreshold',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'maxDepositsPerBlock',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'minDepositBlockDistance',
type: 'uint64',
internalType: 'uint64',
},
],
},
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModuleSummary',
components: [
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getContractVersion',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getDepositsAllocation',
inputs: [
{
name: '_depositsCount',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: 'allocated',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'allocations',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getLido',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getNodeOperatorDigests',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorIds',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
outputs: [
{
name: 'digests',
type: 'tuple[]',
internalType: 'struct IStakingRouter.NodeOperatorDigest[]',
components: [
{
name: 'id',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'isActive',
type: 'bool',
internalType: 'bool',
},
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.NodeOperatorSummary',
components: [
{
name: 'targetLimitMode',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'targetValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'refundedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckPenaltyEndTimestamp',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getNodeOperatorDigests',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_offset',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_limit',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'tuple[]',
internalType: 'struct IStakingRouter.NodeOperatorDigest[]',
components: [
{
name: 'id',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'isActive',
type: 'bool',
internalType: 'bool',
},
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.NodeOperatorSummary',
components: [
{
name: 'targetLimitMode',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'targetValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'refundedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckPenaltyEndTimestamp',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getNodeOperatorSummary',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.NodeOperatorSummary',
components: [
{
name: 'targetLimitMode',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'targetValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'refundedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stuckPenaltyEndTimestamp',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getRoleAdmin',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getRoleMember',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
{
name: 'index',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'address',
internalType: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getRoleMemberCount',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingFeeAggregateDistribution',
inputs: [],
outputs: [
{
name: 'modulesFee',
type: 'uint96',
internalType: 'uint96',
},
{
name: 'treasuryFee',
type: 'uint96',
internalType: 'uint96',
},
{
name: 'basePrecision',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingFeeAggregateDistributionE4Precision',
inputs: [],
outputs: [
{
name: 'modulesFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'treasuryFee',
type: 'uint16',
internalType: 'uint16',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModule',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModule',
components: [
{
name: 'id',
type: 'uint24',
internalType: 'uint24',
},
{
name: 'stakingModuleAddress',
type: 'address',
internalType: 'address',
},
{
name: 'stakingModuleFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'treasuryFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'stakeShareLimit',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'status',
type: 'uint8',
internalType: 'uint8',
},
{
name: 'name',
type: 'string',
internalType: 'string',
},
{
name: 'lastDepositAt',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'lastDepositBlock',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'exitedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'priorityExitShareThreshold',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'maxDepositsPerBlock',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'minDepositBlockDistance',
type: 'uint64',
internalType: 'uint64',
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleActiveValidatorsCount',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: 'activeValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleDigests',
inputs: [
{
name: '_stakingModuleIds',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
outputs: [
{
name: 'digests',
type: 'tuple[]',
internalType: 'struct IStakingRouter.StakingModuleDigest[]',
components: [
{
name: 'nodeOperatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'activeNodeOperatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'state',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModule',
components: [
{
name: 'id',
type: 'uint24',
internalType: 'uint24',
},
{
name: 'stakingModuleAddress',
type: 'address',
internalType: 'address',
},
{
name: 'stakingModuleFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'treasuryFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'stakeShareLimit',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'status',
type: 'uint8',
internalType: 'uint8',
},
{
name: 'name',
type: 'string',
internalType: 'string',
},
{
name: 'lastDepositAt',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'lastDepositBlock',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'exitedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'priorityExitShareThreshold',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'maxDepositsPerBlock',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'minDepositBlockDistance',
type: 'uint64',
internalType: 'uint64',
},
],
},
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModuleSummary',
components: [
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleIds',
inputs: [],
outputs: [
{
name: 'stakingModuleIds',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleIsActive',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleIsDepositsPaused',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleIsStopped',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleLastDepositBlock',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleMaxDepositsCount',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_maxDepositsValue',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleMaxDepositsPerBlock',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleMinDepositBlockDistance',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleNonce',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleStatus',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'uint8',
internalType: 'uint8',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModuleSummary',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: 'summary',
type: 'tuple',
internalType: 'struct IStakingRouter.StakingModuleSummary',
components: [
{
name: 'totalExitedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'totalDepositedValidators',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'depositableValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModules',
inputs: [],
outputs: [
{
name: 'res',
type: 'tuple[]',
internalType: 'struct IStakingRouter.StakingModule[]',
components: [
{
name: 'id',
type: 'uint24',
internalType: 'uint24',
},
{
name: 'stakingModuleAddress',
type: 'address',
internalType: 'address',
},
{
name: 'stakingModuleFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'treasuryFee',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'stakeShareLimit',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'status',
type: 'uint8',
internalType: 'uint8',
},
{
name: 'name',
type: 'string',
internalType: 'string',
},
{
name: 'lastDepositAt',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'lastDepositBlock',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'exitedValidatorsCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'priorityExitShareThreshold',
type: 'uint16',
internalType: 'uint16',
},
{
name: 'maxDepositsPerBlock',
type: 'uint64',
internalType: 'uint64',
},
{
name: 'minDepositBlockDistance',
type: 'uint64',
internalType: 'uint64',
},
],
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingModulesCount',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getStakingRewardsDistribution',
inputs: [],
outputs: [
{
name: 'recipients',
type: 'address[]',
internalType: 'address[]',
},
{
name: 'stakingModuleIds',
type: 'uint256[]',
internalType: 'uint256[]',
},
{
name: 'stakingModuleFees',
type: 'uint96[]',
internalType: 'uint96[]',
},
{
name: 'totalFee',
type: 'uint96',
internalType: 'uint96',
},
{
name: 'precisionPoints',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getTotalFeeE4Precision',
inputs: [],
outputs: [
{
name: 'totalFee',
type: 'uint16',
internalType: 'uint16',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'getWithdrawalCredentials',
inputs: [],
outputs: [
{
name: '',
type: 'bytes32',
internalType: 'bytes32',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'grantRole',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
{
name: 'account',
type: 'address',
internalType: 'address',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'hasRole',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
{
name: 'account',
type: 'address',
internalType: 'address',
},
],
outputs: [
{
name: '',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'hasStakingModule',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [
{
name: '',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'initialize',
inputs: [
{
name: '_admin',
type: 'address',
internalType: 'address',
},
{
name: '_lido',
type: 'address',
internalType: 'address',
},
{
name: '_withdrawalCredentials',
type: 'bytes32',
internalType: 'bytes32',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'onValidatorsCountsByNodeOperatorReportingFinished',
inputs: [],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'renounceRole',
inputs: [
{
name: 'role',
type: 'bytes32',
internalType: 'bytes32',
},
{
name: 'account',
type: 'address',
internalType: 'address',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'reportRewardsMinted',
inputs: [
{
name: '_stakingModuleIds',
type: 'uint256[]',
internalType: 'uint256[]',
},
{
name: '_totalShares',
type: 'uint256[]',
internalType: 'uint256[]',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'reportStakingModuleExitedValidatorsCountByNodeOperator',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorIds',
type: 'bytes',
internalType: 'bytes',
},
{
name: '_exitedValidatorsCounts',
type: 'bytes',
internalType: 'bytes',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'reportStakingModuleStuckValidatorsCountByNodeOperator',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorIds',
type: 'bytes',
internalType: 'bytes',
},
{
name: '_stuckValidatorsCounts',
type: 'bytes',
internalType: 'bytes',
},
],
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'reportValidatorExitDelay',
inputs: [
{
name: '_stakingModuleId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_nodeOperatorId',
type: 'uint256',
internalType: 'uint256',
},
{
name: '_proofSlotTim