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.