#![deny(unreachable_pub)]
pub mod access;
pub mod api;
#[cfg(any(not(target_arch = "wasm32"), test))]
mod build_support;
pub mod diagnostics;
pub mod dto;
pub mod fleet_admission;
pub mod ids;
mod instructions;
mod macros; pub mod prelude;
pub mod protocol;
#[cfg(all(feature = "testing", not(target_arch = "wasm32")))]
pub mod testing;
#[doc(hidden)]
pub mod __internal {
pub use candid;
#[cfg(any(
feature = "control-plane",
feature = "fleet-coordinator-canister",
feature = "wasm-store-canister"
))]
pub use canic_control_plane as control_plane;
pub use canic_core as core;
pub use serde;
pub mod cdk {
pub use candid::Principal;
pub use ic_cdk::{
export_candid, futures, init, inspect_message, post_upgrade, query, trap, update,
};
pub mod api {
pub use ic_cdk::api::{
canister_cycle_balance, canister_version, is_controller, msg_caller, msg_reply,
time,
};
}
pub mod raw {
pub use ic0::{msg_arg_data_copy, msg_arg_data_size};
}
}
pub mod instructions {
pub use crate::instructions::format_instructions;
}
}
#[doc(hidden)]
#[cfg(any(not(target_arch = "wasm32"), test))]
pub mod __build {
pub use crate::build_support::{
CANIC_CUSTOM_CFG_NAMES, METRICS_TIER_CORE, METRICS_TIER_PLACEMENT, METRICS_TIER_PLATFORM,
METRICS_TIER_RUNTIME, METRICS_TIER_SECURITY, METRICS_TIER_STORAGE,
assert_canonical_role_contract_build, compile_role_build_sources, config_app_id,
config_contains_role, config_declares_role, configured_role_metrics_tier_mask,
declared_package_metadata, declared_package_role, metrics_profile_tier_mask,
read_config_source_or_default, required_package_metadata, required_package_role,
write_build_source_if_changed,
};
}
pub use canic_core::memory;
pub use canic_core::dto::error::Error;
pub use canic_core::{impl_storable_bounded, impl_storable_unbounded};
pub use canic_macros::{canic_query, canic_update};
pub use diagnostics::{DiagnosticCode, RegisteredDiagnosticCode};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const CANIC_WASM_CHUNK_BYTES: usize = canic_core::CANIC_WASM_CHUNK_BYTES;
pub const CANIC_DEFAULT_UPDATE_INGRESS_MAX_BYTES: usize =
canic_core::ingress::payload::DEFAULT_UPDATE_INGRESS_MAX_BYTES;