Skip to content

Commit 9dd1f0c

Browse files
chore(nns): Deleted set_initial_voting_power_economics. (dfinity#3778)
Because it was a one time use code, and it has been released already. This is the denouement of [PR 2580]. [PR 2580]: dfinity#2580
1 parent 052e611 commit 9dd1f0c

File tree

3 files changed

+3
-130
lines changed

3 files changed

+3
-130
lines changed

rs/nns/governance/canister/canister.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ use ic_nns_common::{
2020
};
2121
use ic_nns_constants::LEDGER_CANISTER_ID;
2222
use ic_nns_governance::{
23-
data_migration::set_initial_voting_power_economics,
2423
decoder_config, encode_metrics,
2524
governance::{Environment, Governance, HeapGrowthPotential, RngError, TimeWarp as GovTimeWarp},
2625
is_prune_following_enabled,
@@ -503,8 +502,7 @@ fn canister_init_(init_payload: ApiGovernanceProto) {
503502

504503
schedule_timers();
505504

506-
let mut governance_proto = InternalGovernanceProto::from(init_payload);
507-
set_initial_voting_power_economics(&mut governance_proto);
505+
let governance_proto = InternalGovernanceProto::from(init_payload);
508506
set_governance(Governance::new(
509507
governance_proto,
510508
Box::new(CanisterEnv::new()),
@@ -527,7 +525,7 @@ fn canister_pre_upgrade() {
527525
fn canister_post_upgrade() {
528526
println!("{}Executing post upgrade", LOG_PREFIX);
529527

530-
let mut restored_state = with_upgrades_memory(|memory| {
528+
let restored_state = with_upgrades_memory(|memory| {
531529
let result: Result<InternalGovernanceProto, _> = load_protobuf(memory);
532530
result
533531
})
@@ -536,9 +534,6 @@ fn canister_post_upgrade() {
536534
CANISTER MIGHT HAVE BROKEN STATE!!!!.",
537535
);
538536

539-
// TODO(NNS1-3446): This can be deleted after it has been released.
540-
set_initial_voting_power_economics(&mut restored_state);
541-
542537
grow_upgrades_memory_to(WASM_PAGES_RESERVED_FOR_UPGRADES_MEMORY);
543538

544539
println!(

rs/nns/governance/src/data_migration.rs

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -8,69 +8,6 @@
88
//! initial value, but thereafter, it can be changed as the result of requests
99
//! (e.g. create a proposal followed by many votes in favor).
1010
11-
use crate::{
12-
governance::LOG_PREFIX,
13-
pb::v1::{Governance, VotingPowerEconomics},
14-
};
15-
1611
#[path = "data_migration_tests.rs"]
1712
#[cfg(test)]
1813
mod tests;
19-
20-
/// This ensures that the fields in voting_power_economics are set.
21-
///
22-
/// If they already have Some value, the existing values are left alone.
23-
///
24-
/// Whereas, if values are missing (or voting_power_economics itself is None),
25-
/// they get set according to DEFAULT_VOTING_POWER_ECONOMICS.
26-
///
27-
/// What we expect in production is that when governance is upgraded,
28-
/// voting_power_economics will default to None, and during post_ugprade, this
29-
/// gets called, causing voting_power_economics to be set to
30-
/// DEFAULT_VOTING_POWER_ECONOMICS.
31-
///
32-
/// In testing, when a new governance canister is created,
33-
/// voting_power_economics gets set in init, which also calls this.
34-
pub fn set_initial_voting_power_economics(governance: &mut Governance) {
35-
let economics = governance.economics.as_mut();
36-
37-
let Some(economics) = economics else {
38-
println!("{}ERROR: No NetworkEconomics!", LOG_PREFIX);
39-
return;
40-
};
41-
42-
let voting_power_economics = economics.voting_power_economics.as_mut();
43-
let default = VotingPowerEconomics::with_default_values();
44-
45-
let Some(voting_power_economics) = voting_power_economics else {
46-
println!("{}Setting voting_power_economics to default.", LOG_PREFIX);
47-
economics.voting_power_economics = Some(default);
48-
return;
49-
};
50-
51-
let VotingPowerEconomics {
52-
start_reducing_voting_power_after_seconds,
53-
clear_following_after_seconds,
54-
} = voting_power_economics;
55-
56-
if start_reducing_voting_power_after_seconds.is_none() {
57-
println!(
58-
"{}WARNING: voting_power_economics was set, but not its \
59-
start_reducing_voting_power_after_seconds field. This is weird. \
60-
Nevertheless, setting the field to the default.",
61-
LOG_PREFIX,
62-
);
63-
*start_reducing_voting_power_after_seconds =
64-
default.start_reducing_voting_power_after_seconds;
65-
}
66-
67-
if clear_following_after_seconds.is_none() {
68-
println!(
69-
"{}WARNING: voting_power_economics was set, but not its \
70-
clear_following_after_seconds field. This is weird. \
71-
Nevertheless, setting the field to the default.",
72-
LOG_PREFIX,
73-
);
74-
*clear_following_after_seconds = default.clear_following_after_seconds;
75-
}
76-
}
Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,2 @@
1+
#[allow(unused)]
12
use super::*;
2-
use crate::pb::v1::{Governance as GovernanceProto, NetworkEconomics, VotingPowerEconomics};
3-
use lazy_static::lazy_static;
4-
5-
mod set_initial_voting_power_economics {
6-
use super::*;
7-
8-
lazy_static! {
9-
static ref GOVERNANCE_PROTO: GovernanceProto = GovernanceProto {
10-
economics: Some(NetworkEconomics::with_default_values()),
11-
..Default::default()
12-
};
13-
}
14-
15-
#[test]
16-
fn test_typical() {
17-
let mut governance_proto = GOVERNANCE_PROTO.clone();
18-
governance_proto
19-
.economics
20-
.as_mut()
21-
.unwrap()
22-
.voting_power_economics = None;
23-
24-
set_initial_voting_power_economics(&mut governance_proto);
25-
26-
assert_eq!(
27-
governance_proto.economics.unwrap().voting_power_economics,
28-
Some(VotingPowerEconomics {
29-
start_reducing_voting_power_after_seconds: Some(15_778_800), // 0.5 * 365.25 days.
30-
clear_following_after_seconds: Some(2_629_800), // 1/12 * 365.25 days
31-
}),
32-
);
33-
}
34-
35-
#[test]
36-
fn test_weird() {
37-
let mut governance_proto = GOVERNANCE_PROTO.clone();
38-
{
39-
let voting_power_economics = governance_proto
40-
.economics
41-
.as_mut()
42-
.unwrap()
43-
.voting_power_economics
44-
.as_mut()
45-
.unwrap();
46-
47-
voting_power_economics.start_reducing_voting_power_after_seconds = Some(42);
48-
voting_power_economics.clear_following_after_seconds = None;
49-
}
50-
51-
set_initial_voting_power_economics(&mut governance_proto);
52-
53-
assert_eq!(
54-
governance_proto.economics.unwrap().voting_power_economics,
55-
Some(VotingPowerEconomics {
56-
start_reducing_voting_power_after_seconds: Some(42), // Do not touch.
57-
clear_following_after_seconds: Some(2_629_800), // 1/12 * 365.25 days
58-
}),
59-
);
60-
}
61-
} // mod set_initial_voting_power_economics

0 commit comments

Comments
 (0)