Skip to content

Commit 2e69d38

Browse files
committed
More clean up
1 parent 06c3078 commit 2e69d38

2 files changed

Lines changed: 2 additions & 94 deletions

File tree

fastcrypto-zkp/src/bls12381/api/tests.rs

Lines changed: 2 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright (c) 2022, Mysten Labs, Inc.
22
// SPDX-License-Identifier: Apache-2.0
33

4+
use std::ops::Mul;
5+
46
use ark_bls12_381::{Bls12_381, Fq12, Fr, G1Affine};
57
use ark_ff::One;
68
use ark_groth16::Groth16;
@@ -18,69 +20,6 @@ use crate::bls12381::test_helpers::from_arkworks_scalar;
1820
use crate::bls12381::{PreparedVerifyingKey, VerifyingKey};
1921
use crate::dummy_circuits::{DummyCircuit, Fibonacci};
2022
use crate::groth16::Proof;
21-
use fastcrypto::groups::bls12381::G1Element;
22-
23-
use std::ops::Mul;
24-
25-
#[test]
26-
fn test_verify() {
27-
// Success case.
28-
let mut vk_bytes = hex::decode("ada3c24e8c2e63579cc03fd1f112a093a17fc8ab0ff6eee7e04cab7bf8e03e7645381f309ec113309e05ac404c77ac7c8585d5e4328594f5a70a81f6bd4f29073883ee18fd90e2aa45d0fc7376e81e2fdf5351200386f5732e58eb6ff4d318dc").unwrap();
29-
let alpha_bytes = hex::decode("8b0f85a9e7d929244b0af9a35af10717bd667b6227aae37a6d336e815fb0d850873e0d87968345a493b2d31aa8aa400d9820af1d35fa862d1b339ea1f98ac70db7faa304bff120a151a1741d782d08b8f1c1080d4d2f3ebee63ac6cadc666605be306de0973be38fbbf0f54b476bbb002a74ff9506a2b9b9a34b99bfa7481a84a2c9face7065c19d7069cc5738c5350b886a5eeebe656499d2ffb360afc7aff20fa9ee689fb8b46863e90c85224e8f597bf323ad4efb02ee96eb40221fc89918a2c740eabd2886476c7f247a3eb34f0106b3b51cf040e2cdcafea68b0d8eecabf58b5aa2ece3d86259cf2dfa3efab1170c6eb11948826def533849b68335d76d60f3e16bb5c629b1c24df2bdd1a7f13c754d7fe38617ecd7783504e4615e5c13168185cc08de8d63a0f7032ab7e82ff78cf0bc46a84c98f2d95bb5af355cbbe525c44d5c1549c169dfe119a219dbf9038ec73729d187bd0e3ed369e4a2ec2be837f3dcfd958aea7110627d2c0192d262f17e722509c17196005b646a556cf010ef9bd2a2a9b937516a5ecdee516e77d14278e96bc891b630fc833dda714343554ae127c49460416430b7d4f048d08618058335dec0728ad37d10dd9d859c385a38673e71cc98e8439da0accc29de5c92d3c3dc98e199361e9f7558e8b0a2a315ccc5a72f54551f07fad6f6f4615af498aba98aea01a13a4eb84667fd87ee9782b1d812a03f8814f042823a7701238d0fec1e7dec2a26ffea00330b5c7930e95138381435d2a59f51313a48624e30b0a685e357874d41a0a19d83f7420c1d9c04").unwrap();
30-
let gamma_bytes = hex::decode("b675d1ff988116d1f2965d3c0c373569b74d0a1762ea7c4f4635faa5b5a8fa198a2a2ce6153f390a658dc9ad01a415491747e9de7d5f493f59cf05a52eb46eaac397ffc47aef1396cf0d8b75d0664077ea328ad6b63284b42972a8f11c523a60").unwrap();
31-
let delta_bytes = hex::decode("8229cb9443ef1fb72887f917f500e2aef998717d91857bcb92061ecd74d1d24c2b2b282736e8074e4316939b4c9853c117aa08ed49206860d648818b2cccb526585f5790161b1730d39c73603b482424a27bba891aaa6d99f3025d3df2a6bd42").unwrap();
32-
33-
let inputs_bytes =
34-
hex::decode("440758042e68b76a376f2fecf3a5a8105edb194c3e774e5a760140305aec8849").unwrap();
35-
let proof_bytes = hex::decode("a29981304df8e0f50750b558d4de59dbc8329634b81c986e28e9fff2b0faa52333b14a1f7b275b029e13499d1f5dd8ab955cf5fa3000a097920180381a238ce12df52207597eade4a365a6872c0a19a39c08a9bfb98b69a15615f90cc32660180ca32e565c01a49b505dd277713b1eae834df49643291a3601b11f56957bde02d5446406d0e4745d1bd32c8ccb8d8e80b877712f5f373016d2ecdeebb58caebc7a425b8137ebb1bd0c5b81c1d48151b25f0f24fe9602ba4e403811fb17db6f14").unwrap();
36-
37-
// Success case
38-
assert!(verify_groth16_in_bytes(
39-
&vk_bytes,
40-
&alpha_bytes,
41-
&gamma_bytes,
42-
&delta_bytes,
43-
&inputs_bytes,
44-
&proof_bytes
45-
)
46-
.unwrap());
47-
48-
// Invalid public inputs bytes.
49-
let invalid_inputs = hex::decode("cf").unwrap();
50-
assert!(verify_groth16_in_bytes(
51-
&alpha_bytes,
52-
&gamma_bytes,
53-
&delta_bytes,
54-
&inputs_bytes,
55-
&invalid_inputs,
56-
&proof_bytes
57-
)
58-
.is_err());
59-
60-
// Invalid proof bytes.
61-
let invalid_proof = hex::decode("4a").unwrap();
62-
assert!(verify_groth16_in_bytes(
63-
&alpha_bytes,
64-
&gamma_bytes,
65-
&delta_bytes,
66-
&inputs_bytes,
67-
&inputs_bytes,
68-
&invalid_proof
69-
)
70-
.is_err());
71-
72-
// Invalid prepared verifying key.
73-
vk_bytes.pop();
74-
assert!(verify_groth16_in_bytes(
75-
&vk_bytes,
76-
&alpha_bytes,
77-
&gamma_bytes,
78-
&delta_bytes,
79-
&inputs_bytes,
80-
&proof_bytes
81-
)
82-
.is_err());
83-
}
8423

