From b4c4c2fc0495de8e01e9bde1c78918a50809fdab Mon Sep 17 00:00:00 2001 From: Stefan Neamtu Date: Tue, 11 Feb 2025 12:50:42 +0100 Subject: [PATCH] fix --- .../tests/contract_distribution_cross_shard.rs | 13 ++++++++++--- runtime/runtime/src/lib.rs | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/integration-tests/src/test_loop/tests/contract_distribution_cross_shard.rs b/integration-tests/src/test_loop/tests/contract_distribution_cross_shard.rs index 249eb25e8c1..14235c6663f 100644 --- a/integration-tests/src/test_loop/tests/contract_distribution_cross_shard.rs +++ b/integration-tests/src/test_loop/tests/contract_distribution_cross_shard.rs @@ -118,14 +118,21 @@ fn test_global_contract( &rpc_id, &accounts[0], contract.code().into(), - deploy_mode, + deploy_mode.clone(), nonce, ); nonce += 1; env.test_loop.run_for(Duration::seconds(3)); check_txs(&env.test_loop.data, &env.datas, &rpc_id, &[deploy_tx]); - let code_hash = CryptoHash::hash_bytes(contract.code()); - let identifier = GlobalContractIdentifier::CodeHash(code_hash); + let identifier = match deploy_mode { + GlobalContractDeployMode::CodeHash => { + let code_hash = CryptoHash::hash_bytes(contract.code()); + GlobalContractIdentifier::CodeHash(code_hash) + } + GlobalContractDeployMode::AccountId => { + GlobalContractIdentifier::AccountId(accounts[0].clone()) + } + }; // test on accounts from different shards for account in [&accounts[1], &accounts[6]] { let use_tx = use_global_contract( diff --git a/runtime/runtime/src/lib.rs b/runtime/runtime/src/lib.rs index 39196b566b9..56be6e05bde 100644 --- a/runtime/runtime/src/lib.rs +++ b/runtime/runtime/src/lib.rs @@ -493,6 +493,7 @@ impl Runtime { Action::FunctionCall(function_call) => { let account = account.as_mut().expect(EXPECT_ACCOUNT_EXISTS); let account_contract = account.contract(); + let code_hash = match account_contract.as_ref() { AccountContract::None => CryptoHash::default(), AccountContract::Local(code_hash) | AccountContract::Global(code_hash) => {