File tree Expand file tree Collapse file tree 2 files changed +18
-8
lines changed
Expand file tree Collapse file tree 2 files changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -457,10 +457,15 @@ method verifyProof*(
457457
458458 var normalizedProof = proof
459459
460- normalizedProof.externalNullifier = poseidon (
461- @ [@ (proof.epoch), @ (proof.rlnIdentifier)]
462- ).valueOr:
463- return err (" Failed to compute external nullifier: " & error)
460+ var epochHash = sha256 (@ (proof.epoch)).valueOr:
461+ return err (" Failed to compute epoch hash: " & error)
462+ var rlnIdentifierHash = sha256 (@ (proof.rlnIdentifier)).valueOr:
463+ return err (" Failed to compute rln identifier hash: " & error)
464+ var externalNullifier = poseidon (
465+ @ [@ (epochHash), @ (rlnIdentifierHash)]
466+ ).valueOr:
467+ return err (" Failed to compute external nullifier: " & error)
468+ normalizedProof.externalNullifier = externalNullifier
464469
465470 let proofBytes = serialize (normalizedProof, input)
466471 let proofBuffer = proofBytes.toBuffer ()
Original file line number Diff line number Diff line change @@ -121,9 +121,8 @@ proc createRLNInstance*(): RLNResult =
121121
122122proc sha256 * (data: openArray [byte ]): RlnRelayResult [MerkleNode ] =
123123 # # a thin layer on top of the Nim wrapper of the sha256 hasher
124- var lenPrefData = encodeLengthPrefix (data)
125124 var
126- hashInputBuffer = lenPrefData .toBuffer ()
125+ hashInputBuffer = data .toBuffer ()
127126 outputBuffer: Buffer # will holds the hash output
128127
129128 trace " sha256 hash input buffer length" , bufflen = hashInputBuffer.len
@@ -181,8 +180,14 @@ proc toLeaves*(rateCommitments: seq[RateCommitment]): RlnRelayResult[seq[seq[byt
181180 return ok (leaves)
182181
183182proc extractMetadata * (proof: RateLimitProof ): RlnRelayResult [ProofMetadata ] =
184- let externalNullifier = poseidon (@ [@ (proof.epoch), @ (proof.rlnIdentifier)]).valueOr:
185- return err (" could not construct the external nullifier" )
183+ var epochHash = sha256 (@ (proof.epoch)).valueOr:
184+ return err (" Failed to compute epoch hash: " & error)
185+ var rlnIdentifierHash = sha256 (@ (proof.rlnIdentifier)).valueOr:
186+ return err (" Failed to compute rln identifier hash: " & error)
187+ var externalNullifier = poseidon (
188+ @ [@ (epochHash), @ (rlnIdentifierHash)]
189+ ).valueOr:
190+ return err (" Failed to compute external nullifier: " & error)
186191 return ok (
187192 ProofMetadata (
188193 nullifier: proof.nullifier,
You can’t perform that action at this time.
0 commit comments