README.md 880 B

kuatia-storage

Storage abstraction for the kuatia ledger.

Defines the Store trait (composed of four sub-traits), provides an in-memory implementation for tests, and exports a store_tests! conformance macro that any backend can use to validate its implementation.

Sub-traits

Trait Purpose
AccountStore Account CRUD and versioning
PostingStore Posting reads, reserve/release/finalize lifecycle
TransferStore Transfer persistence and queries
SagaStore Saga state for crash recovery

Store is a blanket trait — any type implementing all four sub-traits is a Store.

Conformance testing

use kuatia_storage::mem_store::InMemoryStore;

async fn new_store() -> InMemoryStore { InMemoryStore::new() }
kuatia_storage::store_tests!(new_store);

This generates 22 tests covering every Store method.