avail-rust-core 0.4.0

Avail Rust SDK core library
Documentation
# Avail Rust Core

**Avail Rust Core provides the low-level building blocks for interacting with
Avail data-availability networks from Rust.**

This crate ships the strongly-typed runtime metadata, SCALE helpers, storage
abstractions, and RPC utilities that power the higher-level
[`avail-rust-client`](https://crates.io/crates/avail-rust-client) crate. Use it
when you want tight control over encoding/decoding Avail extrinsics, events, and
storage entries without pulling in a full client stack.

## What You Get
- Avail-specific runtime types (`AccountId`, `RuntimeCall`, pallet storage
  definitions, and more).
- Helpers to encode/decode extrinsics, events, and receipts via
  `TransactionDecodable`, `TransactionEventDecodable`, and related traits.
- Storage traits (`StorageValue`, `StorageMap`, `StorageDoubleMap`) with
  iterators and hashing helpers to fetch and decode on-chain data.
- Lightweight RPC helpers built on `subxt`, including tools for fetching raw
  blocks, events, and extrinsics.
- Dual-target support: `native` (std) and `wasm` feature flags expose the same
  API with the right transport integrations for each environment.

## Feature Flags
- `native` *(default)*: Enables std support plus native RPC transports.
- `wasm`: Enables bindings required for WebAssembly environments.

Enable exactly one of these targets; the crate deliberately avoids picking a
transport for you so that it can stay lightweight.

## Related Crates
- [`avail-rust-client`]https://crates.io/crates/avail-rust-client: Batteries
  included client that wraps `avail-rust-core` with RPC transport, signing, and
  ergonomic submission helpers.
- [`avail-rust` examples]https://github.com/availproject/avail-rust/tree/main/examples:
  Real-world programs that showcase how the core types are meant to be used.

# License
This project is primarily distributed under the terms of MIT license.
See [LICENSE](https://github.com/availproject/avail-rust/blob/main/LICENSE)