From 40752b1e89480187ba3571ab8c102b5982fb5c69 Mon Sep 17 00:00:00 2001 From: Aaryamann Challani <43716372+rymnc@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:11:32 +0200 Subject: [PATCH] chore(rln-db-inspector): add more logging to find zero leaf indices (#2617) * chore(rln-db-inspector): add more logging to find zero leaf indices * fix: assumeEmptyAfter var --- tools/rln_db_inspector/rln_db_inspector.nim | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tools/rln_db_inspector/rln_db_inspector.nim b/tools/rln_db_inspector/rln_db_inspector.nim index eed618df5..0820e255f 100644 --- a/tools/rln_db_inspector/rln_db_inspector.nim +++ b/tools/rln_db_inspector/rln_db_inspector.nim @@ -38,4 +38,29 @@ proc doInspectRlnDb*(conf: WakuNodeConf) = contractAddress = metadata.contractAddress, validRoots = metadata.validRoots.mapIt(it.inHex()) + var index: uint = 0 + var hits: uint = 0 + var zeroLeafIndices: seq[uint] = @[] + var assumeEmptyAfter: uint = 10 + while true: + let leaf = rlnInstance.getMember(index).valueOr: + error "failure while getting RLN leaf", error + quit(1) + + if leaf.inHex() == "0000000000000000000000000000000000000000000000000000000000000000": + zeroLeafIndices.add(index) + hits = hits + 1 + else: + hits = 0 + + if hits > assumeEmptyAfter: + info "reached end of RLN tree", index = index - assumeEmptyAfter + # remove zeroLeafIndices that are not at the end of the tree + zeroLeafIndices = zeroLeafIndices.filterIt(it < index - assumeEmptyAfter) + break + + index = index + 1 + + info "zero leaf indices", zeroLeafIndices + quit(0)