Skip to main content Link Search Menu Expand Document (external link)

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")?,
    )?;