ethereum-lists / 4bytes

List of 4byte identifiers for EVM smart contract functions
MIT License
470 stars 103 forks source link

struct abi not supported #37

Closed wjmelements closed 4 years ago

wjmelements commented 4 years ago

The Airswap ABI uses the experimental struct abi. For example a struct with uint256 and bytes32 passed as an arg would result in a 4byte hash input like swap((uint256,bytes32)) instead of swap(uint256,bytes32).

wjmelements commented 4 years ago

Structs are encoded as tuples.

wjmelements commented 4 years ago

I only tested on 4byte.directory; I have not tested the others.

wjmelements commented 4 years ago

Concrete example: 0x67641c2f, used in https://etherscan.io/tx/0x6a527adb6a69d9b69a95fd79e8f7b31b7bb947d17c73e39e58c060e835303995 on https://etherscan.io/address/0x4572f2554421bd64bef1c22c8a81840e8d496bea#code, does not appear in the results of search even after submitting the signature.

ligi commented 4 years ago

I only tested on 4byte.directory; I have not tested the others.

This repo is the wrong one to report this issue and AFAIK it is a duplicate of:

https://github.com/pipermerriam/ethereum-function-signature-registry/issues/39

pinged @pipermerriam to merge the PR that should close the issue for the 4byte.directory

pipermerriam commented 4 years ago

Almost done getting the hosting situation sorted out with the updated code that handles tuples: You can see the staging environment here: http://app.4byte.directory/

pipermerriam commented 4 years ago

This should now be working in production.

ligi commented 4 years ago

I can confirm this working now:

Selection_096

so closing this issue. @pipermerriam app.4byte.directory is down now as it seems. Maybe it makes sense to keep a staging environment like this up. Perhaps with a better name next time like staging.4byte.directory