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,973 lines (1,972 loc) 67.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CuratedModuleAbi = void 0; exports.CuratedModuleAbi = [ { type: 'constructor', inputs: [ { name: 'moduleType', type: 'bytes32', internalType: 'bytes32' }, { name: 'lidoLocator', type: 'address', internalType: 'address' }, { name: 'parametersRegistry', type: 'address', internalType: 'address' }, { name: 'accounting', type: 'address', internalType: 'address' }, { name: 'exitPenalties', type: 'address', internalType: 'address' } ], stateMutability: 'nonpayable' }, { type: 'function', name: 'ACCOUNTING', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract IAccounting' } ], stateMutability: 'view' }, { type: 'function', name: 'CREATE_NODE_OPERATOR_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'DEFAULT_ADMIN_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'EXIT_PENALTIES', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract IExitPenalties' } ], stateMutability: 'view' }, { type: 'function', name: 'FEE_DISTRIBUTOR', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'address' } ], stateMutability: 'view' }, { type: 'function', name: 'LIDO_LOCATOR', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract ILidoLocator' } ], stateMutability: 'view' }, { type: 'function', name: 'OPERATOR_ADDRESSES_ADMIN_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'PARAMETERS_REGISTRY', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract IParametersRegistry' } ], stateMutability: 'view' }, { type: 'function', name: 'PAUSE_INFINITELY', inputs: [], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'PAUSE_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'RECOVERER_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'REPORT_GENERAL_DELAYED_PENALTY_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'RESUME_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'SETTLE_GENERAL_DELAYED_PENALTY_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'STAKING_ROUTER_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'STETH', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract IStETH' } ], stateMutability: 'view' }, { type: 'function', name: 'SUBMIT_WITHDRAWALS_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'VERIFIER_ROLE', inputs: [], outputs: [ { name: '', type: 'bytes32', internalType: 'bytes32' } ], stateMutability: 'view' }, { type: 'function', name: 'addValidatorKeysETH', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' }, { name: 'publicKeys', type: 'bytes', internalType: 'bytes' }, { name: 'signatures', type: 'bytes', internalType: 'bytes' } ], outputs: [], stateMutability: 'payable' }, { type: 'function', name: 'addValidatorKeysStETH', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' }, { name: 'publicKeys', type: 'bytes', internalType: 'bytes' }, { name: 'signatures', type: 'bytes', internalType: 'bytes' }, { name: 'permit', type: 'tuple', internalType: 'struct IAccounting.PermitInput', components: [ { name: 'value', type: 'uint256', internalType: 'uint256' }, { name: 'deadline', type: 'uint256', internalType: 'uint256' }, { name: 'v', type: 'uint8', internalType: 'uint8' }, { name: 'r', type: 'bytes32', internalType: 'bytes32' }, { name: 's', type: 'bytes32', internalType: 'bytes32' } ] } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'addValidatorKeysWstETH', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' }, { name: 'publicKeys', type: 'bytes', internalType: 'bytes' }, { name: 'signatures', type: 'bytes', internalType: 'bytes' }, { name: 'permit', type: 'tuple', internalType: 'struct IAccounting.PermitInput', components: [ { name: 'value', type: 'uint256', internalType: 'uint256' }, { name: 'deadline', type: 'uint256', internalType: 'uint256' }, { name: 'v', type: 'uint8', internalType: 'uint8' }, { name: 'r', type: 'bytes32', internalType: 'bytes32' }, { name: 's', type: 'bytes32', internalType: 'bytes32' } ] } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'cancelGeneralDelayedPenalty', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'amount', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'changeNodeOperatorAddresses', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'newManagerAddress', type: 'address', internalType: 'address' }, { name: 'newRewardAddress', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'changeNodeOperatorRewardAddress', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'newAddress', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'compensateGeneralDelayedPenalty', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'payable' }, { type: 'function', name: 'confirmNodeOperatorManagerAddressChange', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'confirmNodeOperatorRewardAddressChange', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'createNodeOperator', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'managementProperties', type: 'tuple', internalType: 'struct NodeOperatorManagementProperties', components: [ { name: 'managerAddress', type: 'address', internalType: 'address' }, { name: 'rewardAddress', type: 'address', internalType: 'address' }, { name: 'extendedManagerPermissions', type: 'bool', internalType: 'bool' } ] }, { name: 'referrer', type: 'address', internalType: 'address' } ], outputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'nonpayable' }, { type: 'function', name: 'decreaseVettedSigningKeysCount', inputs: [ { name: 'nodeOperatorIds', type: 'bytes', internalType: 'bytes' }, { name: 'vettedSigningKeysCounts', type: 'bytes', internalType: 'bytes' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'exitDeadlineThreshold', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getActiveNodeOperatorsCount', inputs: [], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getDepositsAllocation', inputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: 'allocated', type: 'uint256', internalType: 'uint256' }, { name: 'operatorIds', type: 'uint256[]', internalType: 'uint256[]' }, { name: 'allocations', type: 'uint256[]', internalType: 'uint256[]' } ], stateMutability: 'view' }, { type: 'function', name: 'getInitializedVersion', inputs: [], outputs: [ { name: '', type: 'uint64', internalType: 'uint64' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperator', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'tuple', internalType: 'struct NodeOperator', components: [ { name: 'totalAddedKeys', type: 'uint32', internalType: 'uint32' }, { name: 'totalWithdrawnKeys', type: 'uint32', internalType: 'uint32' }, { name: 'totalDepositedKeys', type: 'uint32', internalType: 'uint32' }, { name: 'totalVettedKeys', type: 'uint32', internalType: 'uint32' }, { name: 'stuckValidatorsCount', type: 'uint32', internalType: 'uint32' }, { name: 'depositableValidatorsCount', type: 'uint32', internalType: 'uint32' }, { name: 'targetLimit', type: 'uint32', internalType: 'uint32' }, { name: 'targetLimitMode', type: 'uint8', internalType: 'uint8' }, { name: 'totalExitedKeys', type: 'uint32', internalType: 'uint32' }, { name: 'enqueuedCount', type: 'uint32', internalType: 'uint32' }, { name: 'managerAddress', type: 'address', internalType: 'address' }, { name: 'proposedManagerAddress', type: 'address', internalType: 'address' }, { name: 'rewardAddress', type: 'address', internalType: 'address' }, { name: 'proposedRewardAddress', type: 'address', internalType: 'address' }, { name: 'extendedManagerPermissions', type: 'bool', internalType: 'bool' }, { name: 'usedPriorityQueue', type: 'bool', internalType: 'bool' } ] } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorIds', inputs: [ { name: 'offset', type: 'uint256', internalType: 'uint256' }, { name: 'limit', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: 'nodeOperatorIds', type: 'uint256[]', internalType: 'uint256[]' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorIsActive', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorManagementProperties', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'tuple', internalType: 'struct NodeOperatorManagementProperties', components: [ { name: 'managerAddress', type: 'address', internalType: 'address' }, { name: 'rewardAddress', type: 'address', internalType: 'address' }, { name: 'extendedManagerPermissions', type: 'bool', internalType: 'bool' } ] } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorNonWithdrawnKeys', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorOwner', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'address', internalType: 'address' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorSummary', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { 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: 'getNodeOperatorTotalDepositedKeys', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: 'totalDepositedKeys', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getNodeOperatorsCount', inputs: [], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getNonce', inputs: [], outputs: [ { name: '', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getResumeSinceTimestamp', inputs: [], outputs: [ { name: '', 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: 'getSigningKeys', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'startIndex', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'bytes', internalType: 'bytes' } ], stateMutability: 'view' }, { type: 'function', name: 'getSigningKeysWithSignatures', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'startIndex', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: 'keys', type: 'bytes', internalType: 'bytes' }, { name: 'signatures', type: 'bytes', internalType: 'bytes' } ], stateMutability: 'view' }, { type: 'function', name: 'getStakingModuleSummary', inputs: [], outputs: [ { name: 'totalExitedValidators', type: 'uint256', internalType: 'uint256' }, { name: 'totalDepositedValidators', type: 'uint256', internalType: 'uint256' }, { name: 'depositableValidatorsCount', type: 'uint256', internalType: 'uint256' } ], stateMutability: 'view' }, { type: 'function', name: 'getType', 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: 'initialize', inputs: [ { name: 'admin', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'isPaused', inputs: [], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'isValidatorExitDelayPenaltyApplicable', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: '', type: 'uint256', internalType: 'uint256' }, { name: 'publicKey', type: 'bytes', internalType: 'bytes' }, { name: 'eligibleToExitInSec', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'isValidatorSlashed', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keyIndex', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'isValidatorWithdrawn', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keyIndex', type: 'uint256', internalType: 'uint256' } ], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'obtainDepositData', inputs: [ { name: '', type: 'uint256', internalType: 'uint256' }, { name: '', type: 'bytes', internalType: 'bytes' }, { name: '', type: 'uint256[]', internalType: 'uint256[]' }, { name: '', type: 'uint256[]', internalType: 'uint256[]' }, { name: '', type: 'uint256[]', internalType: 'uint256[]' } ], outputs: [ { name: 'publicKeys', type: 'bytes[]', internalType: 'bytes[]' }, { name: 'allocations', type: 'uint256[]', internalType: 'uint256[]' } ], stateMutability: 'nonpayable' }, { type: 'function', name: 'obtainDepositData', inputs: [ { name: '', type: 'uint256', internalType: 'uint256' }, { name: '', type: 'bytes', internalType: 'bytes' } ], outputs: [ { name: 'publicKeys', type: 'bytes', internalType: 'bytes' }, { name: 'signatures', type: 'bytes', internalType: 'bytes' } ], stateMutability: 'nonpayable' }, { type: 'function', name: 'onExitedAndStuckValidatorsCountsUpdated', inputs: [], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'onRewardsMinted', inputs: [ { name: 'totalShares', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'onValidatorExitTriggered', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'publicKey', type: 'bytes', internalType: 'bytes' }, { name: 'withdrawalRequestPaidFee', type: 'uint256', internalType: 'uint256' }, { name: 'exitType', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'onValidatorSlashed', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keyIndex', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'onWithdrawalCredentialsChanged', inputs: [], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'pauseFor', inputs: [ { name: 'duration', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'proposeNodeOperatorManagerAddressChange', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'proposedAddress', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'proposeNodeOperatorRewardAddressChange', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'proposedAddress', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'recoverERC1155', inputs: [ { name: 'token', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'recoverERC20', inputs: [ { name: 'token', type: 'address', internalType: 'address' }, { name: 'amount', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'recoverERC721', inputs: [ { name: 'token', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'recoverEther', inputs: [], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'removeKeys', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'startIndex', type: 'uint256', internalType: 'uint256' }, { name: 'keysCount', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'renounceRole', inputs: [ { name: 'role', type: 'bytes32', internalType: 'bytes32' }, { name: 'callerConfirmation', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'reportGeneralDelayedPenalty', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'penaltyType', type: 'bytes32', internalType: 'bytes32' }, { name: 'amount', type: 'uint256', internalType: 'uint256' }, { name: 'details', type: 'string', internalType: 'string' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'reportValidatorExitDelay', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: '', type: 'uint256', internalType: 'uint256' }, { name: 'publicKey', type: 'bytes', internalType: 'bytes' }, { name: 'eligibleToExitInSec', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'reportWithdrawnValidators', inputs: [ { name: 'validatorInfos', type: 'tuple[]', internalType: 'struct WithdrawnValidatorInfo[]', components: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'keyIndex', type: 'uint256', internalType: 'uint256' }, { name: 'exitBalance', type: 'uint256', internalType: 'uint256' }, { name: 'slashingPenalty', type: 'uint256', internalType: 'uint256' }, { name: 'isSlashed', type: 'bool', internalType: 'bool' } ] } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'resetNodeOperatorManagerAddress', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'resume', inputs: [], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'revokeRole', inputs: [ { name: 'role', type: 'bytes32', internalType: 'bytes32' }, { name: 'account', type: 'address', internalType: 'address' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'settleGeneralDelayedPenalty', inputs: [ { name: 'nodeOperatorIds', type: 'uint256[]', internalType: 'uint256[]' }, { name: 'maxAmounts', type: 'uint256[]', internalType: 'uint256[]' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'supportsInterface', inputs: [ { name: 'interfaceId', type: 'bytes4', internalType: 'bytes4' } ], outputs: [ { name: '', type: 'bool', internalType: 'bool' } ], stateMutability: 'view' }, { type: 'function', name: 'unsafeUpdateValidatorsCount', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'exitedValidatorsKeysCount', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'updateDepositableValidatorsCount', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'updateExitedValidatorsCount', inputs: [ { name: 'nodeOperatorIds', type: 'bytes', internalType: 'bytes' }, { name: 'exitedValidatorsCounts', type: 'bytes', internalType: 'bytes' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'updateOperatorBalances', inputs: [ { name: '', type: 'uint256[]', internalType: 'uint256[]' }, { name: '', type: 'uint256[]', internalType: 'uint256[]' }, { name: '', type: 'uint256[]', internalType: 'uint256[]' }, { name: 'refSlot', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'updateTargetValidatorsLimits', inputs: [ { name: 'nodeOperatorId', type: 'uint256', internalType: 'uint256' }, { name: 'targetLimitMode', type: 'uint256', internalType: 'uint256' }, { name: 'targetLimit', type: 'uint256', internalType: 'uint256' } ], outputs: [], stateMutability: 'nonpayable' }, { type: 'event', name: 'DepositableSigningKeysCountChanged', inputs: [ { name: 'nodeOperatorId', type: 'uint256', indexed: true, internalType: 'uint256' }, { name: 'depositableKeysCount', type: 'uint256', indexed: false, internalType: 'uint256' } ], anonymous: false }, { type: 'event', name: 'DepositedSigningKeysCountChanged', inputs: [ { name: 'nodeOperatorId', type: 'uint256', indexed: true, internalType: 'uint256' }, { name: 'depositedKeysCount', type: 'uint256', indexed: false, internalType: 'uint256' } ], anonymous: false }, { type: 'event', name: 'ERC1155Recovered', inputs: [ { name: 'token', type: 'address', indexed: true, internalType: 'address' }, { name: 'tokenId', type: 'uint256', indexed: false, internalType: 'uint256' }, { name: 'recipient', type: 'address', indexed: true, internalType: 'address' }, { name: 'amount', type: 'uint256', indexed: false, internalType: 'uint256' } ], anonymous: false }, { type: 'event', name: 'ERC20Recovered', inputs: [ { name: 'token', type: 'address', indexed: true, internalType: 'address' }, { name: 'recipient', type: 'address', indexed: true, internalType: 'address' }, { name: 'amount', type: 'uint256', indexed: false, internalType: 'uint256' } ], anonymous: false }, {