Aquarius protocol is governed by DAO voting with AQUA tokens. Vote and participate in discussions to shape the future of Aquarius.
Report Bug
·
Request Feature
Table of Contents
The term bribe has been used in various DeFi communities for a while to describe the practice of buying votes.
Bribes offer a way for voters to earn incentives just by voting, with no need to place funds at risk inside of AMMs or order books. Essentially, bribes offer another utility benefit to AQUA holders.
We have brought bribes native to the Aquarius protocol, allowing everyone to view voting incentives all in one place. At the same time, through a simple interface, anyone can quickly set up and distribute bribe rewards on desired markets.
Using the interface, users allocate bribes to their chosen markets by selecting a market, the size of rewards, and the time period for the bribe.
From a technical standpoint, creating a bribe initiates a new claimable balance payment. The claimable balance has two Stellar wallets as claimants. One of them is the Aquarius bribe collection address, with the second being the indicator towards which market the bribes inside the claimable balance get allocated. It is also possible to schedule bribes in advance (e.g., several weeks ahead). Such schedules are also enforced on-chain through the use of timestamp predicates.
Every week on Sunday, the Aquarius bribe collector will claim all available claimable balances for the coming week. The Aquarius bribe collection address distributes all collected bribes to voters through the following Monday-Sunday.
The flow for voting will stay mostly the same. If a user decides to vote for a market pair offering bribes, they should expect to get their share of voting rewards daily.
Multiple tokens can get assigned as bribes for a market. Since bribes get delivered through standard Stellar payments, a user can choose not to accept certain bribe tokens by not making a trustline to the token.
Project is using postgresql as a database, so it's the only requirement.
Project built using django framework, so setup is similar to generic django project.
git clone [email protected]:AquaToken/aqua-bribes.git
pipenv sync --dev
echo 'export DATABASE_URL="postgres://username:password@localhost/aquarius_bribes"' > .env
pipenv run python manage.py migrate --noinput
pipenv run python manage.py createsuperuser
pipenv run python manage.py runserver 0.0.0.0:8000
pipenv run celery -A aquarius_bribes.taskapp beat
pipenv run celery -A aquarius_bribes.taskapp worker
That's it. Admin panel as well as api will be available at 8000 port: http://localhost:8000/admin/login/
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Email: [email protected] Telegram chat: @aquarius_HOME Telegram news: @aqua_token Twitter: @aqua_token GitHub: @AquaToken Discord: @Aquarius Reddit: @AquariusAqua Medium: @aquarius-aqua
Project Link: https://github.com/AquaToken/aqua-bribes