Skip to content

Commit

Permalink
move storage into module
Browse files Browse the repository at this point in the history
  • Loading branch information
nbayindirli committed Feb 7, 2025
1 parent 08cb8fc commit 801bdce
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 17 deletions.
5 changes: 3 additions & 2 deletions contracts/stellar-upgrader/src/tests/atomic_upgrades.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ use soroban_sdk::testutils::Address as _;
use soroban_sdk::{Address, BytesN, Env, String};
use stellar_axelar_std::{assert_contract_err, mock_auth};

use super::utils::{self, DummyContract, DummyContractClient};
use super::utils::{DummyContract, DummyContractClient};
use crate::error::ContractError;
use crate::tests::utils;
use crate::{Upgrader, UpgraderClient};

const WASM_AFTER_UPGRADE: &[u8] = include_bytes!("testdata/dummy.wasm");
Expand Down Expand Up @@ -42,7 +43,7 @@ fn upgrade_and_migrate_are_atomic() {

// ensure migration was successful
env.as_contract(&contract_address, || {
let data = utils::data(&env);
let data = utils::storage::data(&env);
assert_eq!(data, expected_data);
});
}
Expand Down
18 changes: 11 additions & 7 deletions contracts/stellar-upgrader/src/tests/utils/dummy_contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,18 @@ impl DummyContract {
}
}

#[contractstorage]
pub enum DataKey {
#[instance]
#[value(soroban_sdk::String)]
Data,
}

#[contracterror]
pub enum ContractError {
SomeFailure = 1,
}

pub mod storage {
use super::*;

#[contractstorage]
pub enum DataKey {
#[instance]
#[value(soroban_sdk::String)]
Data,
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,24 @@ impl DummyContract {

pub fn migrate(env: Env, migration_data: soroban_sdk::String) -> Result<(), ContractError> {
Self::owner(&env).require_auth();
set_data(&env, &migration_data);
storage::set_data(&env, &migration_data);

Ok(())
}
}

#[contractstorage]
pub enum DataKey {
#[instance]
#[value(soroban_sdk::String)]
Data,
}

#[contracterror]
pub enum ContractError {
SomeFailure = 1,
}

mod storage {
use super::*;

#[contractstorage]
pub enum DataKey {
#[instance]
#[value(soroban_sdk::String)]
Data,
}
}

0 comments on commit 801bdce

Please sign in to comment.