Skip to main content

IValidationPool

IValidationPool

Interface for the ValidationPool contract, which handles token custody, distribution, and era-based logic for validators.

canWithdraw

function canWithdraw(uint256 era) external view returns (bool)

Checks if a validator is eligible to withdraw rewards for a given era.

Parameters

NameTypeDescription
erauint256The era number to check eligibility for.

Return Values

NameTypeDescription
[0]booltrue if the validator can withdraw, false otherwise.

withdraw

function withdraw(address user, uint256 era) external

Allows a user to withdraw their tokens for a specific era.

Parameters

NameTypeDescription
useraddressThe address of the validator withdrawing tokens.
erauint256The era for which the withdrawal is being made.

addLevel

function addLevel(address user, address denied) external

Adds a new level to the user's validation pool from search/hunt service.

Parameters

NameTypeDescription
useraddressThe address of the validator.
deniedaddressThe denied address.

addPointsLevel

function addPointsLevel(address user) external

Adds a new level to the user's validation pool from voting points.

Parameters

NameTypeDescription
useraddressThe address of the validator.

currentContractEra

function currentContractEra() external view returns (uint256)

Returns the current era of the contract.

Return Values

NameTypeDescription
[0]uint256The current era number.

nextEraIn

function nextEraIn(uint256 currentEra) external view returns (uint256)

Calculates the time or blocks remaining until the next era begins.

Parameters

NameTypeDescription
currentErauint256The current era, passed as a parameter for calculation.

Return Values

NameTypeDescription
[0]uint256The number of seconds or blocks until the next era.