mirror of
https://github.com/vacp2p/zerokit.git
synced 2026-01-08 21:28:11 -05:00
# Changes - Unified the `RLN` struct and core protocol types across public, FFI, and WASM so everything works consistently. - Fully refactored `protocol.rs` and `public.rs` to clean up the API surface and make the flow easier to work with. - Added (de)serialization for `RLN_Proof` and `RLN_ProofValues`, and matched all C, Nim, WASM, and Node.js examples. - Aligned FFI and WASM behavior, added missing APIs, and standardized how witness are created and passed around. - Reworked the error types, added clearer verification messages, and simplified the overall error structure. - Updated variable names, README, Rust docs, and examples across the repo, updated outdated RLN RFC link. - Refactored `rln-cli` to use the new public API, removed serialize-based cli example, and dropped the `eyre` crate. - Bumped dependencies, fixed CI, fixed `+atomic` flags for latest nightly Rust and added `Clippy.toml` for better fmt. - Added a `prelude.rs` file for easier use, cleaned up public access for types and types import across zerokit modules. - Separated keygen, proof handling, slashing logic, and witness into protocol folder.
56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Convert zkey to arkzkey using /tmp directory
|
|
# Usage: ./convert_zkey.sh <path_to_zkey_file>
|
|
|
|
set -e
|
|
|
|
# Check input
|
|
if [ $# -eq 0 ]; then
|
|
echo "Usage: $0 <path_to_zkey_file>"
|
|
exit 1
|
|
fi
|
|
|
|
ZKEY_FILE="$1"
|
|
|
|
if [ ! -f "$ZKEY_FILE" ]; then
|
|
echo "Error: File '$ZKEY_FILE' does not exist"
|
|
exit 1
|
|
fi
|
|
|
|
# Get absolute path before changing directories
|
|
ZKEY_ABSOLUTE_PATH=$(realpath "$ZKEY_FILE")
|
|
|
|
# Create temp directory in /tmp
|
|
TEMP_DIR="/tmp/ark-zkey-$$"
|
|
echo "Using temp directory: $TEMP_DIR"
|
|
|
|
# Cleanup function
|
|
cleanup() {
|
|
echo "Cleaning up temp directory: $TEMP_DIR"
|
|
rm -rf "$TEMP_DIR"
|
|
}
|
|
|
|
# Setup cleanup trap
|
|
trap cleanup EXIT
|
|
|
|
# Create temp directory and clone ark-zkey
|
|
mkdir -p "$TEMP_DIR"
|
|
cd "$TEMP_DIR"
|
|
git clone https://github.com/seemenkina/ark-zkey.git
|
|
cd ark-zkey
|
|
cargo build
|
|
|
|
# Convert
|
|
cargo run --bin arkzkey-util "$ZKEY_ABSOLUTE_PATH"
|
|
|
|
# Check if arkzkey file was created (tool creates it in same directory as input)
|
|
ARKZKEY_FILE="${ZKEY_ABSOLUTE_PATH%.zkey}.arkzkey"
|
|
|
|
if [ ! -f "$ARKZKEY_FILE" ]; then
|
|
echo "Could not find generated .arkzkey file at $ARKZKEY_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Conversion successful!"
|
|
echo "Output file: $ARKZKEY_FILE" |