2 releases

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

#10 in #etk

Download history 13/week @ 2024-11-18 7/week @ 2024-11-25 66/week @ 2024-12-02 89/week @ 2024-12-09 33/week @ 2024-12-16 8/week @ 2024-12-23 23/week @ 2024-12-30 44/week @ 2025-01-06 27/week @ 2025-01-13 3/week @ 2025-01-20 7/week @ 2025-01-27 23/week @ 2025-02-03 10/week @ 2025-02-10 15/week @ 2025-02-17 33/week @ 2025-02-24 274/week @ 2025-03-03

333 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–19MB
~420K SLoC