From b8287df512c681a40d190c83047e052630a231d5 Mon Sep 17 00:00:00 2001 From: charles22114 <74765270+charles22114@users.noreply.github.com> Date: Wed, 21 Oct 2026 21:16:47 +0000 Subject: [PATCH] Fix migrate contract initialization --- contracts/migrate/src/lib.rs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/contracts/migrate/src/lib.rs b/contracts/migrate/src/lib.rs index cf5cc991..96aa4b16 100644 --- a/contracts/migrate/src/lib.rs +++ b/contracts/migrate/src/lib.rs @@ -1,13 +1,11 @@ #![no_std] -use soroban_sdk::{contract, contractimpl, contracttype, contracterror, Address, Env, Symbol, Vec, Map, BytesN}; - -mod migrate; - use soroban_sdk::{ - contract, contracterror, contractevent, contractimpl, contracttype, Address, Env, + contract, contracterror, contractimpl, contracttype, Address, BytesN, Env, Map, Symbol, Vec, }; +mod migrate; + #[contracttype] #[derive(Clone)] pub enum DataKey { @@ -36,13 +34,6 @@ pub enum ContractError { MigrationFailed = 7, } -/// Storage version key -const VERSION_KEY: Symbol = Symbol::new("VERSION"); -/// Admin key -const ADMIN_KEY: Symbol = Symbol::new("ADMIN"); -/// Migration data prefix -const MIGRATION_PREFIX: Symbol = Symbol::new("MIGRATION_"); - /// Migration metadata stored per version upgrade #[contracttype] #[derive(Clone, Debug, Eq, PartialEq)] @@ -90,10 +81,12 @@ impl MigrateContract { return Err(ContractError::InvalidTargetVersion); } - if env.storage().instance().has(&VERSION_KEY) { + if env.storage().instance().has(&DataKey::Version) { return Err(ContractError::AlreadyInitialized); } - .publish(&env); + + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Version, &version); Ok(()) }