@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
1,534 lines (1,533 loc) • 64.5 kB
JavaScript
export const StakingRouterAbi = [
{
inputs: [
{
internalType: 'address',
name: '_depositContract',
type: 'address',
},
],
stateMutability: 'nonpayable',
type: 'constructor',
},
{ inputs: [], name: 'AppAuthLidoFailed', type: 'error' },
{
inputs: [
{
internalType: 'uint256',
name: 'firstArrayLength',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'secondArrayLength',
type: 'uint256',
},
],
name: 'ArraysLengthMismatch',
type: 'error',
},
{ inputs: [], name: 'DepositContractZeroAddress', type: 'error' },
{ inputs: [], name: 'DirectETHTransfer', type: 'error' },
{ inputs: [], name: 'EmptyWithdrawalsCredentials', type: 'error' },
{
inputs: [],
name: 'ExitedValidatorsCountCannotDecrease',
type: 'error',
},
{ inputs: [], name: 'InvalidContractVersionIncrement', type: 'error' },
{
inputs: [
{ internalType: 'uint256', name: 'etherValue', type: 'uint256' },
{ internalType: 'uint256', name: 'depositsCount', type: 'uint256' },
],
name: 'InvalidDepositsValue',
type: 'error',
},
{ inputs: [], name: 'InvalidFeeSum', type: 'error' },
{ inputs: [], name: 'InvalidMaxDepositPerBlockValue', type: 'error' },
{ inputs: [], name: 'InvalidMinDepositBlockDistance', type: 'error' },
{
inputs: [],
name: 'InvalidPriorityExitShareThreshold',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'actual', type: 'uint256' },
{ internalType: 'uint256', name: 'expected', type: 'uint256' },
],
name: 'InvalidPublicKeysBatchLength',
type: 'error',
},
{
inputs: [{ internalType: 'uint256', name: 'code', type: 'uint256' }],
name: 'InvalidReportData',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'actual', type: 'uint256' },
{ internalType: 'uint256', name: 'expected', type: 'uint256' },
],
name: 'InvalidSignaturesBatchLength',
type: 'error',
},
{ inputs: [], name: 'InvalidStakeShareLimit', type: 'error' },
{ inputs: [], name: 'NonZeroContractVersionOnInit', type: 'error' },
{
inputs: [
{
internalType: 'uint256',
name: 'reportedExitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'depositedValidatorsCount',
type: 'uint256',
},
],
name: 'ReportedExitedValidatorsExceedDeposited',
type: 'error',
},
{ inputs: [], name: 'StakingModuleAddressExists', type: 'error' },
{ inputs: [], name: 'StakingModuleNotActive', type: 'error' },
{ inputs: [], name: 'StakingModuleStatusTheSame', type: 'error' },
{ inputs: [], name: 'StakingModuleUnregistered', type: 'error' },
{ inputs: [], name: 'StakingModuleWrongName', type: 'error' },
{ inputs: [], name: 'StakingModulesLimitExceeded', type: 'error' },
{
inputs: [
{ internalType: 'uint256', name: 'expected', type: 'uint256' },
{ internalType: 'uint256', name: 'received', type: 'uint256' },
],
name: 'UnexpectedContractVersion',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'currentModuleExitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'currentNodeOpExitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'currentNodeOpStuckValidatorsCount',
type: 'uint256',
},
],
name: 'UnexpectedCurrentValidatorsCount',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'newModuleTotalExitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'newModuleTotalExitedValidatorsCountInStakingRouter',
type: 'uint256',
},
],
name: 'UnexpectedFinalExitedValidatorsCount',
type: 'error',
},
{ inputs: [], name: 'UnrecoverableModuleError', type: 'error' },
{ inputs: [], name: 'ZeroAddressAdmin', type: 'error' },
{ inputs: [], name: 'ZeroAddressLido', type: 'error' },
{ inputs: [], name: 'ZeroAddressStakingModule', type: 'error' },
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'uint256',
name: 'version',
type: 'uint256',
},
],
name: 'ContractVersionSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'bytes',
name: 'lowLevelRevertData',
type: 'bytes',
},
],
name: 'ExitedAndStuckValidatorsCountsUpdateFailed',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'bytes',
name: 'lowLevelRevertData',
type: 'bytes',
},
],
name: 'RewardsMintedReportFailed',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'bytes32',
name: 'role',
type: 'bytes32',
},
{
indexed: true,
internalType: 'bytes32',
name: 'previousAdminRole',
type: 'bytes32',
},
{
indexed: true,
internalType: 'bytes32',
name: 'newAdminRole',
type: 'bytes32',
},
],
name: 'RoleAdminChanged',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'bytes32',
name: 'role',
type: 'bytes32',
},
{
indexed: true,
internalType: 'address',
name: 'account',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'sender',
type: 'address',
},
],
name: 'RoleGranted',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'bytes32',
name: 'role',
type: 'bytes32',
},
{
indexed: true,
internalType: 'address',
name: 'account',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'sender',
type: 'address',
},
],
name: 'RoleRevoked',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'address',
name: 'stakingModule',
type: 'address',
},
{
indexed: false,
internalType: 'string',
name: 'name',
type: 'string',
},
{
indexed: false,
internalType: 'address',
name: 'createdBy',
type: 'address',
},
],
name: 'StakingModuleAdded',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'unreportedExitedValidatorsCount',
type: 'uint256',
},
],
name: 'StakingModuleExitedValidatorsIncompleteReporting',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'stakingModuleFee',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'treasuryFee',
type: 'uint256',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'StakingModuleFeesSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'maxDepositsPerBlock',
type: 'uint256',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'StakingModuleMaxDepositsPerBlockSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'minDepositBlockDistance',
type: 'uint256',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'StakingModuleMinDepositBlockDistanceSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'stakeShareLimit',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'priorityExitShareThreshold',
type: 'uint256',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'StakingModuleShareLimitSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'enum StakingRouter.StakingModuleStatus',
name: 'status',
type: 'uint8',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'StakingModuleStatusSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'StakingRouterETHDeposited',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'bytes32',
name: 'withdrawalCredentials',
type: 'bytes32',
},
{
indexed: false,
internalType: 'address',
name: 'setBy',
type: 'address',
},
],
name: 'WithdrawalCredentialsSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'stakingModuleId',
type: 'uint256',
},
{
indexed: false,
internalType: 'bytes',
name: 'lowLevelRevertData',
type: 'bytes',
},
],
name: 'WithdrawalsCredentialsChangeFailed',
type: 'event',
},
{
inputs: [],
name: 'DEFAULT_ADMIN_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'DEPOSIT_CONTRACT',
outputs: [
{
internalType: 'contract IDepositContract',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'FEE_PRECISION_POINTS',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MANAGE_WITHDRAWAL_CREDENTIALS_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MAX_STAKING_MODULES_COUNT',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MAX_STAKING_MODULE_NAME_LENGTH',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'REPORT_EXITED_VALIDATORS_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'REPORT_REWARDS_MINTED_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'STAKING_MODULE_MANAGE_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'STAKING_MODULE_UNVETTING_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'TOTAL_BASIS_POINTS',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'UNSAFE_SET_EXITED_VALIDATORS_ROLE',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'string', name: '_name', type: 'string' },
{
internalType: 'address',
name: '_stakingModuleAddress',
type: 'address',
},
{
internalType: 'uint256',
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',
},
],
name: 'addStakingModule',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{ internalType: 'bytes', name: '_nodeOperatorIds', type: 'bytes' },
{
internalType: 'bytes',
name: '_vettedSigningKeysCounts',
type: 'bytes',
},
],
name: 'decreaseStakingModuleVettedKeysCountByNodeOperator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_depositsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{ internalType: 'bytes', name: '_depositCalldata', type: 'bytes' },
],
name: 'deposit',
outputs: [],
stateMutability: 'payable',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256[]',
name: '_priorityExitShareThresholds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_maxDepositsPerBlock',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_minDepositBlockDistances',
type: 'uint256[]',
},
],
name: 'finalizeUpgrade_v2',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getAllNodeOperatorDigests',
outputs: [
{
components: [
{ internalType: 'uint256', name: 'id', type: 'uint256' },
{ internalType: 'bool', name: 'isActive', type: 'bool' },
{
components: [
{
internalType: 'uint256',
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: 'struct StakingRouter.NodeOperatorSummary',
name: 'summary',
type: 'tuple',
},
],
internalType: 'struct StakingRouter.NodeOperatorDigest[]',
name: '',
type: 'tuple[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getAllStakingModuleDigests',
outputs: [
{
components: [
{
internalType: 'uint256',
name: 'nodeOperatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'activeNodeOperatorsCount',
type: 'uint256',
},
{
components: [
{ internalType: 'uint24', name: 'id', type: 'uint24' },
{
internalType: 'address',
name: 'stakingModuleAddress',
type: 'address',
},
{
internalType: 'uint16',
name: 'stakingModuleFee',
type: 'uint16',
},
{
internalType: 'uint16',
name: 'treasuryFee',
type: 'uint16',
},
{
internalType: 'uint16',
name: 'stakeShareLimit',
type: 'uint16',
},
{ internalType: 'uint8', name: 'status', type: 'uint8' },
{ internalType: 'string', name: 'name', type: 'string' },
{
internalType: 'uint64',
name: 'lastDepositAt',
type: 'uint64',
},
{
internalType: 'uint256',
name: 'lastDepositBlock',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'exitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint16',
name: 'priorityExitShareThreshold',
type: 'uint16',
},
{
internalType: 'uint64',
name: 'maxDepositsPerBlock',
type: 'uint64',
},
{
internalType: 'uint64',
name: 'minDepositBlockDistance',
type: 'uint64',
},
],
internalType: 'struct StakingRouter.StakingModule',
name: 'state',
type: 'tuple',
},
{
components: [
{
internalType: 'uint256',
name: 'totalExitedValidators',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'totalDepositedValidators',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'depositableValidatorsCount',
type: 'uint256',
},
],
internalType: 'struct StakingRouter.StakingModuleSummary',
name: 'summary',
type: 'tuple',
},
],
internalType: 'struct StakingRouter.StakingModuleDigest[]',
name: '',
type: 'tuple[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getContractVersion',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'uint256', name: '_depositsCount', type: 'uint256' },
],
name: 'getDepositsAllocation',
outputs: [
{ internalType: 'uint256', name: 'allocated', type: 'uint256' },
{
internalType: 'uint256[]',
name: 'allocations',
type: 'uint256[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getLido',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{
internalType: 'uint256[]',
name: '_nodeOperatorIds',
type: 'uint256[]',
},
],
name: 'getNodeOperatorDigests',
outputs: [
{
components: [
{ internalType: 'uint256', name: 'id', type: 'uint256' },
{ internalType: 'bool', name: 'isActive', type: 'bool' },
{
components: [
{
internalType: 'uint256',
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: 'struct StakingRouter.NodeOperatorSummary',
name: 'summary',
type: 'tuple',
},
],
internalType: 'struct StakingRouter.NodeOperatorDigest[]',
name: 'digests',
type: 'tuple[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{ internalType: 'uint256', name: '_offset', type: 'uint256' },
{ internalType: 'uint256', name: '_limit', type: 'uint256' },
],
name: 'getNodeOperatorDigests',
outputs: [
{
components: [
{ internalType: 'uint256', name: 'id', type: 'uint256' },
{ internalType: 'bool', name: 'isActive', type: 'bool' },
{
components: [
{
internalType: 'uint256',
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: 'struct StakingRouter.NodeOperatorSummary',
name: 'summary',
type: 'tuple',
},
],
internalType: 'struct StakingRouter.NodeOperatorDigest[]',
name: '',
type: 'tuple[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{
internalType: 'uint256',
name: '_nodeOperatorId',
type: 'uint256',
},
],
name: 'getNodeOperatorSummary',
outputs: [
{
components: [
{
internalType: 'uint256',
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: 'struct StakingRouter.NodeOperatorSummary',
name: 'summary',
type: 'tuple',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'bytes32', name: 'role', type: 'bytes32' }],
name: 'getRoleAdmin',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'bytes32', name: 'role', type: 'bytes32' },
{ internalType: 'uint256', name: 'index', type: 'uint256' },
],
name: 'getRoleMember',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'bytes32', name: 'role', type: 'bytes32' }],
name: 'getRoleMemberCount',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getStakingFeeAggregateDistribution',
outputs: [
{ internalType: 'uint96', name: 'modulesFee', type: 'uint96' },
{ internalType: 'uint96', name: 'treasuryFee', type: 'uint96' },
{ internalType: 'uint256', name: 'basePrecision', type: 'uint256' },
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getStakingFeeAggregateDistributionE4Precision',
outputs: [
{ internalType: 'uint16', name: 'modulesFee', type: 'uint16' },
{ internalType: 'uint16', name: 'treasuryFee', type: 'uint16' },
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModule',
outputs: [
{
components: [
{ internalType: 'uint24', name: 'id', type: 'uint24' },
{
internalType: 'address',
name: 'stakingModuleAddress',
type: 'address',
},
{
internalType: 'uint16',
name: 'stakingModuleFee',
type: 'uint16',
},
{ internalType: 'uint16', name: 'treasuryFee', type: 'uint16' },
{
internalType: 'uint16',
name: 'stakeShareLimit',
type: 'uint16',
},
{ internalType: 'uint8', name: 'status', type: 'uint8' },
{ internalType: 'string', name: 'name', type: 'string' },
{
internalType: 'uint64',
name: 'lastDepositAt',
type: 'uint64',
},
{
internalType: 'uint256',
name: 'lastDepositBlock',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'exitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint16',
name: 'priorityExitShareThreshold',
type: 'uint16',
},
{
internalType: 'uint64',
name: 'maxDepositsPerBlock',
type: 'uint64',
},
{
internalType: 'uint64',
name: 'minDepositBlockDistance',
type: 'uint64',
},
],
internalType: 'struct StakingRouter.StakingModule',
name: '',
type: 'tuple',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleActiveValidatorsCount',
outputs: [
{
internalType: 'uint256',
name: 'activeValidatorsCount',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256[]',
name: '_stakingModuleIds',
type: 'uint256[]',
},
],
name: 'getStakingModuleDigests',
outputs: [
{
components: [
{
internalType: 'uint256',
name: 'nodeOperatorsCount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'activeNodeOperatorsCount',
type: 'uint256',
},
{
components: [
{ internalType: 'uint24', name: 'id', type: 'uint24' },
{
internalType: 'address',
name: 'stakingModuleAddress',
type: 'address',
},
{
internalType: 'uint16',
name: 'stakingModuleFee',
type: 'uint16',
},
{
internalType: 'uint16',
name: 'treasuryFee',
type: 'uint16',
},
{
internalType: 'uint16',
name: 'stakeShareLimit',
type: 'uint16',
},
{ internalType: 'uint8', name: 'status', type: 'uint8' },
{ internalType: 'string', name: 'name', type: 'string' },
{
internalType: 'uint64',
name: 'lastDepositAt',
type: 'uint64',
},
{
internalType: 'uint256',
name: 'lastDepositBlock',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'exitedValidatorsCount',
type: 'uint256',
},
{
internalType: 'uint16',
name: 'priorityExitShareThreshold',
type: 'uint16',
},
{
internalType: 'uint64',
name: 'maxDepositsPerBlock',
type: 'uint64',
},
{
internalType: 'uint64',
name: 'minDepositBlockDistance',
type: 'uint64',
},
],
internalType: 'struct StakingRouter.StakingModule',
name: 'state',
type: 'tuple',
},
{
components: [
{
internalType: 'uint256',
name: 'totalExitedValidators',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'totalDepositedValidators',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'depositableValidatorsCount',
type: 'uint256',
},
],
internalType: 'struct StakingRouter.StakingModuleSummary',
name: 'summary',
type: 'tuple',
},
],
internalType: 'struct StakingRouter.StakingModuleDigest[]',
name: 'digests',
type: 'tuple[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getStakingModuleIds',
outputs: [
{
internalType: 'uint256[]',
name: 'stakingModuleIds',
type: 'uint256[]',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleIsActive',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleIsDepositsPaused',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleIsStopped',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleLastDepositBlock',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
{
internalType: 'uint256',
name: '_maxDepositsValue',
type: 'uint256',
},
],
name: 'getStakingModuleMaxDepositsCount',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleMaxDepositsPerBlock',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleMinDepositBlockDistance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleNonce',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleStatus',
outputs: [
{
internalType: 'enum StakingRouter.StakingModuleStatus',
name: '',
type: 'uint8',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_stakingModuleId',
type: 'uint256',
},
],
name: 'getStakingModuleSummary',
outputs: [
{
components: [
{
internalType: 'uint256',
name: 'totalExitedValidators',
type: 'uint256',