Skip to main content

ic_query/ic/api_boundary_node/
mod.rs

1//! Module: ic::api_boundary_node
2//!
3//! Responsibility: certified IC state-tree API boundary-node reporting.
4//! Does not own: Dashboard location aggregates, operational health, or command parsing.
5//! Boundary: exposes one authenticated complete collection without Registry or Dashboard joins.
6
7#[cfg(feature = "ic-state-host")]
8mod host;
9mod model;
10mod text;
11mod validation;
12
13#[cfg(feature = "ic-state-host")]
14pub use host::{
15    IcApiBoundaryNodeSource, LiveIcStateSource, build_ic_api_boundary_node_report,
16    build_ic_api_boundary_node_report_with_source,
17};
18#[cfg(feature = "ic-state-host")]
19pub use model::{
20    IcApiBoundaryNodeHostError, IcApiBoundaryNodeSourceData, IcApiBoundaryNodeSourceRequest,
21};
22pub use model::{
23    IcApiBoundaryNodeReport, IcApiBoundaryNodeRequest, IcApiBoundaryNodeRow,
24    IcCertifiedStateProvenance,
25};
26pub use text::ic_api_boundary_node_report_text;
27#[cfg(feature = "ic-state-host")]
28pub(super) use validation::report_from_source;
29
30/// Current schema version for certified API boundary-node reports.
31pub const IC_API_BOUNDARY_NODE_REPORT_SCHEMA_VERSION: u32 = 1;
32
33/// Default mainnet IC API endpoint for certified state-tree reports.
34pub const DEFAULT_IC_STATE_SOURCE_ENDPOINT: &str = "https://icp-api.io";
35
36/// Maximum API boundary-node rows accepted from one certified state tree.
37pub const MAX_IC_API_BOUNDARY_NODE_ROWS: usize = 1_000;
38
39#[cfg(feature = "ic-state-host")]
40pub(super) const IC_API_BOUNDARY_NODE_AUTHORITY: &str = "certified_ic_state_tree";
41
42#[cfg(test)]
43mod tests;