Myth1call/PuppyRaffle-audit

GitHub: Myth1call/PuppyRaffle-audit

Stars: 0 | Forks: 0

puppy-raffle
# Puppy Raffle This project is to enter a raffle to win a cute dog NFT. The protocol should do the following: 1. Call the `enterRaffle` function with the following parameters: 1. `address[] participants`: A list of addresses that enter. You can use this to enter yourself multiple times, or yourself and a group of your friends. 2. Duplicate addresses are not allowed 3. Users are allowed to get a refund of their ticket & `value` if they call the `refund` function 4. Every X seconds, the raffle will be able to draw a winner and be minted a random puppy 5. The owner of the protocol will set a feeAddress to take a cut of the `value`, and the rest of the funds will be sent to the winner of the puppy. - [Puppy Raffle](#puppy-raffle) - [Getting Started](#getting-started) - [Requirements](#requirements) - [Quickstart](#quickstart) - [Optional Gitpod](#optional-gitpod) - [Usage](#usage) - [Testing](#testing) - [Test Coverage](#test-coverage) - [Audit Scope Details](#audit-scope-details) - [Compatibilities](#compatibilities) - [Roles](#roles) - [Known Issues](#known-issues) # Getting Started ## Requirements - [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - You'll know you did it right if you can run `git --version` and you see a response like `git version x.x.x` - [foundry](https://getfoundry.sh/) - You'll know you did it right if you can run `forge --version` and you see a response like `forge 0.2.0 (816e00b 2023-03-16T00:05:26.396218Z)` ## Quickstart git clone https://github.com/Cyfrin/4-puppy-raffle-audit cd 4-puppy-raffle-audit make ### Optional Gitpod If you can't or don't want to run and install locally, you can work with this repo in Gitpod. If you do this, you can skip the `clone this repo` part. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#github.com/Cyfrin/3-passwordstore-audit) # Usage ## Testing forge test ### Test Coverage forge coverage and for coverage based testing: forge coverage --report debug # Audit Scope Details - Commit Hash: e30d199697bbc822b646d76533b66b7d529b8ef5 - In Scope: ./src/ └── PuppyRaffle.sol ## Compatibilities - Solc Version: 0.7.6 - Chain(s) to deploy contract to: Ethereum # Roles Owner - Deployer of the protocol, has the power to change the wallet address to which fees are sent through the `changeFeeAddress` function. Player - Participant of the raffle, has the power to enter the raffle with the `enterRaffle` function and refund value through `refund` function. # Known Issues None