use crate::identity::CanisterId;
pub async fn canister_status(
canister_id: CanisterId,
) -> super::types::CanisterCallResult<ic_cdk::api::management_canister::main::CanisterStatusResponse>
{
let call_result = ic_cdk::api::management_canister::main::canister_status(
ic_cdk::api::management_canister::main::CanisterIdRecord { canister_id },
)
.await;
super::fetch_and_wrap_call_result(canister_id, "ic#canister_status", call_result)
}
pub async fn canister_info(
canister_id: CanisterId,
num_requested_changes: Option<u64>,
) -> super::types::CanisterCallResult<ic_cdk::api::management_canister::main::CanisterInfoResponse>
{
let call_result = ic_cdk::api::management_canister::main::canister_info(
ic_cdk::api::management_canister::main::CanisterInfoRequest {
canister_id,
num_requested_changes,
},
)
.await;
super::fetch_and_wrap_call_result(canister_id, "ic#canister_info", call_result)
}
pub async fn call_canister_status(
canister_id: CanisterId,
) -> super::types::CanisterCallResult<ic_cdk::api::management_canister::main::CanisterStatusResponse>
{
let call_result = ic_cdk::api::call::call::<
(),
(ic_cdk::api::management_canister::main::CanisterStatusResponse,),
>(canister_id, "canister_status", ())
.await;
super::fetch_and_wrap_call_result(canister_id, "canister_status", call_result)
}
pub async fn call_canister_info(
canister_id: CanisterId,
num_requested_changes: Option<u64>,
) -> super::types::CanisterCallResult<ic_cdk::api::management_canister::main::CanisterInfoResponse>
{
let call_result = ic_cdk::api::call::call::<
(Option<u64>,),
(ic_cdk::api::management_canister::main::CanisterInfoResponse,),
>(canister_id, "canister_info", (num_requested_changes,))
.await;
super::fetch_and_wrap_call_result(canister_id, "canister_info", call_result)
}