From 97d4b9983606c1f86016152241ebf47d8b546ada Mon Sep 17 00:00:00 2001 From: Tom French Date: Tue, 25 Apr 2023 19:12:49 +0100 Subject: [PATCH] feat!: remove dead blake2 code --- barretenberg_static_lib/src/blake2s.rs | 44 -------------------- barretenberg_static_lib/src/lib.rs | 1 - barretenberg_wasm/src/blake2s.rs | 56 -------------------------- barretenberg_wasm/src/lib.rs | 1 - 4 files changed, 102 deletions(-) delete mode 100644 barretenberg_static_lib/src/blake2s.rs delete mode 100644 barretenberg_wasm/src/blake2s.rs diff --git a/barretenberg_static_lib/src/blake2s.rs b/barretenberg_static_lib/src/blake2s.rs deleted file mode 100644 index 349da4f0..00000000 --- a/barretenberg_static_lib/src/blake2s.rs +++ /dev/null @@ -1,44 +0,0 @@ -use common::acvm::FieldElement; - -use super::Barretenberg; - -impl Barretenberg { - /// Hashes to a bn254 scalar field element using blake2s - pub fn hash_to_field(&mut self, input: &[u8]) -> FieldElement { - let result_prt = barretenberg_sys::blake2s::hash_to_field(input); - - FieldElement::from_be_bytes_reduce(&result_prt) - } -} - -#[test] -fn basic_interop() { - // Expected values were taken from barretenberg by running `crypto::pedersen::compress_native` - // printing the result in hex to `std::cout` and copying - struct Test<'a> { - input: Vec, - expected_hex: &'a str, - } - - let tests = vec![ - Test { - input: vec![0; 64], - expected_hex: "0x1cdcf02431ba623767fe389337d011df1048dcc24b98ed81cec97627bab454a0", - }, - Test { - input: vec![1; 64], - expected_hex: "0x1aab12b2f330c2fb811d6042f10ce65c0678803354529dc7f9bb5b1d9ff6987b", - }, - Test { - input: vec![2; 64], - expected_hex: "0x06c2335d6f7acb84bbc7d0892cefebb7ca31169a89024f24814d5785e0d05324", - }, - ]; - - let mut barretenberg = Barretenberg::new(); - for test in tests { - let expected = FieldElement::from_hex(test.expected_hex).unwrap(); - let got = barretenberg.hash_to_field(&test.input); - assert_eq!(got, expected); - } -} diff --git a/barretenberg_static_lib/src/lib.rs b/barretenberg_static_lib/src/lib.rs index 660ec217..7a0f87b1 100644 --- a/barretenberg_static_lib/src/lib.rs +++ b/barretenberg_static_lib/src/lib.rs @@ -3,7 +3,6 @@ pub mod acvm_interop; pub use acvm_interop::Plonk; -pub mod blake2s; pub mod composer; mod crs; pub mod pedersen; diff --git a/barretenberg_wasm/src/blake2s.rs b/barretenberg_wasm/src/blake2s.rs deleted file mode 100644 index e61f54bb..00000000 --- a/barretenberg_wasm/src/blake2s.rs +++ /dev/null @@ -1,56 +0,0 @@ -use super::{Barretenberg, FIELD_BYTES}; -use common::acvm::FieldElement; -use wasmer::Value; - -impl Barretenberg { - // TODO : Replace this call with a blake2s call and a field element reduce - /// Hashes to a bn254 scalar field element using blake2s - pub fn hash_to_field(&mut self, input: &[u8]) -> FieldElement { - let input_ptr = self.allocate(input); - let result_ptr: usize = 0; - - self.call_multiple( - "blake2s_to_field", - vec![ - &input_ptr, - &Value::I32(input.len() as i32), - &Value::I32(result_ptr as i32), - ], - ); - - self.free(input_ptr); - - let result_bytes = self.slice_memory(result_ptr, FIELD_BYTES); - FieldElement::from_be_bytes_reduce(&result_bytes) - } -} - -#[test] -fn basic_interop() { - struct Test<'a> { - input: Vec, - expected_hex: &'a str, - } - - let tests = vec![ - Test { - input: vec![0; 64], - expected_hex: "0x1cdcf02431ba623767fe389337d011df1048dcc24b98ed81cec97627bab454a0", - }, - Test { - input: vec![1; 64], - expected_hex: "0x1aab12b2f330c2fb811d6042f10ce65c0678803354529dc7f9bb5b1d9ff6987b", - }, - Test { - input: vec![2; 64], - expected_hex: "0x06c2335d6f7acb84bbc7d0892cefebb7ca31169a89024f24814d5785e0d05324", - }, - ]; - - let mut barretenberg = Barretenberg::new(); - for test in tests { - let expected = FieldElement::from_hex(test.expected_hex).unwrap(); - let got = barretenberg.hash_to_field(&test.input); - assert_eq!(got, expected); - } -} diff --git a/barretenberg_wasm/src/lib.rs b/barretenberg_wasm/src/lib.rs index 9381d7f8..a69dc890 100644 --- a/barretenberg_wasm/src/lib.rs +++ b/barretenberg_wasm/src/lib.rs @@ -10,7 +10,6 @@ struct Wasm; pub mod acvm_interop; pub use acvm_interop::Plonk; pub use common::acvm::{Backend, PartialWitnessGenerator, ProofSystemCompiler}; -pub mod blake2s; pub mod composer; pub mod pedersen; pub mod pippenger;