diff --git a/libs/aarch64-linux-android/librln.a b/libs/aarch64-linux-android/librln.a index b9c80b9..663f899 100644 Binary files a/libs/aarch64-linux-android/librln.a and b/libs/aarch64-linux-android/librln.a differ diff --git a/libs/aarch64-unknown-linux-gnu/librln.a b/libs/aarch64-unknown-linux-gnu/librln.a index 644f7d0..9b93d94 100644 Binary files a/libs/aarch64-unknown-linux-gnu/librln.a and b/libs/aarch64-unknown-linux-gnu/librln.a differ diff --git a/libs/arm-unknown-linux-gnueabi/librln.a b/libs/arm-unknown-linux-gnueabi/librln.a index 0bd10a2..83cb3e6 100644 Binary files a/libs/arm-unknown-linux-gnueabi/librln.a and b/libs/arm-unknown-linux-gnueabi/librln.a differ diff --git a/libs/arm-unknown-linux-gnueabihf/librln.a b/libs/arm-unknown-linux-gnueabihf/librln.a index 6cb770d..e2c7209 100644 Binary files a/libs/arm-unknown-linux-gnueabihf/librln.a and b/libs/arm-unknown-linux-gnueabihf/librln.a differ diff --git a/libs/armv7-linux-androideabi/librln.a b/libs/armv7-linux-androideabi/librln.a index b306a96..ff61429 100644 Binary files a/libs/armv7-linux-androideabi/librln.a and b/libs/armv7-linux-androideabi/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 32d850d..e01efb7 100644 --- a/rln/wrapper.go +++ b/rln/wrapper.go @@ -160,20 +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