34 lines
829 B
Bash
Executable File
34 lines
829 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
root=$(cd $(dirname "$0")/.. && pwd)
|
|
arch=$(arch)
|
|
|
|
if command -v echidna; then
|
|
fuzz () {
|
|
echidna ${root} \
|
|
--config ${root}/fuzzing/echidna.yaml \
|
|
--corpus-dir ${root}/fuzzing/corpus \
|
|
--crytic-args --ignore-compile \
|
|
--contract $1
|
|
}
|
|
elif [ "${arch}" = "x86_64" ]; then
|
|
fuzz () {
|
|
docker run \
|
|
--rm \
|
|
-v ${root}:/src ghcr.io/crytic/echidna/echidna \
|
|
bash -c \
|
|
"cd /src && echidna . \
|
|
--config fuzzing/echidna.yaml \
|
|
--corpus-dir fuzzing/corpus \
|
|
--crytic-args --ignore-compile \
|
|
--contract $1"
|
|
}
|
|
else
|
|
echo "Error: echidna not found, and the docker image does not support ${arch}"
|
|
echo "Please install echidna: https://github.com/crytic/echidna#installation"
|
|
exit 1
|
|
fi
|
|
|
|
fuzz FuzzMarketplace
|