Files
zerokit/Makefile.toml
Vinh Trịnh 25d398be19 feat: implement multi-message-id feature (#375)
## Description

- Refactored `RLNWitnessInput` and `RLNProofValues` into struct/enum
(`SingleV1` / `MultiV1`) to cleanly support both standard and
multi-message-id modes.
- Added version byte retrieval methods for `RLNProof` and
`RLNWitnessInput`.
- Enhanced `ProtocolError` with new variants: `EmptyMessageIds`,
`DuplicateMessageIds`, `MissingSelectorUsed`, `NoActiveSelectorUsed`,
and `FieldLengthMismatch`.
- Read `MAX_OUT` value directly from the graph file instead of
hardcoding.
- Added checks for `message_ids`, `selector_used`, `path_elements`,
`identity_path_index` in proof gen api.
- Extended FFI (C/Nim/Rust) and WASM bindings with multi-message-id
support.
- Added multi-message-id CLI example and updated existing examples.
- Added multi-message-id circuit resources (`max_out_4`) for tree depth
10 and 20; removed tree depth 16 and 24.
- Updated CI with clippy checks and nightly release for the
`multi-message-id` feature flag.
- Version bump for dependencies in all modules.
- Exposed compute_id_secret as a public API and updated README on how to
use the slashing cross feature.
## Testing

- Added multi-message-id test cases for FFI, protocol, and public API.
- Added compatibility tests to verify new witness/proof types against
old serialized data.

## Checklist

- [x] I have run the CI coverage report. Add the `run-coverage` label to
this PR to enable it.
2026-03-16 17:49:51 +07:00

21 lines
669 B
TOML

[env]
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
[tasks.fmt]
workspace = false
description = "Format workspace members and excluded crates"
command = "sh"
args = [
"-c",
"cargo +nightly fmt --all && cargo +nightly fmt --manifest-path rln-cli/Cargo.toml --all && cargo +nightly fmt --manifest-path rln-wasm/Cargo.toml --all",
]
[tasks.fmt_check]
workspace = false
description = "Check formatting for workspace members and excluded crates"
command = "sh"
args = [
"-c",
"cargo +nightly fmt --all -- --check && cargo +nightly fmt --manifest-path rln-cli/Cargo.toml --all -- --check && cargo +nightly fmt --manifest-path rln-wasm/Cargo.toml --all -- --check",
]