ic_query/subnet_catalog/
mod.rs1mod error;
2mod host;
3mod json;
4mod model;
5mod principal;
6mod report;
7mod resolver;
8mod text;
9mod time;
10
11use crate::ic_registry::DEFAULT_MAINNET_ENDPOINT;
12pub use error::CatalogError;
13pub(crate) use host::{
14 LiveNnsRegistryRefreshSource, SubnetCatalogCacheRequest, SubnetCatalogHostError,
15 SubnetCatalogRefreshRequest, SubnetCatalogRefreshSource, load_or_refresh_subnet_catalog,
16 refresh_subnet_catalog,
17};
18#[cfg(test)]
19pub(crate) use host::{
20 load_cached_subnet_catalog, refresh_subnet_catalog_with_source, subnet_catalog_path,
21 subnet_catalog_refresh_lock_path,
22};
23pub use json::{catalog_to_pretty_json, parse_catalog_json};
24pub use model::{
25 ClassificationSource, GeographicScope, RoutingRange, SubnetCatalog, SubnetInfo, SubnetKind,
26 SubnetSpecialization,
27};
28pub use principal::canonical_principal_text;
29pub(crate) use principal::{parse_principal, principal_bytes};
30pub(crate) use report::{
31 CatalogStaleStatus, SubnetCatalogFilters, SubnetCatalogInfoReport, SubnetCatalogInfoRequest,
32 SubnetCatalogListReport, SubnetCatalogListRequest, SubnetCatalogRefreshReport,
33 build_subnet_catalog_info_report, build_subnet_catalog_list_report,
34};
35#[cfg(test)]
36pub(crate) use report::{SubnetCatalogSubnetRow, build_subnet_catalog_list_report_with_source};
37pub use resolver::{ResolveAs, ResolvedSubnet, ResolvedSubnetSubject};
38#[cfg(test)]
39pub(crate) use text::compact_principal;
40pub(crate) use text::{
41 subnet_catalog_info_report_text, subnet_catalog_list_report_text,
42 subnet_catalog_list_report_verbose_text, subnet_catalog_refresh_report_text,
43};
44#[cfg(test)]
45pub(crate) use time::parse_stale_after_duration;
46pub(crate) use time::{catalog_stale_status, format_utc_timestamp_secs};
47
48pub const CATALOG_SCHEMA_VERSION: u32 = 1;
49pub const MAINNET_NETWORK: &str = "ic";
50pub const MAINNET_REGISTRY_CANISTER_ID: &str = "rwlgt-iiaaa-aaaaa-aaaaa-cai";
51pub(crate) const DEFAULT_STALE_AFTER_SECONDS: u64 = 7 * 24 * 60 * 60;
52pub(crate) const DEFAULT_REFRESH_LOCK_STALE_SECONDS: u64 = 30 * 60;
53pub(crate) const DEFAULT_SUBNET_CATALOG_SOURCE_ENDPOINT: &str = DEFAULT_MAINNET_ENDPOINT;
54pub(crate) const SUBNET_CATALOG_LIST_REPORT_SCHEMA_VERSION: u32 = 1;
55pub(crate) const SUBNET_CATALOG_INFO_REPORT_SCHEMA_VERSION: u32 = 1;
56pub(crate) const SUBNET_CATALOG_REFRESH_REPORT_SCHEMA_VERSION: u32 = 1;
57
58#[cfg(test)]
59mod core_tests;
60#[cfg(test)]
61mod tests;