Substreams ABIs
substreams-abis is a Rust crate plus companion Bun/TypeScript tooling for maintaining ABI files and generated Substreams Ethereum bindings.
For a maintainer-oriented map of edit points and workflows, see docs/repo-navigation.md.
Repository layout
abi/: source ABI JSON files (plus some fetched Solidity artifacts under token folders)src/: generated and curated Rust modules exposed by the cratetests/: Rust integration tests that decode real-world logs with generated bindingslib/+cli.ts: Bun/TypeScript CLI for ABI ingestion and maintenance taskstools/codegen/: Rust ABI → binding generator used to write files intosrc/
Coverage areas
The repository currently includes modules and ABIs for:
- standards and extensions (
standard) - tokens and collections (
tokens) - DEXs and aggregators (
dex) - bridges (
bridge) - lending (
lending) - naming (
naming) - oracles (
oracle) - perps (
perps) - prediction markets (
prediction) - restaking (
restaking) - stablecoin systems (
stablecoin) - staking (
staking) - yield strategies (
yield)
Quickstart (Rust)
use Transfer;
for trx in block.transactions
Common maintenance workflow
-
Add or update ABI JSON files in the relevant
abi/...directory. -
Regenerate Rust bindings:
You can also target only specific files or folders:
-
Update
mod.rsfiles where needed (for new modules). -
Run verification:
CLI usage (Bun)