Skip to content

Commit

Permalink
syn: Remove bpf target support in hash feature (#3078)
Browse files Browse the repository at this point in the history
  • Loading branch information
acheroncrypto authored Jul 11, 2024
1 parent 0a1d458 commit fd6174a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 27 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
30 changes: 3 additions & 27 deletions lang/syn/src/hash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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.
Expand Down

0 comments on commit fd6174a

Please sign in to comment.