Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allwin199/puppy-raffle-audit
https://github.com/allwin199/puppy-raffle-audit
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/allwin199/puppy-raffle-audit
- Owner: allwin199
- Created: 2024-02-10T15:50:56.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-03-02T16:09:02.000Z (9 months ago)
- Last Synced: 2024-05-29T17:23:48.785Z (6 months ago)
- Language: HTML
- Size: 4.14 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Audit: audit-data/finding-layout.md
Awesome Lists containing this project
README
# 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