From fd6174a88db276b53c3856bf9865bdd43029e4c9 Mon Sep 17 00:00:00 2001 From: acheron <98934430+acheroncrypto@users.noreply.github.com> Date: Thu, 11 Jul 2024 12:22:44 +0200 Subject: [PATCH] syn: Remove `bpf` target support in `hash` feature (#3078) --- CHANGELOG.md | 2 ++ lang/syn/src/hash.rs | 30 +++--------------------------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db7f9585e..23d67e4a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ The minor version will be incremented upon a breaking change and the patch versi ### Breaking +- syn: Remove `bpf` target support in `hash` feature ([#3078](https://github.com/coral-xyz/anchor/pull/3078)). + ## [0.30.1] - 2024-06-20 ### Features diff --git a/lang/syn/src/hash.rs b/lang/syn/src/hash.rs index d6992dd50..60a5cfb47 100644 --- a/lang/syn/src/hash.rs +++ b/lang/syn/src/hash.rs @@ -78,11 +78,6 @@ impl Hash { Hash(<[u8; HASH_BYTES]>::try_from(hash_slice).unwrap()) } - #[cfg(target_arch = "bpf")] - pub const fn new_from_array(hash_array: [u8; HASH_BYTES]) -> Self { - Self(hash_array) - } - pub fn to_bytes(self) -> [u8; HASH_BYTES] { self.0 } @@ -92,28 +87,9 @@ impl Hash { pub fn hashv(vals: &[&[u8]]) -> Hash { // Perform the calculation inline, calling this from within a program is // not supported - #[cfg(not(target_arch = "bpf"))] - { - let mut hasher = Hasher::default(); - hasher.hashv(vals); - hasher.result() - } - // Call via a system call to perform the calculation - #[cfg(target_arch = "bpf")] - { - extern "C" { - fn sol_sha256(vals: *const u8, val_len: u64, hash_result: *mut u8) -> u64; - } - let mut hash_result = [0; HASH_BYTES]; - unsafe { - sol_sha256( - vals as *const _ as *const u8, - vals.len() as u64, - &mut hash_result as *mut _ as *mut u8, - ); - } - Hash::new_from_array(hash_result) - } + let mut hasher = Hasher::default(); + hasher.hashv(vals); + hasher.result() } /// Return a Sha256 hash for the given data.