2 releases
0.1.1 | May 22, 2024 |
---|---|
0.1.0 | May 22, 2024 |
#37 in #selector
11KB
162 lines
evm-selectors
evm-signatures
is a Rust library for working with known Ethereum Virtual Machine (EVM) function, error, event, and other selectors, with support for downloading the selector database from the OpenChain API.
Usage
Downloading the database
use evm_selectors::EvmSelectors;
use std::path::Path;
// Download and return as string
let data = EvmSelectors::download(None).await?;
// Download and write to tempfile.txt
EvmSelectors::download_to_file(Path::new("tempfile.txt"), None).await?;
Loading the database
use evm_selectors::EvmSelectors;
use std::path::Path;
// From a string
let data = "...".to_string();
let db = EvmSelectors::new_from_raw(&data)?;
// From a file
let db = EvmSelectors::new_from_file(Path::new("tempfile.txt"))?;
Querying selectors
use evm_selectors::EvmSelectors;
use std::path::Path;
// Query a single selector
let db = EvmSelectors::new_from_file(Path::new("tempfile.txt"))?;
let functions = db.get(&[0x00, 0x01, 0x02, 0x03].into());
// Get all available selectors
let all = db.items();
Requirements
If the download
feature is active (it is by default), a SSL/TLS library must be present. See the reqwest documentation for further details.
Acknowledgements
OpenChain for providing a reliable selector database.
Dependencies
~25–41MB
~765K SLoC