diff --git a/core/Cargo.toml b/core/Cargo.toml index 60bd653622..e6b6f8b581 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -17,7 +17,7 @@ codecov = { repository = "solana-labs/solana", branch = "master", service = "git ahash = "0.6.1" base64 = "0.12.3" bincode = "1.3.1" -blake3 = "0.3.6" +blake3 = "0.3.7" bv = { version = "0.11.1", features = ["serde"] } bs58 = "0.3.1" byteorder = "1.3.4" diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 105ba94877..6354cd5d4b 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -12,7 +12,7 @@ edition = "2018" [dependencies] arrayref = "0.3.6" bincode = "1.3.1" -blake3 = "0.3.6" +blake3 = "0.3.7" bv = { version = "0.11.1", features = ["serde"] } byteorder = "1.3.4" bzip2 = "0.3.3" diff --git a/sdk/program/Cargo.toml b/sdk/program/Cargo.toml index 514245fd33..6fcb50aec2 100644 --- a/sdk/program/Cargo.toml +++ b/sdk/program/Cargo.toml @@ -11,7 +11,6 @@ edition = "2018" [dependencies] bincode = "1.3.1" -blake3 = "0.3.7" borsh = "0.8.1" borsh-derive = "0.8.1" bs58 = "0.3.1" @@ -33,7 +32,7 @@ solana-sdk-macro = { path = "../macro", version = "=1.5.19" } thiserror = "1.0" [target.'cfg(not(target_arch = "bpf"))'.dependencies] -blake3 = "0.3.6" +blake3 = "0.3.7" curve25519-dalek = "2.1.0" rand = "0.7.0" solana-logger = { path = "../../logger", version = "=1.5.19" } diff --git a/sdk/program/src/message.rs b/sdk/program/src/message.rs index ba21998451..578f73e478 100644 --- a/sdk/program/src/message.rs +++ b/sdk/program/src/message.rs @@ -5,12 +5,11 @@ use crate::serialize_utils::{ append_slice, append_u16, append_u8, read_pubkey, read_slice, read_u16, read_u8, }; use crate::{ - hash::{Hash, HASH_BYTES}, + hash::Hash, instruction::{AccountMeta, CompiledInstruction, Instruction}, pubkey::Pubkey, short_vec, system_instruction, }; -use blake3::traits::digest::Digest; use itertools::Itertools; use std::convert::TryFrom; @@ -274,17 +273,20 @@ impl Message { } /// Compute the blake3 hash of this transaction's message + #[cfg(not(target_arch = "bpf"))] pub fn hash(&self) -> Hash { let message_bytes = self.serialize(); Self::hash_raw_message(&message_bytes) } /// Compute the blake3 hash of a raw transaction message + #[cfg(not(target_arch = "bpf"))] pub fn hash_raw_message(message_bytes: &[u8]) -> Hash { + use blake3::traits::digest::Digest; let mut hasher = blake3::Hasher::new(); hasher.update(b"solana-tx-message-v1"); hasher.update(message_bytes); - Hash(<[u8; HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap()) + Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap()) } pub fn compile_instruction(&self, ix: &Instruction) -> CompiledInstruction {