Zilliqa / zilliqa-bounties

Bounties to work on zilliqa related projects.
2 stars 5 forks source link

ZBounty-4: No-loss lottery using $ZIL staking rewards #4

Closed arnavvohra closed 3 years ago

arnavvohra commented 3 years ago

Bounty task:

Create contract that allows user to take part in a no-loss lottery. All the $zil deposited into the lottery are staked for a certain time and the winner(s) are chosen based on a randomisation function. After the lottery is over, winner(s) would get their deposited $zil and staking rewards, everyone else would only get back their deposited $zil, thereby ensuring the no-loss nature of the lottery.

Research and implement a way to ensure a fair lottery game such that users who divide their $zil holdings among multiple wallets don't get an unfair advantage of winning the lottery.

Deliverables:

Lottery contract - The main contract which collects users' deposited $zil and puts the same in the staking contract and then distributes the staking rewards to the winner(s).

UI - Simple UI that allows users to deposit and withdraw $zil from the lottery contract.

Provide documentations for said implementation and its relevant test cases.

Relevant Links:

Pool Together - No loss lotteries project, their lotteries aren't staking based though.

Bounty help list: Getting Started on Zilliqa: https://dev.zilliqa.com/docs/dev/dev-started-introduction

Zilliqa API documentation: https://dev.zilliqa.com/docs/apis/api-introduction

Scilla Language Documentation: https://scilla.readthedocs.io/en/latest/

Zilliqa Developers' Channels:

Discord Group : https://discord.com/invite/XMRE9tt

Telegram Group : https://t.me/ZilliqaDevs