Stake, govern, and earn with PoolHive!

🐝 What is PoolHive?

PoolHive brings democracy to DeFi! It is the hive mind behind each LiquidityPool. When you stake your LP tokens in a PoolHive, you gain the ability to sway the future of your pool. Together with your fellow LPs, you decide the pool's operations, from fee configurations and mathematical parameters to adding extra sweeteners in the form of BeeFruits. 🗳️🍯
Note - You must own a HiveProfile to participate in a PoolHive.

1. 💎 Hive Gems: The Currency of Reputation

Hive Gems are much more than just shiny trinkets. They are the symbol of your influence and dedication to the DegenHive ecosystem. These precious tokens are awarded as incentives and contribute to your HiveProfile reputation score.
When you're rewarded Hive Gems, they are deposited into your HiveProfile. Want to level up your influence? You can further deposit these gems into your Hive Card. This not only helps you earn more SUI tokens, but also empowers you with greater voting power in DegenHive governance. However, remember to stake your card to activate these powers!

📅 Hive Gem Distribution Schedule

The distribution of Hive Gems isn't a one-time event. It's an ongoing process that mirrors the evolution of your engagement with DegenHive. Much like SUI's staking rewards, Hive Gems are allocated on an epoch basis, following a carefully predetermined inflation schedule.

First Year: The Welcome Wave

In your first year, the inflation rate is set at a whopping 100%, resulting in a total distribution of 42M Hive Gems among our committed LP stakers.
Second to Fifth Year: The Growth Period
Over the next four years, we continue to acknowledge your commitment with a 25% inflation rate. This rate is determined based on the protocol's total boosted Hive Gem score, which also influences the distribution of SUI harvest among HiveProfile users.
Fifth to Tenth Year: The Steady Climb
From the fifth to the tenth year, a steady 14.28% inflation rate is applied for Hive Gems distribution

2. Governance Proposals: Your Pool, Your Rules!

In the DegenHive universe, every LP stakeholder has the power to change the system from within. You're not just providing liquidity; you're shaping the course of the pool's future. 🚀

📝 Types of Proposals

There are several types of proposals you can put forth to affect your PoolHive. Check out the list below and get familiar with the tools at your disposal:
  1. 1.
    Update Fee Charged per Swap: Adjust the fee charged for each swap in the pool to optimize for profitability and competitive positioning. 💰
  2. 2.
    Update Stable Pool Config: Fine-tune the Stable Pool configuration to improve its performance and meet the liquidity needs of the participants. 🔧
  3. 3.
    Update Weighted Pool Config: Modify the Weighted Pool configuration to balance the weights of different assets in the pool. ⚖️
  4. 4.
    Update Curved Pool Config (A & GAMMA): Adjust the 'A' and 'GAMMA' parameters of the Curved Pool configuration to affect the pool's liquidity curve and maximize depth. 🔍
  5. 5.
    Update Curved Pool Config (FEE PARAMS): Change the Curved Pool's fee parameters to optimize returns for liquidity providers. 💵
  6. 6.
    Add a New BeeFruit: Propose a new token to be distributed as an additional incentive (a BeeFruit) in your pool. 🍓
Remember, every proposal plays a crucial role in shaping your LiquidityPool's performance and attractiveness to other liquidity providers.

📊 Proposal Statuses

Once you submit a proposal, you can track its status through these specific stages:
  1. 1.
    New (0): The proposal has just been submitted and is under consideration. 📬
  2. 2.
    Voting (1): The proposal is currently in the voting period, and pool participants can cast their votes. 🗳️
  3. 3.
    Passed (3): The proposal has received enough votes to pass, and the changes will be implemented. ✅
  4. 4.
    Rejected (4): The proposal did not receive enough votes to pass and has been rejected. ❌
  5. 5.
    Cancelled (5): The proposal has been cancelled and will not move forward. 🚫
Remember, every vote counts in DegenHive governance! Your active participation in proposals helps shape the future of your LiquidityPool and the entire DegenHive ecosystem! 🎉

3 🍇 BeeFruits: Your Daily Dose of Extra Incentives!

