Welcome to my portfolio of projects, smart contract implementations, and assignments completed during the Solana Turbin3 Accelerated Course (Q1). This repository contains all my weekly submissions and weekend tasks, nicely organized below.
- Description:
- Part 1: Created a Program Derived Address (PDA) account for each whitelisted address, instead of pushing them into a standard vector.
- Part 2: Created the token directly within the program, using the token extension arguments.
- Local Source:
./whitelist-transfer-hook - External Links:
- Description:
- Part 1: Completed the tests for the
takeandrefundinstructions for an Escrow program. - Part 2: Modified the program to introduce a required condition for the
takeinstruction to happen at least 5 days after themakeinstruction. Added robust tests accordingly.
- Part 1: Completed the tests for the
- Starter Repo: ASCorreia/escrow-litesvm
- Local Source:
./escrow-litesvm - External Link: Turbin3 Repo Submission
- Description: Created a Transfer Hook Vault where only whitelisted users can interact with the vault.
- Uses a single vault and mints the token directly in the program.
- Hook interactions apply to both depositing and removing funds.
- Initially implemented a vector for the whitelist (
Pubkeyand amount) and progressed to testing PDA-based solutions. - Everything is fully tested with LiteSVM.
- Includes additional token extensions.
- Local Source:
./transfer-hook-vault - External Link: Turbin3 Repo Submission
- Description: Implemented Verifiable Random Function (VRF) capabilities within the example repo to update user state data.
- Task 1: Implemented VRF outside the Ephemeral Rollup (ER).
- Task 2: Implemented VRF seamlessly inside the Ephemeral Rollup (ER).
- Starter Repo: ASCorreia/magicblock-er-example
- Local Source:
./magicblock-er-example - External Link: Turbin3 Repo Submission
- Description: Implemented the scheduler and automated cron job capabilities in one of the previous challenges. Applied Tuktuk workflows to automatically handle scheduled actions using Cross-Program Invocations (CPI).
- Helper Repo: ASCorreia/tuktuk-counter
- Local Source:
./escrow-litesvm-tuktuk - External Link: Turbin3 Repo Submission
- Description: Scheduled the Solana GPT Oracle (provided by MagicBlock) seamlessly with Tuktuk. The program successfully and correctly routes requests and captures the parsed response back from the GPT Oracle.
- Local Source:
./gpt-tuktuk - External Link: Turbin3 Repo Submission
- Description: Generic-storage-challenge [borsh, wincode, serde] && persistant todo-cli with borsh
- Local Source:
./week-3 - External Link: Turbin3 Repo Submission
Built with 🦀 Rust & Solana