ic-query 0.77.0

Internet Computer query library for CloudEngine, NNS, SNS, ICRC, system canisters, and public network metadata
Documentation
//! Module: sns::report::neurons_cache::reports
//!
//! Responsibility: build SNS neuron cache reports from stored snapshots.
//! Does not own: cache refresh, cache file IO details, text rendering, or CLI parsing.
//! Boundary: exposes cache list/status reports and cache-backed neuron list reports.

mod cached_report;

use super::paths::SnsNeuronsCacheCollection;
use crate::sns::report::{
    SnsCacheListReport, SnsCacheListRequest, SnsCacheStatusReport, SnsCacheStatusRequest,
    SnsHostError, build_sns_cache_list_report, cache_status::build_sns_cache_status_report,
};

pub(in crate::sns::report) use cached_report::build_sns_neurons_report_from_cache;

/// Build a local SNS neuron cache list report.
pub fn build_sns_neurons_cache_list_report(
    request: &SnsCacheListRequest,
) -> Result<SnsCacheListReport, SnsHostError> {
    build_sns_cache_list_report::<SnsNeuronsCacheCollection>(request)
}

/// Build an SNS neuron cache status report for one SNS input.
pub fn build_sns_neurons_cache_status_report(
    request: &SnsCacheStatusRequest,
) -> Result<SnsCacheStatusReport, SnsHostError> {
    build_sns_cache_status_report::<SnsNeuronsCacheCollection>(request)
}