Compare commits

...

1 Commits

Author SHA1 Message Date
Arseniy Klempner
0c9fc07cfe add debug statements that appear in js console 2024-03-29 11:58:51 -07:00
5 changed files with 45 additions and 14 deletions

30
Cargo.lock generated
View File

@@ -1919,9 +1919,9 @@ checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
[[package]]
name = "js-sys"
version = "0.3.62"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5"
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
@@ -2707,6 +2707,7 @@ dependencies = [
"ark-std 0.4.0",
"cfg-if",
"color-eyre 0.6.2",
"console_error_panic_hook",
"criterion 0.4.0",
"include_dir",
"num-bigint",
@@ -2720,6 +2721,7 @@ dependencies = [
"thiserror",
"tiny-keccak",
"wasmer",
"web-sys",
"zerokit_utils",
]
@@ -3543,9 +3545,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.85"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4"
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -3553,9 +3555,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.85"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822"
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
@@ -3580,9 +3582,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.85"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434"
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -3590,9 +3592,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.85"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869"
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
@@ -3603,9 +3605,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.85"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "wasm-bindgen-test"
@@ -3995,9 +3997,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.62"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16b5f940c7edfdc6d12126d98c9ef4d1b3d470011c47c76a6581df47ad9ba721"
checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
dependencies = [
"js-sys",
"wasm-bindgen",

View File

@@ -19,6 +19,7 @@ opt-level = 3
[profile.release.package."rln-wasm"]
# Tell `rustc` to optimize for small code size.
opt-level = "s"
debug = true
[profile.release.package."semaphore"]
codegen-units = 1

View File

@@ -49,6 +49,9 @@ serde_json = "=1.0.96"
serde = { version = "=1.0.163", features = ["derive"] }
include_dir = "=0.7.3"
console_error_panic_hook = "0.1.7"
web-sys = { version = "0.3.69", features = ["console"] }
[dev-dependencies]
sled = "=0.34.7"

View File

@@ -103,29 +103,50 @@ pub fn serialize_witness(rln_witness: &RLNWitnessInput) -> Result<Vec<u8>> {
Ok(serialized)
}
extern crate web_sys;
pub fn deserialize_witness(serialized: &[u8]) -> Result<(RLNWitnessInput, usize)> {
let mut all_read: usize = 0;
let (identity_secret, read) = bytes_le_to_fr(&serialized[all_read..]);
all_read += read;
web_sys::console::log_1(&"Read identity secret".into());
web_sys::console::log_1(&identity_secret.to_string().into());
web_sys::console::log_1(&all_read.to_string().into());
let (path_elements, read) = bytes_le_to_vec_fr(&serialized[all_read..])?;
all_read += read;
web_sys::console::log_1(&"Read path elements".into());
web_sys::console::log_1(&format!("{:?}", path_elements).into());
web_sys::console::log_1(&all_read.to_string().into());
let (identity_path_index, read) = bytes_le_to_vec_u8(&serialized[all_read..])?;
all_read += read;
web_sys::console::log_1(&"Read identity path index".into());
web_sys::console::log_1(&format!("{:?}", identity_path_index).into());
web_sys::console::log_1(&all_read.to_string().into());
let (x, read) = bytes_le_to_fr(&serialized[all_read..]);
all_read += read;
web_sys::console::log_1(&"Read x".into());
web_sys::console::log_1(&x.to_string().into());
web_sys::console::log_1(&all_read.to_string().into());
let (epoch, read) = bytes_le_to_fr(&serialized[all_read..]);
all_read += read;
web_sys::console::log_1(&"Read epoch".into());
web_sys::console::log_1(&epoch.to_string().into());
web_sys::console::log_1(&all_read.to_string().into());
let (rln_identifier, read) = bytes_le_to_fr(&serialized[all_read..]);
all_read += read;
web_sys::console::log_1(&"Read rln identifier".into());
web_sys::console::log_1(&rln_identifier.to_string().into());
web_sys::console::log_1(&all_read.to_string().into());
// TODO: check rln_identifier against public::RLN_IDENTIFIER
if serialized.len() != all_read {
web_sys::console::log_1(&"serialized length is not equal to all_read".into());
return Err(Report::msg("serialized length is not equal to all_read"));
}

View File

@@ -14,6 +14,9 @@ use color_eyre::{Report, Result};
use num_bigint::BigInt;
use std::io::Cursor;
use utils::{ZerokitMerkleProof, ZerokitMerkleTree};
extern crate console_error_panic_hook;
use std::panic;
cfg_if! {
if #[cfg(not(target_arch = "wasm32"))] {
@@ -1191,6 +1194,7 @@ impl RLN<'_> {
///
/// The function returns the corresponding JSON encoding of the input [`RLNWitnessInput`](crate::protocol::RLNWitnessInput) object.
pub fn get_rln_witness_json(&mut self, serialized_witness: &[u8]) -> Result<serde_json::Value> {
panic::set_hook(Box::new(console_error_panic_hook::hook));
let (rln_witness, _) = deserialize_witness(serialized_witness)?;
get_json_inputs(&rln_witness)
}