Skip to main content

IKeeperValidators

Git Source

Inherits: IKeeperOracles, IKeeperRewards

Author: StakeWise

Defines the interface for the Keeper validators

Functions

exitSignaturesNonces

Get nonce for the next vault exit signatures update

function exitSignaturesNonces(address vault) external view returns (uint256);

Parameters

NameTypeDescription
vaultaddressThe address of the Vault to get the nonce for

Returns

NameTypeDescription
<none>uint256The nonce of the Vault for updating signatures

validatorsMinOracles

The minimum number of oracles required to update validators

function validatorsMinOracles() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256The minimum number of oracles

approveValidators

Function for approving validators registration

function approveValidators(ApprovalParams calldata params) external;

Parameters

NameTypeDescription
paramsApprovalParamsThe parameters for approving validators registration

updateExitSignatures

Function for updating exit signatures for every hard fork

function updateExitSignatures(
address vault,
uint256 deadline,
string calldata exitSignaturesIpfsHash,
bytes calldata oraclesSignatures
) external;

Parameters

NameTypeDescription
vaultaddressThe address of the Vault to update signatures for
deadlineuint256The deadline for submitting signatures update
exitSignaturesIpfsHashstringThe IPFS hash with the validators' exit signatures
oraclesSignaturesbytesThe concatenation of Oracles' signatures

setValidatorsMinOracles

Function for updating validators min oracles number

function setValidatorsMinOracles(uint256 _validatorsMinOracles) external;

Parameters

NameTypeDescription
_validatorsMinOraclesuint256The new minimum number of oracles required to approve validators

Events

ValidatorsApproval

Event emitted on validators approval

event ValidatorsApproval(address indexed vault, string exitSignaturesIpfsHash);

Parameters

NameTypeDescription
vaultaddressThe address of the Vault
exitSignaturesIpfsHashstringThe IPFS hash with the validators' exit signatures

ExitSignaturesUpdated

Event emitted on exit signatures update

event ExitSignaturesUpdated(
address indexed caller, address indexed vault, uint256 nonce, string exitSignaturesIpfsHash
);

Parameters

NameTypeDescription
calleraddressThe address of the function caller
vaultaddressThe address of the Vault
nonceuint256The nonce used for verifying Oracles' signatures
exitSignaturesIpfsHashstringThe IPFS hash with the validators' exit signatures

ValidatorsMinOraclesUpdated

Event emitted on validators min oracles number update

event ValidatorsMinOraclesUpdated(uint256 oracles);

Parameters

NameTypeDescription
oraclesuint256The new minimum number of oracles required to approve validators

Structs

ApprovalParams

Struct for approving registration of one or more validators

struct ApprovalParams {
bytes32 validatorsRegistryRoot;
uint256 deadline;
bytes validators;
bytes signatures;
string exitSignaturesIpfsHash;
}

Properties

NameTypeDescription
validatorsRegistryRootbytes32The deposit data root used to verify that oracles approved validators
deadlineuint256The deadline for submitting the approval
validatorsbytesThe concatenation of the validators' public key, signature and deposit data root
signaturesbytesThe concatenation of Oracles' signatures
exitSignaturesIpfsHashstringThe IPFS hash with the validators' exit signatures