8524
#[test]
8625
fn test_verify() {

fastcrypto/src/serde_helpers.rs

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -357,34 +357,3 @@ mod tests {
357357
);
358358
}
359359
}
360-
361-
/// Given a byte array of length `N * SIZE_IN_BYTES`, deserialize it into a vector of `N` elements
362-
/// of type `T`.
363-
pub fn deserialize_vector<const SIZE_IN_BYTES: usize, T: ToFromByteArray<SIZE_IN_BYTES>>(
364-
bytes: &[u8],
365-
) -> FastCryptoResult<Vec<T>> {
366-
if bytes.len() % SIZE_IN_BYTES != 0 {
367-
return Err(FastCryptoError::InvalidInput);
368-
}
369-
bytes
370-
.chunks(SIZE_IN_BYTES)
371-
.map(|chunk| {
372-
T::from_byte_array(
373-
&chunk
374-
.try_into()
375-
.map_err(|_| FastCryptoError::InvalidInput)?,
376-
)
377-
})
378-
.collect::<FastCryptoResult<Vec<T>>>()
379-
}
380-
381-
/// Serialize a vector of elements of type T into a byte array by simply concatenating their binary
382-
/// representations.
383-
pub fn serialize_vector<const SIZE_IN_BYTES: usize, T: ToFromByteArray<SIZE_IN_BYTES>>(
384-
elements: &[T],
385-
) -> Vec<u8> {
386-
elements
387-
.iter()
388-
.flat_map(|e| e.to_byte_array().to_vec())
389-
.collect()
390-
}

0 commit comments

Comments
 (0)