Skip to content

Commit dd8a8b1

Browse files
committed
Move Checksum into cosmwasm_std
1 parent 9907b49 commit dd8a8b1

File tree

7 files changed

+19
-12
lines changed

7 files changed

+19
-12
lines changed

packages/vm/src/checksum.rs renamed to packages/std/src/checksum.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
use std::fmt;
1+
use core::fmt;
22

33
use sha2::{Digest, Sha256};
4-
5-
use crate::errors::VmError;
4+
use thiserror::Error;
65

76
/// A SHA-256 checksum of a Wasm blob, used to identify a Wasm code.
87
/// This must remain stable since this checksum is stored in the blockchain state.
@@ -40,12 +39,16 @@ impl From<[u8; 32]> for Checksum {
4039
}
4140
}
4241

42+
#[derive(Error, Debug)]
43+
#[error("Checksum not of length 32")]
44+
pub struct ChecksumError;
45+
4346
impl TryFrom<&[u8]> for Checksum {
44-
type Error = VmError;
47+
type Error = ChecksumError;
4548

4649
fn try_from(value: &[u8]) -> Result<Self, Self::Error> {
4750
if value.len() != 32 {
48-
return Err(VmError::cache_err("Checksum not of length 32"));
51+
return Err(ChecksumError);
4952
}
5053
let mut data = [0u8; 32];
5154
data.copy_from_slice(value);

packages/std/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ extern crate alloc;
88
mod addresses;
99
mod assertions;
1010
mod binary;
11+
mod checksum;
1112
mod coin;
1213
mod coins;
1314
mod conversion;
@@ -41,6 +42,7 @@ pub mod storage_keys;
4142

4243
pub use crate::addresses::{instantiate2_address, Addr, CanonicalAddr, Instantiate2AddressError};
4344
pub use crate::binary::Binary;
45+
pub use crate::checksum::{Checksum, ChecksumError};
4446
pub use crate::coin::{coin, coins, has_coins, Coin};
4547
pub use crate::coins::Coins;
4648
pub use crate::deps::{Deps, DepsMut, OwnedDeps};

packages/vm/src/cache.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ use std::str::FromStr;
77
use std::sync::Mutex;
88
use wasmer::{Engine, Store};
99

10+
use cosmwasm_std::Checksum;
11+
1012
use crate::backend::{Backend, BackendApi, Querier, Storage};
1113
use crate::capabilities::required_capabilities_from_module;
12-
use crate::checksum::Checksum;
1314
use crate::compatibility::check_wasm;
1415
use crate::errors::{VmError, VmResult};
1516
use crate::filesystem::mkdir_p;

packages/vm/src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ mod backend;
55
mod cache;
66
mod calls;
77
mod capabilities;
8-
mod checksum;
98
mod compatibility;
109
mod conversion;
1110
mod environment;
@@ -41,7 +40,6 @@ pub use crate::calls::{
4140
call_ibc_packet_receive_raw, call_ibc_packet_timeout, call_ibc_packet_timeout_raw,
4241
};
4342
pub use crate::capabilities::capabilities_from_csv;
44-
pub use crate::checksum::Checksum;
4543
pub use crate::errors::{
4644
CommunicationError, CommunicationResult, RegionValidationError, RegionValidationResult,
4745
VmError, VmResult,

packages/vm/src/modules/file_system_cache.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ use thiserror::Error;
66

77
use wasmer::{AsEngineRef, DeserializeError, Module, Target};
88

9-
use crate::checksum::Checksum;
10-
use crate::errors::{VmError, VmResult};
9+
use cosmwasm_std::Checksum;
1110

11+
use crate::errors::{VmError, VmResult};
1212
use crate::filesystem::mkdir_p;
1313
use crate::modules::current_wasmer_module_version;
1414

packages/vm/src/modules/in_memory_cache.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ use std::collections::hash_map::RandomState;
33
use std::num::NonZeroUsize;
44
use wasmer::Module;
55

6+
use cosmwasm_std::Checksum;
7+
68
use super::cached_module::CachedModule;
7-
use crate::{Checksum, Size, VmError, VmResult};
9+
use crate::{Size, VmError, VmResult};
810

911
// Minimum module size.
1012
// Based on `examples/module_size.sh`, and the cosmwasm-plus contracts.

packages/vm/src/modules/pinned_memory_cache.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
use cosmwasm_std::Checksum;
12
use std::collections::HashMap;
23
use wasmer::Module;
34

45
use super::cached_module::CachedModule;
5-
use crate::{Checksum, VmResult};
6+
use crate::VmResult;
67

78
/// An pinned in memory module cache
89
pub struct PinnedMemoryCache {

0 commit comments

Comments
 (0)