Skip to content

Commit 7c587c8

Browse files
authored
chore(nns): Cleanup USE_NODE_PROVIDER_REWARD_CANISTER flag and code (#5546)
This removes the feature flag for a feature that has run successfully, and no longer needs to be gated behind a feature flag.
1 parent 782c748 commit 7c587c8

File tree

4 files changed

+13
-138
lines changed

4 files changed

+13
-138
lines changed

rs/nns/governance/src/governance.rs

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ use crate::{
6767
},
6868
},
6969
proposals::{call_canister::CallCanister, sum_weighted_voting_power},
70-
use_node_provider_reward_canister,
7170
};
7271
use async_trait::async_trait;
7372
use candid::{Decode, Encode};
@@ -116,12 +115,9 @@ use ic_stable_structures::{storable::Bound, Storable};
116115
use icp_ledger::{AccountIdentifier, Subaccount, Tokens, TOKEN_SUBDIVIDABLE_BY};
117116
use itertools::Itertools;
118117
use maplit::hashmap;
119-
use registry_canister::{
120-
mutations::do_add_node_operator::AddNodeOperatorPayload, pb::v1::NodeProvidersMonthlyXdrRewards,
121-
};
118+
use registry_canister::mutations::do_add_node_operator::AddNodeOperatorPayload;
122119
use rust_decimal::Decimal;
123120
use rust_decimal_macros::dec;
124-
use std::str::FromStr;
125121
use std::sync::Arc;
126122
use std::{
127123
borrow::Cow,
@@ -7578,18 +7574,6 @@ impl Governance {
75787574
/// A helper for the Registry's get_node_providers_monthly_xdr_rewards method
75797575
async fn get_node_providers_monthly_xdr_rewards(
75807576
&self,
7581-
) -> Result<(BTreeMap<PrincipalId, u64>, Option<u64>), GovernanceError> {
7582-
if use_node_provider_reward_canister() {
7583-
self.get_node_providers_monthly_xdr_rewards_from_node_provider_reward_canister()
7584-
.await
7585-
} else {
7586-
self.get_node_providers_monthly_xdr_rewards_from_registry()
7587-
.await
7588-
}
7589-
}
7590-
7591-
async fn get_node_providers_monthly_xdr_rewards_from_node_provider_reward_canister(
7592-
&self,
75937577
) -> Result<(BTreeMap<PrincipalId, u64>, Option<u64>), GovernanceError> {
75947578
let response: Vec<u8> = self.env.call_canister_method(
75957579
NODE_REWARDS_CANISTER_ID,
@@ -7649,62 +7633,6 @@ impl Governance {
76497633
))
76507634
}
76517635

7652-
/// A helper to get the node provider rewards from registry (instead of Node Provider Reward Canister)
7653-
/// This will be removed once the Node Provider Reward Canister is in use.
7654-
async fn get_node_providers_monthly_xdr_rewards_from_registry(
7655-
&self,
7656-
) -> Result<(BTreeMap<PrincipalId, u64>, Option<u64>), GovernanceError> {
7657-
let registry_response:
7658-
Vec<u8> = self
7659-
.env
7660-
.call_canister_method(
7661-
REGISTRY_CANISTER_ID,
7662-
"get_node_providers_monthly_xdr_rewards",
7663-
Encode!().unwrap(),
7664-
)
7665-
.await
7666-
.map_err(|(code, msg)| {
7667-
GovernanceError::new_with_message(
7668-
ErrorType::External,
7669-
format!(
7670-
"Error calling 'get_node_providers_monthly_xdr_rewards': code: {:?}, message: {}",
7671-
code, msg
7672-
),
7673-
)
7674-
})?;
7675-
7676-
Decode!(&registry_response, Result<NodeProvidersMonthlyXdrRewards, String>)
7677-
.map_err(|err| {
7678-
GovernanceError::new_with_message(
7679-
ErrorType::External,
7680-
format!(
7681-
"Cannot decode return type from get_node_providers_monthly_xdr_rewards'. Error: {}",
7682-
err,
7683-
),
7684-
)
7685-
})?
7686-
.map_err(|msg| GovernanceError::new_with_message(ErrorType::External, msg))
7687-
.map(|response| {
7688-
let NodeProvidersMonthlyXdrRewards {
7689-
rewards,
7690-
registry_version,
7691-
} = response;
7692-
7693-
let rewards = rewards
7694-
.into_iter()
7695-
.map(|(principal_str, amount)| {
7696-
(
7697-
PrincipalId::from_str(&principal_str)
7698-
.expect("Could not get principal from string"),
7699-
amount,
7700-
)
7701-
})
7702-
.collect();
7703-
7704-
(rewards, registry_version)
7705-
})
7706-
}
7707-
77087636
/// A helper for the CMC's get_average_icp_xdr_conversion_rate method
77097637
async fn get_average_icp_xdr_conversion_rate(
77107638
&mut self,

rs/nns/governance/src/lib.rs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,8 @@ pub const DEFAULT_VOTING_POWER_REFRESHED_TIMESTAMP_SECONDS: u64 = 1725148800;
201201
// leave this here indefinitely, but it will just be clutter after a modest
202202
// amount of time.
203203
thread_local! {
204-
205204
static DISABLE_NF_FUND_PROPOSALS: Cell<bool>
206205
= const { Cell::new(cfg!(not(any(feature = "canbench-rs", feature = "test")))) };
207-
208-
static USE_NODE_PROVIDER_REWARD_CANISTER: Cell<bool> = const { Cell::new(true) };
209206
}
210207

211208
thread_local! {
@@ -231,20 +228,6 @@ pub fn temporarily_disable_nf_fund_proposals() -> Temporary {
231228
Temporary::new(&DISABLE_NF_FUND_PROPOSALS, true)
232229
}
233230

234-
pub fn use_node_provider_reward_canister() -> bool {
235-
USE_NODE_PROVIDER_REWARD_CANISTER.get()
236-
}
237-
238-
#[cfg(any(test, feature = "canbench-rs", feature = "test"))]
239-
pub fn temporarily_enable_node_provider_reward_canister() -> Temporary {
240-
Temporary::new(&USE_NODE_PROVIDER_REWARD_CANISTER, true)
241-
}
242-
243-
#[cfg(any(test, feature = "canbench-rs", feature = "test"))]
244-
pub fn temporarily_disable_node_provider_reward_canister() -> Temporary {
245-
Temporary::new(&USE_NODE_PROVIDER_REWARD_CANISTER, false)
246-
}
247-
248231
pub fn decoder_config() -> DecoderConfig {
249232
let mut config = DecoderConfig::new();
250233
config.set_skipping_quota(DEFAULT_SKIPPING_QUOTA);

rs/nns/governance/tests/fake.rs

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@ use ic_nns_common::{
1414
};
1515
use ic_nns_constants::{
1616
CYCLES_MINTING_CANISTER_ID, GOVERNANCE_CANISTER_ID, LEDGER_CANISTER_ID,
17-
NODE_REWARDS_CANISTER_ID, REGISTRY_CANISTER_ID, SNS_WASM_CANISTER_ID,
17+
NODE_REWARDS_CANISTER_ID, SNS_WASM_CANISTER_ID,
1818
};
1919
use ic_nns_governance::{
2020
governance::{Environment, Governance, HeapGrowthPotential, RngError},
2121
pb::v1::{
2222
manage_neuron, manage_neuron::NeuronIdOrSubaccount, proposal, ExecuteNnsFunction,
2323
GovernanceError, ManageNeuron, Motion, NetworkEconomics, NnsFunction, Proposal, Vote,
2424
},
25-
use_node_provider_reward_canister,
2625
};
2726
use ic_nns_governance_api::Neuron;
2827
use ic_nns_governance_api::{manage_neuron_response, ManageNeuronResponse};
@@ -32,10 +31,9 @@ use ic_sns_wasm::pb::v1::{DeployedSns, ListDeployedSnsesRequest, ListDeployedSns
3231
use icp_ledger::{AccountIdentifier, Subaccount, Tokens};
3332
use icrc_ledger_types::icrc3::blocks::{GetBlocksRequest, GetBlocksResult};
3433
use lazy_static::lazy_static;
35-
use maplit::{btreemap, hashmap};
34+
use maplit::btreemap;
3635
use rand::{RngCore, SeedableRng};
3736
use rand_chacha::ChaCha20Rng;
38-
use registry_canister::pb::v1::NodeProvidersMonthlyXdrRewards;
3937
use std::{
4038
collections::{hash_map::Entry, BTreeMap, HashMap},
4139
convert::{TryFrom, TryInto},
@@ -578,32 +576,20 @@ impl Environment for FakeDriver {
578576
}
579577

580578
if method_name == "get_node_providers_monthly_xdr_rewards" {
581-
if use_node_provider_reward_canister() {
582-
assert_eq!(PrincipalId::from(target), NODE_REWARDS_CANISTER_ID.get());
579+
assert_eq!(PrincipalId::from(target), NODE_REWARDS_CANISTER_ID.get());
583580

584-
return Ok(Encode!(&GetNodeProvidersMonthlyXdrRewardsResponse {
585-
rewards: Some(ic_node_rewards_canister_api::monthly_rewards::NodeProvidersMonthlyXdrRewards {
581+
return Ok(Encode!(&GetNodeProvidersMonthlyXdrRewardsResponse {
582+
rewards: Some(
583+
ic_node_rewards_canister_api::monthly_rewards::NodeProvidersMonthlyXdrRewards {
586584
rewards: btreemap! {
587585
PrincipalId::new_user_test_id(1).0 => NODE_PROVIDER_REWARD,
588586
},
589587
registry_version: Some(5)
590-
}),
591-
error: None
592-
})
593-
.unwrap());
594-
} else {
595-
assert_eq!(PrincipalId::from(target), REGISTRY_CANISTER_ID.get());
596-
597-
return Ok(Encode!(&Ok::<NodeProvidersMonthlyXdrRewards, String>(
598-
NodeProvidersMonthlyXdrRewards {
599-
rewards: hashmap! {
600-
PrincipalId::new_user_test_id(1).to_string() => NODE_PROVIDER_REWARD,
601-
},
602-
registry_version: Some(5)
603588
}
604-
))
605-
.unwrap());
606-
}
589+
),
590+
error: None
591+
})
592+
.unwrap());
607593
}
608594

609595
if method_name == "get_average_icp_xdr_conversion_rate" {

rs/nns/integration_tests/src/node_provider_remuneration.rs

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -70,23 +70,13 @@ impl NodeInfo {
7070

7171
#[test]
7272
fn test_list_node_provider_rewards() {
73-
do_test_list_node_provider_rewards(&[]);
74-
}
75-
76-
// TODO(NNS1-3763) after Node Reward Canister is by-default enabled, remove this test.
77-
#[test]
78-
fn test_list_node_provider_rewards_with_node_reward_canister() {
79-
do_test_list_node_provider_rewards(&["test"]);
80-
}
81-
82-
fn do_test_list_node_provider_rewards(features: &[&str]) {
8373
let state_machine = state_machine_builder_for_nns_tests().build();
8474

8575
let nns_init_payload = NnsInitPayloadsBuilder::new()
8676
.with_initial_invariant_compliant_mutations()
8777
.with_test_neurons()
8878
.build();
89-
setup_nns_canisters_with_features(&state_machine, nns_init_payload, features);
79+
setup_nns_canisters_with_features(&state_machine, nns_init_payload, &[]);
9080

9181
add_data_centers(&state_machine);
9282
add_node_rewards_table(&state_machine);
@@ -293,25 +283,13 @@ fn do_test_list_node_provider_rewards(features: &[&str]) {
293283

294284
#[test]
295285
fn test_automated_node_provider_remuneration() {
296-
do_test_automated_node_provider_remuneration(&[]);
297-
}
298-
299-
// TODO(NNS1-3763) after Node Reward Canister is by-default enabled, remove this test.
300-
#[test]
301-
fn test_automated_node_provider_remuneration_with_node_reward_canister() {
302-
do_test_automated_node_provider_remuneration(&["test"]);
303-
}
304-
305-
// This test cannot depend on any specific "test" features to function, as
306-
// only one calling version uses the test feature flag.
307-
fn do_test_automated_node_provider_remuneration(features: &[&str]) {
308286
let state_machine = state_machine_builder_for_nns_tests().build();
309287

310288
let nns_init_payload = NnsInitPayloadsBuilder::new()
311289
.with_initial_invariant_compliant_mutations()
312290
.with_test_neurons()
313291
.build();
314-
setup_nns_canisters_with_features(&state_machine, nns_init_payload, features);
292+
setup_nns_canisters_with_features(&state_machine, nns_init_payload, &[]);
315293

316294
add_data_centers(&state_machine);
317295
add_node_rewards_table(&state_machine);

0 commit comments

Comments
 (0)