Create a custom Solana Todo List contract
Budget: $3,000 – $5,000 USD
We're currently looking for a Solana / Rust developer (not Solidity/EVM) to create a smart contract and dapp for a vesting ToDo List. The project involves being able to create a "List" of "tasks" that we, the company, will do. Our clients, the end users, will essentially vote on which tasks take priority by "vesting" / "depositing" their SPL token into any one of the tasks in the list. We, the company, will then do the tasks in order by vote. Should we be successful, the users will receive any rewards we earn for doing the task in addition to their vested amounts. Should we fail, the users will just receive their vested amounts. We, the company, never receive our clients funds at any point.
The experience should be something such as:
- We add a task to the "ToDo List" stating "Take out the Trash", "Fold the clothes", or "Clean dishes". We'll post what rewards we've historically received for each task: "Trash is 2SOL. Dishes were 10SOL, and Clothes were 5SOL" and we'll set the tasks to "Active" and give them a "Start date". When this start date occurs, no more tokens can be vested into the task, BUT users can withdraw their vested amounts, forgoing the future possible rewards. When we finish the task, we'll mark it as "Successful" or "Failed". If it's "Successful" we'll take whatever rewards we received and will issue it into a transaction along with the "Successful" command. The contract will then divide up the reward and issue it to the vested members.
- Our clients will look at the task list and see the 3 (or more tasks) and decide what they want done. There's greater potential of rewards if they vote for us to do the Dishes, but taking out the Trash can be completed much quicker. So they'll make their decisions and vest funds into the task(s) they want. After a task is "Active", our clients can only withdraw their vested amounts and lose their potential reward, or they can wait until the task closes. At no point are they able to lose funds.
A flow chart is available here along with mockup ideas:
https://docs.google.com/presentation/d/1Zi0MSk1d3uo7JTQcPKxf59tWhc_nDndGmMVP6GxKDHM/edit?usp=sharing
The experience should be something such as:
- We add a task to the "ToDo List" stating "Take out the Trash", "Fold the clothes", or "Clean dishes". We'll post what rewards we've historically received for each task: "Trash is 2SOL. Dishes were 10SOL, and Clothes were 5SOL" and we'll set the tasks to "Active" and give them a "Start date". When this start date occurs, no more tokens can be vested into the task, BUT users can withdraw their vested amounts, forgoing the future possible rewards. When we finish the task, we'll mark it as "Successful" or "Failed". If it's "Successful" we'll take whatever rewards we received and will issue it into a transaction along with the "Successful" command. The contract will then divide up the reward and issue it to the vested members.
- Our clients will look at the task list and see the 3 (or more tasks) and decide what they want done. There's greater potential of rewards if they vote for us to do the Dishes, but taking out the Trash can be completed much quicker. So they'll make their decisions and vest funds into the task(s) they want. After a task is "Active", our clients can only withdraw their vested amounts and lose their potential reward, or they can wait until the task closes. At no point are they able to lose funds.
A flow chart is available here along with mockup ideas:
https://docs.google.com/presentation/d/1Zi0MSk1d3uo7JTQcPKxf59tWhc_nDndGmMVP6GxKDHM/edit?usp=sharing