[package]
edition = "2024"
rust-version = "1.91.0"
name = "canic"
version = "0.77.0"
build = "build.rs"
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Canic — a canister orchestration and management toolkit for the Internet Computer"
homepage = "https://github.com/dragginzgame/canic"
documentation = "https://docs.rs/canic"
readme = "README.md"
keywords = [
"internet-computer",
"canister",
"dfinity",
"icp",
"management",
]
categories = ["wasm"]
license = "MIT"
repository = "https://github.com/dragginzgame/canic"
resolver = "2"
[features]
auth-chain-key-ecdsa = ["canic-core/auth-chain-key-ecdsa"]
auth-chain-key-root-sign = ["canic-core/auth-chain-key-root-sign"]
auth-delegated-token-verify = ["canic-core/auth-delegated-token-verify"]
auth-issuer-canister-sig-create = ["canic-core/auth-issuer-canister-sig-create"]
auth-issuer-canister-sig-verify = ["canic-core/auth-issuer-canister-sig-verify"]
auth-root-canister-sig-create = ["canic-core/auth-root-canister-sig-create"]
auth-root-canister-sig-verify = ["canic-core/auth-root-canister-sig-verify"]
blob-storage = ["canic-core/blob-storage"]
blob-storage-billing = [
"blob-storage",
"canic-core/blob-storage-billing",
]
control-plane = [
"dep:canic-control-plane",
"canic-control-plane/root-control-plane",
"canic-control-plane/wasm-store-canister",
]
default = ["metrics"]
icp-refill = []
metrics = []
sharding = ["canic-core/sharding"]
wasm-store-canister = [
"dep:canic-control-plane",
"canic-control-plane/wasm-store-canister",
]
[lib]
name = "canic"
path = "src/lib.rs"
[[test]]
name = "blob_storage_endpoint_macro"
path = "tests/blob_storage_endpoint_macro.rs"
[[test]]
name = "canic_metadata"
path = "tests/canic_metadata.rs"
[[test]]
name = "changelog_governance"
path = "tests/changelog_governance.rs"
[[test]]
name = "control_plane_facade"
path = "tests/control_plane_facade.rs"
[[test]]
name = "endpoint_macro"
path = "tests/endpoint_macro.rs"
[[test]]
name = "icp_refill_endpoint_macro"
path = "tests/icp_refill_endpoint_macro.rs"
[[test]]
name = "install_script_surface"
path = "tests/install_script_surface.rs"
[[test]]
name = "metrics_facade"
path = "tests/metrics_facade.rs"
[[test]]
name = "protocol_inventory_gate"
path = "tests/protocol_inventory_gate.rs"
[[test]]
name = "protocol_surface"
path = "tests/protocol_surface.rs"
[[test]]
name = "reference_surface"
path = "tests/reference_surface.rs"
[[test]]
name = "release_index_guard"
path = "tests/release_index_guard.rs"
[[test]]
name = "workspace_manifest"
path = "tests/workspace_manifest.rs"
[dependencies.candid]
version = "0.10"
default-features = false
[dependencies.canic-control-plane]
version = "0.77.0"
optional = true
default-features = false
[dependencies.canic-core]
version = "0.77.0"
[dependencies.canic-macros]
version = "0.77.0"
[dev-dependencies.candid_parser]
version = "0.4.0"
[dev-dependencies.ic-cdk]
version = "0.20.1"
[dev-dependencies.serde_json]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.flate2]
version = "1.1"
features = ["rust_backend"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.toml]
version = "1.0"
[lints.clippy]
doc_markdown = "allow"
empty_line_after_doc_comments = "allow"
enum_variant_names = "allow"
missing_const_for_fn = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "warn"
module_inception = "allow"
module_name_repetitions = "allow"
must_use_candidate = "warn"
needless_pass_by_value = "allow"
option_if_let_else = "allow"
redundant_clone = "warn"
semicolon_if_nothing_returned = "warn"
significant_drop_tightening = "allow"
struct_field_names = "allow"
uninlined_format_args = "warn"
use_self = "warn"
wildcard_imports = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1