2023-09-07 18:15:25 +05:30
|
|
|
when (NimMajor, NimMinor) < (1, 4):
|
|
|
|
|
{.push raises: [Defect].}
|
|
|
|
|
else:
|
|
|
|
|
{.push raises: [].}
|
|
|
|
|
|
2024-07-09 13:14:28 +02:00
|
|
|
import chronicles, sequtils, results
|
2023-09-07 18:15:25 +05:30
|
|
|
|
2025-05-08 07:05:35 +10:00
|
|
|
import waku/[waku_rln_relay/rln, waku_rln_relay/conversion_utils]
|
2023-09-07 18:15:25 +05:30
|
|
|
|
|
|
|
|
logScope:
|
|
|
|
|
topics = "rln_db_inspector"
|
|
|
|
|
|
2025-05-08 07:05:35 +10:00
|
|
|
type InspectRlnDbConf* = object
|
|
|
|
|
treePath*: string
|
|
|
|
|
|
|
|
|
|
proc doInspectRlnDb*(conf: InspectRlnDbConf) =
|
2023-09-07 18:15:25 +05:30
|
|
|
# 1. load configuration
|
|
|
|
|
trace "configuration", conf = $conf
|
|
|
|
|
|
|
|
|
|
# 2. initialize rlnInstance
|
2025-09-10 16:18:51 +05:30
|
|
|
let rlnInstance = createRLNInstance(d = 20).valueOr:
|
2023-09-08 13:58:27 +05:30
|
|
|
error "failure while creating RLN instance", error
|
2023-09-07 18:15:25 +05:30
|
|
|
quit(1)
|
|
|
|
|
|
|
|
|
|
# 3. get metadata
|
2024-03-08 19:36:22 +05:30
|
|
|
let metadataOpt = rlnInstance.getMetadata().valueOr:
|
2023-09-08 13:58:27 +05:30
|
|
|
error "failure while getting RLN metadata", error
|
2023-09-07 18:15:25 +05:30
|
|
|
quit(1)
|
2024-03-16 00:08:47 +01:00
|
|
|
|
2024-03-08 19:36:22 +05:30
|
|
|
if metadataOpt.isNone():
|
|
|
|
|
error "RLN metadata does not exist"
|
|
|
|
|
quit(1)
|
|
|
|
|
let metadata = metadataOpt.get()
|
2023-09-07 18:15:25 +05:30
|
|
|
|
2024-03-16 00:08:47 +01:00
|
|
|
info "RLN metadata",
|
|
|
|
|
lastProcessedBlock = metadata.lastProcessedBlock,
|
|
|
|
|
chainId = metadata.chainId,
|
|
|
|
|
contractAddress = metadata.contractAddress,
|
|
|
|
|
validRoots = metadata.validRoots.mapIt(it.inHex())
|
2023-09-07 18:15:25 +05:30
|
|
|
|
|
|
|
|
quit(0)
|