Consensys / vscode-solidity-auditor

Solidity language support and visual security auditor for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=tintinweb.solidity-visual-auditor
GNU General Public License v3.0
578 stars 60 forks source link

error: invalid `funcSig` output for solidity functions containing `uint` type #27

Closed alesanro closed 5 years ago

alesanro commented 5 years ago

There is an invalid hash of signature function calculation for uint types.

The next function has a signature provideAccess(address[],uint256[],bytes32,bytes)

function provideAccess(address[] _addresses, uint[] _amounts, bytes32 _key, bytes _info) public {
// ...
}

Then it should have the next hash:

> require("web3-utils").soliditySha3("provideAccess(address[],uint256[],bytes32,bytes)").slice(0, 10)

'0x745ca7ea'

but funcSig command returns like:

> require("web3-utils").soliditySha3("provideAccess(address[],uint[],bytes32,bytes)").slice(0, 10)

'0xb196df14'
tintinweb commented 5 years ago

thank you @alesanro! going to merge it in a second and also fix that functions w/o arguments are actually missing (plus other canonicalisation). 👍