/secret-santa

Secret Santa for NFTs with fair randomness

Primary LanguageSolidity

On-Chain Secret Santa

Uses off-chain randomness via VRF to fairly mix and distribute ERC-721 gifts.

Gifts can only be unwrapped on Christmas day.

1-snoopy-christmas-peter-b-lutes

Merry Christmas!

Setup

Running Tests

Install Foundry

In order to run unit tests, run:

forge install
forge test

For longer fuzz campaigns, run:

FOUNDRY_PROFILE="intense" forge test

Running Slither

After installing Poetry and Slither run: Slither on Apple Silicon

poetry install
poetry shell
slither src/SecretSanta.sol --config-file slither.config.json

Updating Gas Snapshots

To update the gas snapshots, run:

forge snapshot

Generating Coverage Report

To see project coverage, run:

forge coverage

License

GNU General Public License (GPL)