HIP02-How on-chain voting works? [Finished]

Summary

This post propose the algorithm for calculating voting power for $gHECTA, $pHECTA and $tHECTA holder.

Motivation

Hectagon need a voting strategy so token holder can vote on-chain in Snapshot. This voting strategy should use the number of $tHECTA, $pHECTA and $gHECTA that an address own as the input and calculate the corresponding voting power.

Proposal

The total supply of $pHECTA is 50 millions represents 25% of total voting power.
The total supply of $tHECTA is 50 millions represents 25% of total voting power.
All circulating $HECTA represents 50% voting power. However, only $gHECTA holder can vote and voting power of each $gHECTA is multiplied by “index” which is a number that used to convert between $gHECTA and $HECTA.

Let’s assign a number to the total voting power of Hectagon. This number should be big enough thus it is more convenient to code.

TOTAL_POINT = 100 * 10**9; //100,000,000,000

So the voting power of each pHECTA or tHECTA is TOTAL_POINT * 25% / 50,000,000

PHECTA_WEIGHT = 500;
THECTA_WEIGHT = 500;

However, since pHECTA and tHECTA will be burnt over time thus transferring voting power to gHECTA holder.

GHECTA_WEIGHT = ( TOTAL_POINT - (PHECTA_WEIGHT * pHECTATotalSupply + THECTA_WEIGHT * tHECTATotalSupply) ) / HECTACirculatingSupply * index

The final voting power formula of an address given the number of pHECTA, tHECTA and gHECTA that address own respectively: p,t,g

p * PHECTA_WEIGHT + t * THECTA_WEIGTH + g * GHECTA_WEIGHT

You can find the implementation here.

Polling Period

The comment starts now and will end after 7 days.
The polling process begins after that and will end 2 days afterward.
After this, a vote on-chain will be put up within 48 hour (or within 24hr of TGE event, whichever happens last).

Poll

  • For
  • Against

0 voters