2 releases

0.3.1-dev Feb 1, 2023
0.3.0-dev Jan 27, 2023

#10 in #etk

Download history 569/week @ 2024-03-11 431/week @ 2024-03-18 505/week @ 2024-03-25 751/week @ 2024-04-01 646/week @ 2024-04-08 535/week @ 2024-04-15 602/week @ 2024-04-22 487/week @ 2024-04-29 973/week @ 2024-05-06 897/week @ 2024-05-13 590/week @ 2024-05-20 455/week @ 2024-05-27 973/week @ 2024-06-03 291/week @ 2024-06-10 118/week @ 2024-06-17 151/week @ 2024-06-24

1,546 downloads per month
Used in 3 crates (via fuel-etk-dasm)

MIT/Apache

10MB
115 lines

etk-4byte

Ethereum function selector reverse lookup database, populated from 4byte.directory.

Updating the Database

Since etk-4byte is a purely offline database, it needs regular updates. To fetch the latest database and convert it to the expected format, run:

$ cargo run --features=generate --bin etk-4byte-generate > src/signatures.txt
$ cargo run --features=generate --bin etk-4byte-pack

Then recompile.


lib.rs:

EVM Toolkit Function Selector Database.

To roughly quote 4byte.directory:

Function calls in the Ethereum Virtual Machine are specified by the first four bytes of data sent with a transaction. These function selectors are defined as the first four bytes of the Keccak-256 hash of the canonical representation of the function signature. Since this is a one-way operation, it is not possible to derive the human-readable representation of the function (signature) from the four byte selector. This database is meant to allow mapping those bytes signatures back to their human-readable versions.

Dependencies

~7–22MB
~435K SLoC