mirror of https://github.com/crytic/slither
Merge pull request #222 from crytic/dev-json-stdout
Added keyword for json output to stdoutpull/231/head
commit
01c5bc2d78
@ -1,204 +1,208 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "arbitrary-send", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "Test.direct (tests/arbitrary_send-0.5.1.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/arbitrary_send-0.5.1.sol#12)\n", |
"check": "arbitrary-send", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "Test.direct (tests/arbitrary_send-0.5.1.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/arbitrary_send-0.5.1.sol#12)\n", |
||||||
"name": "direct", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 162, |
"type": "function", |
||||||
"length": 79, |
"name": "direct", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
11, |
|
||||||
12, |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Test", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 162, |
||||||
"length": 884, |
"length": 79, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
11, |
||||||
12, |
12, |
||||||
13, |
13 |
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26, |
|
||||||
27, |
|
||||||
28, |
|
||||||
29, |
|
||||||
30, |
|
||||||
31, |
|
||||||
32, |
|
||||||
33, |
|
||||||
34, |
|
||||||
35, |
|
||||||
36, |
|
||||||
37, |
|
||||||
38, |
|
||||||
39, |
|
||||||
40, |
|
||||||
41 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 884, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27, |
||||||
|
28, |
||||||
|
29, |
||||||
|
30, |
||||||
|
31, |
||||||
|
32, |
||||||
|
33, |
||||||
|
34, |
||||||
|
35, |
||||||
|
36, |
||||||
|
37, |
||||||
|
38, |
||||||
|
39, |
||||||
|
40, |
||||||
|
41 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "msg.sender.send(address(this).balance)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 196, |
|
||||||
"length": 38, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
12 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 47 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "arbitrary-send", |
|
||||||
"impact": "High", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Test.indirect (tests/arbitrary_send-0.5.1.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/arbitrary_send-0.5.1.sol#20)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "indirect", |
|
||||||
"source_mapping": { |
|
||||||
"start": 316, |
|
||||||
"length": 82, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "Test", |
"expression": "msg.sender.send(address(this).balance)", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 196, |
||||||
"length": 884, |
"length": 38, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
12 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 47 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "arbitrary-send", |
||||||
|
"impact": "High", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "Test.indirect (tests/arbitrary_send-0.5.1.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/arbitrary_send-0.5.1.sol#20)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "indirect", |
||||||
|
"source_mapping": { |
||||||
|
"start": 316, |
||||||
|
"length": 82, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
19, |
||||||
20, |
20, |
||||||
21, |
21 |
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26, |
|
||||||
27, |
|
||||||
28, |
|
||||||
29, |
|
||||||
30, |
|
||||||
31, |
|
||||||
32, |
|
||||||
33, |
|
||||||
34, |
|
||||||
35, |
|
||||||
36, |
|
||||||
37, |
|
||||||
38, |
|
||||||
39, |
|
||||||
40, |
|
||||||
41 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 884, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27, |
||||||
|
28, |
||||||
|
29, |
||||||
|
30, |
||||||
|
31, |
||||||
|
32, |
||||||
|
33, |
||||||
|
34, |
||||||
|
35, |
||||||
|
36, |
||||||
|
37, |
||||||
|
38, |
||||||
|
39, |
||||||
|
40, |
||||||
|
41 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "destination.send(address(this).balance)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 352, |
||||||
|
"length": 39, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
||||||
|
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
20 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 48 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "destination.send(address(this).balance)", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 352, |
|
||||||
"length": 39, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", |
|
||||||
"filename_short": "tests/arbitrary_send-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
20 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 48 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,204 +1,208 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "arbitrary-send", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "Test.direct (tests/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/arbitrary_send.sol#12)\n", |
"check": "arbitrary-send", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "Test.direct (tests/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/arbitrary_send.sol#12)\n", |
||||||
"name": "direct", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 147, |
"type": "function", |
||||||
"length": 79, |
"name": "direct", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_short": "tests/arbitrary_send.sol", |
|
||||||
"lines": [ |
|
||||||
11, |
|
||||||
12, |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Test", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 147, |
||||||
"length": 869, |
"length": 79, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
"filename_relative": "tests/arbitrary_send.sol", |
"filename_relative": "tests/arbitrary_send.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
"filename_short": "tests/arbitrary_send.sol", |
"filename_short": "tests/arbitrary_send.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
11, |
||||||
12, |
12, |
||||||
13, |
13 |
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26, |
|
||||||
27, |
|
||||||
28, |
|
||||||
29, |
|
||||||
30, |
|
||||||
31, |
|
||||||
32, |
|
||||||
33, |
|
||||||
34, |
|
||||||
35, |
|
||||||
36, |
|
||||||
37, |
|
||||||
38, |
|
||||||
39, |
|
||||||
40, |
|
||||||
41 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 869, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_short": "tests/arbitrary_send.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27, |
||||||
|
28, |
||||||
|
29, |
||||||
|
30, |
||||||
|
31, |
||||||
|
32, |
||||||
|
33, |
||||||
|
34, |
||||||
|
35, |
||||||
|
36, |
||||||
|
37, |
||||||
|
38, |
||||||
|
39, |
||||||
|
40, |
||||||
|
41 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "msg.sender.send(address(this).balance)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 181, |
|
||||||
"length": 38, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_short": "tests/arbitrary_send.sol", |
|
||||||
"lines": [ |
|
||||||
12 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 47 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "arbitrary-send", |
|
||||||
"impact": "High", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Test.indirect (tests/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/arbitrary_send.sol#20)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "indirect", |
|
||||||
"source_mapping": { |
|
||||||
"start": 301, |
|
||||||
"length": 82, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_short": "tests/arbitrary_send.sol", |
|
||||||
"lines": [ |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "Test", |
"expression": "msg.sender.send(address(this).balance)", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 181, |
||||||
"length": 869, |
"length": 38, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_short": "tests/arbitrary_send.sol", |
||||||
|
"lines": [ |
||||||
|
12 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 47 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "arbitrary-send", |
||||||
|
"impact": "High", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "Test.indirect (tests/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/arbitrary_send.sol#20)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "indirect", |
||||||
|
"source_mapping": { |
||||||
|
"start": 301, |
||||||
|
"length": 82, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
"filename_relative": "tests/arbitrary_send.sol", |
"filename_relative": "tests/arbitrary_send.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
"filename_short": "tests/arbitrary_send.sol", |
"filename_short": "tests/arbitrary_send.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
19, |
||||||
20, |
20, |
||||||
21, |
21 |
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26, |
|
||||||
27, |
|
||||||
28, |
|
||||||
29, |
|
||||||
30, |
|
||||||
31, |
|
||||||
32, |
|
||||||
33, |
|
||||||
34, |
|
||||||
35, |
|
||||||
36, |
|
||||||
37, |
|
||||||
38, |
|
||||||
39, |
|
||||||
40, |
|
||||||
41 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 869, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_short": "tests/arbitrary_send.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27, |
||||||
|
28, |
||||||
|
29, |
||||||
|
30, |
||||||
|
31, |
||||||
|
32, |
||||||
|
33, |
||||||
|
34, |
||||||
|
35, |
||||||
|
36, |
||||||
|
37, |
||||||
|
38, |
||||||
|
39, |
||||||
|
40, |
||||||
|
41 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "destination.send(address(this).balance)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 337, |
||||||
|
"length": 39, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_relative": "tests/arbitrary_send.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
||||||
|
"filename_short": "tests/arbitrary_send.sol", |
||||||
|
"lines": [ |
||||||
|
20 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 48 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "destination.send(address(this).balance)", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 337, |
|
||||||
"length": 39, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_relative": "tests/arbitrary_send.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", |
|
||||||
"filename_short": "tests/arbitrary_send.sol", |
|
||||||
"lines": [ |
|
||||||
20 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 48 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,52 +1,56 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "backdoor", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Backdoor function found in C.i_am_a_backdoor (tests/backdoor.sol#4-6)\n", |
"check": "backdoor", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Backdoor function found in C.i_am_a_backdoor (tests/backdoor.sol#4-6)\n", |
||||||
"name": "i_am_a_backdoor", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 18, |
"type": "function", |
||||||
"length": 74, |
"name": "i_am_a_backdoor", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
|
||||||
"filename_relative": "tests/backdoor.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
|
||||||
"filename_short": "tests/backdoor.sol", |
|
||||||
"lines": [ |
|
||||||
4, |
|
||||||
5, |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "C", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 1, |
"start": 18, |
||||||
"length": 94, |
"length": 74, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
"filename_relative": "tests/backdoor.sol", |
"filename_relative": "tests/backdoor.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
"filename_short": "tests/backdoor.sol", |
"filename_short": "tests/backdoor.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6 |
||||||
7, |
|
||||||
8 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "C", |
||||||
|
"source_mapping": { |
||||||
|
"start": 1, |
||||||
|
"length": 94, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
|
"filename_relative": "tests/backdoor.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
|
"filename_short": "tests/backdoor.sol", |
||||||
|
"lines": [ |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,52 +1,56 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "suicidal", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "C.i_am_a_backdoor (tests/backdoor.sol#4-6) allows anyone to destruct the contract\n", |
"check": "suicidal", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "C.i_am_a_backdoor (tests/backdoor.sol#4-6) allows anyone to destruct the contract\n", |
||||||
"name": "i_am_a_backdoor", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 18, |
"type": "function", |
||||||
"length": 74, |
"name": "i_am_a_backdoor", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
|
||||||
"filename_relative": "tests/backdoor.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
|
||||||
"filename_short": "tests/backdoor.sol", |
|
||||||
"lines": [ |
|
||||||
4, |
|
||||||
5, |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "C", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 1, |
"start": 18, |
||||||
"length": 94, |
"length": 74, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
"filename_relative": "tests/backdoor.sol", |
"filename_relative": "tests/backdoor.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
"filename_short": "tests/backdoor.sol", |
"filename_short": "tests/backdoor.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6 |
||||||
7, |
|
||||||
8 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "C", |
||||||
|
"source_mapping": { |
||||||
|
"start": 1, |
||||||
|
"length": 94, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
|
"filename_relative": "tests/backdoor.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", |
||||||
|
"filename_short": "tests/backdoor.sol", |
||||||
|
"lines": [ |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,112 +1,116 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "constable-states", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "A.myFriendsAddress should be constant (tests/const_state_variables.sol#7)\nA.test should be constant (tests/const_state_variables.sol#10)\nA.text2 should be constant (tests/const_state_variables.sol#14)\nB.mySistersAddress should be constant (tests/const_state_variables.sol#26)\nMyConc.should_be_constant should be constant (tests/const_state_variables.sol#42)\nMyConc.should_be_constant_2 should be constant (tests/const_state_variables.sol#43)\n", |
"check": "constable-states", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "A.myFriendsAddress should be constant (tests/const_state_variables.sol#7)\nA.test should be constant (tests/const_state_variables.sol#10)\nA.text2 should be constant (tests/const_state_variables.sol#14)\nB.mySistersAddress should be constant (tests/const_state_variables.sol#26)\nMyConc.should_be_constant should be constant (tests/const_state_variables.sol#42)\nMyConc.should_be_constant_2 should be constant (tests/const_state_variables.sol#43)\n", |
||||||
"name": "myFriendsAddress", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 132, |
"type": "variable", |
||||||
"length": 76, |
"name": "myFriendsAddress", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/const_state_variables.sol", |
"start": 132, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
"length": 76, |
||||||
"filename_short": "tests/const_state_variables.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
"lines": [ |
"filename_relative": "tests/const_state_variables.sol", |
||||||
7 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
], |
"filename_short": "tests/const_state_variables.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 81 |
7 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 81 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "mySistersAddress", |
||||||
|
"source_mapping": { |
||||||
|
"start": 496, |
||||||
|
"length": 76, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_relative": "tests/const_state_variables.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_short": "tests/const_state_variables.sol", |
||||||
|
"lines": [ |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 81 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "should_be_constant", |
||||||
|
"source_mapping": { |
||||||
|
"start": 793, |
||||||
|
"length": 42, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_relative": "tests/const_state_variables.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_short": "tests/const_state_variables.sol", |
||||||
|
"lines": [ |
||||||
|
42 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 47 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "should_be_constant_2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 841, |
||||||
|
"length": 33, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_relative": "tests/const_state_variables.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_short": "tests/const_state_variables.sol", |
||||||
|
"lines": [ |
||||||
|
43 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 38 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 237, |
||||||
|
"length": 20, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_relative": "tests/const_state_variables.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_short": "tests/const_state_variables.sol", |
||||||
|
"lines": [ |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "text2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 333, |
||||||
|
"length": 20, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_relative": "tests/const_state_variables.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
||||||
|
"filename_short": "tests/const_state_variables.sol", |
||||||
|
"lines": [ |
||||||
|
14 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "variable", |
] |
||||||
"name": "mySistersAddress", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 496, |
|
||||||
"length": 76, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_relative": "tests/const_state_variables.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_short": "tests/const_state_variables.sol", |
|
||||||
"lines": [ |
|
||||||
26 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 81 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "should_be_constant", |
|
||||||
"source_mapping": { |
|
||||||
"start": 793, |
|
||||||
"length": 42, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_relative": "tests/const_state_variables.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_short": "tests/const_state_variables.sol", |
|
||||||
"lines": [ |
|
||||||
42 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 47 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "should_be_constant_2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 841, |
|
||||||
"length": 33, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_relative": "tests/const_state_variables.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_short": "tests/const_state_variables.sol", |
|
||||||
"lines": [ |
|
||||||
43 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 38 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "test", |
|
||||||
"source_mapping": { |
|
||||||
"start": 237, |
|
||||||
"length": 20, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_relative": "tests/const_state_variables.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_short": "tests/const_state_variables.sol", |
|
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 25 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "text2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 333, |
|
||||||
"length": 20, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_relative": "tests/const_state_variables.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", |
|
||||||
"filename_short": "tests/const_state_variables.sol", |
|
||||||
"lines": [ |
|
||||||
14 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 25 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,67 +1,71 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "constant-function", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "Constant.test_assembly_bug (tests/constant-0.5.1.sol#15-17) is declared view but contains assembly code\n", |
"check": "constant-function", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "Constant.test_assembly_bug (tests/constant-0.5.1.sol#15-17) is declared view but contains assembly code\n", |
||||||
"name": "test_assembly_bug", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 185, |
"type": "function", |
||||||
"length": 66, |
"name": "test_assembly_bug", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
|
||||||
"filename_relative": "tests/constant-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
|
||||||
"filename_short": "tests/constant-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
15, |
|
||||||
16, |
|
||||||
17 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Constant", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 185, |
||||||
"length": 253, |
"length": 66, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
||||||
"filename_relative": "tests/constant-0.5.1.sol", |
"filename_relative": "tests/constant-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
||||||
"filename_short": "tests/constant-0.5.1.sol", |
"filename_short": "tests/constant-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
15, |
||||||
16, |
16, |
||||||
17, |
17 |
||||||
18 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Constant", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 253, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
||||||
|
"filename_relative": "tests/constant-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", |
||||||
|
"filename_short": "tests/constant-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "info", |
||||||
|
"contains_assembly": true |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "info", |
] |
||||||
"contains_assembly": true |
} |
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,252 +1,256 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "constant-function", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "Constant.test_view_bug (tests/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a\n", |
"check": "constant-function", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "Constant.test_view_bug (tests/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a\n", |
||||||
"name": "test_view_bug", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 45, |
"type": "function", |
||||||
"length": 58, |
"name": "test_view_bug", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_relative": "tests/constant.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_short": "tests/constant.sol", |
|
||||||
"lines": [ |
|
||||||
5, |
|
||||||
6, |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Constant", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 45, |
||||||
"length": 392, |
"length": 58, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_relative": "tests/constant.sol", |
"filename_relative": "tests/constant.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_short": "tests/constant.sol", |
"filename_short": "tests/constant.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
5, |
||||||
6, |
6, |
||||||
7, |
7 |
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Constant", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 392, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_relative": "tests/constant.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_short": "tests/constant.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "a", |
|
||||||
"source_mapping": { |
|
||||||
"start": 28, |
|
||||||
"length": 6, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_relative": "tests/constant.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_short": "tests/constant.sol", |
|
||||||
"lines": [ |
|
||||||
3 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 11 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "info", |
|
||||||
"contains_assembly": false |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "constant-function", |
|
||||||
"impact": "Medium", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Constant.test_constant_bug (tests/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "test_constant_bug", |
|
||||||
"source_mapping": { |
|
||||||
"start": 113, |
|
||||||
"length": 66, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_relative": "tests/constant.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_short": "tests/constant.sol", |
|
||||||
"lines": [ |
|
||||||
9, |
|
||||||
10, |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "variable", |
||||||
"name": "Constant", |
"name": "a", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 28, |
||||||
"length": 392, |
"length": 6, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_relative": "tests/constant.sol", |
"filename_relative": "tests/constant.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_short": "tests/constant.sol", |
"filename_short": "tests/constant.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
3 |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 11 |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "a", |
|
||||||
"source_mapping": { |
|
||||||
"start": 28, |
|
||||||
"length": 6, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_relative": "tests/constant.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_short": "tests/constant.sol", |
|
||||||
"lines": [ |
|
||||||
3 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 11 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "info", |
|
||||||
"contains_assembly": false |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "constant-function", |
|
||||||
"impact": "Medium", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Constant.test_assembly_bug (tests/constant.sol#22-24) is declared view but contains assembly code\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "test_assembly_bug", |
|
||||||
"source_mapping": { |
|
||||||
"start": 324, |
|
||||||
"length": 66, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_relative": "tests/constant.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
|
||||||
"filename_short": "tests/constant.sol", |
|
||||||
"lines": [ |
|
||||||
22, |
|
||||||
23, |
|
||||||
24 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "info", |
||||||
"name": "Constant", |
"contains_assembly": false |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "constant-function", |
||||||
|
"impact": "Medium", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "Constant.test_constant_bug (tests/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "test_constant_bug", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 113, |
||||||
"length": 392, |
"length": 66, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_relative": "tests/constant.sol", |
"filename_relative": "tests/constant.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
"filename_short": "tests/constant.sol", |
"filename_short": "tests/constant.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11 |
||||||
12, |
], |
||||||
13, |
"starting_column": 5, |
||||||
14, |
"ending_column": 6 |
||||||
15, |
}, |
||||||
16, |
"contract": { |
||||||
17, |
"type": "contract", |
||||||
18, |
"name": "Constant", |
||||||
19, |
"source_mapping": { |
||||||
20, |
"start": 0, |
||||||
21, |
"length": 392, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_relative": "tests/constant.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_short": "tests/constant.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "a", |
||||||
|
"source_mapping": { |
||||||
|
"start": 28, |
||||||
|
"length": 6, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_relative": "tests/constant.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_short": "tests/constant.sol", |
||||||
|
"lines": [ |
||||||
|
3 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 11 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "info", |
||||||
|
"contains_assembly": false |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "constant-function", |
||||||
|
"impact": "Medium", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "Constant.test_assembly_bug (tests/constant.sol#22-24) is declared view but contains assembly code\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "test_assembly_bug", |
||||||
|
"source_mapping": { |
||||||
|
"start": 324, |
||||||
|
"length": 66, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_relative": "tests/constant.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_short": "tests/constant.sol", |
||||||
|
"lines": [ |
||||||
22, |
22, |
||||||
23, |
23, |
||||||
24, |
24 |
||||||
25 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Constant", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 392, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_relative": "tests/constant.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", |
||||||
|
"filename_short": "tests/constant.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "info", |
||||||
|
"contains_assembly": true |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "info", |
] |
||||||
"contains_assembly": true |
} |
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,173 +1,177 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "controlled-delegatecall", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "C.bad_delegate_call (tests/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(data) (tests/controlled_delegatecall.sol#10)\n", |
"check": "controlled-delegatecall", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "C.bad_delegate_call (tests/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(data) (tests/controlled_delegatecall.sol#10)\n", |
||||||
"name": "bad_delegate_call", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 101, |
"type": "function", |
||||||
"length": 134, |
"name": "bad_delegate_call", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
|
||||||
"lines": [ |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "C", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 101, |
||||||
"length": 585, |
"length": 134, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
8, |
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11 |
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "C", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 585, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "addr_bad.delegatecall(data)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 201, |
|
||||||
"length": 27, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
|
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 36 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "controlled-delegatecall", |
|
||||||
"impact": "High", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "C.bad_delegate_call2 (tests/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(abi.encode(func_id,data)) (tests/controlled_delegatecall.sol#19)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "bad_delegate_call2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 337, |
|
||||||
"length": 118, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
|
||||||
"lines": [ |
|
||||||
18, |
|
||||||
19, |
|
||||||
20 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "C", |
"expression": "addr_bad.delegatecall(data)", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 201, |
||||||
"length": 585, |
"length": 27, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
|
"lines": [ |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 36 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "controlled-delegatecall", |
||||||
|
"impact": "High", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "C.bad_delegate_call2 (tests/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(abi.encode(func_id,data)) (tests/controlled_delegatecall.sol#19)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "bad_delegate_call2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 337, |
||||||
|
"length": 118, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
18, |
||||||
19, |
19, |
||||||
20, |
20 |
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "C", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 585, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "addr_bad.delegatecall(abi.encode(func_id,data))", |
||||||
|
"source_mapping": { |
||||||
|
"start": 400, |
||||||
|
"length": 48, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_relative": "tests/controlled_delegatecall.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
||||||
|
"filename_short": "tests/controlled_delegatecall.sol", |
||||||
|
"lines": [ |
||||||
|
19 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 57 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "addr_bad.delegatecall(abi.encode(func_id,data))", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 400, |
|
||||||
"length": 48, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_relative": "tests/controlled_delegatecall.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", |
|
||||||
"filename_short": "tests/controlled_delegatecall.sol", |
|
||||||
"lines": [ |
|
||||||
19 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 57 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,180 +1,184 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "deprecated-standards", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#2:\n\t- Usage of \"block.blockhash()\" should be replaced with \"blockhash()\"\n", |
"check": "deprecated-standards", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#2:\n\t- Usage of \"block.blockhash()\" should be replaced with \"blockhash()\"\n", |
||||||
"name": "globalBlockHash", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 48, |
"type": "variable", |
||||||
"length": 44, |
"name": "globalBlockHash", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"start": 48, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"length": 44, |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"lines": [ |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
2 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
], |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 49 |
2 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 49 |
||||||
|
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#7-10:\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#7-10:\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "msg.gas == msg.value", |
||||||
"expression": "msg.gas == msg.value", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 258, |
||||||
"start": 258, |
"length": 107, |
||||||
"length": 107, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
7, |
||||||
7, |
8, |
||||||
8, |
9, |
||||||
9, |
10 |
||||||
10 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 10 |
||||||
"ending_column": 10 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#9:\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#9:\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "None", |
||||||
"expression": "None", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 349, |
||||||
"start": 349, |
"length": 5, |
||||||
"length": 5, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
9 |
||||||
9 |
], |
||||||
], |
"starting_column": 13, |
||||||
"starting_column": 13, |
"ending_column": 18 |
||||||
"ending_column": 18 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#16:\n\t- Usage of \"sha3()\" should be replaced with \"keccak256()\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#16:\n\t- Usage of \"sha3()\" should be replaced with \"keccak256()\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "sha3Result = sha3()(test deprecated sha3 usage)", |
||||||
"expression": "sha3Result = sha3()(test deprecated sha3 usage)", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 542, |
||||||
"start": 542, |
"length": 55, |
||||||
"length": 55, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
16 |
||||||
16 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 64 |
||||||
"ending_column": 64 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#19:\n\t- Usage of \"block.blockhash()\" should be replaced with \"blockhash()\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#19:\n\t- Usage of \"block.blockhash()\" should be replaced with \"blockhash()\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "blockHashResult = block.blockhash(0)", |
||||||
"expression": "blockHashResult = block.blockhash(0)", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 671, |
||||||
"start": 671, |
"length": 44, |
||||||
"length": 44, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
19 |
||||||
19 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 53 |
||||||
"ending_column": 53 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#22:\n\t- Usage of \"callcode\" should be replaced with \"delegatecall\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#22:\n\t- Usage of \"callcode\" should be replaced with \"delegatecall\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "address(this).callcode()", |
||||||
"expression": "address(this).callcode()", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 785, |
||||||
"start": 785, |
"length": 24, |
||||||
"length": 24, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
22 |
||||||
22 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 33 |
||||||
"ending_column": 33 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "deprecated-standards", |
||||||
"check": "deprecated-standards", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#25:\n\t- Usage of \"suicide()\" should be replaced with \"selfdestruct()\"\n", |
||||||
"description": "Deprecated standard detected @ tests/deprecated_calls.sol#25:\n\t- Usage of \"suicide()\" should be replaced with \"selfdestruct()\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "expression", |
||||||
"type": "expression", |
"expression": "suicide(address)(address(0))", |
||||||
"expression": "suicide(address)(address(0))", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 878, |
||||||
"start": 878, |
"length": 19, |
||||||
"length": 19, |
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_relative": "tests/deprecated_calls.sol", |
||||||
"filename_relative": "tests/deprecated_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", |
"filename_short": "tests/deprecated_calls.sol", |
||||||
"filename_short": "tests/deprecated_calls.sol", |
"lines": [ |
||||||
"lines": [ |
25 |
||||||
25 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 28 |
||||||
"ending_column": 28 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,182 +1,186 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "erc20-indexed", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "IERC20Bad (tests/erc20_indexed.sol#12-21) does not mark important ERC20 parameters as 'indexed':\n\t-Transfer (tests/erc20_indexed.sol#19) does not index parameter 'from'\n\t-Transfer (tests/erc20_indexed.sol#19) does not index parameter 'to'\n\t-Approval (tests/erc20_indexed.sol#20) does not index parameter 'owner'\n\t-Approval (tests/erc20_indexed.sol#20) does not index parameter 'spender'\n", |
"check": "erc20-indexed", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "IERC20Bad (tests/erc20_indexed.sol#12-21) does not mark important ERC20 parameters as 'indexed':\n\t-Transfer (tests/erc20_indexed.sol#19) does not index parameter 'from'\n\t-Transfer (tests/erc20_indexed.sol#19) does not index parameter 'to'\n\t-Approval (tests/erc20_indexed.sol#20) does not index parameter 'owner'\n\t-Approval (tests/erc20_indexed.sol#20) does not index parameter 'spender'\n", |
||||||
"name": "Approval", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 1148, |
"type": "function", |
||||||
"length": 59, |
"name": "Approval", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_relative": "tests/erc20_indexed.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_short": "tests/erc20_indexed.sol", |
|
||||||
"lines": [ |
|
||||||
20 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 64 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "IERC20Bad", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 622, |
"start": 1148, |
||||||
"length": 587, |
"length": 59, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_relative": "tests/erc20_indexed.sol", |
"filename_relative": "tests/erc20_indexed.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_short": "tests/erc20_indexed.sol", |
"filename_short": "tests/erc20_indexed.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
12, |
20 |
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 64 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "IERC20Bad", |
||||||
|
"source_mapping": { |
||||||
|
"start": 622, |
||||||
|
"length": 587, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_relative": "tests/erc20_indexed.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_short": "tests/erc20_indexed.sol", |
||||||
|
"lines": [ |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "Approval", |
|
||||||
"source_mapping": { |
|
||||||
"start": 1148, |
|
||||||
"length": 59, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_relative": "tests/erc20_indexed.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_short": "tests/erc20_indexed.sol", |
|
||||||
"lines": [ |
|
||||||
20 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 64 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "IERC20Bad", |
"name": "Approval", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 622, |
"start": 1148, |
||||||
"length": 587, |
"length": 59, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_relative": "tests/erc20_indexed.sol", |
"filename_relative": "tests/erc20_indexed.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_short": "tests/erc20_indexed.sol", |
"filename_short": "tests/erc20_indexed.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
12, |
20 |
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 64 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "IERC20Bad", |
||||||
|
"source_mapping": { |
||||||
|
"start": 622, |
||||||
|
"length": 587, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_relative": "tests/erc20_indexed.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_short": "tests/erc20_indexed.sol", |
||||||
|
"lines": [ |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "Transfer", |
|
||||||
"source_mapping": { |
|
||||||
"start": 1090, |
|
||||||
"length": 53, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_relative": "tests/erc20_indexed.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_short": "tests/erc20_indexed.sol", |
|
||||||
"lines": [ |
|
||||||
19 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 58 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "IERC20Bad", |
"name": "Transfer", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 622, |
"start": 1090, |
||||||
"length": 587, |
"length": 53, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_relative": "tests/erc20_indexed.sol", |
"filename_relative": "tests/erc20_indexed.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_short": "tests/erc20_indexed.sol", |
"filename_short": "tests/erc20_indexed.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
12, |
19 |
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 58 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "IERC20Bad", |
||||||
|
"source_mapping": { |
||||||
|
"start": 622, |
||||||
|
"length": 587, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_relative": "tests/erc20_indexed.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_short": "tests/erc20_indexed.sol", |
||||||
|
"lines": [ |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "Transfer", |
|
||||||
"source_mapping": { |
|
||||||
"start": 1090, |
|
||||||
"length": 53, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_relative": "tests/erc20_indexed.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
|
||||||
"filename_short": "tests/erc20_indexed.sol", |
|
||||||
"lines": [ |
|
||||||
19 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 58 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "IERC20Bad", |
"name": "Transfer", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 622, |
"start": 1090, |
||||||
"length": 587, |
"length": 53, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_relative": "tests/erc20_indexed.sol", |
"filename_relative": "tests/erc20_indexed.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
"filename_short": "tests/erc20_indexed.sol", |
"filename_short": "tests/erc20_indexed.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
12, |
19 |
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 58 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "IERC20Bad", |
||||||
|
"source_mapping": { |
||||||
|
"start": 622, |
||||||
|
"length": 587, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_relative": "tests/erc20_indexed.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", |
||||||
|
"filename_short": "tests/erc20_indexed.sol", |
||||||
|
"lines": [ |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1 +1,5 @@ |
|||||||
[] |
{ |
||||||
|
"success": true, |
||||||
|
"error": null, |
||||||
|
"results": [] |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -1,256 +1,260 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "erc20-interface", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Token (tests/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface(s):\n\t-transfer (tests/incorrect_erc20_interface.sol#4)\n\t-approve (tests/incorrect_erc20_interface.sol#5)\n\t-transferFrom (tests/incorrect_erc20_interface.sol#6)\n\t-totalSupply (tests/incorrect_erc20_interface.sol#7)\n\t-balanceOf (tests/incorrect_erc20_interface.sol#8)\n\t-allowance (tests/incorrect_erc20_interface.sol#9)\n", |
"check": "erc20-interface", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Token (tests/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface(s):\n\t-transfer (tests/incorrect_erc20_interface.sol#4)\n\t-approve (tests/incorrect_erc20_interface.sol#5)\n\t-transferFrom (tests/incorrect_erc20_interface.sol#6)\n\t-totalSupply (tests/incorrect_erc20_interface.sol#7)\n\t-balanceOf (tests/incorrect_erc20_interface.sol#8)\n\t-allowance (tests/incorrect_erc20_interface.sol#9)\n", |
||||||
"name": "allowance", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 319, |
"type": "function", |
||||||
"length": 60, |
"name": "allowance", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
9 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 65 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Token", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 319, |
||||||
"length": 355, |
"length": 60, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
9 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 65 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "approve", |
|
||||||
"source_mapping": { |
|
||||||
"start": 102, |
|
||||||
"length": 55, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
5 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 60 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "approve", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 102, |
||||||
"length": 355, |
"length": 55, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
5 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 60 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "balanceOf", |
|
||||||
"source_mapping": { |
|
||||||
"start": 273, |
|
||||||
"length": 41, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
8 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 46 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "balanceOf", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 273, |
||||||
"length": 355, |
"length": 41, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
8 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 46 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "totalSupply", |
|
||||||
"source_mapping": { |
|
||||||
"start": 236, |
|
||||||
"length": 32, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 37 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "totalSupply", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 236, |
||||||
"length": 355, |
"length": 32, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
7 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 37 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "transfer", |
|
||||||
"source_mapping": { |
|
||||||
"start": 46, |
|
||||||
"length": 51, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
4 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 56 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "transfer", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 46, |
||||||
"length": 355, |
"length": 51, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
4 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 56 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "transferFrom", |
|
||||||
"source_mapping": { |
|
||||||
"start": 162, |
|
||||||
"length": 69, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
|
||||||
"lines": [ |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 74 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "transferFrom", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 162, |
||||||
"length": 355, |
"length": 69, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc20_interface.sol", |
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc20_interface.sol", |
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
6 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 74 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 355, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc20_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,442 +1,446 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "erc721-interface", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Token (tests/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface(s):\n\t-supportsInterface (tests/incorrect_erc721_interface.sol#4)\n\t-balanceOf (tests/incorrect_erc721_interface.sol#7)\n\t-ownerOf (tests/incorrect_erc721_interface.sol#8)\n\t-safeTransferFrom (tests/incorrect_erc721_interface.sol#9)\n\t-safeTransferFrom (tests/incorrect_erc721_interface.sol#10)\n\t-transferFrom (tests/incorrect_erc721_interface.sol#11)\n\t-approve (tests/incorrect_erc721_interface.sol#12)\n\t-setApprovalForAll (tests/incorrect_erc721_interface.sol#13)\n\t-getApproved (tests/incorrect_erc721_interface.sol#14)\n\t-isApprovedForAll (tests/incorrect_erc721_interface.sol#15)\n", |
"check": "erc721-interface", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Token (tests/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface(s):\n\t-supportsInterface (tests/incorrect_erc721_interface.sol#4)\n\t-balanceOf (tests/incorrect_erc721_interface.sol#7)\n\t-ownerOf (tests/incorrect_erc721_interface.sol#8)\n\t-safeTransferFrom (tests/incorrect_erc721_interface.sol#9)\n\t-safeTransferFrom (tests/incorrect_erc721_interface.sol#10)\n\t-transferFrom (tests/incorrect_erc721_interface.sol#11)\n\t-approve (tests/incorrect_erc721_interface.sol#12)\n\t-setApprovalForAll (tests/incorrect_erc721_interface.sol#13)\n\t-getApproved (tests/incorrect_erc721_interface.sol#14)\n\t-isApprovedForAll (tests/incorrect_erc721_interface.sol#15)\n", |
||||||
"name": "approve", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 549, |
"type": "function", |
||||||
"length": 78, |
"name": "approve", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
12 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 83 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Token", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 549, |
||||||
"length": 739, |
"length": 78, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
12 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 83 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "balanceOf", |
|
||||||
"source_mapping": { |
|
||||||
"start": 140, |
|
||||||
"length": 44, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 49 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "balanceOf", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 140, |
||||||
"length": 739, |
"length": 44, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
7 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 49 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "getApproved", |
|
||||||
"source_mapping": { |
|
||||||
"start": 723, |
|
||||||
"length": 48, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
14 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 53 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "getApproved", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 723, |
||||||
"length": 739, |
"length": 48, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
14 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 53 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "isApprovedForAll", |
|
||||||
"source_mapping": { |
|
||||||
"start": 776, |
|
||||||
"length": 70, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
15 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 75 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "isApprovedForAll", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 776, |
||||||
"length": 739, |
"length": 70, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
15 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 75 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "ownerOf", |
|
||||||
"source_mapping": { |
|
||||||
"start": 189, |
|
||||||
"length": 44, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
8 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 49 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "ownerOf", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 189, |
||||||
"length": 739, |
"length": 44, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
8 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 49 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "safeTransferFrom", |
|
||||||
"source_mapping": { |
|
||||||
"start": 238, |
|
||||||
"length": 108, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
9 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 113 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "safeTransferFrom", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 238, |
||||||
"length": 739, |
"length": 108, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
9 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 113 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "safeTransferFrom", |
|
||||||
"source_mapping": { |
|
||||||
"start": 351, |
|
||||||
"length": 96, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 101 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "safeTransferFrom", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 351, |
||||||
"length": 739, |
"length": 96, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
10 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 101 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "setApprovalForAll", |
|
||||||
"source_mapping": { |
|
||||||
"start": 632, |
|
||||||
"length": 86, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 91 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "setApprovalForAll", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 632, |
||||||
"length": 739, |
"length": 86, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
13 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 91 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "supportsInterface", |
|
||||||
"source_mapping": { |
|
||||||
"start": 50, |
|
||||||
"length": 56, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
4 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 61 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "IERC165", |
"name": "supportsInterface", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 50, |
||||||
"length": 82, |
"length": 56, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
4 |
||||||
4, |
|
||||||
5 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 61 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "IERC165", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 82, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "transferFrom", |
|
||||||
"source_mapping": { |
|
||||||
"start": 452, |
|
||||||
"length": 92, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
|
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
|
||||||
"lines": [ |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 97 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Token", |
"name": "transferFrom", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 109, |
"start": 452, |
||||||
"length": 739, |
"length": 92, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_relative": "tests/incorrect_erc721_interface.sol", |
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
"filename_short": "tests/incorrect_erc721_interface.sol", |
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
6, |
11 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 97 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Token", |
||||||
|
"source_mapping": { |
||||||
|
"start": 109, |
||||||
|
"length": 739, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_relative": "tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", |
||||||
|
"filename_short": "tests/incorrect_erc721_interface.sol", |
||||||
|
"lines": [ |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,69 +1,73 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "locked-ether", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Contract locking ether found in :\n\tContract OnlyLocked has payable functions:\n\t - receive (tests/locked_ether-0.5.1.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", |
"check": "locked-ether", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Contract locking ether found in :\n\tContract OnlyLocked has payable functions:\n\t - receive (tests/locked_ether-0.5.1.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", |
||||||
"name": "receive", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 46, |
"type": "function", |
||||||
"length": 72, |
"name": "receive", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_relative": "tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_short": "tests/locked_ether-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
4, |
|
||||||
5, |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Locked", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 24, |
"start": 46, |
||||||
"length": 97, |
"length": 72, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
"filename_relative": "tests/locked_ether-0.5.1.sol", |
"filename_relative": "tests/locked_ether-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
"filename_short": "tests/locked_ether-0.5.1.sol", |
"filename_short": "tests/locked_ether-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6 |
||||||
7, |
], |
||||||
8 |
"starting_column": 5, |
||||||
|
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Locked", |
||||||
|
"source_mapping": { |
||||||
|
"start": 24, |
||||||
|
"length": 97, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_relative": "tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_short": "tests/locked_ether-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "contract", |
||||||
|
"name": "OnlyLocked", |
||||||
|
"source_mapping": { |
||||||
|
"start": 375, |
||||||
|
"length": 32, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_relative": "tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
||||||
|
"filename_short": "tests/locked_ether-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
26 |
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 1, |
||||||
"ending_column": 2 |
"ending_column": 33 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "contract", |
] |
||||||
"name": "OnlyLocked", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 375, |
|
||||||
"length": 32, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_relative": "tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", |
|
||||||
"filename_short": "tests/locked_ether-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
26 |
|
||||||
], |
|
||||||
"starting_column": 1, |
|
||||||
"ending_column": 33 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,69 +1,73 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "locked-ether", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Contract locking ether found in :\n\tContract OnlyLocked has payable functions:\n\t - receive (tests/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", |
"check": "locked-ether", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Contract locking ether found in :\n\tContract OnlyLocked has payable functions:\n\t - receive (tests/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", |
||||||
"name": "receive", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 47, |
"type": "function", |
||||||
"length": 72, |
"name": "receive", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
|
||||||
"filename_relative": "tests/locked_ether.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
|
||||||
"filename_short": "tests/locked_ether.sol", |
|
||||||
"lines": [ |
|
||||||
4, |
|
||||||
5, |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Locked", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 25, |
"start": 47, |
||||||
"length": 97, |
"length": 72, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
"filename_relative": "tests/locked_ether.sol", |
"filename_relative": "tests/locked_ether.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
"filename_short": "tests/locked_ether.sol", |
"filename_short": "tests/locked_ether.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6 |
||||||
7, |
], |
||||||
8 |
"starting_column": 5, |
||||||
|
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Locked", |
||||||
|
"source_mapping": { |
||||||
|
"start": 25, |
||||||
|
"length": 97, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
|
"filename_relative": "tests/locked_ether.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
|
"filename_short": "tests/locked_ether.sol", |
||||||
|
"lines": [ |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "contract", |
||||||
|
"name": "OnlyLocked", |
||||||
|
"source_mapping": { |
||||||
|
"start": 368, |
||||||
|
"length": 32, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
|
"filename_relative": "tests/locked_ether.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
||||||
|
"filename_short": "tests/locked_ether.sol", |
||||||
|
"lines": [ |
||||||
|
26 |
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 1, |
||||||
"ending_column": 2 |
"ending_column": 33 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "contract", |
] |
||||||
"name": "OnlyLocked", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 368, |
|
||||||
"length": 32, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
|
||||||
"filename_relative": "tests/locked_ether.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", |
|
||||||
"filename_short": "tests/locked_ether.sol", |
|
||||||
"lines": [ |
|
||||||
26 |
|
||||||
], |
|
||||||
"starting_column": 1, |
|
||||||
"ending_column": 33 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,67 +1,71 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "low-level-calls", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Low level call in Sender.send (tests/low_level_calls.sol#5-7):\n\t-_receiver.call.value(msg.value).gas(7777)() tests/low_level_calls.sol#6\n", |
"check": "low-level-calls", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "function", |
"description": "Low level call in Sender.send (tests/low_level_calls.sol#5-7):\n\t-_receiver.call.value(msg.value).gas(7777)() tests/low_level_calls.sol#6\n", |
||||||
"name": "send", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 51, |
"type": "function", |
||||||
"length": 112, |
"name": "send", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
|
||||||
"filename_relative": "tests/low_level_calls.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
|
||||||
"filename_short": "tests/low_level_calls.sol", |
|
||||||
"lines": [ |
|
||||||
5, |
|
||||||
6, |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Sender", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 29, |
"start": 51, |
||||||
"length": 136, |
"length": 112, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
"filename_relative": "tests/low_level_calls.sol", |
"filename_relative": "tests/low_level_calls.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
"filename_short": "tests/low_level_calls.sol", |
"filename_short": "tests/low_level_calls.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
4, |
|
||||||
5, |
5, |
||||||
6, |
6, |
||||||
7, |
7 |
||||||
8 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Sender", |
||||||
|
"source_mapping": { |
||||||
|
"start": 29, |
||||||
|
"length": 136, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
|
"filename_relative": "tests/low_level_calls.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
|
"filename_short": "tests/low_level_calls.sol", |
||||||
|
"lines": [ |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "_receiver.call.value(msg.value).gas(7777)()", |
||||||
|
"source_mapping": { |
||||||
|
"start": 111, |
||||||
|
"length": 45, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
|
"filename_relative": "tests/low_level_calls.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
||||||
|
"filename_short": "tests/low_level_calls.sol", |
||||||
|
"lines": [ |
||||||
|
6 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 54 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "_receiver.call.value(msg.value).gas(7777)()", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 111, |
|
||||||
"length": 45, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
|
||||||
"filename_relative": "tests/low_level_calls.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", |
|
||||||
"filename_short": "tests/low_level_calls.sol", |
|
||||||
"lines": [ |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 54 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,79 +1,83 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "calls-loop", |
"error": null, |
||||||
"impact": "Low", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "CallInLoop.bad has external calls inside a loop:\n\t- destinations[i].transfer(i) (tests/multiple_calls_in_loop.sol#11)\n", |
"check": "calls-loop", |
||||||
"elements": [ |
"impact": "Low", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "CallInLoop.bad has external calls inside a loop:\n\t- destinations[i].transfer(i) (tests/multiple_calls_in_loop.sol#11)\n", |
||||||
"name": "bad", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 153, |
"type": "function", |
||||||
"length": 135, |
"name": "bad", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_relative": "tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_short": "tests/multiple_calls_in_loop.sol", |
|
||||||
"lines": [ |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "CallInLoop", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 153, |
||||||
"length": 291, |
"length": 135, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
"filename_relative": "tests/multiple_calls_in_loop.sol", |
"filename_relative": "tests/multiple_calls_in_loop.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
"filename_short": "tests/multiple_calls_in_loop.sol", |
"filename_short": "tests/multiple_calls_in_loop.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11, |
||||||
12, |
12, |
||||||
13, |
13 |
||||||
14, |
|
||||||
15 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "CallInLoop", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 291, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_relative": "tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_short": "tests/multiple_calls_in_loop.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "destinations[i].transfer(i)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 244, |
||||||
|
"length": 27, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_relative": "tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
||||||
|
"filename_short": "tests/multiple_calls_in_loop.sol", |
||||||
|
"lines": [ |
||||||
|
11 |
||||||
|
], |
||||||
|
"starting_column": 13, |
||||||
|
"ending_column": 40 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "destinations[i].transfer(i)", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 244, |
|
||||||
"length": 27, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_relative": "tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", |
|
||||||
"filename_short": "tests/multiple_calls_in_loop.sol", |
|
||||||
"lines": [ |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 13, |
|
||||||
"ending_column": 40 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,366 +1,370 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "naming-convention", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Contract 'naming' (tests/naming_convention.sol#3-48) is not in CapWords\n", |
"check": "naming-convention", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"target": "contract", |
"description": "Contract 'naming' (tests/naming_convention.sol#3-48) is not in CapWords\n", |
||||||
"convention": "CapWords", |
"elements": [ |
||||||
"name": "naming", |
{ |
||||||
"source_mapping": { |
"target": "contract", |
||||||
"start": 28, |
"convention": "CapWords", |
||||||
"length": 642, |
"name": "naming", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/naming_convention.sol", |
"start": 28, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"length": 642, |
||||||
"filename_short": "tests/naming_convention.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"lines": [ |
"filename_relative": "tests/naming_convention.sol", |
||||||
3, |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
4, |
"filename_short": "tests/naming_convention.sol", |
||||||
5, |
"lines": [ |
||||||
6, |
3, |
||||||
7, |
4, |
||||||
8, |
5, |
||||||
9, |
6, |
||||||
10, |
7, |
||||||
11, |
8, |
||||||
12, |
9, |
||||||
13, |
10, |
||||||
14, |
11, |
||||||
15, |
12, |
||||||
16, |
13, |
||||||
17, |
14, |
||||||
18, |
15, |
||||||
19, |
16, |
||||||
20, |
17, |
||||||
21, |
18, |
||||||
22, |
19, |
||||||
23, |
20, |
||||||
24, |
21, |
||||||
25, |
22, |
||||||
26, |
23, |
||||||
27, |
24, |
||||||
28, |
25, |
||||||
29, |
26, |
||||||
30, |
27, |
||||||
31, |
28, |
||||||
32, |
29, |
||||||
33, |
30, |
||||||
34, |
31, |
||||||
35, |
32, |
||||||
36, |
33, |
||||||
37, |
34, |
||||||
38, |
35, |
||||||
39, |
36, |
||||||
40, |
37, |
||||||
41, |
38, |
||||||
42, |
39, |
||||||
43, |
40, |
||||||
44, |
41, |
||||||
45, |
42, |
||||||
46, |
43, |
||||||
47, |
44, |
||||||
48 |
45, |
||||||
], |
46, |
||||||
"starting_column": 1, |
47, |
||||||
"ending_column": 2 |
48 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Struct 'naming.test' (tests/naming_convention.sol#14-16) is not in CapWords\n", |
||||||
"description": "Struct 'naming.test' (tests/naming_convention.sol#14-16) is not in CapWords\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "structure", |
||||||
"target": "structure", |
"convention": "CapWords", |
||||||
"convention": "CapWords", |
"name": "test", |
||||||
"name": "test", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 229, |
||||||
"start": 229, |
"length": 35, |
||||||
"length": 35, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
14, |
||||||
14, |
15, |
||||||
15, |
16 |
||||||
16 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 6 |
||||||
"ending_column": 6 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Event 'naming.event_' (tests/naming_convention.sol#23) is not in CapWords\n", |
||||||
"description": "Event 'naming.event_' (tests/naming_convention.sol#23) is not in CapWords\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "event", |
||||||
"target": "event", |
"convention": "CapWords", |
||||||
"convention": "CapWords", |
"name": "event_", |
||||||
"name": "event_", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 335, |
||||||
"start": 335, |
"length": 19, |
||||||
"length": 19, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
23 |
||||||
23 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 24 |
||||||
"ending_column": 24 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Function 'naming.GetOne' (tests/naming_convention.sol#30-33) is not in mixedCase\n", |
||||||
"description": "Function 'naming.GetOne' (tests/naming_convention.sol#30-33) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "function", |
||||||
"target": "function", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "GetOne", |
||||||
"name": "GetOne", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 440, |
||||||
"start": 440, |
"length": 75, |
||||||
"length": 75, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
30, |
||||||
30, |
31, |
||||||
31, |
32, |
||||||
32, |
33 |
||||||
33 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 6 |
||||||
"ending_column": 6 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Parameter 'Number2' of naming.setInt (tests/naming_convention.sol#35) is not in mixedCase\n", |
||||||
"description": "Parameter 'Number2' of naming.setInt (tests/naming_convention.sol#35) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "parameter", |
||||||
"target": "parameter", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "Number2", |
||||||
"name": "Number2", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 551, |
||||||
"start": 551, |
"length": 12, |
||||||
"length": 12, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
35 |
||||||
35 |
], |
||||||
], |
"starting_column": 35, |
||||||
"starting_column": 35, |
"ending_column": 47 |
||||||
"ending_column": 47 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Constant 'naming.MY_other_CONSTANT' (tests/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", |
||||||
"description": "Constant 'naming.MY_other_CONSTANT' (tests/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "variable_constant", |
||||||
"target": "variable_constant", |
"convention": "UPPER_CASE_WITH_UNDERSCORES", |
||||||
"convention": "UPPER_CASE_WITH_UNDERSCORES", |
"name": "MY_other_CONSTANT", |
||||||
"name": "MY_other_CONSTANT", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 143, |
||||||
"start": 143, |
"length": 35, |
||||||
"length": 35, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
9 |
||||||
9 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 40 |
||||||
"ending_column": 40 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Variable 'naming.Var_One' (tests/naming_convention.sol#11) is not in mixedCase\n", |
||||||
"description": "Variable 'naming.Var_One' (tests/naming_convention.sol#11) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "variable", |
||||||
"target": "variable", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "Var_One", |
||||||
"name": "Var_One", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 185, |
||||||
"start": 185, |
"length": 16, |
||||||
"length": 16, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
11 |
||||||
11 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 21 |
||||||
"ending_column": 21 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Enum 'naming.numbers' (tests/naming_convention.sol#6) is not in CapWords\n", |
||||||
"description": "Enum 'naming.numbers' (tests/naming_convention.sol#6) is not in CapWords\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "enum", |
||||||
"target": "enum", |
"convention": "CapWords", |
||||||
"convention": "CapWords", |
"name": "numbers", |
||||||
"name": "numbers", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 79, |
||||||
"start": 79, |
"length": 23, |
||||||
"length": 23, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
6 |
||||||
6 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 28 |
||||||
"ending_column": 28 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Modifier 'naming.CantDo' (tests/naming_convention.sol#41-43) is not in mixedCase\n", |
||||||
"description": "Modifier 'naming.CantDo' (tests/naming_convention.sol#41-43) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "modifier", |
||||||
"target": "modifier", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "CantDo", |
||||||
"name": "CantDo", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 591, |
||||||
"start": 591, |
"length": 36, |
||||||
"length": 36, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
41, |
||||||
41, |
42, |
||||||
42, |
43 |
||||||
43 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 6 |
||||||
"ending_column": 6 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Parameter '_used' of T.test (tests/naming_convention.sol#59) is not in mixedCase\n", |
||||||
"description": "Parameter '_used' of T.test (tests/naming_convention.sol#59) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "parameter", |
||||||
"target": "parameter", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "_used", |
||||||
"name": "_used", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 794, |
||||||
"start": 794, |
"length": 10, |
||||||
"length": 10, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
59 |
||||||
59 |
], |
||||||
], |
"starting_column": 33, |
||||||
"starting_column": 33, |
"ending_column": 43 |
||||||
"ending_column": 43 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Variable 'T._myPublicVar' (tests/naming_convention.sol#56) is not in mixedCase\n", |
||||||
"description": "Variable 'T._myPublicVar' (tests/naming_convention.sol#56) is not in mixedCase\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "variable", |
||||||
"target": "variable", |
"convention": "mixedCase", |
||||||
"convention": "mixedCase", |
"name": "_myPublicVar", |
||||||
"name": "_myPublicVar", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 741, |
||||||
"start": 741, |
"length": 17, |
||||||
"length": 17, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
56 |
||||||
56 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 22 |
||||||
"ending_column": 22 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "naming-convention", |
||||||
"check": "naming-convention", |
"impact": "Informational", |
||||||
"impact": "Informational", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Variable 'T.l' (tests/naming_convention.sol#67) used l, O, I, which should not be used\n", |
||||||
"description": "Variable 'T.l' (tests/naming_convention.sol#67) used l, O, I, which should not be used\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"target": "variable", |
||||||
"target": "variable", |
"convention": "l_O_I_should_not_be_used", |
||||||
"convention": "l_O_I_should_not_be_used", |
"name": "l", |
||||||
"name": "l", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 900, |
||||||
"start": 900, |
"length": 10, |
||||||
"length": 10, |
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_relative": "tests/naming_convention.sol", |
||||||
"filename_relative": "tests/naming_convention.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", |
"filename_short": "tests/naming_convention.sol", |
||||||
"filename_short": "tests/naming_convention.sol", |
"lines": [ |
||||||
"lines": [ |
67 |
||||||
67 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 15 |
||||||
"ending_column": 15 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,25 +1,29 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "solc-version", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Detected issues with version pragma in tests/old_solc.sol.json:\n\t- pragma solidity0.4.21 (None): it allows old versions\n", |
"check": "solc-version", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "expression", |
"description": "Detected issues with version pragma in tests/old_solc.sol.json:\n\t- pragma solidity0.4.21 (None): it allows old versions\n", |
||||||
"expression": "0.4.21", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 0, |
"type": "expression", |
||||||
"length": 23, |
"expression": "0.4.21", |
||||||
"filename_used": "old_solc.sol", |
"source_mapping": { |
||||||
"filename_relative": null, |
"start": 0, |
||||||
"filename_absolute": null, |
"length": 23, |
||||||
"filename_short": null, |
"filename_used": "old_solc.sol", |
||||||
"lines": [], |
"filename_relative": null, |
||||||
"starting_column": null, |
"filename_absolute": null, |
||||||
"ending_column": null |
"filename_short": null, |
||||||
|
"lines": [], |
||||||
|
"starting_column": null, |
||||||
|
"ending_column": null |
||||||
|
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,44 +1,48 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "pragma", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.4.23', '^0.4.24']\n\t- tests/pragma.0.4.23.sol#1 declares pragma solidity^0.4.23\n\t- tests/pragma.0.4.24.sol#1 declares pragma solidity^0.4.24\n", |
"check": "pragma", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "expression", |
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.4.23', '^0.4.24']\n\t- tests/pragma.0.4.23.sol#1 declares pragma solidity^0.4.23\n\t- tests/pragma.0.4.24.sol#1 declares pragma solidity^0.4.24\n", |
||||||
"expression": "^0.4.23", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 0, |
"type": "expression", |
||||||
"length": 24, |
"expression": "^0.4.23", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/pragma.0.4.23.sol", |
"start": 0, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol", |
"length": 24, |
||||||
"filename_short": "tests/pragma.0.4.23.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol", |
||||||
"lines": [ |
"filename_relative": "tests/pragma.0.4.23.sol", |
||||||
1 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol", |
||||||
], |
"filename_short": "tests/pragma.0.4.23.sol", |
||||||
"starting_column": 1, |
"lines": [ |
||||||
"ending_column": 25 |
1 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "^0.4.24", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 24, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol", |
||||||
|
"filename_relative": "tests/pragma.0.4.24.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol", |
||||||
|
"filename_short": "tests/pragma.0.4.24.sol", |
||||||
|
"lines": [ |
||||||
|
1 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "^0.4.24", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 0, |
|
||||||
"length": 24, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol", |
|
||||||
"filename_relative": "tests/pragma.0.4.24.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol", |
|
||||||
"filename_short": "tests/pragma.0.4.24.sol", |
|
||||||
"lines": [ |
|
||||||
1 |
|
||||||
], |
|
||||||
"starting_column": 1, |
|
||||||
"ending_column": 25 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,10 +0,0 @@ |
|||||||
Traceback (most recent call last): |
|
||||||
File "/home/monty/Envs/slither/bin/slither", line 11, in <module> |
|
||||||
load_entry_point('slither-analyzer', 'console_scripts', 'slither')() |
|
||||||
File "/home/travis/build/crytic/slither/slither/__main__.py", line 470, in main |
|
||||||
main_impl(all_detector_classes=detectors, all_printer_classes=printers) |
|
||||||
File "/home/travis/build/crytic/slither/slither/__main__.py", line 484, in main_impl |
|
||||||
detector_classes = choose_detectors(args, all_detector_classes) |
|
||||||
File "/home/travis/build/crytic/slither/slither/__main__.py", line 177, in choose_detectors |
|
||||||
raise Exception('Error: {} is not a detector'.format(d)) |
|
||||||
Exception: Error: reentrancy is not a detector |
|
@ -1,9 +1,13 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "rtlo", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "/home/travis/build/crytic/slither/tests/right_to_left_override.sol contains a unicode right-to-left-override character:\n\t- test1(/*A\u202e/*B*/2 , 1/*\u202d\n", |
"check": "rtlo", |
||||||
"elements": [] |
"impact": "High", |
||||||
} |
"confidence": "High", |
||||||
] |
"description": "/home/travis/build/crytic/slither/tests/right_to_left_override.sol contains a unicode right-to-left-override character:\n\t- test1(/*A\u202e/*B*/2 , 1/*\u202d\n", |
||||||
|
"elements": [] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -1,44 +1,48 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "shadowing-abstract", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "DerivedContract.owner (tests/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/shadowing_abstract.sol#2)\n", |
"check": "shadowing-abstract", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "DerivedContract.owner (tests/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/shadowing_abstract.sol#2)\n", |
||||||
"name": "owner", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 92, |
"type": "variable", |
||||||
"length": 13, |
"name": "owner", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_abstract.sol", |
"start": 92, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
"length": 13, |
||||||
"filename_short": "tests/shadowing_abstract.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_abstract.sol", |
||||||
7 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
||||||
], |
"filename_short": "tests/shadowing_abstract.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 18 |
7 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 18 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "owner", |
||||||
|
"source_mapping": { |
||||||
|
"start": 27, |
||||||
|
"length": 13, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
||||||
|
"filename_relative": "tests/shadowing_abstract.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
||||||
|
"filename_short": "tests/shadowing_abstract.sol", |
||||||
|
"lines": [ |
||||||
|
2 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 18 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "variable", |
] |
||||||
"name": "owner", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 27, |
|
||||||
"length": 13, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
|
||||||
"filename_relative": "tests/shadowing_abstract.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", |
|
||||||
"filename_short": "tests/shadowing_abstract.sol", |
|
||||||
"lines": [ |
|
||||||
2 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 18 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,407 +1,411 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "shadowing-builtin", |
"error": null, |
||||||
"impact": "Low", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "BaseContract.blockhash (state variable @ tests/shadowing_builtin_symbols.sol#4) shadows built-in symbol \"blockhash\"\n", |
"check": "shadowing-builtin", |
||||||
"elements": [ |
"impact": "Low", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "BaseContract.blockhash (state variable @ tests/shadowing_builtin_symbols.sol#4) shadows built-in symbol \"blockhash\"\n", |
||||||
"name": "blockhash", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 54, |
"type": "variable", |
||||||
"length": 14, |
"name": "blockhash", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"start": 54, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"length": 14, |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
4 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
], |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 19 |
4 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 19 |
||||||
|
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "BaseContract.now (state variable @ tests/shadowing_builtin_symbols.sol#5) shadows built-in symbol \"now\"\n", |
||||||
"description": "BaseContract.now (state variable @ tests/shadowing_builtin_symbols.sol#5) shadows built-in symbol \"now\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "now", |
||||||
"name": "now", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 74, |
||||||
"start": 74, |
"length": 8, |
||||||
"length": 8, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
5 |
||||||
5 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 13 |
||||||
"ending_column": 13 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "BaseContract.revert (event @ tests/shadowing_builtin_symbols.sol#7) shadows built-in symbol \"revert\"\n", |
||||||
"description": "BaseContract.revert (event @ tests/shadowing_builtin_symbols.sol#7) shadows built-in symbol \"revert\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "function", |
||||||
"type": "function", |
"name": "revert", |
||||||
"name": "revert", |
|
||||||
"source_mapping": { |
|
||||||
"start": 89, |
|
||||||
"length": 29, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"lines": [ |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 34 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "BaseContract", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 89, |
||||||
"length": 94, |
"length": 29, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
7 |
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 34 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "BaseContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 94, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "ExtendedContract.assert (function @ tests/shadowing_builtin_symbols.sol#13-15) shadows built-in symbol \"assert\"\n", |
||||||
"description": "ExtendedContract.assert (function @ tests/shadowing_builtin_symbols.sol#13-15) shadows built-in symbol \"assert\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "function", |
||||||
"type": "function", |
"name": "assert", |
||||||
"name": "assert", |
|
||||||
"source_mapping": { |
|
||||||
"start": 195, |
|
||||||
"length": 64, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"lines": [ |
|
||||||
13, |
|
||||||
14, |
|
||||||
15 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "ExtendedContract", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 122, |
"start": 195, |
||||||
"length": 139, |
"length": 64, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
13, |
||||||
14, |
14, |
||||||
15, |
15 |
||||||
16 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "ExtendedContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 122, |
||||||
|
"length": 139, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"lines": [ |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "ExtendedContract.assert.msg (local variable @ tests/shadowing_builtin_symbols.sol#14) shadows built-in symbol \"msg\"\n", |
||||||
"description": "ExtendedContract.assert.msg (local variable @ tests/shadowing_builtin_symbols.sol#14) shadows built-in symbol \"msg\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "msg", |
||||||
"name": "msg", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 244, |
||||||
"start": 244, |
"length": 8, |
||||||
"length": 8, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
14 |
||||||
14 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 17 |
||||||
"ending_column": 17 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "ExtendedContract.ecrecover (state variable @ tests/shadowing_builtin_symbols.sol#11) shadows built-in symbol \"ecrecover\"\n", |
||||||
"description": "ExtendedContract.ecrecover (state variable @ tests/shadowing_builtin_symbols.sol#11) shadows built-in symbol \"ecrecover\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "ecrecover", |
||||||
"name": "ecrecover", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 170, |
||||||
"start": 170, |
"length": 18, |
||||||
"length": 18, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
11 |
||||||
11 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 23 |
||||||
"ending_column": 23 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.require (modifier @ tests/shadowing_builtin_symbols.sol#23-28) shadows built-in symbol \"require\"\n", |
||||||
"description": "FurtherExtendedContract.require (modifier @ tests/shadowing_builtin_symbols.sol#23-28) shadows built-in symbol \"require\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "function", |
||||||
"type": "function", |
"name": "require", |
||||||
"name": "require", |
|
||||||
"source_mapping": { |
|
||||||
"start": 380, |
|
||||||
"length": 120, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
|
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
|
||||||
"lines": [ |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26, |
|
||||||
27, |
|
||||||
28 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "FurtherExtendedContract", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 263, |
"start": 380, |
||||||
"length": 239, |
"length": 120, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
23, |
||||||
24, |
24, |
||||||
25, |
25, |
||||||
26, |
26, |
||||||
27, |
27, |
||||||
28, |
28 |
||||||
29 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "FurtherExtendedContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 263, |
||||||
|
"length": 239, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
|
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
|
"lines": [ |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27, |
||||||
|
28, |
||||||
|
29 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.require.keccak256 (local variable @ tests/shadowing_builtin_symbols.sol#25) shadows built-in symbol \"keccak256\"\n", |
||||||
"description": "FurtherExtendedContract.require.keccak256 (local variable @ tests/shadowing_builtin_symbols.sol#25) shadows built-in symbol \"keccak256\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "keccak256", |
||||||
"name": "keccak256", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 449, |
||||||
"start": 449, |
"length": 14, |
||||||
"length": 14, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
25 |
||||||
25 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 23 |
||||||
"ending_column": 23 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.require.sha3 (local variable @ tests/shadowing_builtin_symbols.sol#26) shadows built-in symbol \"sha3\"\n", |
||||||
"description": "FurtherExtendedContract.require.sha3 (local variable @ tests/shadowing_builtin_symbols.sol#26) shadows built-in symbol \"sha3\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "sha3", |
||||||
"name": "sha3", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 473, |
||||||
"start": 473, |
"length": 9, |
||||||
"length": 9, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
26 |
||||||
26 |
], |
||||||
], |
"starting_column": 9, |
||||||
"starting_column": 9, |
"ending_column": 18 |
||||||
"ending_column": 18 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.blockhash (state variable @ tests/shadowing_builtin_symbols.sol#19) shadows built-in symbol \"blockhash\"\n", |
||||||
"description": "FurtherExtendedContract.blockhash (state variable @ tests/shadowing_builtin_symbols.sol#19) shadows built-in symbol \"blockhash\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "blockhash", |
||||||
"name": "blockhash", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 322, |
||||||
"start": 322, |
"length": 18, |
||||||
"length": 18, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
19 |
||||||
19 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 23 |
||||||
"ending_column": 23 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.this (state variable @ tests/shadowing_builtin_symbols.sol#20) shadows built-in symbol \"this\"\n", |
||||||
"description": "FurtherExtendedContract.this (state variable @ tests/shadowing_builtin_symbols.sol#20) shadows built-in symbol \"this\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "this", |
||||||
"name": "this", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 346, |
||||||
"start": 346, |
"length": 13, |
||||||
"length": 13, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
20 |
||||||
20 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 18 |
||||||
"ending_column": 18 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.abi (state variable @ tests/shadowing_builtin_symbols.sol#21) shadows built-in symbol \"abi\"\n", |
||||||
"description": "FurtherExtendedContract.abi (state variable @ tests/shadowing_builtin_symbols.sol#21) shadows built-in symbol \"abi\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "abi", |
||||||
"name": "abi", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 365, |
||||||
"start": 365, |
"length": 8, |
||||||
"length": 8, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
21 |
||||||
21 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 13 |
||||||
"ending_column": 13 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-builtin", |
||||||
"check": "shadowing-builtin", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Reserved.mutable (state variable @ tests/shadowing_builtin_symbols.sol#32) shadows built-in symbol \"mutable\"\n", |
||||||
"description": "Reserved.mutable (state variable @ tests/shadowing_builtin_symbols.sol#32) shadows built-in symbol \"mutable\"\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "mutable", |
||||||
"name": "mutable", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 527, |
||||||
"start": 527, |
"length": 15, |
||||||
"length": 15, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_relative": "tests/shadowing_builtin_symbols.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", |
"filename_short": "tests/shadowing_builtin_symbols.sol", |
||||||
"filename_short": "tests/shadowing_builtin_symbols.sol", |
"lines": [ |
||||||
"lines": [ |
32 |
||||||
32 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 20 |
||||||
"ending_column": 20 |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,322 +1,326 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "shadowing-local", |
"error": null, |
||||||
"impact": "Low", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "FurtherExtendedContract.shadowingParent.x (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (state variable @ tests/shadowing_local_variable.sol#17)\n\t- ExtendedContract.x (state variable @ tests/shadowing_local_variable.sol#9)\n\t- BaseContract.x (state variable @ tests/shadowing_local_variable.sol#4)\n", |
"check": "shadowing-local", |
||||||
"elements": [ |
"impact": "Low", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "FurtherExtendedContract.shadowingParent.x (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (state variable @ tests/shadowing_local_variable.sol#17)\n\t- ExtendedContract.x (state variable @ tests/shadowing_local_variable.sol#9)\n\t- BaseContract.x (state variable @ tests/shadowing_local_variable.sol#4)\n", |
||||||
"name": "x", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 376, |
"type": "variable", |
||||||
"length": 6, |
"name": "x", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"start": 376, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"length": 6, |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
25 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
], |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"starting_column": 30, |
"lines": [ |
||||||
"ending_column": 36 |
25 |
||||||
} |
], |
||||||
}, |
"starting_column": 30, |
||||||
{ |
"ending_column": 36 |
||||||
"type": "variable", |
} |
||||||
"name": "x", |
}, |
||||||
"source_mapping": { |
{ |
||||||
"start": 256, |
"type": "variable", |
||||||
"length": 10, |
"name": "x", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"start": 256, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"length": 10, |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
17 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
], |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 15 |
17 |
||||||
} |
], |
||||||
}, |
"starting_column": 5, |
||||||
{ |
"ending_column": 15 |
||||||
"type": "variable", |
} |
||||||
"name": "x", |
}, |
||||||
"source_mapping": { |
{ |
||||||
"start": 133, |
"type": "variable", |
||||||
"length": 10, |
"name": "x", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"start": 133, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"length": 10, |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
9 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
], |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 15 |
9 |
||||||
} |
], |
||||||
}, |
"starting_column": 5, |
||||||
{ |
"ending_column": 15 |
||||||
"type": "variable", |
} |
||||||
"name": "x", |
}, |
||||||
"source_mapping": { |
{ |
||||||
"start": 54, |
"type": "variable", |
||||||
"length": 10, |
"name": "x", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"start": 54, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"length": 10, |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
4 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
], |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 15 |
4 |
||||||
} |
], |
||||||
} |
"starting_column": 5, |
||||||
] |
"ending_column": 15 |
||||||
}, |
} |
||||||
{ |
|
||||||
"check": "shadowing-local", |
|
||||||
"impact": "Low", |
|
||||||
"confidence": "High", |
|
||||||
"description": "FurtherExtendedContract.shadowingParent.y (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (state variable @ tests/shadowing_local_variable.sol#5)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "y", |
|
||||||
"source_mapping": { |
|
||||||
"start": 398, |
|
||||||
"length": 5, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
|
||||||
"lines": [ |
|
||||||
25 |
|
||||||
], |
|
||||||
"starting_column": 52, |
|
||||||
"ending_column": 57 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "y", |
|
||||||
"source_mapping": { |
|
||||||
"start": 70, |
|
||||||
"length": 10, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
|
||||||
"lines": [ |
|
||||||
5 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 15 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "shadowing-local", |
|
||||||
"impact": "Low", |
|
||||||
"confidence": "High", |
|
||||||
"description": "FurtherExtendedContract.shadowingParent.z (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z (function @ tests/shadowing_local_variable.sol#11)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "variable", |
|
||||||
"name": "z", |
|
||||||
"source_mapping": { |
|
||||||
"start": 405, |
|
||||||
"length": 6, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
|
||||||
"lines": [ |
|
||||||
25 |
|
||||||
], |
|
||||||
"starting_column": 59, |
|
||||||
"ending_column": 65 |
|
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
}, |
||||||
"type": "function", |
{ |
||||||
"name": "z", |
"check": "shadowing-local", |
||||||
"source_mapping": { |
"impact": "Low", |
||||||
"start": 150, |
"confidence": "High", |
||||||
"length": 27, |
"description": "FurtherExtendedContract.shadowingParent.y (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (state variable @ tests/shadowing_local_variable.sol#5)\n", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"elements": [ |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
{ |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"type": "variable", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"name": "y", |
||||||
"lines": [ |
"source_mapping": { |
||||||
11 |
"start": 398, |
||||||
], |
"length": 5, |
||||||
"starting_column": 5, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"ending_column": 32 |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 52, |
||||||
|
"ending_column": 57 |
||||||
|
} |
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "variable", |
||||||
"name": "ExtendedContract", |
"name": "y", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 85, |
"start": 70, |
||||||
"length": 110, |
"length": 10, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
8, |
5 |
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 15 |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-local", |
||||||
"check": "shadowing-local", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.shadowingParent.z (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z (function @ tests/shadowing_local_variable.sol#11)\n", |
||||||
"description": "FurtherExtendedContract.shadowingParent.w (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w (modifier @ tests/shadowing_local_variable.sol#20-23)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "z", |
||||||
"name": "w", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 405, |
||||||
"start": 413, |
"length": 6, |
||||||
"length": 6, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"lines": [ |
||||||
"lines": [ |
25 |
||||||
25 |
], |
||||||
], |
"starting_column": 59, |
||||||
"starting_column": 67, |
"ending_column": 65 |
||||||
"ending_column": 73 |
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "z", |
||||||
|
"source_mapping": { |
||||||
|
"start": 150, |
||||||
|
"length": 27, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
11 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 32 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "ExtendedContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 85, |
||||||
|
"length": 110, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
}, |
||||||
"type": "function", |
{ |
||||||
"name": "w", |
"check": "shadowing-local", |
||||||
"source_mapping": { |
"impact": "Low", |
||||||
"start": 274, |
"confidence": "High", |
||||||
"length": 71, |
"description": "FurtherExtendedContract.shadowingParent.w (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w (modifier @ tests/shadowing_local_variable.sol#20-23)\n", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"elements": [ |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
{ |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"type": "variable", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"name": "w", |
||||||
"lines": [ |
"source_mapping": { |
||||||
20, |
"start": 413, |
||||||
21, |
"length": 6, |
||||||
22, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
23 |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
], |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"starting_column": 5, |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"ending_column": 6 |
"lines": [ |
||||||
|
25 |
||||||
|
], |
||||||
|
"starting_column": 67, |
||||||
|
"ending_column": 73 |
||||||
|
} |
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "FurtherExtendedContract", |
"name": "w", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 197, |
"start": 274, |
||||||
"length": 235, |
"length": 71, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
20, |
||||||
21, |
21, |
||||||
22, |
22, |
||||||
23, |
23 |
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "FurtherExtendedContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 197, |
||||||
|
"length": 235, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "shadowing-local", |
||||||
"check": "shadowing-local", |
"impact": "Low", |
||||||
"impact": "Low", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "FurtherExtendedContract.shadowingParent.v (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.v (event @ tests/shadowing_local_variable.sol#13)\n", |
||||||
"description": "FurtherExtendedContract.shadowingParent.v (local variable @ tests/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.v (event @ tests/shadowing_local_variable.sol#13)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "v", |
||||||
"name": "v", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 421, |
||||||
"start": 421, |
"length": 6, |
||||||
"length": 6, |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"lines": [ |
||||||
"lines": [ |
25 |
||||||
25 |
], |
||||||
], |
"starting_column": 75, |
||||||
"starting_column": 75, |
"ending_column": 81 |
||||||
"ending_column": 81 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "v", |
|
||||||
"source_mapping": { |
|
||||||
"start": 183, |
|
||||||
"length": 10, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
|
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
|
||||||
"lines": [ |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 15 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "ExtendedContract", |
"name": "v", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 85, |
"start": 183, |
||||||
"length": 110, |
"length": 10, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_relative": "tests/shadowing_local_variable.sol", |
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
"filename_short": "tests/shadowing_local_variable.sol", |
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
8, |
13 |
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 15 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "ExtendedContract", |
||||||
|
"source_mapping": { |
||||||
|
"start": 85, |
||||||
|
"length": 110, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_relative": "tests/shadowing_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,44 +1,48 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "shadowing-state", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "DerivedContract.owner (tests/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/shadowing_state_variable.sol#2)\n", |
"check": "shadowing-state", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "DerivedContract.owner (tests/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/shadowing_state_variable.sol#2)\n", |
||||||
"name": "owner", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 172, |
"type": "variable", |
||||||
"length": 13, |
"name": "owner", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/shadowing_state_variable.sol", |
"start": 172, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
"length": 13, |
||||||
"filename_short": "tests/shadowing_state_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/shadowing_state_variable.sol", |
||||||
12 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
||||||
], |
"filename_short": "tests/shadowing_state_variable.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 18 |
12 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 18 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "variable", |
||||||
|
"name": "owner", |
||||||
|
"source_mapping": { |
||||||
|
"start": 27, |
||||||
|
"length": 13, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
||||||
|
"filename_relative": "tests/shadowing_state_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
||||||
|
"filename_short": "tests/shadowing_state_variable.sol", |
||||||
|
"lines": [ |
||||||
|
2 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 18 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "variable", |
] |
||||||
"name": "owner", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 27, |
|
||||||
"length": 13, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
|
||||||
"filename_relative": "tests/shadowing_state_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", |
|
||||||
"filename_short": "tests/shadowing_state_variable.sol", |
|
||||||
"lines": [ |
|
||||||
2 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 18 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,44 +1,48 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "solc-version", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Detected issues with version pragma in :\n\t- pragma solidity^0.4.23 (tests/solc_version_incorrect.sol#2): it allows old versions\n\t- pragma solidity>=0.4.0<0.6.0 (tests/solc_version_incorrect.sol#3): it allows old versions\n", |
"check": "solc-version", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "expression", |
"description": "Detected issues with version pragma in :\n\t- pragma solidity^0.4.23 (tests/solc_version_incorrect.sol#2): it allows old versions\n\t- pragma solidity>=0.4.0<0.6.0 (tests/solc_version_incorrect.sol#3): it allows old versions\n", |
||||||
"expression": "^0.4.23", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 63, |
"type": "expression", |
||||||
"length": 24, |
"expression": "^0.4.23", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/solc_version_incorrect.sol", |
"start": 63, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
"length": 24, |
||||||
"filename_short": "tests/solc_version_incorrect.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
||||||
"lines": [ |
"filename_relative": "tests/solc_version_incorrect.sol", |
||||||
2 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
||||||
], |
"filename_short": "tests/solc_version_incorrect.sol", |
||||||
"starting_column": 1, |
"lines": [ |
||||||
"ending_column": 25 |
2 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": ">=0.4.0<0.6.0", |
||||||
|
"source_mapping": { |
||||||
|
"start": 89, |
||||||
|
"length": 31, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
||||||
|
"filename_relative": "tests/solc_version_incorrect.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
||||||
|
"filename_short": "tests/solc_version_incorrect.sol", |
||||||
|
"lines": [ |
||||||
|
3 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 32 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": ">=0.4.0<0.6.0", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 89, |
|
||||||
"length": 31, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
|
||||||
"filename_relative": "tests/solc_version_incorrect.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", |
|
||||||
"filename_short": "tests/solc_version_incorrect.sol", |
|
||||||
"lines": [ |
|
||||||
3 |
|
||||||
], |
|
||||||
"starting_column": 1, |
|
||||||
"ending_column": 32 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,243 +1,247 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "timestamp", |
"error": null, |
||||||
"impact": "Low", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "Timestamp.bad0 (tests/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/timestamp.sol#5)\n", |
"check": "timestamp", |
||||||
"elements": [ |
"impact": "Low", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "Timestamp.bad0 (tests/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/timestamp.sol#5)\n", |
||||||
"name": "bad0", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 47, |
"type": "function", |
||||||
"length": 70, |
"name": "bad0", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_relative": "tests/timestamp.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_short": "tests/timestamp.sol", |
|
||||||
"lines": [ |
|
||||||
4, |
|
||||||
5, |
|
||||||
6 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Timestamp", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 47, |
||||||
"length": 402, |
"length": 70, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_relative": "tests/timestamp.sol", |
"filename_relative": "tests/timestamp.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_short": "tests/timestamp.sol", |
"filename_short": "tests/timestamp.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6 |
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Timestamp", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 402, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "require(bool)(block.timestamp == 0)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 81, |
|
||||||
"length": 29, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_relative": "tests/timestamp.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_short": "tests/timestamp.sol", |
|
||||||
"lines": [ |
|
||||||
5 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 38 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "timestamp", |
|
||||||
"impact": "Low", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Timestamp.bad1 (tests/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/timestamp.sol#10)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "bad1", |
|
||||||
"source_mapping": { |
|
||||||
"start": 126, |
|
||||||
"length": 96, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_relative": "tests/timestamp.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_short": "tests/timestamp.sol", |
|
||||||
"lines": [ |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "Timestamp", |
"expression": "require(bool)(block.timestamp == 0)", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 81, |
||||||
"length": 402, |
"length": 29, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_relative": "tests/timestamp.sol", |
"filename_relative": "tests/timestamp.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_short": "tests/timestamp.sol", |
"filename_short": "tests/timestamp.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
5 |
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 9, |
||||||
"ending_column": 2 |
"ending_column": 38 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
}, |
||||||
"type": "expression", |
{ |
||||||
"expression": "require(bool)(time == 0)", |
"check": "timestamp", |
||||||
"source_mapping": { |
"impact": "Low", |
||||||
"start": 197, |
"confidence": "Medium", |
||||||
"length": 18, |
"description": "Timestamp.bad1 (tests/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/timestamp.sol#10)\n", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"elements": [ |
||||||
"filename_relative": "tests/timestamp.sol", |
{ |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"type": "function", |
||||||
"filename_short": "tests/timestamp.sol", |
"name": "bad1", |
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 27 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "timestamp", |
|
||||||
"impact": "Low", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "Timestamp.bad2 (tests/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/timestamp.sol#14)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "bad2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 231, |
|
||||||
"length": 79, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_relative": "tests/timestamp.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_short": "tests/timestamp.sol", |
|
||||||
"lines": [ |
|
||||||
13, |
|
||||||
14, |
|
||||||
15 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "Timestamp", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 126, |
||||||
"length": 402, |
"length": 96, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_relative": "tests/timestamp.sol", |
"filename_relative": "tests/timestamp.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
"filename_short": "tests/timestamp.sol", |
"filename_short": "tests/timestamp.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
8, |
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11 |
||||||
12, |
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Timestamp", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 402, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "require(bool)(time == 0)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 197, |
||||||
|
"length": 18, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 27 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "timestamp", |
||||||
|
"impact": "Low", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "Timestamp.bad2 (tests/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/timestamp.sol#14)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "bad2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 231, |
||||||
|
"length": 79, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
13, |
13, |
||||||
14, |
14, |
||||||
15, |
15 |
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Timestamp", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 402, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "block.timestamp > 0", |
||||||
|
"source_mapping": { |
||||||
|
"start": 279, |
||||||
|
"length": 24, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_relative": "tests/timestamp.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
||||||
|
"filename_short": "tests/timestamp.sol", |
||||||
|
"lines": [ |
||||||
|
14 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 33 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "block.timestamp > 0", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 279, |
|
||||||
"length": 24, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_relative": "tests/timestamp.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", |
|
||||||
"filename_short": "tests/timestamp.sol", |
|
||||||
"lines": [ |
|
||||||
14 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 33 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,196 +1,200 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "too-many-digits", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "C.f (tests/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001\n\t- x2 = 0x0000000000001\n\t- x3 = 1000000000000000000\n\t- x4 = 100000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
"check": "too-many-digits", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "expression", |
"description": "C.f (tests/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001\n\t- x2 = 0x0000000000001\n\t- x3 = 1000000000000000000\n\t- x4 = 100000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
||||||
"expression": "x1 = 0x000001", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 206, |
"type": "expression", |
||||||
"length": 18, |
"expression": "x1 = 0x000001", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/too_many_digits.sol", |
"start": 206, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"length": 18, |
||||||
"filename_short": "tests/too_many_digits.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
"lines": [ |
"filename_relative": "tests/too_many_digits.sol", |
||||||
10 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
], |
"filename_short": "tests/too_many_digits.sol", |
||||||
"starting_column": 9, |
"lines": [ |
||||||
"ending_column": 27 |
10 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 27 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x2 = 0x0000000000001", |
||||||
|
"source_mapping": { |
||||||
|
"start": 234, |
||||||
|
"length": 25, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
11 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 34 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x3 = 1000000000000000000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 269, |
||||||
|
"length": 29, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
12 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 38 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x4 = 100000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 308, |
||||||
|
"length": 16, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
13 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
}, |
||||||
"type": "expression", |
{ |
||||||
"expression": "x2 = 0x0000000000001", |
"check": "too-many-digits", |
||||||
"source_mapping": { |
"impact": "Informational", |
||||||
"start": 234, |
"confidence": "Medium", |
||||||
"length": 25, |
"description": "C.h (tests/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"elements": [ |
||||||
"filename_relative": "tests/too_many_digits.sol", |
{ |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"type": "expression", |
||||||
"filename_short": "tests/too_many_digits.sol", |
"expression": "x2 = 100000", |
||||||
"lines": [ |
"source_mapping": { |
||||||
11 |
"start": 509, |
||||||
], |
"length": 16, |
||||||
"starting_column": 9, |
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
"ending_column": 34 |
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
22 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 25 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
}, |
||||||
"type": "expression", |
{ |
||||||
"expression": "x3 = 1000000000000000000", |
"check": "too-many-digits", |
||||||
"source_mapping": { |
"impact": "Informational", |
||||||
"start": 269, |
"confidence": "Medium", |
||||||
"length": 29, |
"description": "C.i (tests/too_many_digits.sol#29-33) uses literals with too many digits:\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"elements": [ |
||||||
"filename_relative": "tests/too_many_digits.sol", |
{ |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
"type": "expression", |
||||||
"filename_short": "tests/too_many_digits.sol", |
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
||||||
"lines": [ |
"source_mapping": { |
||||||
12 |
"start": 749, |
||||||
], |
"length": 67, |
||||||
"starting_column": 9, |
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
"ending_column": 38 |
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
31 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 76 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 749, |
||||||
|
"length": 67, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
31 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 76 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 749, |
||||||
|
"length": 67, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
31 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 76 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 749, |
||||||
|
"length": 67, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
31 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 76 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
||||||
|
"source_mapping": { |
||||||
|
"start": 749, |
||||||
|
"length": 67, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_relative": "tests/too_many_digits.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
||||||
|
"filename_short": "tests/too_many_digits.sol", |
||||||
|
"lines": [ |
||||||
|
31 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 76 |
||||||
|
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "x4 = 100000", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 308, |
|
||||||
"length": 16, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
13 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 25 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "too-many-digits", |
|
||||||
"impact": "Informational", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "C.h (tests/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 100000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 509, |
|
||||||
"length": 16, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
22 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 25 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "too-many-digits", |
|
||||||
"impact": "Informational", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "C.i (tests/too_many_digits.sol#29-33) uses literals with too many digits:\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\t- x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000\n\tUse the proper denomination (ether-unit, time-unit,or the scientific notation\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 749, |
|
||||||
"length": 67, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
31 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 76 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 749, |
|
||||||
"length": 67, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
31 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 76 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 749, |
|
||||||
"length": 67, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
31 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 76 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 749, |
|
||||||
"length": 67, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
31 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 76 |
|
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "x2 = 1000000000000 + 10000000000000 + 100000000000000 + 1000000000000000 + 10000000000000000", |
|
||||||
"source_mapping": { |
|
||||||
"start": 749, |
|
||||||
"length": 67, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_relative": "tests/too_many_digits.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", |
|
||||||
"filename_short": "tests/too_many_digits.sol", |
|
||||||
"lines": [ |
|
||||||
31 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 76 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,174 +1,178 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "tx-origin", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "TxOrigin.bug0 uses tx.origin for authorization:\n\t- require(bool)(tx.origin == owner) (tests/tx_origin-0.5.1.sol#10)\n", |
"check": "tx-origin", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "TxOrigin.bug0 uses tx.origin for authorization:\n\t- require(bool)(tx.origin == owner) (tests/tx_origin-0.5.1.sol#10)\n", |
||||||
"name": "bug0", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 127, |
"type": "function", |
||||||
"length": 66, |
"name": "bug0", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
9, |
|
||||||
10, |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "TxOrigin", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 25, |
"start": 127, |
||||||
"length": 442, |
"length": 66, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11 |
||||||
12, |
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "TxOrigin", |
||||||
|
"source_mapping": { |
||||||
|
"start": 25, |
||||||
|
"length": 442, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "require(bool)(tx.origin == owner)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 159, |
||||||
|
"length": 27, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 36 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "tx-origin", |
||||||
|
"impact": "Medium", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "TxOrigin.bug2 uses tx.origin for authorization:\n\t- tx.origin != owner (tests/tx_origin-0.5.1.sol#14-16)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "bug2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 199, |
||||||
|
"length": 95, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
13, |
13, |
||||||
14, |
14, |
||||||
15, |
15, |
||||||
16, |
16, |
||||||
17, |
17 |
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "TxOrigin", |
||||||
|
"source_mapping": { |
||||||
|
"start": 25, |
||||||
|
"length": 442, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
|
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "require(bool)(tx.origin == owner)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 159, |
|
||||||
"length": 27, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 36 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "tx-origin", |
|
||||||
"impact": "Medium", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "TxOrigin.bug2 uses tx.origin for authorization:\n\t- tx.origin != owner (tests/tx_origin-0.5.1.sol#14-16)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "bug2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 199, |
|
||||||
"length": 95, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "TxOrigin", |
"expression": "tx.origin != owner", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 25, |
"start": 231, |
||||||
"length": 442, |
"length": 57, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
"filename_relative": "tests/tx_origin-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
"filename_short": "tests/tx_origin-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
14, |
||||||
15, |
15, |
||||||
16, |
16 |
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 9, |
||||||
"ending_column": 2 |
"ending_column": 10 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "tx.origin != owner", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 231, |
|
||||||
"length": 57, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_relative": "tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", |
|
||||||
"filename_short": "tests/tx_origin-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 10 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,174 +1,178 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "tx-origin", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "TxOrigin.bug0 uses tx.origin for authorization:\n\t- require(bool)(tx.origin == owner) (tests/tx_origin.sol#10)\n", |
"check": "tx-origin", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "function", |
"description": "TxOrigin.bug0 uses tx.origin for authorization:\n\t- require(bool)(tx.origin == owner) (tests/tx_origin.sol#10)\n", |
||||||
"name": "bug0", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 116, |
"type": "function", |
||||||
"length": 60, |
"name": "bug0", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_relative": "tests/tx_origin.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_short": "tests/tx_origin.sol", |
|
||||||
"lines": [ |
|
||||||
9, |
|
||||||
10, |
|
||||||
11 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
|
||||||
"contract": { |
|
||||||
"type": "contract", |
|
||||||
"name": "TxOrigin", |
|
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 28, |
"start": 116, |
||||||
"length": 393, |
"length": 60, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
"filename_relative": "tests/tx_origin.sol", |
"filename_relative": "tests/tx_origin.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
"filename_short": "tests/tx_origin.sol", |
"filename_short": "tests/tx_origin.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11 |
||||||
12, |
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "TxOrigin", |
||||||
|
"source_mapping": { |
||||||
|
"start": 28, |
||||||
|
"length": 393, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_relative": "tests/tx_origin.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_short": "tests/tx_origin.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"type": "expression", |
||||||
|
"expression": "require(bool)(tx.origin == owner)", |
||||||
|
"source_mapping": { |
||||||
|
"start": 142, |
||||||
|
"length": 27, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_relative": "tests/tx_origin.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_short": "tests/tx_origin.sol", |
||||||
|
"lines": [ |
||||||
|
10 |
||||||
|
], |
||||||
|
"starting_column": 9, |
||||||
|
"ending_column": 36 |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"check": "tx-origin", |
||||||
|
"impact": "Medium", |
||||||
|
"confidence": "Medium", |
||||||
|
"description": "TxOrigin.bug2 uses tx.origin for authorization:\n\t- tx.origin != owner (tests/tx_origin.sol#14-16)\n", |
||||||
|
"elements": [ |
||||||
|
{ |
||||||
|
"type": "function", |
||||||
|
"name": "bug2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 182, |
||||||
|
"length": 89, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_relative": "tests/tx_origin.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_short": "tests/tx_origin.sol", |
||||||
|
"lines": [ |
||||||
13, |
13, |
||||||
14, |
14, |
||||||
15, |
15, |
||||||
16, |
16, |
||||||
17, |
17 |
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "TxOrigin", |
||||||
|
"source_mapping": { |
||||||
|
"start": 28, |
||||||
|
"length": 393, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_relative": "tests/tx_origin.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
|
"filename_short": "tests/tx_origin.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "expression", |
|
||||||
"expression": "require(bool)(tx.origin == owner)", |
|
||||||
"source_mapping": { |
|
||||||
"start": 142, |
|
||||||
"length": 27, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_relative": "tests/tx_origin.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_short": "tests/tx_origin.sol", |
|
||||||
"lines": [ |
|
||||||
10 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 36 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
}, |
|
||||||
{ |
|
||||||
"check": "tx-origin", |
|
||||||
"impact": "Medium", |
|
||||||
"confidence": "Medium", |
|
||||||
"description": "TxOrigin.bug2 uses tx.origin for authorization:\n\t- tx.origin != owner (tests/tx_origin.sol#14-16)\n", |
|
||||||
"elements": [ |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "bug2", |
|
||||||
"source_mapping": { |
|
||||||
"start": 182, |
|
||||||
"length": 89, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_relative": "tests/tx_origin.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_short": "tests/tx_origin.sol", |
|
||||||
"lines": [ |
|
||||||
13, |
|
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "expression", |
||||||
"name": "TxOrigin", |
"expression": "tx.origin != owner", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 28, |
"start": 208, |
||||||
"length": 393, |
"length": 57, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
"filename_relative": "tests/tx_origin.sol", |
"filename_relative": "tests/tx_origin.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
||||||
"filename_short": "tests/tx_origin.sol", |
"filename_short": "tests/tx_origin.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12, |
|
||||||
13, |
|
||||||
14, |
14, |
||||||
15, |
15, |
||||||
16, |
16 |
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 9, |
||||||
"ending_column": 2 |
"ending_column": 10 |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
] |
||||||
{ |
} |
||||||
"type": "expression", |
] |
||||||
"expression": "tx.origin != owner", |
} |
||||||
"source_mapping": { |
|
||||||
"start": 208, |
|
||||||
"length": 57, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_relative": "tests/tx_origin.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", |
|
||||||
"filename_short": "tests/tx_origin.sol", |
|
||||||
"lines": [ |
|
||||||
14, |
|
||||||
15, |
|
||||||
16 |
|
||||||
], |
|
||||||
"starting_column": 9, |
|
||||||
"ending_column": 10 |
|
||||||
} |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
] |
|
@ -1,301 +1,305 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "uninitialized-state", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Uninitialized.destination (tests/uninitialized-0.5.1.sol#5) is never initialized. It is used in:\n\t- transfer (tests/uninitialized-0.5.1.sol#7-9)\n", |
"check": "uninitialized-state", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "Uninitialized.destination (tests/uninitialized-0.5.1.sol#5) is never initialized. It is used in:\n\t- transfer (tests/uninitialized-0.5.1.sol#7-9)\n", |
||||||
"name": "destination", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 54, |
"type": "variable", |
||||||
"length": 27, |
"name": "destination", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"start": 54, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"length": 27, |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"lines": [ |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
5 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
], |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 32 |
5 |
||||||
} |
], |
||||||
}, |
"starting_column": 5, |
||||||
{ |
"ending_column": 32 |
||||||
"type": "function", |
} |
||||||
"name": "transfer", |
|
||||||
"source_mapping": { |
|
||||||
"start": 88, |
|
||||||
"length": 82, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
7, |
|
||||||
8, |
|
||||||
9 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Uninitialized", |
"name": "transfer", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 25, |
"start": 88, |
||||||
"length": 148, |
"length": 82, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
7, |
||||||
8, |
8, |
||||||
9, |
9 |
||||||
10, |
|
||||||
11 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Uninitialized", |
||||||
|
"source_mapping": { |
||||||
|
"start": 25, |
||||||
|
"length": 148, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test.balances (tests/uninitialized-0.5.1.sol#15) is never initialized. It is used in:\n\t- use (tests/uninitialized-0.5.1.sol#23-26)\n", |
||||||
"description": "Test.balances (tests/uninitialized-0.5.1.sol#15) is never initialized. It is used in:\n\t- use (tests/uninitialized-0.5.1.sol#23-26)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "balances", |
||||||
"name": "balances", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 196, |
||||||
"start": 196, |
"length": 34, |
||||||
"length": 34, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"lines": [ |
||||||
"lines": [ |
15 |
||||||
15 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 39 |
||||||
"ending_column": 39 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "use", |
|
||||||
"source_mapping": { |
|
||||||
"start": 369, |
|
||||||
"length": 154, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test", |
"name": "use", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 176, |
"start": 369, |
||||||
"length": 349, |
"length": 154, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
23, |
||||||
24, |
24, |
||||||
25, |
25, |
||||||
26, |
26 |
||||||
27 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 176, |
||||||
|
"length": 349, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test2.st (tests/uninitialized-0.5.1.sol#45) is never initialized. It is used in:\n\t- use (tests/uninitialized-0.5.1.sol#53-56)\n", |
||||||
"description": "Test2.st (tests/uninitialized-0.5.1.sol#45) is never initialized. It is used in:\n\t- use (tests/uninitialized-0.5.1.sol#53-56)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "st", |
||||||
"name": "st", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 726, |
||||||
"start": 726, |
"length": 15, |
||||||
"length": 15, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"lines": [ |
||||||
"lines": [ |
45 |
||||||
45 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 20 |
||||||
"ending_column": 20 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "use", |
|
||||||
"source_mapping": { |
|
||||||
"start": 913, |
|
||||||
"length": 129, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
53, |
|
||||||
54, |
|
||||||
55, |
|
||||||
56 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test2", |
"name": "use", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 672, |
"start": 913, |
||||||
"length": 373, |
"length": 129, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
42, |
|
||||||
43, |
|
||||||
44, |
|
||||||
45, |
|
||||||
46, |
|
||||||
47, |
|
||||||
48, |
|
||||||
49, |
|
||||||
50, |
|
||||||
51, |
|
||||||
52, |
|
||||||
53, |
53, |
||||||
54, |
54, |
||||||
55, |
55, |
||||||
56, |
56 |
||||||
57, |
|
||||||
58 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 672, |
||||||
|
"length": 373, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
42, |
||||||
|
43, |
||||||
|
44, |
||||||
|
45, |
||||||
|
46, |
||||||
|
47, |
||||||
|
48, |
||||||
|
49, |
||||||
|
50, |
||||||
|
51, |
||||||
|
52, |
||||||
|
53, |
||||||
|
54, |
||||||
|
55, |
||||||
|
56, |
||||||
|
57, |
||||||
|
58 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test2.v (tests/uninitialized-0.5.1.sol#47) is never initialized. It is used in:\n\t- init (tests/uninitialized-0.5.1.sol#49-51)\n", |
||||||
"description": "Test2.v (tests/uninitialized-0.5.1.sol#47) is never initialized. It is used in:\n\t- init (tests/uninitialized-0.5.1.sol#49-51)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "v", |
||||||
"name": "v", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 779, |
||||||
"start": 779, |
"length": 6, |
||||||
"length": 6, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"lines": [ |
||||||
"lines": [ |
47 |
||||||
47 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 11 |
||||||
"ending_column": 11 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "init", |
|
||||||
"source_mapping": { |
|
||||||
"start": 848, |
|
||||||
"length": 59, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
|
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
|
||||||
"lines": [ |
|
||||||
49, |
|
||||||
50, |
|
||||||
51 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test2", |
"name": "init", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 672, |
"start": 848, |
||||||
"length": 373, |
"length": 59, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_relative": "tests/uninitialized-0.5.1.sol", |
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
"filename_short": "tests/uninitialized-0.5.1.sol", |
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
42, |
|
||||||
43, |
|
||||||
44, |
|
||||||
45, |
|
||||||
46, |
|
||||||
47, |
|
||||||
48, |
|
||||||
49, |
49, |
||||||
50, |
50, |
||||||
51, |
51 |
||||||
52, |
|
||||||
53, |
|
||||||
54, |
|
||||||
55, |
|
||||||
56, |
|
||||||
57, |
|
||||||
58 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 672, |
||||||
|
"length": 373, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_relative": "tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", |
||||||
|
"filename_short": "tests/uninitialized-0.5.1.sol", |
||||||
|
"lines": [ |
||||||
|
42, |
||||||
|
43, |
||||||
|
44, |
||||||
|
45, |
||||||
|
46, |
||||||
|
47, |
||||||
|
48, |
||||||
|
49, |
||||||
|
50, |
||||||
|
51, |
||||||
|
52, |
||||||
|
53, |
||||||
|
54, |
||||||
|
55, |
||||||
|
56, |
||||||
|
57, |
||||||
|
58 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,301 +1,305 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "uninitialized-state", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "Uninitialized.destination (tests/uninitialized.sol#5) is never initialized. It is used in:\n\t- transfer (tests/uninitialized.sol#7-9)\n", |
"check": "uninitialized-state", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "Uninitialized.destination (tests/uninitialized.sol#5) is never initialized. It is used in:\n\t- transfer (tests/uninitialized.sol#7-9)\n", |
||||||
"name": "destination", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 55, |
"type": "variable", |
||||||
"length": 19, |
"name": "destination", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/uninitialized.sol", |
"start": 55, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"length": 19, |
||||||
"filename_short": "tests/uninitialized.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"lines": [ |
"filename_relative": "tests/uninitialized.sol", |
||||||
5 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
], |
"filename_short": "tests/uninitialized.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 24 |
5 |
||||||
} |
], |
||||||
}, |
"starting_column": 5, |
||||||
{ |
"ending_column": 24 |
||||||
"type": "function", |
} |
||||||
"name": "transfer", |
|
||||||
"source_mapping": { |
|
||||||
"start": 81, |
|
||||||
"length": 82, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_relative": "tests/uninitialized.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_short": "tests/uninitialized.sol", |
|
||||||
"lines": [ |
|
||||||
7, |
|
||||||
8, |
|
||||||
9 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Uninitialized", |
"name": "transfer", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 26, |
"start": 81, |
||||||
"length": 140, |
"length": 82, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
7, |
||||||
8, |
8, |
||||||
9, |
9 |
||||||
10, |
|
||||||
11 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Uninitialized", |
||||||
|
"source_mapping": { |
||||||
|
"start": 26, |
||||||
|
"length": 140, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_relative": "tests/uninitialized.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_short": "tests/uninitialized.sol", |
||||||
|
"lines": [ |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test.balances (tests/uninitialized.sol#15) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#23-26)\n", |
||||||
"description": "Test.balances (tests/uninitialized.sol#15) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#23-26)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "balances", |
||||||
"name": "balances", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 189, |
||||||
"start": 189, |
"length": 34, |
||||||
"length": 34, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"lines": [ |
||||||
"lines": [ |
15 |
||||||
15 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 39 |
||||||
"ending_column": 39 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "use", |
|
||||||
"source_mapping": { |
|
||||||
"start": 356, |
|
||||||
"length": 143, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_relative": "tests/uninitialized.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_short": "tests/uninitialized.sol", |
|
||||||
"lines": [ |
|
||||||
23, |
|
||||||
24, |
|
||||||
25, |
|
||||||
26 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test", |
"name": "use", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 169, |
"start": 356, |
||||||
"length": 332, |
"length": 143, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
14, |
|
||||||
15, |
|
||||||
16, |
|
||||||
17, |
|
||||||
18, |
|
||||||
19, |
|
||||||
20, |
|
||||||
21, |
|
||||||
22, |
|
||||||
23, |
23, |
||||||
24, |
24, |
||||||
25, |
25, |
||||||
26, |
26 |
||||||
27 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test", |
||||||
|
"source_mapping": { |
||||||
|
"start": 169, |
||||||
|
"length": 332, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_relative": "tests/uninitialized.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_short": "tests/uninitialized.sol", |
||||||
|
"lines": [ |
||||||
|
14, |
||||||
|
15, |
||||||
|
16, |
||||||
|
17, |
||||||
|
18, |
||||||
|
19, |
||||||
|
20, |
||||||
|
21, |
||||||
|
22, |
||||||
|
23, |
||||||
|
24, |
||||||
|
25, |
||||||
|
26, |
||||||
|
27 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test2.st (tests/uninitialized.sol#45) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#53-56)\n", |
||||||
"description": "Test2.st (tests/uninitialized.sol#45) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#53-56)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "st", |
||||||
"name": "st", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 695, |
||||||
"start": 695, |
"length": 15, |
||||||
"length": 15, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"lines": [ |
||||||
"lines": [ |
45 |
||||||
45 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 20 |
||||||
"ending_column": 20 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "use", |
|
||||||
"source_mapping": { |
|
||||||
"start": 875, |
|
||||||
"length": 117, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_relative": "tests/uninitialized.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_short": "tests/uninitialized.sol", |
|
||||||
"lines": [ |
|
||||||
53, |
|
||||||
54, |
|
||||||
55, |
|
||||||
56 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test2", |
"name": "use", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 641, |
"start": 875, |
||||||
"length": 354, |
"length": 117, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
42, |
|
||||||
43, |
|
||||||
44, |
|
||||||
45, |
|
||||||
46, |
|
||||||
47, |
|
||||||
48, |
|
||||||
49, |
|
||||||
50, |
|
||||||
51, |
|
||||||
52, |
|
||||||
53, |
53, |
||||||
54, |
54, |
||||||
55, |
55, |
||||||
56, |
56 |
||||||
57, |
|
||||||
58 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 641, |
||||||
|
"length": 354, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_relative": "tests/uninitialized.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_short": "tests/uninitialized.sol", |
||||||
|
"lines": [ |
||||||
|
42, |
||||||
|
43, |
||||||
|
44, |
||||||
|
45, |
||||||
|
46, |
||||||
|
47, |
||||||
|
48, |
||||||
|
49, |
||||||
|
50, |
||||||
|
51, |
||||||
|
52, |
||||||
|
53, |
||||||
|
54, |
||||||
|
55, |
||||||
|
56, |
||||||
|
57, |
||||||
|
58 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
}, |
||||||
}, |
{ |
||||||
{ |
"check": "uninitialized-state", |
||||||
"check": "uninitialized-state", |
"impact": "High", |
||||||
"impact": "High", |
"confidence": "High", |
||||||
"confidence": "High", |
"description": "Test2.v (tests/uninitialized.sol#47) is never initialized. It is used in:\n\t- init (tests/uninitialized.sol#49-51)\n", |
||||||
"description": "Test2.v (tests/uninitialized.sol#47) is never initialized. It is used in:\n\t- init (tests/uninitialized.sol#49-51)\n", |
"elements": [ |
||||||
"elements": [ |
{ |
||||||
{ |
"type": "variable", |
||||||
"type": "variable", |
"name": "v", |
||||||
"name": "v", |
"source_mapping": { |
||||||
"source_mapping": { |
"start": 748, |
||||||
"start": 748, |
"length": 6, |
||||||
"length": 6, |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"lines": [ |
||||||
"lines": [ |
47 |
||||||
47 |
], |
||||||
], |
"starting_column": 5, |
||||||
"starting_column": 5, |
"ending_column": 11 |
||||||
"ending_column": 11 |
} |
||||||
} |
|
||||||
}, |
|
||||||
{ |
|
||||||
"type": "function", |
|
||||||
"name": "init", |
|
||||||
"source_mapping": { |
|
||||||
"start": 817, |
|
||||||
"length": 52, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_relative": "tests/uninitialized.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
|
||||||
"filename_short": "tests/uninitialized.sol", |
|
||||||
"lines": [ |
|
||||||
49, |
|
||||||
50, |
|
||||||
51 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Test2", |
"name": "init", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 641, |
"start": 817, |
||||||
"length": 354, |
"length": 52, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_relative": "tests/uninitialized.sol", |
"filename_relative": "tests/uninitialized.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
"filename_short": "tests/uninitialized.sol", |
"filename_short": "tests/uninitialized.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
42, |
|
||||||
43, |
|
||||||
44, |
|
||||||
45, |
|
||||||
46, |
|
||||||
47, |
|
||||||
48, |
|
||||||
49, |
49, |
||||||
50, |
50, |
||||||
51, |
51 |
||||||
52, |
|
||||||
53, |
|
||||||
54, |
|
||||||
55, |
|
||||||
56, |
|
||||||
57, |
|
||||||
58 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Test2", |
||||||
|
"source_mapping": { |
||||||
|
"start": 641, |
||||||
|
"length": 354, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_relative": "tests/uninitialized.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", |
||||||
|
"filename_short": "tests/uninitialized.sol", |
||||||
|
"lines": [ |
||||||
|
42, |
||||||
|
43, |
||||||
|
44, |
||||||
|
45, |
||||||
|
46, |
||||||
|
47, |
||||||
|
48, |
||||||
|
49, |
||||||
|
50, |
||||||
|
51, |
||||||
|
52, |
||||||
|
53, |
||||||
|
54, |
||||||
|
55, |
||||||
|
56, |
||||||
|
57, |
||||||
|
58 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,73 +1,77 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "uninitialized-local", |
"error": null, |
||||||
"impact": "Medium", |
"results": [ |
||||||
"confidence": "Medium", |
{ |
||||||
"description": "uint_not_init in Uninitialized.func (tests/uninitialized_local_variable.sol#4) is a local variable never initialiazed\n", |
"check": "uninitialized-local", |
||||||
"elements": [ |
"impact": "Medium", |
||||||
{ |
"confidence": "Medium", |
||||||
"type": "variable", |
"description": "uint_not_init in Uninitialized.func (tests/uninitialized_local_variable.sol#4) is a local variable never initialiazed\n", |
||||||
"name": "uint_not_init", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 77, |
"type": "variable", |
||||||
"length": 18, |
"name": "uint_not_init", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/uninitialized_local_variable.sol", |
"start": 77, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
"length": 18, |
||||||
"filename_short": "tests/uninitialized_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
"lines": [ |
"filename_relative": "tests/uninitialized_local_variable.sol", |
||||||
4 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
], |
"filename_short": "tests/uninitialized_local_variable.sol", |
||||||
"starting_column": 9, |
"lines": [ |
||||||
"ending_column": 27 |
4 |
||||||
} |
], |
||||||
}, |
"starting_column": 9, |
||||||
{ |
"ending_column": 27 |
||||||
"type": "function", |
} |
||||||
"name": "func", |
|
||||||
"source_mapping": { |
|
||||||
"start": 29, |
|
||||||
"length": 143, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
|
||||||
"filename_relative": "tests/uninitialized_local_variable.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
|
||||||
"filename_short": "tests/uninitialized_local_variable.sol", |
|
||||||
"lines": [ |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Uninitialized", |
"name": "func", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 29, |
||||||
"length": 179, |
"length": 143, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
"filename_relative": "tests/uninitialized_local_variable.sol", |
"filename_relative": "tests/uninitialized_local_variable.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
"filename_short": "tests/uninitialized_local_variable.sol", |
"filename_short": "tests/uninitialized_local_variable.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
3, |
||||||
4, |
4, |
||||||
5, |
5, |
||||||
6, |
6, |
||||||
7, |
7 |
||||||
8, |
|
||||||
9 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Uninitialized", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 179, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
|
"filename_relative": "tests/uninitialized_local_variable.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", |
||||||
|
"filename_short": "tests/uninitialized_local_variable.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,79 +1,83 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "uninitialized-storage", |
"error": null, |
||||||
"impact": "High", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "st_bug in Uninitialized.func (tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialiazed\n", |
"check": "uninitialized-storage", |
||||||
"elements": [ |
"impact": "High", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "st_bug in Uninitialized.func (tests/uninitialized_storage_pointer.sol#10) is a storage variable never initialiazed\n", |
||||||
"name": "st_bug", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 171, |
"type": "variable", |
||||||
"length": 9, |
"name": "st_bug", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
"start": 171, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
"length": 9, |
||||||
"filename_short": "tests/uninitialized_storage_pointer.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
"lines": [ |
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
||||||
10 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
], |
"filename_short": "tests/uninitialized_storage_pointer.sol", |
||||||
"starting_column": 9, |
"lines": [ |
||||||
"ending_column": 18 |
10 |
||||||
} |
], |
||||||
}, |
"starting_column": 9, |
||||||
{ |
"ending_column": 18 |
||||||
"type": "function", |
} |
||||||
"name": "func", |
|
||||||
"source_mapping": { |
|
||||||
"start": 67, |
|
||||||
"length": 143, |
|
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
|
||||||
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
|
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
|
||||||
"filename_short": "tests/uninitialized_storage_pointer.sol", |
|
||||||
"lines": [ |
|
||||||
7, |
|
||||||
8, |
|
||||||
9, |
|
||||||
10, |
|
||||||
11, |
|
||||||
12 |
|
||||||
], |
|
||||||
"starting_column": 5, |
|
||||||
"ending_column": 6 |
|
||||||
}, |
}, |
||||||
"contract": { |
{ |
||||||
"type": "contract", |
"type": "function", |
||||||
"name": "Uninitialized", |
"name": "func", |
||||||
"source_mapping": { |
"source_mapping": { |
||||||
"start": 0, |
"start": 67, |
||||||
"length": 217, |
"length": 143, |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
"filename_short": "tests/uninitialized_storage_pointer.sol", |
"filename_short": "tests/uninitialized_storage_pointer.sol", |
||||||
"lines": [ |
"lines": [ |
||||||
1, |
|
||||||
2, |
|
||||||
3, |
|
||||||
4, |
|
||||||
5, |
|
||||||
6, |
|
||||||
7, |
7, |
||||||
8, |
8, |
||||||
9, |
9, |
||||||
10, |
10, |
||||||
11, |
11, |
||||||
12, |
12 |
||||||
13, |
|
||||||
14 |
|
||||||
], |
], |
||||||
"starting_column": 1, |
"starting_column": 5, |
||||||
"ending_column": 2 |
"ending_column": 6 |
||||||
|
}, |
||||||
|
"contract": { |
||||||
|
"type": "contract", |
||||||
|
"name": "Uninitialized", |
||||||
|
"source_mapping": { |
||||||
|
"start": 0, |
||||||
|
"length": 217, |
||||||
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
|
"filename_relative": "tests/uninitialized_storage_pointer.sol", |
||||||
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", |
||||||
|
"filename_short": "tests/uninitialized_storage_pointer.sol", |
||||||
|
"lines": [ |
||||||
|
1, |
||||||
|
2, |
||||||
|
3, |
||||||
|
4, |
||||||
|
5, |
||||||
|
6, |
||||||
|
7, |
||||||
|
8, |
||||||
|
9, |
||||||
|
10, |
||||||
|
11, |
||||||
|
12, |
||||||
|
13, |
||||||
|
14 |
||||||
|
], |
||||||
|
"starting_column": 1, |
||||||
|
"ending_column": 2 |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
@ -1,27 +1,31 @@ |
|||||||
[ |
{ |
||||||
{ |
"success": true, |
||||||
"check": "unused-state", |
"error": null, |
||||||
"impact": "Informational", |
"results": [ |
||||||
"confidence": "High", |
{ |
||||||
"description": "A.unused (tests/unused_state.sol#4) is never used in B\n", |
"check": "unused-state", |
||||||
"elements": [ |
"impact": "Informational", |
||||||
{ |
"confidence": "High", |
||||||
"type": "variable", |
"description": "A.unused (tests/unused_state.sol#4) is never used in B\n", |
||||||
"name": "unused", |
"elements": [ |
||||||
"source_mapping": { |
{ |
||||||
"start": 44, |
"type": "variable", |
||||||
"length": 14, |
"name": "unused", |
||||||
"filename_used": "/home/travis/build/crytic/slither/tests/unused_state.sol", |
"source_mapping": { |
||||||
"filename_relative": "tests/unused_state.sol", |
"start": 44, |
||||||
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", |
"length": 14, |
||||||
"filename_short": "tests/unused_state.sol", |
"filename_used": "/home/travis/build/crytic/slither/tests/unused_state.sol", |
||||||
"lines": [ |
"filename_relative": "tests/unused_state.sol", |
||||||
4 |
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", |
||||||
], |
"filename_short": "tests/unused_state.sol", |
||||||
"starting_column": 5, |
"lines": [ |
||||||
"ending_column": 19 |
4 |
||||||
|
], |
||||||
|
"starting_column": 5, |
||||||
|
"ending_column": 19 |
||||||
|
} |
||||||
} |
} |
||||||
} |
] |
||||||
] |
} |
||||||
} |
] |
||||||
] |
} |
Loading…
Reference in new issue