From da3af4f6fbdcfb7270845c47dbd35aafae1e3396 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Wed, 24 Jul 2024 18:25:05 +0200
Subject: [PATCH] use ferveo data structures
---
Cargo.lock | 87 +++++++++++++++++++++++++++++++++++++--------
ferveo/src/debug.rs | 16 ++++++---
ferveo/src/lib.rs | 1 +
3 files changed, 86 insertions(+), 18 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index bc327f76..685f931f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -33,7 +33,7 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
- "getrandom",
+ "getrandom 0.2.9",
"once_cell",
"version_check",
]
@@ -185,7 +185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185"
dependencies = [
"num-traits",
- "rand",
+ "rand 0.8.5",
]
[[package]]
@@ -559,7 +559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array",
- "rand_core",
+ "rand_core 0.6.4",
"typenum",
]
@@ -750,7 +750,7 @@ dependencies = [
"ark-std",
"bincode",
"generic-array",
- "rand",
+ "rand 0.8.5",
"serde",
"serde_with",
]
@@ -773,15 +773,16 @@ dependencies = [
"ferveo-common-pre-release",
"ferveo-tdec",
"generic-array",
- "getrandom",
+ "getrandom 0.2.9",
"hex",
"itertools",
"js-sys",
"measure_time",
"pprof",
"pyo3",
- "rand",
- "rand_core",
+ "rand 0.7.3",
+ "rand 0.8.5",
+ "rand_core 0.6.4",
"serde",
"serde_with",
"subproductdomain-pre-release",
@@ -818,8 +819,8 @@ dependencies = [
"hex",
"itertools",
"miracl_core",
- "rand",
- "rand_core",
+ "rand 0.8.5",
+ "rand_core 0.6.4",
"serde",
"serde_bytes",
"serde_with",
@@ -866,6 +867,17 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
[[package]]
name = "getrandom"
version = "0.2.9"
@@ -875,7 +887,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
"wasm-bindgen",
]
@@ -1463,6 +1475,19 @@ dependencies = [
"proc-macro2",
]
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
[[package]]
name = "rand"
version = "0.8.5"
@@ -1470,8 +1495,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
- "rand_chacha",
- "rand_core",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
]
[[package]]
@@ -1481,7 +1516,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
]
[[package]]
@@ -1490,7 +1534,16 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom",
+ "getrandom 0.2.9",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
]
[[package]]
@@ -1990,6 +2043,12 @@ dependencies = [
"winapi-util",
]
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
diff --git a/ferveo/src/debug.rs b/ferveo/src/debug.rs
index 23fbb2c1..55749d07 100644
--- a/ferveo/src/debug.rs
+++ b/ferveo/src/debug.rs
@@ -1,3 +1,4 @@
+use core::str::FromStr;
use std::{
fs::File,
io::{self, BufRead},
@@ -5,12 +6,15 @@ use std::{
};
use hex::FromHex;
+use crate::api::{PublicKey, Transcript};
+use ferveo_common::FromBytes;
+use crate::EthereumAddress;
#[derive(Debug)]
-struct ValidatorTranscript {
- validator_address: String,
- validator_pk: Vec,
- transcript: Vec,
+struct ValidatorTranscript{
+ validator_address: EthereumAddress,
+ validator_pk: PublicKey,
+ transcript: Transcript
}
fn parse_file(file_path: &PathBuf) -> io::Result> {
@@ -61,6 +65,10 @@ fn parse_file(file_path: &PathBuf) -> io::Result> {
));
}
+ let validator_address = EthereumAddress::from_str(&validator_address).unwrap();
+ let validator_pk = PublicKey::from_bytes(&validator_pk).unwrap();
+ let transcript = Transcript::from_bytes(&transcript).unwrap();
+
records.push(ValidatorTranscript {
validator_address,
validator_pk,
diff --git a/ferveo/src/lib.rs b/ferveo/src/lib.rs
index e817ec93..6f54fb7c 100644
--- a/ferveo/src/lib.rs
+++ b/ferveo/src/lib.rs
@@ -2,6 +2,7 @@
#[cfg(feature = "bindings-wasm")]
extern crate alloc;
+extern crate core;
#[cfg(feature = "bindings-python")]
pub mod bindings_python;