mod instructions;
mod macros; pub mod protocol;
#[doc(hidden)]
pub mod __internal {
#[cfg(feature = "control-plane")]
pub use canic_control_plane as control_plane;
pub use canic_core as core;
pub mod instructions {
pub use crate::instructions::format_instructions;
}
}
pub mod dto {
pub use canic_core::dto::*;
#[cfg(feature = "control-plane")]
pub mod template {
pub use canic_control_plane::dto::template::*;
}
}
pub mod ids {
pub use crate::__internal::core::ids::{
AccessMetricKind, BuildNetwork, CanisterRole, EndpointCall, EndpointCallKind, EndpointId,
IntentResourceKey, SubnetRole, SystemMetricKind, cap,
};
#[cfg(feature = "control-plane")]
pub use canic_control_plane::ids::{
TemplateId, TemplateVersion, WasmStoreBinding, WasmStoreGcMode, WasmStoreGcStatus,
};
}
pub use canic_cdk as cdk;
pub use canic_memory as memory;
pub use canic_core::dto::error::Error;
pub use canic_dsl_macros::{canic_query, canic_update};
pub use canic_memory::{
eager_init, eager_static, ic_memory, ic_memory_range, impl_storable_bounded,
impl_storable_unbounded,
};
pub mod access {
pub use crate::__internal::core::access::{AccessError, app, auth, env};
}
pub const CRATE_NAME: &str = env!("CARGO_PKG_NAME");
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub mod prelude {
pub use crate::{
api::{
canister::CanisterRole,
ic::Call,
ops::{log, perf},
timer::{timer, timer_interval},
},
cdk::{
api::{canister_self, msg_caller},
candid::CandidType,
},
};
pub use canic_dsl_macros::{canic_query, canic_update};
}
pub mod api {
pub mod auth {
pub use crate::__internal::core::api::auth::DelegationApi;
}
pub mod env {
pub use crate::__internal::core::api::env::EnvQuery;
}
pub mod ic {
pub use crate::__internal::core::api::ic::call::{
Call, CallBuilder, CallResult, IntentKey, IntentReservation,
};
pub mod http {
pub use crate::__internal::core::api::ic::http::HttpApi;
}
pub mod network {
pub use crate::__internal::core::api::ic::network::NetworkApi;
}
}
pub mod canister {
pub use crate::__internal::core::ids::CanisterRole;
pub mod children {
pub use crate::__internal::core::api::topology::children::CanisterChildrenApi;
}
pub mod directory {
pub use crate::__internal::core::api::topology::directory::{
AppDirectoryApi, SubnetDirectoryApi,
};
}
pub mod registry {
pub use crate::__internal::core::api::topology::registry::{
AppRegistryApi, SubnetRegistryApi,
};
}
pub mod placement {
pub use crate::__internal::core::api::placement::scaling::ScalingApi;
}
#[cfg(feature = "control-plane")]
pub mod template {
pub use canic_control_plane::api::template::WasmStoreApi as EmbeddedTemplateApi;
pub use canic_control_plane::api::template::{
WasmStoreApi, WasmStoreBootstrapApi, WasmStorePublicationApi,
};
}
}
pub mod rpc {
pub use crate::__internal::core::api::rpc::RpcApi;
}
pub mod ops {
pub use crate::__internal::core::{log, perf};
}
pub mod runtime {
pub use crate::__internal::core::api::runtime::MemoryRuntimeApi;
}
pub mod protocol {
pub mod icrc21 {
pub use crate::__internal::core::dispatch::icrc21::Icrc21Dispatcher;
}
}
pub mod timer {
pub use crate::{timer, timer_interval};
}
}