chore: fix node break issue when RLN is unregistered (#3573)

This commit is contained in:
Darshan K 2025-09-20 03:09:38 +05:30 committed by GitHub
parent 16ce21dd73
commit 59f202a5a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -202,11 +202,15 @@ proc trackRootChanges*(g: OnchainGroupManager) {.async: (raises: [CatchableError
let rootUpdated = await g.updateRoots()
if rootUpdated:
let proofResult = await g.fetchMerkleProofElements()
if proofResult.isErr():
error "Failed to fetch Merkle proof", error = proofResult.error
else:
g.merkleProofCache = proofResult.get()
## The membership set on-chain has changed (some new members have joined or some members have left)
if g.membershipIndex.isSome():
## A membership index exists only if the node has registered with RLN.
## Non-registered nodes cannot have Merkle proof elements.
let proofResult = await g.fetchMerkleProofElements()
if proofResult.isErr():
error "Failed to fetch Merkle proof", error = proofResult.error
else:
g.merkleProofCache = proofResult.get()
let nextFreeIndex = await g.fetchNextFreeIndex()
if nextFreeIndex.isErr():