WIP
Instatiated Governance Parameters
https://github.com/Y-Foundry-Dao/yfd-governance/contracts/forge/src/governance_parameters.rs
// 1
set_governance_percent(
storage,
"FundingRatio",
"$YFD to fYFD Funding Ratio",
"For determining the ratio of $YFD value for each fYFD that provides the \
individual’s funding limit for vault proposals (as a Strategist or Booster)",
Decimal::from_str("1.0")?,
Decimal::from_str("0.0")?,
Decimal::from_str("1.0")?,
)?;
//2
set_governance_uint64(
storage,
"MaxLockTime",
"$YFD Maximum Lock Time",
"Maximum blocks to be allowed as lock time.",
BLOCKS_PER_YEAR * 2,
BLOCKS_PER_YEAR,
BLOCKS_PER_YEAR * 4,
)?;
//3
set_governance_uint64(
storage,
"MinLockTime",
"$YFD Minimum Lock Time",
"Minimum blocks to be allowed as lock time.",
BLOCKS_PER_WEEK * 2,
BLOCKS_PER_WEEK,
BLOCKS_PER_YEAR,
)?;
//4
set_governance_decimal(
storage,
"LockingBlockMultiplier",
"$YFD to fYFD Locking Block Multiplier",
"For determining the amount of fYFD to grant a locker of $YFD per $YFD for one block locked.",
Decimal::from_str("1.0")?, //TODO What is this number, this is a change from how it was calculated before
Decimal::from_str("0.00005")?,
Decimal::from_str("0.000000000000000001")?,
)?;
//5
set_governance_uint128(
storage,
"fYFD_VaultProposalMin",
"fYFD Minimum Amount for Vault Proposal",
"For determining the minimum fYFD points required for the individual to be \
able to submit a vault proposal.",
25000u128,
1u128,
500000u128,
)?;
//6
set_governance_uint128(
storage,
"fYFD_GovernanceProposalMin",
"fYFD Minimum Amount for Governance Proposal",
"For determining the minimum fYFD points required for the individual to be \
able to submit a governance proposal.",
25000u128,
1u128,
500000u128,
)?;
//7
set_governance_uint128(
storage,
"fYFD_EmergencyProposalMin",
"For determining the minimum fYFD points required for the individual to be \
able to submit an emergency proposal.",
"description",
250000u128,
1u128,
1000000u128,
)?;
//8
set_governance_percent(
storage,
"EmergencyMajority",
"Majority % for Emergency Proposal",
"For determining the amount of YES votes required to pass an emergency proposal.",
Decimal::from_str("0.501")?,
Decimal::from_str("0.1")?,
Decimal::from_str("0.8")?,
)?;
//9
set_governance_uint64(
storage,
"ActiveProposalMax",
"Active Proposal Maximum for an Individual",
"Maximum amount of active proposals allowed simultaneously from an individual \
during a block",
1u64,
1u64,
5u64,
)?;
//10
set_governance_uint64(
storage,
"SubmissionCooldown",
"Proposal Submission Cooldown Period for an Individual",
"Blocks required to have passed since the last active proposal from an \
individual has been resolved.",
BLOCKS_PER_WEEK,
BLOCKS_PER_HOUR,
BLOCKS_PER_MONTH * 3,
)?;
//11
set_governance_percent(
storage,
"VaultProposerDepositMin",
"Vault Proposer Minimum Stablecoin Deposit",
"Minimum amount of Stablecoins required to accept a vault proposal submission",
Decimal::from_str("0.05")?,
Decimal::from_str("0.0")?,
Decimal::from_str("1.0")?,
)?;
//12
set_governance_uint128(
storage,
"VaultTVLMinimum",
"Vault Proposal TVL Minimum",
"Minimum TVL (in USD) allowed to deposit into a Vault Proposal / Strategy",
1_000_000,
u128::MIN,
u128::MAX,
)?;
//13
set_governance_uint128(
storage,
"VaultDeveloperMax",
"Vault Proposal Developer Funding Maximum",
"Boundaries of funding requirements for vault proposal developer",
1_000_000,
u128::MIN,
u128::MAX,
)?;
//14
set_governance_uint128(
storage,
"VaultDeveloperMin",
"Vault Proposal Developer Funding Minimum",
"Boundaries of funding requirements for vault proposal developer",
5_000,
u128::MIN,
u128::MAX,
)?;
//15
set_governance_uint64(
storage,
"MaxNft",
"Maximum Booster NFT per Proposal",
"Number of Boosters to Allow to participate in a proposal",
57u64,
0u64,
u64::MAX,
)?;
//16.
set_governance_uint128(
storage,
"MinimumBoosterContribution",
"Minimum Value of Individual Booster Contribution",
"Minimum amount of Stablecoin required for a booster deposit. This value may be unnecessary with a fixed / equal distribution",
150,
u128::MIN,
u128::MAX,
)?;
//17
set_governance_percent(
storage,
"VaultBoosterDepositMin",
"Minimum percentage of Development Fee required per Vault Proposal Booster",
"Minimum percentage of investment required by booster. Must be greater \
than #19 (Minimum Value of Individual Booster Contribution",
Decimal::from_str("0.01")?,
Decimal::from_str("0.0")?,
Decimal::from_str("1.0")?,
)?;
//20
set_governance_percent(
storage,
"GovernanceQuorum",
"Governance Proposal Quorum",
"Percentage of votes needed to be cast to meet quorum for a Governance proposal.",
Decimal::from_str("0.25")?,
Decimal::from_str("0.05")?,
Decimal::from_str("0.95")?,
)?;
//21
set_governance_percent(
storage,
"VaultQuorum",
"Vault Proposal Quorum",
"Percentage of votes needed to be cast to meet quorum for a Vault proposal.",
Decimal::from_str("0.25")?,
Decimal::from_str("0.05")?,
Decimal::from_str("0.95")?,
)?;
//22
set_governance_percent(
storage,
"EmergencyQuorum",
"Emergency Proposal Quorum",
"Percentage of votes needed to be cast to meet quorum for a Emergency proposal.",
Decimal::from_str("0.30")?,
Decimal::from_str("0.05")?,
Decimal::from_str("0.95")?,
)?;
//23
set_governance_uint64(
storage,
"GovernanceVoteLength",
"Governance Proposal Voting Period Length",
"Amount of blocks that a governance proposal is considered active for \
voting, after which it no longer accepts votes.",
BLOCKS_PER_WEEK * 2,
BLOCKS_PER_HOUR,
BLOCKS_PER_MONTH,
)?;
//24
set_governance_uint64(
storage,
"VaultVoteLength",
"Vault Proposal Voting Period Length",
"Amount of blocks that a Vault proposal is considered active for \
voting, after which it no longer accepts votes.",
BLOCKS_PER_WEEK * 2,
BLOCKS_PER_HOUR,
BLOCKS_PER_MONTH,
)?;
//25
set_governance_uint64(
storage,
"EmergencyVoteLength",
"Emergency Proposal Voting Period Length",
"Amount of blocks that an Emergency proposal is considered active for \
voting, after which it no longer accepts votes.",
BLOCKS_PER_WEEK,
BLOCKS_PER_HOUR,
BLOCKS_PER_MONTH,
)?;
//26
set_governance_percent(
storage,
"VaultFundQuorum",
"Vault Proposal Funding Distribution Voting Quorum",
"Percentage of votes needed to be cast to meet quorum for a Emergency proposal.",
Decimal::from_str("0.30")?,
Decimal::from_str("0.05")?,
Decimal::from_str("0.95")?,
)?;
//27
set_governance_uint64(
storage,
"VaultFundVoteLength",
"Vault Proposal Funding Distribution Voting Period Length",
"Amount of blocks that a Vault proposal funding vote is considered active for voting",
BLOCKS_PER_DAY * 3,
BLOCKS_PER_DAY,
BLOCKS_PER_MONTH,
)?;
//26
set_governance_percent(
storage,
"EmergencyQuorum",
"Emergency Proposal Quorum",
"Percentage of votes needed to be cast to meet quorum for a Emergency proposal.",
Decimal::from_str("0.30")?,
Decimal::from_str("0.05")?,
Decimal::from_str("0.95")?,
)?;