From 422b6af635c7fe64472b2933c3d50265928bbf58 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 24 Apr 2026 18:03:20 +0200 Subject: [PATCH 1/3] feat(console): remove one time ufo fee and rates upgrade --- src/console/src/memory/lifecycle.rs | 4 --- src/console/src/memory/upgrade.rs | 54 ----------------------------- 2 files changed, 58 deletions(-) delete mode 100644 src/console/src/memory/upgrade.rs diff --git a/src/console/src/memory/lifecycle.rs b/src/console/src/memory/lifecycle.rs index 4ba9be9e7..b1284c7ce 100644 --- a/src/console/src/memory/lifecycle.rs +++ b/src/console/src/memory/lifecycle.rs @@ -2,7 +2,6 @@ use crate::cdn::certified_assets::upgrade::defer_init_certified_assets; use crate::cdn::lifecycle::init_cdn_storage_heap_state; use crate::fees::init_factory_fees; use crate::memory::manager::{get_memory_upgrades, init_stable_state, STATE}; -use crate::memory::upgrade::upgrade_init_ufo_fees_and_rates; use crate::rates::init::init_factory_rates; use crate::types::state::{HeapState, ReleasesMetadata, State}; use ciborium::{from_reader, into_writer}; @@ -58,7 +57,4 @@ fn post_upgrade() { STATE.with(|s| *s.borrow_mut() = state); defer_init_certified_assets(); - - // TODO: to be removed, one time upgrade - upgrade_init_ufo_fees_and_rates(); } diff --git a/src/console/src/memory/upgrade.rs b/src/console/src/memory/upgrade.rs deleted file mode 100644 index 23a9165e9..000000000 --- a/src/console/src/memory/upgrade.rs +++ /dev/null @@ -1,54 +0,0 @@ -use crate::constants::UFO_CREATION_FEE_CYCLES; -use crate::store::mutate_heap_state; -use crate::types::state::{FactoryFee, FactoryFees, FactoryRate, FactoryRates}; -use ic_cdk::api::time; -use junobuild_shared::ic::api::print; -use junobuild_shared::rate::constants::DEFAULT_RATE_CONFIG; -use junobuild_shared::rate::types::RateTokens; -use junobuild_shared::types::state::SegmentKind; - -pub fn upgrade_init_ufo_fees_and_rates() { - mutate_heap_state(|state| { - upgrade_ufo_fees(&mut state.factory_fees) - .unwrap_or_else(|err| print(format!("Error upgrading the Ufo fee: {:?}", err))); - - upgrade_ufo_rates(&mut state.factory_rates) - .unwrap_or_else(|err| print(format!("Error upgrading the Ufo rate: {:?}", err))); - }); -} - -fn upgrade_ufo_fees(factory_fees: &mut Option) -> Result<(), String> { - let fees = factory_fees - .as_mut() - .ok_or_else(|| "Factory fees not initialized".to_string())?; - - let fee = FactoryFee { - fee_cycles: UFO_CREATION_FEE_CYCLES, - fee_icp: None, - updated_at: time(), - }; - - fees.insert(SegmentKind::Ufo, fee); - - Ok(()) -} - -fn upgrade_ufo_rates(factory_rates: &mut Option) -> Result<(), String> { - let rates = factory_rates - .as_mut() - .ok_or_else(|| "Factory rates not initialized".to_string())?; - - let tokens: RateTokens = RateTokens { - tokens: 1, - updated_at: time(), - }; - - let rate = FactoryRate { - config: DEFAULT_RATE_CONFIG, - tokens: tokens.clone(), - }; - - rates.insert(SegmentKind::Ufo, rate); - - Ok(()) -} From f28c84f93fb43c06b3aa10a7e9af872eaf615a38 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 24 Apr 2026 19:16:20 +0200 Subject: [PATCH 2/3] chore: remove --- src/console/src/memory/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/console/src/memory/mod.rs b/src/console/src/memory/mod.rs index 8c00715d5..fdc1fa130 100644 --- a/src/console/src/memory/mod.rs +++ b/src/console/src/memory/mod.rs @@ -1,3 +1,2 @@ pub mod lifecycle; pub mod manager; -mod upgrade; From d4f716dd7d7e4ea024717923125fc6e03a09dd1d Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sat, 25 Apr 2026 17:03:22 +0200 Subject: [PATCH 3/3] test: pin target --- .../console/upgrade/console.upgrade-v0-4-4.spec.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/tests/specs/console/upgrade/console.upgrade-v0-4-4.spec.ts b/src/tests/specs/console/upgrade/console.upgrade-v0-4-4.spec.ts index f621a1914..281bd8337 100644 --- a/src/tests/specs/console/upgrade/console.upgrade-v0-4-4.spec.ts +++ b/src/tests/specs/console/upgrade/console.upgrade-v0-4-4.spec.ts @@ -6,11 +6,7 @@ import type { Principal } from '@icp-sdk/core/principal'; import { inject } from 'vitest'; import { CONSOLE_ID } from '../../../constants/console-tests.constants'; import { tick } from '../../../utils/pic-tests.utils'; -import { - CONSOLE_WASM_PATH, - controllersInitArgs, - downloadConsole -} from '../../../utils/setup-tests.utils'; +import { controllersInitArgs, downloadConsole } from '../../../utils/setup-tests.utils'; describe('Console > Upgrade > v0.4.3 -> v0.4.4', () => { let pic: PocketIc; @@ -22,9 +18,11 @@ describe('Console > Upgrade > v0.4.3 -> v0.4.4', () => { const upgrade = async () => { await tick(pic); + const destination = await downloadConsole({ junoVersion: '0.0.76', version: '0.4.3' }); + await pic.upgradeCanister({ canisterId, - wasm: CONSOLE_WASM_PATH, + wasm: destination, sender: controller.getPrincipal() }); };