@ -3,20 +3,184 @@
"check" : "erc20-interface" ,
"impact" : "Medium" ,
"confidence" : "High" ,
"description" : "Token (tests/incorrect_erc20_interface.sol#3-7 ) has incorrect ERC20 function interface(s):\n\t-transfer (tests/incorrect_erc20_interface.sol#5)\n" ,
"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" ,
"elements" : [
{
"type" : "function" ,
"name" : "allowance" ,
"source_mapping" : {
"start" : 319 ,
"length" : 60 ,
"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" : {
"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" ,
"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" ,
"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" ,
"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" : 47 ,
"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" : [
5
4
] ,
"starting_column" : 5 ,
"ending_column" : 56
@ -26,7 +190,7 @@
"name" : "Token" ,
"source_mapping" : {
"start" : 26 ,
"length" : 7 5,
"length" : 35 5,
"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" ,
@ -36,7 +200,51 @@
4 ,
5 ,
6 ,
7
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" ,
"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