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