Governance
Used for governance actions on the FRAX, FXS, staking, and pool contracts.
The AlphaGovernor contract is deployed at
0xd74034C6109A23B6c7657144cAcBbBB82BDCB00E
The Timelock contract is deployed at
0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA
The Frax governance module is forked from Compound, with FXS acting as the voting token in the system.
Users may propose new changes to the protocol if they are holding a certain threshold of FXS (1% of the total votes, equivalent to
1,000,000 FXS
), or may combine their votes together to submit a proposal.Once a proposal has been submitted, it begins an active voting period of
3 days
, where it may be voted for or against. If a majority is in support of the proposal at the end of the period, and the proposal has a minimum of 4,000,000 FXS
in favor, the change is queued into the Timelock where it can be implemented after 2 days
.
Frax uses OpenZepplin's Access Control module for certain permissions. Each role in Frax that is permission through
hasRole
may also be decentralized by a proposal in the governance module, which can then callgrantRole
on other addresses.The Timelock contract is responsible for executing proposals that have succeeded in their voting phase, and has permissions over the other system contracts like
FRAXStablecoin
, FRAXShares
, and FRAXPool
through Access Control. The Timelock contract provides transparency to changes that will affect the Frax protocol, as the queued proposals may only be activated after the waiting period is satisfied within the contract logic.The Frax governance contract controls the Timelock contract, which receives accepted proposals and uses its authority over the system contracts to update them as needed. The Frax admin address is the initial governor of the system to which roles are granted to upon deployment. Over time, the roles will be granted to the Timelock contract which gives governance control to the community.
Last modified 1yr ago