At DegenHive, we understand the power of a little extra incentive. That's why we have introduced BeeFruits - additional coins that make staking with us even sweeter! 🎉
As an LP token staker, you are in control. You decide which tokens should be added as BeeFruits to the PoolHive. Akin to an everyday townhall, you can initiate proposals and rally support for your favorite tokens to be included in the reward pot! 🏛️

🍒 Adding BeeFruits

You have the power to propose additional coins as BeeFruits. Each PoolHive can accommodate up to three additional coins as incentives, making the pot all the more delicious. Here's how it works:
  1. 1.
    You, or any LP token staker of a particular LiquidityPool, can initiate a proposal. 📜
  2. 2.
    The proposal should specify the coins you wish to add as additional incentives for the liquidity pool. 💰
  3. 3.
    Rally support for your proposal and if it passes, watch as your chosen coin becomes a new BeeFruit! 🗳️

🍋 Daily Dose of BeeFruits

The distribution of these incentives occurs on an epoch basis, just like the rising and setting of the sun, they are distributed every 24 hours. So, each day brings a new opportunity for rewards! 🌞
However, keep in mind, during the unbonding period, no incentives are accrued. It's like a tree in winter, it's still there, but it's taking a little rest before blooming again in the spring! ❄️

Technical Overview

Let's dive deeper into the beehive and explore the various structures and objects at play within the dex_dao.move module of DegenHive!

🧩 Config Objects

DexDaoConfig Object: The main configuration object for the DEX DAO. It sets the stage for administrative operations, outlines the HIVE cycles, schedules Nectar, and defines the rules of voting.
  • NectarSchedule struct: This structure keeps track of the current cycle, recording the start and end epochs, total HIVE gems, gems minted per epoch, and the inflation rate.
  • VoteConfig struct: It lays down the configuration for governance activities. It stipulates the deposit needed for a proposal, the voting timeline, execution delay and period, the quorum requirement, and the proposal approval threshold.
PoolHive Object: It represents a unique PoolHive connected to a LiquidityPool. Users stake LP tokens here. The object records the number of LP tokens staked, those unbonding, HiveGems earned, a global index of HiveGems per staked LP token, the last epoch of HiveGems claimed by the Pool Hive, and maps user addresses to their LpBeeBox.
LpBeeBox struct: It's like a personal safe for each user staking LP tokens. It keeps a record of a user's staked and unbonding LP tokens, claimed HiveGems, last claim epoch, and records of individual BeeFruits.

🍓 Incentive Objects

BeeFruit Object: BeeFruits are additional incentives for users staking LP tokens. The BeeFruit struct adds more tokens as incentives to a PoolHive, along with the HIVE gems.
By understanding these objects and their interactions, users can better navigate the DegenHive ecosystem, participate in the DEX and DAO, stake LP tokens, vote on proposals, and maximize their rewards. 🍯🎉

🏛 Module Structures & Objects 🏛

Shared Object
The main configuration for the DEX DAO. It contains administrative capabilities, current HIVE cycle information, Nectar schedule, and voting configuration.
Stores the start and end epochs of the current cycle, the total amount of HIVE gems, the amount of HIVE gems minted per epoch, and the inflation rate for the current cycle. Stored within DexDaoConfig Object
Stores the configuration for voting on proposals. Stored within DexDaoConfig Object
Shared Object
Represents a PoolHive associated with a LiquidityPool. Stores information about staked LP tokens, HiveGems earned, additional incentives as BeeFruits.
Represents a user's LpBeeBox associated with a PoolHive. Stores staked LP tokens, earned HiveGems, unbonding information, and BeeFruit ID with their claim indexes. Stored within PoolHive Object in a Table
Shared Object
Represents a BeeFruit associated with a PoolHive and is used for Fruits distribution. Stores information about available fruits, distribution parameters.
Represents a proposal for the LiquidityPool of a PoolHive. Stored within PoolHive Object
Stores the lifespan of a BeeFruit, including the typename, start epoch, and end epoch.
This module is essential for managing the DegenHive ecosystem, enabling users to participate in the DEX and DAO, stake their LP tokens, vote on proposals, and earn rewards.