From 3166cd780fa1f5f87fba186ca9fb614fd84d9ee4 Mon Sep 17 00:00:00 2001 From: Max Summe Date: Mon, 30 Dec 2024 15:51:30 -0800 Subject: [PATCH 1/3] refactor(nns): Change Root interface crate to use ic-cdk --- Cargo.lock | 2 -- rs/nns/handlers/root/interface/BUILD.bazel | 2 -- rs/nns/handlers/root/interface/Cargo.toml | 2 -- rs/nns/handlers/root/interface/src/client.rs | 17 +++++++++-------- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index af6b9d7f2c1..742f5b38b54 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10413,8 +10413,6 @@ version = "0.1.0" dependencies = [ "async-trait", "candid", - "dfn_candid", - "dfn_core", "ic-base-types", "ic-cdk 0.16.0", "ic-nervous-system-clients", diff --git a/rs/nns/handlers/root/interface/BUILD.bazel b/rs/nns/handlers/root/interface/BUILD.bazel index f53e8c3f2a6..f567f6c99f3 100644 --- a/rs/nns/handlers/root/interface/BUILD.bazel +++ b/rs/nns/handlers/root/interface/BUILD.bazel @@ -6,8 +6,6 @@ DEPENDENCIES = [ # Keep sorted. "//rs/nervous_system/clients", "//rs/nns/constants", - "//rs/rust_canisters/dfn_candid", - "//rs/rust_canisters/dfn_core", "//rs/types/base_types", "@crate_index//:candid", "@crate_index//:ic-cdk", diff --git a/rs/nns/handlers/root/interface/Cargo.toml b/rs/nns/handlers/root/interface/Cargo.toml index 4771015fc9c..1cdfcb55352 100644 --- a/rs/nns/handlers/root/interface/Cargo.toml +++ b/rs/nns/handlers/root/interface/Cargo.toml @@ -6,8 +6,6 @@ edition = "2021" [dependencies] async-trait = { workspace = true } candid = { workspace = true } -dfn_candid = { path = "../../../../rust_canisters/dfn_candid" } -dfn_core = { path = "../../../../rust_canisters/dfn_core" } ic-base-types = { path = "../../../../types/base_types" } ic-cdk = { workspace = true } ic-nervous-system-clients = { path = "../../../../nervous_system/clients" } diff --git a/rs/nns/handlers/root/interface/src/client.rs b/rs/nns/handlers/root/interface/src/client.rs index 09d556152c0..8e984d0c40b 100644 --- a/rs/nns/handlers/root/interface/src/client.rs +++ b/rs/nns/handlers/root/interface/src/client.rs @@ -3,9 +3,8 @@ use crate::{ ChangeCanisterControllersResponse, ChangeCanisterControllersResult, }; use async_trait::async_trait; -use dfn_candid::candid_one; -use dfn_core::call; use ic_base_types::PrincipalId; +use ic_cdk::call; use ic_nervous_system_clients::{ canister_id_record::CanisterIdRecord, canister_status::{ @@ -44,12 +43,13 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { change_canister_controllers_request: ChangeCanisterControllersRequest, ) -> Result, String)> { call( - ROOT_CANISTER_ID, + ROOT_CANISTER_ID.get().0, "change_canister_controllers", - candid_one, - change_canister_controllers_request, + (change_canister_controllers_request,), ) .await + .map(|response| response.0) + .map_err(|err| (Some(err.0 as i32), err.1)) } async fn canister_status( @@ -57,12 +57,13 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { canister_id_record: CanisterIdRecord, ) -> Result, String)> { call( - ROOT_CANISTER_ID, + ROOT_CANISTER_ID.get().0, "canister_status", - candid_one, - canister_id_record, + (canister_id_record,), ) .await + .map(|response| response.0) + .map_err(|err| (Some(err.0 as i32), err.1)) } } From c4a02426935c4626d22f17be26d2011d8c1e9222 Mon Sep 17 00:00:00 2001 From: Max Summe Date: Thu, 2 Jan 2025 11:06:14 -0800 Subject: [PATCH 2/3] fix types --- rs/nns/handlers/root/interface/src/client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rs/nns/handlers/root/interface/src/client.rs b/rs/nns/handlers/root/interface/src/client.rs index 8e984d0c40b..774b020b8a9 100644 --- a/rs/nns/handlers/root/interface/src/client.rs +++ b/rs/nns/handlers/root/interface/src/client.rs @@ -48,7 +48,7 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { (change_canister_controllers_request,), ) .await - .map(|response| response.0) + .map(|(response,): (ChangeCanisterControllersResponse,)| response) .map_err(|err| (Some(err.0 as i32), err.1)) } @@ -62,7 +62,7 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { (canister_id_record,), ) .await - .map(|response| response.0) + .map(|(response,): (CanisterStatusResult,)| response) .map_err(|err| (Some(err.0 as i32), err.1)) } } From 85f00d390c7b587706d6a8a14e9277736660cf67 Mon Sep 17 00:00:00 2001 From: Max Summe Date: Mon, 6 Jan 2025 12:11:26 -0800 Subject: [PATCH 3/3] PR feedback --- rs/nns/handlers/root/interface/src/client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rs/nns/handlers/root/interface/src/client.rs b/rs/nns/handlers/root/interface/src/client.rs index 774b020b8a9..50707e62002 100644 --- a/rs/nns/handlers/root/interface/src/client.rs +++ b/rs/nns/handlers/root/interface/src/client.rs @@ -49,7 +49,7 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { ) .await .map(|(response,): (ChangeCanisterControllersResponse,)| response) - .map_err(|err| (Some(err.0 as i32), err.1)) + .map_err(|(code, message)| (Some(code as i32), message)) } async fn canister_status( @@ -63,7 +63,7 @@ impl NnsRootCanisterClient for NnsRootCanisterClientImpl { ) .await .map(|(response,): (CanisterStatusResult,)| response) - .map_err(|err| (Some(err.0 as i32), err.1)) + .map_err(|(code, message)| (Some(code as i32), message)) } }