Looking for a blockchain solana developer(Rust)

Job ID: 33293316

Budget: $15 – $25 USD

Here is the description of what we need - a mix of functional and non-functional requirements:

We need to create Smart Contract based on Solana network to cover all requirements described below.
We have a game where each player has three baskets. They are used to collect three types of fruits. Each basket contains only one type of fruit.

Each basket of fruits can be exchanged for Fruit Currency (FC) which is a cryptocurrency in the game. There are different rules for the exchange dependent on fruit type:

a) Strawberries: Once there are 20 strawberries in the player's basket, the player immediately receives 1 FC and the basket is cleared, i.e. all collected strawberries are removed.

b) Blackberries: Player can collect 1 blackberry per day. If no blackberry was collected before the midnight, then the chance is lost - player cannot collect 2 blackberries on the next day but only 1 blackberry for the new day. These fruits are never removed and there is no limit for total number of blackberries player can collect - the only limitation is that 1 blackberry per day can be collected.
Every 8 hours FC is automatically added to player's wallet depending on the amount of collected blackberries - player receives FC calculated as 2.5% of collected blackberries, e.g. if player collected 100 blackberries, then 2.5 FC is added to the player's wallet.
c) Raspberries: There is one big basket common for all players. All players put collected raspberries into this basket. Once there are 1000 raspberries in the common basket - 1000 FC is immediatelly transferred to all the players who put at least 1 raspbeery in the common basket and the amount of FC transferred to particular player is equal to number of raspberries he put into the basket, e.g. if Player A collected 350 raspberries, Player B 250 raspberries and Player C 400 raspberries, then they are given respectively: 350 FC, 250 FC and 400 FC.
No currency is given to players unless they collect 1000 raspberries in total.

Each common basket has ordinal number assigned and the information about current common basket is stored and can be retrieved. Once 1000 raspberries are collected and FC is transferred to the players, next common basket is created with ordinal number increased by 1, e.g. if last common basket had number 30, then the next common basket has number 31.

Functional requirements:
- Initial supply of FC is 300 000,
- Store information about players (they can be identified by their wallet addresses or some other identifiers - depending on what is easier to implement),
- Ability to retrieve information about player balances, i.e. how many fruits they collected per basket,
- FC is automatically transferred to player after collecting 20 Strawberries,
- FC is automatically transferred every 8 hours basing on collected Blackberries,
- FC is automatically transferred to all players who collected raspberries and put them into current common basket,
- Ability to retrieve ordinal number of current common basket,
- Ability to retrieve common baskets history, i.e. which players collected raspberries for given common basket in the past and how many raspberries they put into the basket.
Technical requirements:
- We need an information how to deploy and test the smart contract.

Skillsets: Rust
Network: Solana
hourly rate is $20/hr
Related categories: Blockchain Rust Solidity Solana