diff --git a/libs/x86_64-pc-windows-gnu/librln.a b/libs/x86_64-pc-windows-gnu/librln.a index 5f93bf1..23984c3 100644 Binary files a/libs/x86_64-pc-windows-gnu/librln.a and b/libs/x86_64-pc-windows-gnu/librln.a differ diff --git a/libs/x86_64-unknown-linux-gnu/librln.a b/libs/x86_64-unknown-linux-gnu/librln.a index dac3270..8e8b0e8 100644 Binary files a/libs/x86_64-unknown-linux-gnu/librln.a and b/libs/x86_64-unknown-linux-gnu/librln.a differ diff --git a/libs/x86_64-unknown-linux-musl/librln.a b/libs/x86_64-unknown-linux-musl/librln.a index e9e2f66..de8c0a5 100644 Binary files a/libs/x86_64-unknown-linux-musl/librln.a and b/libs/x86_64-unknown-linux-musl/librln.a differ diff --git a/rln/librln.h b/rln/librln.h index d0a78f8..df07ae3 100644 --- a/rln/librln.h +++ b/rln/librln.h @@ -71,6 +71,10 @@ bool generate_rln_proof(struct RLN *ctx, const struct Buffer *input_buffer, struct Buffer *output_buffer); +bool generate_rln_proof_with_witness(struct RLN *ctx, + const struct Buffer *input_buffer, + struct Buffer *output_buffer); + bool verify_rln_proof(const struct RLN *ctx, const struct Buffer *proof_buffer, bool *proof_is_valid_ptr); diff --git a/rln/wrapper.go b/rln/wrapper.go index 8885d29..e01efb7 100644 --- a/rln/wrapper.go +++ b/rln/wrapper.go @@ -160,21 +160,16 @@ func (r *RLN) GenerateRLNProof(input []byte) ([]byte, error) { } func (r *RLN) GenerateRLNProofWithWitness(input []byte) ([]byte, error) { - // TODO: Temporally disabled. In RLNv2 this is not enabled yet. - return nil, errors.New("not implemented") + inputBuffer := toCBufferPtr(input) - /* - inputBuffer := toCBufferPtr(input) + var output []byte + out := toBuffer(output) - var output []byte - out := toBuffer(output) + if !bool(C.generate_rln_proof_with_witness(r.ptr, inputBuffer, &out)) { + return nil, errors.New("could not generate the proof with witness") + } - if !bool(C.generate_rln_proof_with_witness(r.ptr, inputBuffer, &out)) { - return nil, errors.New("could not generate the proof with witness") - } - - return C.GoBytes(unsafe.Pointer(out.ptr), C.int(out.len)), nil - */ + return C.GoBytes(unsafe.Pointer(out.ptr), C.int(out.len)), nil } func (r *RLN) VerifyWithRoots(input []byte, roots []byte) (bool, error) { diff --git a/zerokit b/zerokit index 7790954..85d71a5 160000 --- a/zerokit +++ b/zerokit @@ -1 +1 @@ -Subproject commit 7790954c4a450808e807837cec89700032b0adb8 +Subproject commit 85d71a5427ee78528d6420c04b67c7825e3c6e91