Solana Smart Contract Modifications & Set-Up

Job ID: 39819612

Budget: $100 – $300 USD

PLEASE DO NOT BID IF YOU HAVE NOT CHECKED ALL SPECIFICATIONS OF PROJECT.
PROJECT SPECIFICATIONS WILL NOT CHANGE SO YOUR POSTED BID AND DEADLINE WILL BE FINAL.
NO CONTACT OUTSIDE FREELANCER.
WILL ONLY CONSIDER BIDS WITH EXPERIENCE WITH SOLANA SMART PROGRAMS.

Attached is an existing Solana smart contract written in Rust, which currently uses Switchboard for randomness and has time constraints built into the logic.

What I Need:
Remove time constraints from the lottery logic so the lottery can run without fixed time windows.
Review and, if needed, correct how Switchboard is integrated for randomness. Setup on Switchboard side may be required for Mainnet.
Create and implement Switchboard for Devnet too.
Provide two fully functional versions of the contract:
1) One deployed to Solana Devnet. Test all functions and send me tx hash ids.
2) One prepared and ready for deployment on Solana Mainnet. Will need Step-by-step guide or .ts file to finalize the deployment myself.

Set up all required tooling and dependencies on my empty Ubuntu 24.04 server.

Complete Typescript scripts to interact with the program:
initialize.ts → Deploy and initialize the contract on-chain
buytickets.ts → Allow users to buy tickets in the lottery
endlottery.ts → Disables buying tickets
choose_winner.ts → Select a winner randomly using Switchboard VRF
claim_prize.ts → Let the winner claim their prize