Skip to main content

abi_loader/
lib.rs

1//! ABI File Loading and Import Resolution
2//!
3//! This crate provides functionality for loading ABI files from disk,
4//! resolving imports between ABI files, and preparing ABI data for
5//! code generation or reflection.
6
7pub mod enhanced_resolver;
8pub mod fetcher;
9pub mod file;
10pub mod flatten;
11pub mod package;
12pub mod resolver;
13
14// Re-export commonly used types at the crate root
15pub use enhanced_resolver::EnhancedImportResolver;
16pub use file::{
17    AbiFile, AbiMetadata, AbiOptions, ImportSource, OnchainTarget, ProgramMetadata, RevisionSpec,
18    RootTypes,
19};
20pub use flatten::{flatten, flatten_to_yaml, flatten_with_options, normalize_type_refs};
21pub use package::{PackageId, ResolutionResult, ResolveError, ResolvedPackage};
22pub use resolver::ImportResolver;
23
24// Re-export fetcher types
25pub use fetcher::{
26    CacheConfig, CompositeFetcher, FetchContext, FetchError, FetchResult, FetcherConfig,
27    GitFetcherConfig, ImportFetcher, OnchainFetcherConfig,
28};
29
30// Re-export abi_types for convenience
31pub use abi_types;