2 releases

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

#8 in #etk

Download history 384/week @ 2023-12-21 531/week @ 2023-12-28 711/week @ 2024-01-04 779/week @ 2024-01-11 816/week @ 2024-01-18 828/week @ 2024-01-25 679/week @ 2024-02-01 467/week @ 2024-02-08 683/week @ 2024-02-15 635/week @ 2024-02-22 991/week @ 2024-02-29 719/week @ 2024-03-07 449/week @ 2024-03-14 547/week @ 2024-03-21 716/week @ 2024-03-28 333/week @ 2024-04-04

2,143 downloads per month
Used in 17 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–21MB
~436K SLoC