[Bug]: function parameters amount error #166
Labels
A-symbolic-execution
Area: symbolic execution
C-decompile
Command: decompile
D-hard
Difficulty: hard
P-normal
Priority: normal
T-bug
Type: bug
Component
Decompile Module
Version
0.6.4
Please check the following
Operating System
Linux
Command used to produce the issue
heimdall decompile 0x05f016765c6C601fd05a10dBa1AbE21a04F924A5 -vvv -d --include-sol --skip-resolving
Describe the issue you are facing
this is heimdall decompiled result which is wrong
/// @Custom:selector 0xf6ebebbb
/// @Custom:name Unresolved_f6ebebbb
/// @param arg0 ["bytes", "uint256", "int256", "string", "bytes32", "uint", "int"]
/// @param arg1 ["bytes", "uint256", "int256", "string", "bytes32", "uint", "int"]
/// @param arg2 ["address", "bytes", "bytes20", "bytes32", "int", "int160", "int256", "string", "uint", "uint160", "uint256"]
/// @param arg3 ["address", "bytes", "bytes20", "bytes32", "int", "int160", "int256", "string", "uint", "uint160", "uint256"]
function Unresolved_f6ebebbb(bytes memory arg0, bytes memory arg1, address arg2, address arg3) public pure {
require(arg2 == (address(arg2)));
if (arg3 == (address(arg3))) {
}
}
this is from https://contract-library.com/ethereum/address/0x05f016765c6c601fd05a10dba1abe21a04f924a5/decompiled which is correct:
function 0xf6ebebbb(uint256 varg0, uint256 varg1, address varg2, address varg3, address varg4, uint32 varg5, uint128 varg6) public nonPayable {
require(msg.data.length - 4 >= 224);
require(varg2 == varg2);
require(varg3 == varg3);
require(varg4 == varg4);
require(varg5 == varg5);
require(varg6 == varg6);
v0 = 0x1ed2(varg6, varg5, varg4, varg3, varg2, varg1, varg0);
return v0;
}
The text was updated successfully, but these errors were encountered: