@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
1,485 lines • 63.8 kB
TypeScript
export declare const StakingRouterAbi: 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";
readonly inputs: readonly [{
readonly name: "interfaceId";
readonly type: "bytes4";
readonly internalType: "bytes4";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "unsafeSetExitedValidatorsCount";
readonly inputs: readonly [{
readonly name: "_stakingModuleId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_nodeOperatorId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_triggerUpdateFinish";
readonly type: "bool";
readonly internalType: "bool";
}, {
readonly name: "_correction";
readonly type: "tuple";
readonly internalType: "struct IStakingRouter.ValidatorsCountsCorrection";
readonly components: readonly [{
readonly name: "currentModuleExitedValidatorsCount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "currentNodeOperatorExitedValidatorsCount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "newModuleExitedValidatorsCount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "newNodeOperatorExitedValidatorsCount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "updateExitedValidatorsCountByStakingModule";
readonly inputs: readonly [{
readonly name: "_stakingModuleIds";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}, {
readonly name: "_exitedValidatorsCounts";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "updateRefundedValidatorsCount";
readonly inputs: readonly [{
readonly name: "_stakingModuleId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_nodeOperatorId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_refundedValidatorsCount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "updateStakingModule";
readonly inputs: readonly [{
readonly name: "_stakingModuleId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
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: "updateTargetValidatorsLimits";
readonly inputs: readonly [{
readonly name: "_stakingModuleId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_nodeOperatorId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_targetLimitMode";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_targetLimit";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "event";
readonly name: "ContractVersionSet";
readonly inputs: readonly [{
readonly name: "version";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "ExitedAndStuckValidatorsCountsUpdateFailed";
readonly inputs: readonly [{
readonly name: "stakingModuleId";
readonly type: "uint256";
readonly indexed: true;
readonly internalType: "uint256";
}