An order-book based american options market for NFTs and ERC20s. This project uses the foundry framework for testing/deployment. There are specification files going into further detail here.
- Install
foundry
, refer to foundry - Install
nodejs
, refer to nodejs - Install
yarn
,npm install --global yarn
Clone the repo and then run:
yarn
forge install
forge test --gas-report
There is a full test-suite included in ./test/
. There is also a differential test suite included in ./test/differential/
. By default the differential tests are disabled. To run them follow the instructions in the README in ./test/differential/
.
forge test --gas-report
We use slither for static analysis.
Installation:
pip3 install slither-analyzer
pip3 install solc-select
solc-select install 0.8.13
solc-select use 0.8.13
Then to run:
slither ./src/PuttyV2.sol --solc-args "--optimize --optimize-runs 100000"