Skip to main content

canic_core/api/
memory.rs

1//! Module: api::memory
2//!
3//! Responsibility: public memory-query facade for endpoint callers.
4//! Does not own: memory accounting, stable-memory layout, or ledger updates.
5//! Boundary: maps memory workflow errors into public API errors.
6
7use crate::{
8    dto::{error::Error, memory::MemoryLedgerResponse},
9    workflow::memory::query::MemoryQuery as MemoryQueryWorkflow,
10};
11
12///
13/// MemoryQuery
14///
15/// Thin endpoint-facing facade for memory ledger queries.
16///
17
18pub struct MemoryQuery;
19
20impl MemoryQuery {
21    /// Return the current memory ledger snapshot.
22    pub fn ledger() -> Result<MemoryLedgerResponse, Error> {
23        MemoryQueryWorkflow::ledger().map_err(Error::from)
24    }
25}