Governance Configuration
- voting - minimum voting period length of a proposal
- grace - minimum voting period length of a proposal
- newOffering - the amount a native token that must be used when making a proposal, this is transfered to the dao and is non refundable.
- quorum - minimum % of shares that must vote yes for it to pass
- sponsorThreshold - minimum number of shares to sponsor a proposal (not %)
- minRetention - auto-fails a proposal if more than (1- minRetentionPercent) * total shares and loot exit before processing
function setGovernanceConfig(bytes memory _governanceConfig) external baalOrGovernorOnly { ( uint32 voting, uint32 grace, uint256 newOffering, uint256 quorum, uint256 sponsor, uint256 minRetention ) = abi.decode( _governanceConfig, (uint32, uint32, uint256, uint256, uint256, uint256) ); if (voting != 0) votingPeriod = voting; /*if positive, reset min. voting periods to first `value`*/ if (grace != 0) gracePeriod = grace; /*if positive, reset grace period to second `value`*/ proposalOffering = newOffering; /*set new proposal offering amount */ quorumPercent = quorum; sponsorThreshold = sponsor; minRetentionPercent = minRetention; emit GovernanceConfigSet( voting, grace, newOffering, quorum, sponsor, minRetention ); }
Voting and Grace Periods.
As a Dao matures the length of theses periods can change. Early DAOs may want faster periods to get stuff done.
DAOs with Larger tresuries may want longer locking periods.
New Offerings. Recently we have seen the rise of spam proposals, Especially on side chains where gas is very cheap. A small offering can be used to deter the spammers.
Quorum and Sponsor Threshholds. Having transferable and tradable shares opens a whole slew of issues. These configurations can help combat those. Quorum does not allow early execution though, voting and grace periods are still enforced.
Minimum Retention If a mass ragequit of shares and loot happens durring a proposal it will fail. This should be set to a relativly high % and shares/loot should have good distrobution to avoid potential griefing