# alloy-json-abi
Full Ethereum [JSON-ABI] implementation.
This crate is a re-implementation of a part of [ethabi]'s API, with a few main
differences:
- the `Contract` struct is now called `JsonAbi` and also contains the `fallback`
and `receive` functions
- the `Param` and `EventParam` structs only partially parse the type string
instead of fully resolving it into a Solidity type
[JSON-ABI]: https://docs.soliditylang.org/en/latest/abi-spec.html#json
[ethabi]: https://crates.io/crates/ethabi
## Examples
Parse a JSON ABI file into a `JsonAbi` struct:
```rust
use alloy_json_abi::JsonAbi;
# stringify!(
let path = "path/to/abi.json";
let json = std::fs::read_to_string(path).unwrap();
# );
# let json = "[]";
let abi: JsonAbi = serde_json::from_str(&json).unwrap();
for item in abi.items() {
println!("{item:?}");
}
```