Voting Threshold
Voting Threshold
For tallyVotes()
to “pass” and adjust desiredEGL
, enough EGLs must participate to meet the votingThreshold
, which is defined as a % of eglsInCirculation
.
eglsInCirculation
is calculated as the sum of EGLs at the time tallyVotes()
is called that were:
Swept by pools
Distributed and claimed (i.e. used to vote at least once) by Core Devs
Distributed and claimed (i.e. used to vote at least once) by Genesis participants
Deployed to Balancer as part of the Genesis (i.e. 750M tokens)
Calculated as Voter Rewards (i.e. when
withdraw()
is called)Unlocked and sent to EGL Creators
Distributed by the EGL DAO
See Token Distribution for details.
The votingThreshold
is initialized at 10% of the eglsIncirculation
for the first 7 epochs, after which it jumps to 30% for the remaining 45 epochs (totaling 52 epochs) after the EGL launch, and then gradually increases every epoch at a rate of 10% / year to a maximum of 50%:
, if i <= 7
, if 7 < i < 52
, if i ≥ 52
i = 0 for the first epoch
Unfavorable Default Vote Behavior
If the votingThreshold
is not met, the tally does NOT leave the desiredEGL
unchanged.
Instead, in order to incentivize voter participation, the default behavior is to gradually undo the change since EGL launch, which is very likely a negative outcome for EGL voters. Specifically, the default behavior sets the desiredEGL
to 95% of the tallyVotesGasLimit
(the gas limit of the block that the successful tallyvote()
was called in).
For example, assume:
EGL the
tallyVotesGasLimit
is 15M gas.The voted on
desiredEGL
is 16M.At some point in the future the
votingThreshold
is not met.
After the vote, the new desiredEGL
would be 14.25M (15M * 95%) since the threshold wasn't met.
Grace Period
The aforementioned default behavior does not take place for a grace period of 7 epochs (weeks) from smart contract launch. Thus, in the first 7 weeks, if a vote does not meet the threshold, desiredEGL
stays the same (e.g. what it was in the prior week).
Last updated