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.
| 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.
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.