mirror of https://github.com/crytic/slither
commit
8fba6ba0e5
@ -0,0 +1,7 @@ |
|||||||
|
[tool.black] |
||||||
|
target-version = ["py36"] |
||||||
|
line-length = 100 |
||||||
|
[tool.pylint.messages_control] |
||||||
|
disable = """ |
||||||
|
C0116,C0114 |
||||||
|
""" |
@ -0,0 +1,28 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.5.1" |
||||||
|
|
||||||
|
# Be sure that only one of the following line is uncommented before running the script |
||||||
|
|
||||||
|
# generate_expected_json tests/void-cst.sol "void-cst" |
||||||
|
# generate_expected_json tests/solc_version_incorrect_05.ast.json "solc-version" |
||||||
|
# generate_expected_json tests/uninitialized-0.5.1.sol "uninitialized-state" |
||||||
|
# generate_expected_json tests/backdoor.sol "backdoor" |
||||||
|
# generate_expected_json tests/backdoor.sol "suicidal" |
||||||
|
# generate_expected_json tests/old_solc.sol.json "solc-version" |
||||||
|
# generate_expected_json tests/reentrancy-0.5.1.sol "reentrancy-eth" |
||||||
|
# generate_expected_json tests/reentrancy-0.5.1-events.sol "reentrancy-events" |
||||||
|
# generate_expected_json tests/tx_origin-0.5.1.sol "tx-origin" |
||||||
|
# generate_expected_json tests/locked_ether-0.5.1.sol "locked-ether" |
||||||
|
# generate_expected_json tests/arbitrary_send-0.5.1.sol "arbitrary-send" |
||||||
|
# generate_expected_json tests/inline_assembly_contract-0.5.1.sol "assembly" |
||||||
|
# generate_expected_json tests/inline_assembly_library-0.5.1.sol "assembly" |
||||||
|
# generate_expected_json tests/constant-0.5.1.sol "constant-function-asm" |
||||||
|
# generate_expected_json tests/constant-0.5.1.sol "constant-function-state" |
||||||
|
# generate_expected_json tests/incorrect_equality.sol "incorrect-equality" |
||||||
|
# generate_expected_json tests/too_many_digits.sol "too-many-digits" |
||||||
|
# generate_expected_json tests/unchecked_lowlevel-0.5.1.sol "unchecked-lowlevel" |
||||||
|
# generate_expected_json tests/unchecked_send-0.5.1.sol "unchecked-send" |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.6.11" |
||||||
|
|
||||||
|
# Be sure that only one of the following line is uncommented before running the script |
||||||
|
|
||||||
|
|
||||||
|
#generate_expected_json tests/filename.sol "detector_name" |
||||||
|
|
@ -0,0 +1,11 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.7.0" |
||||||
|
|
||||||
|
# Be sure that only one of the following line is uncommented before running the script |
||||||
|
|
||||||
|
|
||||||
|
#generate_expected_json tests/filename.sol "detector_name" |
||||||
|
|
@ -0,0 +1,86 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
### Test Detectors |
||||||
|
|
||||||
|
DIR="$(cd "$(dirname "$0")" && pwd)" |
||||||
|
|
||||||
|
CURRENT_PATH=$(pwd) |
||||||
|
TRAVIS_PATH='/home/travis/build/crytic/slither' |
||||||
|
|
||||||
|
# test_slither file.sol detectors |
||||||
|
test_slither(){ |
||||||
|
|
||||||
|
expected="$DIR/../tests/expected_json/$(basename "$1" .sol).$2.json" |
||||||
|
|
||||||
|
# run slither detector on input file and save output as json |
||||||
|
slither "$1" --solc-disable-warnings --detect "$2" --json "$DIR/tmp-test.json" |
||||||
|
if [ $? -eq 255 ] |
||||||
|
then |
||||||
|
echo "Slither crashed" |
||||||
|
exit 255 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -f "$DIR/tmp-test.json" ]; then |
||||||
|
echo "" |
||||||
|
echo "Missing generated file" |
||||||
|
echo "" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$DIR/tmp-test.json" -i |
||||||
|
result=$(python "$DIR/json_diff.py" "$expected" "$DIR/tmp-test.json") |
||||||
|
|
||||||
|
rm "$DIR/tmp-test.json" |
||||||
|
if [ "$result" != "{}" ]; then |
||||||
|
echo "" |
||||||
|
echo "failed test of file: $1, detector: $2" |
||||||
|
echo "" |
||||||
|
echo "$result" |
||||||
|
echo "" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
# run slither detector on input file and save output as json |
||||||
|
slither "$1" --solc-disable-warnings --detect "$2" --legacy-ast --json "$DIR/tmp-test.json" |
||||||
|
if [ $? -eq 255 ] |
||||||
|
then |
||||||
|
echo "Slither crashed" |
||||||
|
exit 255 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -f "$DIR/tmp-test.json" ]; then |
||||||
|
echo "" |
||||||
|
echo "Missing generated file" |
||||||
|
echo "" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$DIR/tmp-test.json" -i |
||||||
|
result=$(python "$DIR/json_diff.py" "$expected" "$DIR/tmp-test.json") |
||||||
|
|
||||||
|
rm "$DIR/tmp-test.json" |
||||||
|
if [ "$result" != "{}" ]; then |
||||||
|
echo "" |
||||||
|
echo "failed test of file: $1, detector: $2" |
||||||
|
echo "" |
||||||
|
echo "$result" |
||||||
|
echo "" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
# generate_expected_json file.sol detectors |
||||||
|
generate_expected_json(){ |
||||||
|
# generate output filename |
||||||
|
# e.g. file: uninitialized.sol detector: uninitialized-state |
||||||
|
# ---> uninitialized.uninitialized-state.json |
||||||
|
output_filename="$DIR/../tests/expected_json/$(basename "$1" .sol).$2.json" |
||||||
|
output_filename_txt="$DIR/../tests/expected_json/$(basename "$1" .sol).$2.txt" |
||||||
|
|
||||||
|
# run slither detector on input file and save output as json |
||||||
|
slither "$1" --solc-disable-warnings --detect "$2" --json "$output_filename" > "$output_filename_txt" 2>&1 |
||||||
|
|
||||||
|
|
||||||
|
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$output_filename" -i |
||||||
|
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$output_filename_txt" -i |
||||||
|
} |
||||||
|
|
@ -0,0 +1,18 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
### Test |
||||||
|
|
||||||
|
if ! slither "tests/*.json" --solc-ast --ignore-return-value; then |
||||||
|
echo "--solc-ast failed" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if ! slither "tests/*0.5*.sol" --solc-disable-warnings --ignore-return-value; then |
||||||
|
echo "--solc-disable-warnings failed" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if ! slither "tests/*0.5*.sol" --disable-color --ignore-return-value; then |
||||||
|
echo "--disable-color failed" |
||||||
|
exit 1 |
||||||
|
fi |
@ -0,0 +1,9 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
### Test data dependecy |
||||||
|
|
||||||
|
if ! python ./examples/scripts/data_dependency.py ./examples/scripts/data_dependency.sol; then |
||||||
|
echo "data dependency failed" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
exit 0 |
@ -0,0 +1,51 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.5.1" |
||||||
|
|
||||||
|
test_slither tests/void-cst.sol "void-cst" |
||||||
|
test_slither tests/solc_version_incorrect_05.ast.json "solc-version" |
||||||
|
test_slither tests/unchecked_lowlevel-0.5.1.sol "unchecked-lowlevel" |
||||||
|
test_slither tests/unchecked_send-0.5.1.sol "unchecked-send" |
||||||
|
test_slither tests/uninitialized-0.5.1.sol "uninitialized-state" |
||||||
|
test_slither tests/backdoor.sol "backdoor" |
||||||
|
test_slither tests/backdoor.sol "suicidal" |
||||||
|
test_slither tests/old_solc.sol.json "solc-version" |
||||||
|
test_slither tests/reentrancy-0.5.1.sol "reentrancy-eth" |
||||||
|
test_slither tests/reentrancy-0.5.1-events.sol "reentrancy-events" |
||||||
|
test_slither tests/tx_origin-0.5.1.sol "tx-origin" |
||||||
|
test_slither tests/unused_state.sol "unused-state" |
||||||
|
test_slither tests/locked_ether-0.5.1.sol "locked-ether" |
||||||
|
test_slither tests/arbitrary_send-0.5.1.sol "arbitrary-send" |
||||||
|
test_slither tests/inline_assembly_contract-0.5.1.sol "assembly" |
||||||
|
test_slither tests/inline_assembly_library-0.5.1.sol "assembly" |
||||||
|
test_slither tests/low_level_calls.sol "low-level-calls" |
||||||
|
test_slither tests/const_state_variables.sol "constable-states" |
||||||
|
test_slither tests/external_function.sol "external-function" |
||||||
|
test_slither tests/external_function_2.sol "external-function" |
||||||
|
test_slither tests/naming_convention.sol "naming-convention" |
||||||
|
#test_slither tests/complex_func.sol "complex-function" |
||||||
|
test_slither tests/controlled_delegatecall.sol "controlled-delegatecall" |
||||||
|
test_slither tests/constant-0.5.1.sol "constant-function-asm" |
||||||
|
test_slither tests/constant-0.5.1.sol "constant-function-state" |
||||||
|
test_slither tests/unused_return.sol "unused-return" |
||||||
|
test_slither tests/timestamp.sol "timestamp" |
||||||
|
test_slither tests/incorrect_equality.sol "incorrect-equality" |
||||||
|
test_slither tests/too_many_digits.sol "too-many-digits" |
||||||
|
|
||||||
|
|
||||||
|
### Test scripts |
||||||
|
|
||||||
|
if ! python examples/scripts/functions_called.py examples/scripts/functions_called.sol; then |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if ! python examples/scripts/functions_writing.py examples/scripts/functions_writing.sol; then |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if ! python examples/scripts/variable_in_condition.py examples/scripts/variable_in_condition.sol; then |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
exit 0 |
@ -0,0 +1,7 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.6.11" |
||||||
|
|
||||||
|
# test_slither tests/filename.sol "detector_name" |
@ -0,0 +1,7 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
source "$(dirname "$0")""/ci_test.sh" |
||||||
|
|
||||||
|
solc use "0.7.0" |
||||||
|
|
||||||
|
# test_slither tests/filename.sol "detector_name" |
@ -0,0 +1,23 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
### Test etherscan integration |
||||||
|
|
||||||
|
mkdir etherscan |
||||||
|
cd etherscan || exit 255 |
||||||
|
|
||||||
|
slither 0x7F37f78cBD74481E593F9C737776F7113d76B315 --etherscan-apikey "$GITHUB_ETHERSCAN" |
||||||
|
|
||||||
|
if [ $? -ne 5 ] |
||||||
|
then |
||||||
|
echo "Etherscan test failed" |
||||||
|
exit 255 |
||||||
|
fi |
||||||
|
|
||||||
|
slither rinkeby:0xFe05820C5A92D9bc906D4A46F662dbeba794d3b7 --etherscan-apikey "$GITHUB_ETHERSCAN" |
||||||
|
|
||||||
|
if [ $? -ne 70 ] |
||||||
|
then |
||||||
|
echo "Etherscan test failed" |
||||||
|
exit 255 |
||||||
|
fi |
||||||
|
|
@ -0,0 +1,9 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
### Test |
||||||
|
|
||||||
|
if ! slither "tests/*.json" --config "tests/config/slither.config.json"; then |
||||||
|
echo "Config failed" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
@ -1,5 +0,0 @@ |
|||||||
CURRENT_PATH=$(pwd) |
|
||||||
TRAVIS_PATH='/home/travis/build/crytic/slither' |
|
||||||
for f in tests/expected_json/*json; do |
|
||||||
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$f" -i |
|
||||||
done |
|
@ -1,42 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
DIR="$(cd "$(dirname "$0")" && pwd)" |
|
||||||
CURRENT_PATH=$(pwd) |
|
||||||
TRAVIS_PATH='/home/travis/build/crytic/slither' |
|
||||||
|
|
||||||
|
|
||||||
# generate_expected_json file.sol detectors |
|
||||||
generate_expected_json(){ |
|
||||||
# generate output filename |
|
||||||
# e.g. file: uninitialized.sol detector: uninitialized-state |
|
||||||
# ---> uninitialized.uninitialized-state.json |
|
||||||
output_filename="$DIR/../tests/expected_json/$(basename $1 .sol).$2.json" |
|
||||||
output_filename_txt="$DIR/../tests/expected_json/$(basename $1 .sol).$2.txt" |
|
||||||
|
|
||||||
# run slither detector on input file and save output as json |
|
||||||
slither "$1" --solc-disable-warnings --detect "$2" --json "$output_filename" --solc solc-0.5.1 > $output_filename_txt 2>&1 |
|
||||||
|
|
||||||
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$output_filename" -i |
|
||||||
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$output_filename_txt" -i |
|
||||||
} |
|
||||||
|
|
||||||
generate_expected_json tests/void-cst.sol "void-cst" |
|
||||||
generate_expected_json tests/solc_version_incorrect_05.ast.json "solc-version" |
|
||||||
generate_expected_json tests/uninitialized-0.5.1.sol "uninitialized-state" |
|
||||||
generate_expected_json tests/backdoor.sol "backdoor" |
|
||||||
generate_expected_json tests/backdoor.sol "suicidal" |
|
||||||
generate_expected_json tests/old_solc.sol.json "solc-version" |
|
||||||
generate_expected_json tests/reentrancy-0.5.1.sol "reentrancy-eth" |
|
||||||
generate_expected_json tests/reentrancy-0.5.1-events.sol "reentrancy-events" |
|
||||||
generate_expected_json tests/tx_origin-0.5.1.sol "tx-origin" |
|
||||||
generate_expected_json tests/locked_ether-0.5.1.sol "locked-ether" |
|
||||||
generate_expected_json tests/arbitrary_send-0.5.1.sol "arbitrary-send" |
|
||||||
generate_expected_json tests/inline_assembly_contract-0.5.1.sol "assembly" |
|
||||||
generate_expected_json tests/inline_assembly_library-0.5.1.sol "assembly" |
|
||||||
generate_expected_json tests/constant-0.5.1.sol "constant-function-asm" |
|
||||||
generate_expected_json tests/constant-0.5.1.sol "constant-function-state" |
|
||||||
generate_expected_json tests/incorrect_equality.sol "incorrect-equality" |
|
||||||
generate_expected_json tests/too_many_digits.sol "too-many-digits" |
|
||||||
generate_expected_json tests/unchecked_lowlevel-0.5.1.sol "unchecked-lowlevel" |
|
||||||
generate_expected_json tests/unchecked_send-0.5.1.sol "unchecked-send" |
|
||||||
|
|
@ -1,119 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
### Test Detectors |
|
||||||
|
|
||||||
DIR="$(cd "$(dirname "$0")" && pwd)" |
|
||||||
|
|
||||||
CURRENT_PATH=$(pwd) |
|
||||||
TRAVIS_PATH='/home/travis/build/crytic/slither' |
|
||||||
|
|
||||||
# test_slither file.sol detectors |
|
||||||
test_slither(){ |
|
||||||
|
|
||||||
expected="$DIR/../tests/expected_json/$(basename $1 .sol).$2.json" |
|
||||||
|
|
||||||
# run slither detector on input file and save output as json |
|
||||||
slither "$1" --solc-disable-warnings --detect "$2" --json "$DIR/tmp-test.json" --solc solc-0.5.1 |
|
||||||
if [ $? -eq 255 ] |
|
||||||
then |
|
||||||
echo "Slither crashed" |
|
||||||
exit -1 |
|
||||||
fi |
|
||||||
|
|
||||||
if [ ! -f "$DIR/tmp-test.json" ]; then |
|
||||||
echo "" |
|
||||||
echo "Missing generated file" |
|
||||||
echo "" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$DIR/tmp-test.json" -i |
|
||||||
result=$(python "$DIR/json_diff.py" "$expected" "$DIR/tmp-test.json") |
|
||||||
|
|
||||||
rm "$DIR/tmp-test.json" |
|
||||||
if [ "$result" != "{}" ]; then |
|
||||||
echo "" |
|
||||||
echo "failed test of file: $1, detector: $2" |
|
||||||
echo "" |
|
||||||
echo "$result" |
|
||||||
echo "" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
# run slither detector on input file and save output as json |
|
||||||
slither "$1" --solc-disable-warnings --detect "$2" --legacy-ast --json "$DIR/tmp-test.json" --solc solc-0.5.1 |
|
||||||
if [ $? -eq 255 ] |
|
||||||
then |
|
||||||
echo "Slither crashed" |
|
||||||
exit -1 |
|
||||||
fi |
|
||||||
|
|
||||||
if [ ! -f "$DIR/tmp-test.json" ]; then |
|
||||||
echo "" |
|
||||||
echo "Missing generated file" |
|
||||||
echo "" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
sed "s|$CURRENT_PATH|$TRAVIS_PATH|g" "$DIR/tmp-test.json" -i |
|
||||||
result=$(python "$DIR/json_diff.py" "$expected" "$DIR/tmp-test.json") |
|
||||||
|
|
||||||
rm "$DIR/tmp-test.json" |
|
||||||
if [ "$result" != "{}" ]; then |
|
||||||
echo "" |
|
||||||
echo "failed test of file: $1, detector: $2" |
|
||||||
echo "" |
|
||||||
echo "$result" |
|
||||||
echo "" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
test_slither tests/void-cst.sol "void-cst" |
|
||||||
test_slither tests/solc_version_incorrect_05.ast.json "solc-version" |
|
||||||
test_slither tests/unchecked_lowlevel-0.5.1.sol "unchecked-lowlevel" |
|
||||||
test_slither tests/unchecked_send-0.5.1.sol "unchecked-send" |
|
||||||
test_slither tests/uninitialized-0.5.1.sol "uninitialized-state" |
|
||||||
test_slither tests/backdoor.sol "backdoor" |
|
||||||
test_slither tests/backdoor.sol "suicidal" |
|
||||||
test_slither tests/old_solc.sol.json "solc-version" |
|
||||||
test_slither tests/reentrancy-0.5.1.sol "reentrancy-eth" |
|
||||||
test_slither tests/reentrancy-0.5.1-events.sol "reentrancy-events" |
|
||||||
test_slither tests/tx_origin-0.5.1.sol "tx-origin" |
|
||||||
test_slither tests/unused_state.sol "unused-state" |
|
||||||
test_slither tests/locked_ether-0.5.1.sol "locked-ether" |
|
||||||
test_slither tests/arbitrary_send-0.5.1.sol "arbitrary-send" |
|
||||||
test_slither tests/inline_assembly_contract-0.5.1.sol "assembly" |
|
||||||
test_slither tests/inline_assembly_library-0.5.1.sol "assembly" |
|
||||||
test_slither tests/low_level_calls.sol "low-level-calls" |
|
||||||
test_slither tests/const_state_variables.sol "constable-states" |
|
||||||
test_slither tests/external_function.sol "external-function" |
|
||||||
test_slither tests/external_function_2.sol "external-function" |
|
||||||
test_slither tests/naming_convention.sol "naming-convention" |
|
||||||
#test_slither tests/complex_func.sol "complex-function" |
|
||||||
test_slither tests/controlled_delegatecall.sol "controlled-delegatecall" |
|
||||||
test_slither tests/constant-0.5.1.sol "constant-function-asm" |
|
||||||
test_slither tests/constant-0.5.1.sol "constant-function-state" |
|
||||||
test_slither tests/unused_return.sol "unused-return" |
|
||||||
test_slither tests/timestamp.sol "timestamp" |
|
||||||
test_slither tests/incorrect_equality.sol "incorrect-equality" |
|
||||||
test_slither tests/too_many_digits.sol "too-many-digits" |
|
||||||
|
|
||||||
|
|
||||||
### Test scripts |
|
||||||
|
|
||||||
python examples/scripts/functions_called.py examples/scripts/functions_called.sol |
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
python examples/scripts/functions_writing.py examples/scripts/functions_writing.sol |
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
python examples/scripts/variable_in_condition.py examples/scripts/variable_in_condition.sol |
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
exit 0 |
|
@ -1,24 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
### Test |
|
||||||
|
|
||||||
slither "tests/*.json" --solc-ast --ignore-return-value |
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
echo "--solc-ast failed" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
slither "tests/*0.5*.sol" --solc-disable-warnings --ignore-return-value |
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
echo "--solc-disable-warnings failed" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
slither "tests/*0.5*.sol" --disable-color --ignore-return-value |
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
echo "--disable-color failed" |
|
||||||
exit 1 |
|
||||||
fi |
|
@ -1,11 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
### Test data dependecy |
|
||||||
|
|
||||||
python ./examples/scripts/data_dependency.py ./examples/scripts/data_dependency.sol |
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
echo "data dependency failed" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
exit 0 |
|
@ -1,26 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
### Test etherscan integration |
|
||||||
|
|
||||||
mkdir etherscan |
|
||||||
cd etherscan |
|
||||||
|
|
||||||
wget -O solc-0.4.25 https://github.com/ethereum/solidity/releases/download/v0.4.25/solc-static-linux |
|
||||||
chmod +x solc-0.4.25 |
|
||||||
|
|
||||||
slither 0x7F37f78cBD74481E593F9C737776F7113d76B315 --solc "./solc-0.4.25" --etherscan-apikey $GITHUB_ETHERSCAN |
|
||||||
|
|
||||||
if [ $? -ne 5 ] |
|
||||||
then |
|
||||||
echo "Etherscan test failed" |
|
||||||
exit -1 |
|
||||||
fi |
|
||||||
|
|
||||||
slither rinkeby:0xFe05820C5A92D9bc906D4A46F662dbeba794d3b7 --solc "./solc-0.4.25" --etherscan-apikey $GITHUB_ETHERSCAN |
|
||||||
|
|
||||||
if [ $? -ne 70 ] |
|
||||||
then |
|
||||||
echo "Etherscan test failed" |
|
||||||
exit -1 |
|
||||||
fi |
|
||||||
|
|
@ -1,11 +0,0 @@ |
|||||||
#!/usr/bin/env bash |
|
||||||
|
|
||||||
### Test |
|
||||||
|
|
||||||
slither "tests/*.json" --config "tests/config/slither.config.json" |
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then |
|
||||||
echo "Config failed" |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
@ -1,5 +1,16 @@ |
|||||||
|
import abc |
||||||
|
from typing import Tuple |
||||||
|
|
||||||
from slither.core.source_mapping.source_mapping import SourceMapping |
from slither.core.source_mapping.source_mapping import SourceMapping |
||||||
|
|
||||||
|
|
||||||
class Type(SourceMapping): |
class Type(SourceMapping, metaclass=abc.ABCMeta): |
||||||
pass |
@property |
||||||
|
@abc.abstractmethod |
||||||
|
def storage_size(self) -> Tuple[int, bool]: |
||||||
|
""" |
||||||
|
Computes and returns storage layout related metadata |
||||||
|
|
||||||
|
:return: (int, bool) - the number of bytes this type will require, and whether it must start in |
||||||
|
a new slot regardless of whether the current slot can still fit it |
||||||
|
""" |
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue