Internal Functions

The EGL Voting contract contains multiple internal functions. These include:

internalVote:

function _internalVote(
    address _voter,
    uint _gasTarget,
    uint _eglAmount,
    uint8 _lockupDuration,
    uint _releaseTime
) internal

Records the details of the vote for a given address and sets up the relevant data structures

Emits Vote event

internalWithdraw:

function _internalWithdraw(
    address _voter
) internal returns (uint totalWithdrawn)

Removes the vote for a given address and calculates any rewards due

Emits Withdraw event

issueCreatorRewards:

function _issueCreatorRewards(int _rewardEpoch) internal

Calculates the creator rewards for the reward epoch and transfers the rewards to the creatorRewardsAddress

Emits CreatorRewardsClaimed event

calculateBlockReward:

function _calculateBlockReward(
    int _blockGasLimit, 
    int _desiredEgl, 
    int _tallyVotesGasLimit
) internal returns (uint blockReward)

Calculates the potential block reward of the block that would be claimed by the miner of the block.

Emits BlockRewardCalculated event

calculateSerializedEgl:

function _calculateSerializedEgl(
    uint _timeSinceOrigin, 
    uint _maxEglSupply, 
    uint _timeLocked
) internal returns (uint serializedEgl)

Calculates the current serialized EGL. The serialized EGL value is used when calculating how many BPT's have been release as well as in the calculation of creator rewards

Emits SerializedEglCalculated event

calculateCurrentPoolTokensDue:

function _calculateCurrentPoolTokensDue(
    uint _currentEgl, 
    uint _firstEgl, 
    uint _lastEgl, 
    uint _totalPoolTokens
) internal pure returns (uint poolTokensDue) 

Calculates the number of pool tokens due based on the current serialized EGL

calculateBonusEglsDue:

function _calculateBonusEglsDue(
    uint _firstEgl, 
    uint _lastEgl
) internal pure returns (uint bonusEglsDue)  

Calculates the number of bonus EGL's due to Genesis participants based on their contribution in Genesis

calculateVoterReward:

function _calculateVoterReward(
    address _voter,
    uint16 _currentEpoch,
    uint16 _voterEpoch,
    uint8 _lockupDuration,
    uint _voteWeight
) internal returns(uint rewardsDue) 

Calculates the reward due to the voter based on their vote parameters

Emits VoterRewardCalculated event

calculatePercentageOfTokensInCirculation:

function _calculatePercentageOfTokensInCirculation(
    uint _total
) internal view returns (uint votePercentage) 

Calculates the percentage of token in circulation give the total number of tokens

Last updated