8383 ok* : Vec_uint8
8484 err* : Vec_uint8
8585
86+ CResultVecBoolVecU8 * = object
87+ ok* : Vec_bool
88+ err* : Vec_uint8
89+
8690 CBoolResult * = object
8791 ok* : bool
8892 err* : Vec_uint8
@@ -216,6 +220,61 @@ else:
216220 external_nullifier: ptr CFr
217221 ): CResultWitnessInputPtrVecU8 {.importc : " ffi_rln_witness_input_new" , cdecl ,
218222 dynlib : RLN_LIB .}
223+ proc ffi_rln_witness_input_get_version_byte * (witness: ptr ptr FFI_RLNWitnessInput): uint8 {.importc : " ffi_rln_witness_input_get_version_byte" ,
224+ cdecl , dynlib : RLN_LIB .}
225+ proc ffi_rln_witness_input_get_identity_secret * (witness: ptr ptr FFI_RLNWitnessInput): ptr CFr {.importc : " ffi_rln_witness_input_get_identity_secret" ,
226+ cdecl , dynlib : RLN_LIB .}
227+ proc ffi_rln_witness_input_get_user_message_limit * (witness: ptr ptr FFI_RLNWitnessInput): ptr CFr {.importc : " ffi_rln_witness_input_get_user_message_limit" ,
228+ cdecl , dynlib : RLN_LIB .}
229+ when defined (ffiMultiMessageId):
230+ proc ffi_rln_witness_input_get_message_ids * (witness: ptr ptr FFI_RLNWitnessInput): Vec_CFr {.importc : " ffi_rln_witness_input_get_message_ids" ,
231+ cdecl , dynlib : RLN_LIB .}
232+ else :
233+ proc ffi_rln_witness_input_get_message_id * (witness: ptr ptr FFI_RLNWitnessInput): ptr CFr {.importc : " ffi_rln_witness_input_get_message_id" ,
234+ cdecl , dynlib : RLN_LIB .}
235+ proc ffi_rln_witness_input_get_path_elements * (witness: ptr ptr FFI_RLNWitnessInput): Vec_CFr {.importc : " ffi_rln_witness_input_get_path_elements" ,
236+ cdecl , dynlib : RLN_LIB .}
237+ proc ffi_rln_witness_input_get_identity_path_index * (witness: ptr ptr FFI_RLNWitnessInput): Vec_uint8 {.importc : " ffi_rln_witness_input_get_identity_path_index" ,
238+ cdecl , dynlib : RLN_LIB .}
239+ proc ffi_rln_witness_input_get_x * (witness: ptr ptr FFI_RLNWitnessInput): ptr CFr {.importc : " ffi_rln_witness_input_get_x" ,
240+ cdecl , dynlib : RLN_LIB .}
241+ proc ffi_rln_witness_input_get_external_nullifier * (witness: ptr ptr FFI_RLNWitnessInput): ptr CFr {.importc : " ffi_rln_witness_input_get_external_nullifier" ,
242+ cdecl , dynlib : RLN_LIB .}
243+ when defined (ffiMultiMessageId):
244+ proc ffi_rln_witness_input_get_selector_used * (witness: ptr ptr FFI_RLNWitnessInput): Vec_bool {.importc : " ffi_rln_witness_input_get_selector_used" ,
245+ cdecl , dynlib : RLN_LIB .}
246+
247+ proc ffi_rln_witness_input_modify_identity_secret * (witness: ptr ptr FFI_RLNWitnessInput,
248+ identity_secret: ptr CFr ) {.importc : " ffi_rln_witness_input_modify_identity_secret" ,
249+ cdecl , dynlib : RLN_LIB .}
250+ proc ffi_rln_witness_input_modify_user_message_limit * (witness: ptr ptr FFI_RLNWitnessInput,
251+ user_message_limit: ptr CFr ) {.importc : " ffi_rln_witness_input_modify_user_message_limit" ,
252+ cdecl , dynlib : RLN_LIB .}
253+ when defined (ffiMultiMessageId):
254+ proc ffi_rln_witness_input_modify_message_ids * (witness: ptr ptr FFI_RLNWitnessInput,
255+ message_ids: ptr Vec_CFr) {.importc : " ffi_rln_witness_input_modify_message_ids" ,
256+ cdecl , dynlib : RLN_LIB .}
257+ else :
258+ proc ffi_rln_witness_input_modify_message_id * (witness: ptr ptr FFI_RLNWitnessInput,
259+ message_id: ptr CFr ) {.importc : " ffi_rln_witness_input_modify_message_id" ,
260+ cdecl , dynlib : RLN_LIB .}
261+ proc ffi_rln_witness_input_modify_path_elements * (witness: ptr ptr FFI_RLNWitnessInput,
262+ path_elements: ptr Vec_CFr) {.importc : " ffi_rln_witness_input_modify_path_elements" ,
263+ cdecl , dynlib : RLN_LIB .}
264+ proc ffi_rln_witness_input_modify_identity_path_index * (witness: ptr ptr FFI_RLNWitnessInput,
265+ identity_path_index: ptr Vec_uint8) {.importc : " ffi_rln_witness_input_modify_identity_path_index" ,
266+ cdecl , dynlib : RLN_LIB .}
267+ proc ffi_rln_witness_input_modify_x * (witness: ptr ptr FFI_RLNWitnessInput,
268+ x: ptr CFr ) {.importc : " ffi_rln_witness_input_modify_x" ,
269+ cdecl , dynlib : RLN_LIB .}
270+ proc ffi_rln_witness_input_modify_external_nullifier * (witness: ptr ptr FFI_RLNWitnessInput,
271+ external_nullifier: ptr CFr ) {.importc : " ffi_rln_witness_input_modify_external_nullifier" ,
272+ cdecl , dynlib : RLN_LIB .}
273+ when defined (ffiMultiMessageId):
274+ proc ffi_rln_witness_input_modify_selector_used * (witness: ptr ptr FFI_RLNWitnessInput,
275+ selector_used: ptr Vec_bool) {.importc : " ffi_rln_witness_input_modify_selector_used" ,
276+ cdecl , dynlib : RLN_LIB .}
277+
219278proc ffi_rln_witness_to_bytes_le * (witness: ptr ptr FFI_RLNWitnessInput): CResultVecU8VecU8 {.importc : " ffi_rln_witness_to_bytes_le" ,
220279 cdecl , dynlib : RLN_LIB .}
221280proc ffi_rln_witness_to_bytes_be * (witness: ptr ptr FFI_RLNWitnessInput): CResultVecU8VecU8 {.importc : " ffi_rln_witness_to_bytes_be" ,
@@ -314,7 +373,11 @@ proc ffi_recover_id_secret*(proof_values_1: ptr ptr FFI_RLNProofValues,
314373 proof_values_2: ptr ptr FFI_RLNProofValues): CResultCFrPtrVecU8 {.importc : " ffi_recover_id_secret" ,
315374 cdecl , dynlib : RLN_LIB .}
316375
317- # RLNProof serialization
376+ # RLNProof functions
377+ proc ffi_rln_proof_get_version_byte * (proof: ptr ptr FFI_RLNProof): uint8 {.importc : " ffi_rln_proof_get_version_byte" ,
378+ cdecl , dynlib : RLN_LIB .}
379+ proc ffi_rln_proof_get_values * (proof: ptr ptr FFI_RLNProof): ptr FFI_RLNProofValues {.importc : " ffi_rln_proof_get_values" ,
380+ cdecl , dynlib : RLN_LIB .}
318381proc ffi_rln_proof_to_bytes_le * (proof: ptr ptr FFI_RLNProof): CResultVecU8VecU8 {.importc : " ffi_rln_proof_to_bytes_le" ,
319382 cdecl , dynlib : RLN_LIB .}
320383proc ffi_rln_proof_to_bytes_be * (proof: ptr ptr FFI_RLNProof): CResultVecU8VecU8 {.importc : " ffi_rln_proof_to_bytes_be" ,
@@ -325,9 +388,6 @@ proc ffi_bytes_be_to_rln_proof*(bytes: ptr Vec_uint8): CResultProofPtrVecU8 {.im
325388 cdecl , dynlib : RLN_LIB .}
326389
327390# RLNProofValues functions
328- proc ffi_rln_proof_get_values * (proof: ptr ptr FFI_RLNProof): ptr FFI_RLNProofValues {.importc : " ffi_rln_proof_get_values" ,
329- cdecl , dynlib : RLN_LIB .}
330-
331391when defined (ffiMultiMessageId):
332392 proc ffi_rln_proof_values_get_ys * (pv: ptr ptr FFI_RLNProofValues): CResultVecCFrVecU8 {.importc : " ffi_rln_proof_values_get_ys" ,
333393 cdecl , dynlib : RLN_LIB .}
@@ -338,12 +398,44 @@ else:
338398 cdecl , dynlib : RLN_LIB .}
339399 proc ffi_rln_proof_values_get_nullifier * (pv: ptr ptr FFI_RLNProofValues): CResultCFrPtrVecU8 {.importc : " ffi_rln_proof_values_get_nullifier" ,
340400 cdecl , dynlib : RLN_LIB .}
401+ when defined (ffiMultiMessageId):
402+ proc ffi_rln_proof_values_get_selector_used * (pv: ptr ptr FFI_RLNProofValues): CResultVecBoolVecU8 {.importc : " ffi_rln_proof_values_get_selector_used" ,
403+ cdecl , dynlib : RLN_LIB .}
404+ proc ffi_rln_proof_values_get_version_byte * (pv: ptr ptr FFI_RLNProofValues): uint8 {.importc : " ffi_rln_proof_values_get_version_byte" ,
405+ cdecl , dynlib : RLN_LIB .}
341406proc ffi_rln_proof_values_get_root * (pv: ptr ptr FFI_RLNProofValues): ptr CFr {.importc : " ffi_rln_proof_values_get_root" ,
342407 cdecl , dynlib : RLN_LIB .}
343408proc ffi_rln_proof_values_get_x * (pv: ptr ptr FFI_RLNProofValues): ptr CFr {.importc : " ffi_rln_proof_values_get_x" ,
344409 cdecl , dynlib : RLN_LIB .}
345410proc ffi_rln_proof_values_get_external_nullifier * (pv: ptr ptr FFI_RLNProofValues): ptr CFr {.importc : " ffi_rln_proof_values_get_external_nullifier" ,
346411 cdecl , dynlib : RLN_LIB .}
412+ proc ffi_rln_proof_values_modify_root * (pv: ptr ptr FFI_RLNProofValues,
413+ root: ptr CFr ) {.importc : " ffi_rln_proof_values_modify_root" ,
414+ cdecl , dynlib : RLN_LIB .}
415+ proc ffi_rln_proof_values_modify_x * (pv: ptr ptr FFI_RLNProofValues,
416+ x: ptr CFr ) {.importc : " ffi_rln_proof_values_modify_x" ,
417+ cdecl , dynlib : RLN_LIB .}
418+ proc ffi_rln_proof_values_modify_external_nullifier * (pv: ptr ptr FFI_RLNProofValues,
419+ external_nullifier: ptr CFr ) {.importc : " ffi_rln_proof_values_modify_external_nullifier" ,
420+ cdecl , dynlib : RLN_LIB .}
421+ when defined (ffiMultiMessageId):
422+ proc ffi_rln_proof_values_modify_selector_used * (pv: ptr ptr FFI_RLNProofValues,
423+ selector_used: ptr Vec_bool) {.importc : " ffi_rln_proof_values_modify_selector_used" ,
424+ cdecl , dynlib : RLN_LIB .}
425+ proc ffi_rln_proof_values_modify_ys * (pv: ptr ptr FFI_RLNProofValues,
426+ ys: ptr Vec_CFr) {.importc : " ffi_rln_proof_values_modify_ys" ,
427+ cdecl , dynlib : RLN_LIB .}
428+ proc ffi_rln_proof_values_modify_nullifiers * (pv: ptr ptr FFI_RLNProofValues,
429+ nullifiers: ptr Vec_CFr) {.importc : " ffi_rln_proof_values_modify_nullifiers" ,
430+ cdecl , dynlib : RLN_LIB .}
431+ else :
432+ proc ffi_rln_proof_values_modify_y * (pv: ptr ptr FFI_RLNProofValues,
433+ y: ptr CFr ) {.importc : " ffi_rln_proof_values_modify_y" ,
434+ cdecl , dynlib : RLN_LIB .}
435+ proc ffi_rln_proof_values_modify_nullifier * (pv: ptr ptr FFI_RLNProofValues,
436+ nullifier: ptr CFr ) {.importc : " ffi_rln_proof_values_modify_nullifier" ,
437+ cdecl , dynlib : RLN_LIB .}
438+
347439proc ffi_rln_proof_values_to_bytes_le * (pv: ptr ptr FFI_RLNProofValues): Vec_uint8 {.importc : " ffi_rln_proof_values_to_bytes_le" ,
348440 cdecl , dynlib : RLN_LIB .}
349441proc ffi_rln_proof_values_to_bytes_be * (pv: ptr ptr FFI_RLNProofValues): Vec_uint8 {.importc : " ffi_rln_proof_values_to_bytes_be" ,
0 commit comments