Skip to main content

IRegeneratorPool

IRegeneratorPool

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

canWithdraw

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

Checks if a regenerator 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 regenerator 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 regenerator withdrawing tokens.
erauint256The era for which the withdrawal is being made.

removePoolLevels

function removePoolLevels(address user, uint256 levelsToRemove, bool denied) external

Removes specified levels from a user's pool configuration.

Parameters

NameTypeDescription
useraddressThe address of the regenerator.
levelsToRemoveuint256Levels to be removed.
deniedbooldenied

addLevel

function addLevel(address user, uint256 levels, uint64 eventId) external

Adds a new level to a user's pool configuration.

Parameters

NameTypeDescription
useraddressThe address of the regenerator.
levelsuint256The levels to be added.
eventIduint64

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.