Remove blake3 from bpf program dependencies (#16506)

This commit is contained in:
Justin Starry 2021-04-13 18:06:05 +08:00 committed by GitHub
parent 37afa00ffb
commit f641429056
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 7 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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.7.0" }
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.7.0" }

View File

@ -7,12 +7,11 @@ use crate::serialize_utils::{
};
use crate::{
bpf_loader, bpf_loader_deprecated, bpf_loader_upgradeable,
hash::{Hash, HASH_BYTES},
hash::Hash,
instruction::{AccountMeta, CompiledInstruction, Instruction},
pubkey::Pubkey,
short_vec, system_instruction, system_program, sysvar,
};
use blake3::traits::digest::Digest;
use itertools::Itertools;
use lazy_static::lazy_static;
use std::{convert::TryFrom, str::FromStr};
@ -298,17 +297,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 {