feat: deprecate tree_path and rlnDB (#3577)

This commit is contained in:
Darshan K
2025-09-26 14:47:15 +05:30
committed by GitHub
parent 04fdf0a8c1
commit 3c9b355879
28 changed files with 31 additions and 268 deletions
-1
View File
@@ -567,7 +567,6 @@ proc processInput(rfd: AsyncFD, rng: ref HmacDrbgContext) {.async.} =
),
userMessageLimit: conf.rlnRelayUserMessageLimit,
epochSizeSec: conf.rlnEpochSizeSec,
treePath: conf.rlnRelayTreePath,
)
waitFor node.mountRlnRelay(rlnConf, spamHandler = some(spamHandler))
-6
View File
@@ -283,12 +283,6 @@ type
name: "rln-relay-epoch-sec"
.}: uint64
rlnRelayTreePath* {.
desc: "Path to the RLN merkle tree sled db (https://github.com/spacejam/sled)",
defaultValue: "",
name: "rln-relay-tree-path"
.}: string
# NOTE: Keys are different in nim-libp2p
proc parseCmdArg*(T: type crypto.PrivateKey, p: string): T =
try:
-1
View File
@@ -29,7 +29,6 @@ The following options are available:
--rln-relay Enable spam protection through rln-relay: true|false [=true].
--rln-relay-dynamic Enable waku-rln-relay with on-chain dynamic group management: true|false
[=true].
--rln-relay-tree-path Path to the RLN merkle tree sled db (https://github.com/spacejam/sled).
--rln-relay-eth-client-address HTTP address of an Ethereum testnet client e.g., http://localhost:8540/
[=http://localhost:8540/].
--rln-relay-eth-contract-address Address of membership contract on an Ethereum testnet.
-1
View File
@@ -640,7 +640,6 @@ when isMainModule:
credIndex: some(uint(0)),
ethContractAddress: conf.rlnRelayEthContractAddress,
ethClientUrls: conf.ethClientUrls.mapIt(string(it)),
treePath: conf.rlnRelayTreePath,
epochSizeSec: conf.rlnEpochSizeSec,
creds: none(RlnRelayCreds),
onFatalErrorAction: onFatalErrorAction,
@@ -80,12 +80,6 @@ type NetworkMonitorConf* = object
name: "rln-relay-dynamic"
.}: bool
rlnRelayTreePath* {.
desc: "Path to the RLN merkle tree sled db (https://github.com/spacejam/sled)",
defaultValue: "",
name: "rln-relay-tree-path"
.}: string
ethClientUrls* {.
desc:
"HTTP address of an Ethereum testnet client e.g., http://localhost:8540/. Argument may be repeated.",
-1
View File
@@ -61,7 +61,6 @@ fi
if [ "${CLUSTER_ID}" -eq 1 ]; then
RLN_RELAY_CRED_PATH=--rln-relay-cred-path=${RLN_RELAY_CRED_PATH:-/keystore/keystore.json}
RLN_TREE_PATH=--rln-relay-tree-path="/etc/rln_tree"
fi
if [ -n "${RLN_RELAY_CRED_PASSWORD}" ]; then
-4
View File
@@ -10,7 +10,6 @@ import
libp2p/crypto/crypto
import
../../tools/rln_keystore_generator/rln_keystore_generator,
../../tools/rln_db_inspector/rln_db_inspector,
waku/[
common/logging,
factory/external_config,
@@ -48,9 +47,6 @@ when isMainModule:
of generateRlnKeystore:
let conf = wakuNodeConf.toKeystoreGeneratorConf()
doRlnKeystoreGenerator(conf)
of inspectRlnDb:
let conf = wakuNodeConf.toInspectRlnDbConf()
doInspectRlnDb(conf)
of noCommand:
let conf = wakuNodeConf.toWakuConf().valueOr:
error "Waku configuration failed", error = error
-36
View File
@@ -1,36 +0,0 @@
# rln-db-inspector
This document describes how to run and use the `rln-db-inspector` tool.
It is meant to be used to debug and fetch the metadata stored in the RLN tree db.
## Pre-requisites
1. An existing RLN tree db
## Usage
1. First, we compile the binary
```bash
make -j16 wakunode2
```
This command will fetch the rln static library and link it automatically.
2. Define the arguments you wish to use
```bash
export RLN_TREE_DB_PATH="xxx"
```
3. Run the db inspector
```bash
./build/wakunode2 inspectRlnDb \
--rln-relay-tree-path:$RLN_TREE_DB_PATH
```
What this does is -
a. loads the tree db from the path provided
b. Logs out the metadata, including, number of leaves set, past 5 merkle roots, last synced block number
-2
View File
@@ -64,7 +64,6 @@ suite "Waku external config - apply preset":
preset: "twn",
relay: true,
ethClientUrls: @["http://someaddress".EthRpcUrl],
rlnRelayTreePath: "/tmp/sometreepath",
)
## When
@@ -149,7 +148,6 @@ suite "Waku external config - apply preset":
clusterId: 1.uint16,
relay: true,
ethClientUrls: @["http://someaddress".EthRpcUrl],
rlnRelayTreePath: "/tmp/sometreepath",
)
## When
-2
View File
@@ -27,7 +27,6 @@ suite "Waku Conf - build with cluster conf":
builder.rlnRelayConf.withEthClientUrls(@["https://my_eth_rpc_url/"])
builder.withNetworkConf(networkConf)
builder.withRelay(true)
builder.rlnRelayConf.withTreePath("/tmp/test-tree-path")
## When
let resConf = builder.build()
@@ -180,7 +179,6 @@ suite "Waku Conf - build with cluster conf":
builder.rlnRelayConf.withEthContractAddress(contractAddress)
builder.withNetworkConf(networkConf)
builder.withRelay(true)
builder.rlnRelayConf.withTreePath("/tmp/test")
## When
let resConf = builder.build()
@@ -138,11 +138,7 @@ suite "RLN Proofs as a Lightpush Service":
manager = waitFor setupOnchainGroupManager()
# mount rln-relay
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await allFutures(server.start(), client.start())
await server.start()
+1 -5
View File
@@ -132,11 +132,7 @@ suite "RLN Proofs as a Lightpush Service":
manager = waitFor setupOnchainGroupManager()
# mount rln-relay
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await allFutures(server.start(), client.start())
await server.start()
-2
View File
@@ -86,7 +86,6 @@ proc getWakuRlnConfigOnChain*(
credIndex: some(credIndex),
ethContractAddress: rlnRelayEthContractAddress,
ethClientAddress: ethClientAddress.get(EthClient),
treePath: genTempPath("rln_tree", "wakunode_" & $credIndex),
epochSizeSec: 1,
onFatalErrorAction: fatalErrorHandler.get(fatalErrorVoidHandler),
# If these are used, initialisation fails with "failed to mount WakuRlnRelay: could not initialize the group manager: the commitment does not have a membership"
@@ -228,7 +227,6 @@ suite "Waku RlnRelay - End to End - Static":
dynamic: true,
credIndex: some(0.uint),
userMessageLimit: 111,
treepath: genTempPath("rln_tree", "wakunode_0"),
ethClientAddress: EthClient,
ethContractAddress: $contractAddress,
chainId: 1337,
+1 -6
View File
@@ -42,12 +42,7 @@ proc newTestWakuRelay*(switch = newTestSwitch()): Future[WakuRelay] {.async.} =
proc setupRln*(node: WakuNode, identifier: uint) {.async.} =
await node.mountRlnRelay(
WakuRlnConfig(
dynamic: false,
credIndex: some(identifier),
treePath: genTempPath("rln_tree", "wakunode_" & $identifier),
epochSizeSec: 1,
)
WakuRlnConfig(dynamic: false, credIndex: some(identifier), epochSizeSec: 1)
)
proc subscribeToContentTopicWithHandler*(
@@ -8,7 +8,7 @@ import
]
proc createRLNInstanceWrapper*(): RLNResult =
return createRlnInstance(tree_path = genTempPath("rln_tree", "waku_rln_relay"))
return createRlnInstance()
proc unsafeAppendRLNProof*(
rlnPeer: WakuRLNRelay, msg: var WakuMessage, epoch: Epoch, messageId: MessageId
@@ -39,7 +39,6 @@ proc getWakuRlnConfig*(
manager: OnchainGroupManager,
userMessageLimit: uint64 = 1,
epochSizeSec: uint64 = 1,
treePath: string = genTempPath("rln_tree", "waku_rln_relay"),
index: MembershipIndex = MembershipIndex(0),
): WakuRlnConfig =
let wakuRlnConfig = WakuRlnConfig(
@@ -50,7 +49,6 @@ proc getWakuRlnConfig*(
credIndex: some(index),
userMessageLimit: userMessageLimit,
epochSizeSec: epochSizeSec,
treePath: treePath,
ethPrivateKey: some(manager.ethPrivateKey.get()),
onFatalErrorAction: proc(errStr: string) =
warn "non-fatal onchain test error", errStr
@@ -56,11 +56,7 @@ procSuite "WakuNode - RLN relay":
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig1 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig1 = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node1.mountRlnRelay(wakuRlnConfig1)
await node1.start()
@@ -82,11 +78,7 @@ procSuite "WakuNode - RLN relay":
(await node2.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig2 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_2"),
index = MembershipIndex(2),
)
let wakuRlnConfig2 = getWakuRlnConfig(manager = manager, index = MembershipIndex(2))
await node2.mountRlnRelay(wakuRlnConfig2)
await node2.start()
@@ -99,11 +91,7 @@ procSuite "WakuNode - RLN relay":
(await node3.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig3 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_3"),
index = MembershipIndex(3),
)
let wakuRlnConfig3 = getWakuRlnConfig(manager = manager, index = MembershipIndex(3))
await node3.mountRlnRelay(wakuRlnConfig3)
await node3.start()
@@ -186,11 +174,8 @@ procSuite "WakuNode - RLN relay":
# mount rlnrelay in off-chain mode
for index, node in nodes:
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_" & $(index + 1)),
index = MembershipIndex(index + 1),
)
let wakuRlnConfig =
getWakuRlnConfig(manager = manager, index = MembershipIndex(index + 1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
@@ -308,11 +293,7 @@ procSuite "WakuNode - RLN relay":
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig1 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig1 = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node1.mountRlnRelay(wakuRlnConfig1)
await node1.start()
@@ -333,11 +314,7 @@ procSuite "WakuNode - RLN relay":
(await node2.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig2 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_2"),
index = MembershipIndex(2),
)
let wakuRlnConfig2 = getWakuRlnConfig(manager = manager, index = MembershipIndex(2))
await node2.mountRlnRelay(wakuRlnConfig2)
await node2.start()
@@ -350,11 +327,7 @@ procSuite "WakuNode - RLN relay":
(await node3.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig3 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_3"),
index = MembershipIndex(3),
)
let wakuRlnConfig3 = getWakuRlnConfig(manager = manager, index = MembershipIndex(3))
await node3.mountRlnRelay(wakuRlnConfig3)
await node3.start()
@@ -436,11 +409,7 @@ procSuite "WakuNode - RLN relay":
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig1 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig1 = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node1.mountRlnRelay(wakuRlnConfig1)
await node1.start()
@@ -463,11 +432,7 @@ procSuite "WakuNode - RLN relay":
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig2 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_2"),
index = MembershipIndex(2),
)
let wakuRlnConfig2 = getWakuRlnConfig(manager = manager, index = MembershipIndex(2))
await node2.mountRlnRelay(wakuRlnConfig2)
await node2.start()
@@ -482,11 +447,7 @@ procSuite "WakuNode - RLN relay":
assert false, "Failed to mount relay"
# mount rlnrelay in off-chain mode
let wakuRlnConfig3 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_3"),
index = MembershipIndex(3),
)
let wakuRlnConfig3 = getWakuRlnConfig(manager = manager, index = MembershipIndex(3))
await node3.mountRlnRelay(wakuRlnConfig3)
await node3.start()
@@ -616,11 +577,7 @@ procSuite "WakuNode - RLN relay":
# Given both nodes mount relay and rlnrelay
(await node1.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig1 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig1 = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node1.mountRlnRelay(wakuRlnConfig1)
await node1.start()
@@ -640,11 +597,7 @@ procSuite "WakuNode - RLN relay":
# Mount rlnrelay in node2 in off-chain mode
(await node2.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig2 = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode_2"),
index = MembershipIndex(2),
)
let wakuRlnConfig2 = getWakuRlnConfig(manager = manager, index = MembershipIndex(2))
await node2.mountRlnRelay(wakuRlnConfig2)
await node2.start()
+1 -6
View File
@@ -23,12 +23,7 @@ proc setupStaticRln*(
rlnRelayEthContractAddress: Option[string] = none(string),
) {.async.} =
await node.mountRlnRelay(
WakuRlnConfig(
dynamic: false,
credIndex: some(identifier),
treePath: genTempPath("rln_tree", "wakunode_" & $identifier),
epochSizeSec: 1,
)
WakuRlnConfig(dynamic: false, credIndex: some(identifier), epochSizeSec: 1)
)
proc setupRelayWithStaticRln*(
+1 -2
View File
@@ -549,8 +549,7 @@ proc stopAnvil*(runAnvil: Process) {.used.} =
proc setupOnchainGroupManager*(
ethClientUrl: string = EthClient, amountEth: UInt256 = 10.u256
): Future[OnchainGroupManager] {.async.} =
let rlnInstanceRes =
createRlnInstance(tree_path = genTempPath("rln_tree", "group_manager_onchain"))
let rlnInstanceRes = createRlnInstance()
check:
rlnInstanceRes.isOk()
+1 -5
View File
@@ -78,11 +78,7 @@ suite "Waku v2 REST API - health":
# now kick in rln (currently the only check for health)
await node.mountRlnRelay(
getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "wakunode"),
index = MembershipIndex(1),
)
getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
)
node.mountLightPushClient()
+5 -25
View File
@@ -259,11 +259,7 @@ suite "Waku v2 Rest API - Relay":
let node = testWakuNode()
(await node.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "waku_rest_relay_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
@@ -514,11 +510,7 @@ suite "Waku v2 Rest API - Relay":
assert false, "Failed to mount relay"
require node.mountAutoSharding(1, 8).isOk
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "waku_rest_relay_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
@@ -590,11 +582,7 @@ suite "Waku v2 Rest API - Relay":
assert false, "Failed to mount relay"
require node.mountAutoSharding(1, 8).isOk
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "waku_rest_relay_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
@@ -656,11 +644,7 @@ suite "Waku v2 Rest API - Relay":
let node = testWakuNode()
(await node.mountRelay()).isOkOr:
assert false, "Failed to mount relay"
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "waku_rest_relay_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
@@ -735,11 +719,7 @@ suite "Waku v2 Rest API - Relay":
assert false, "Failed to mount relay"
require node.mountAutoSharding(1, 8).isOk
let wakuRlnConfig = getWakuRlnConfig(
manager = manager,
treePath = genTempPath("rln_tree", "waku_rest_relay_1"),
index = MembershipIndex(1),
)
let wakuRlnConfig = getWakuRlnConfig(manager = manager, index = MembershipIndex(1))
await node.mountRlnRelay(wakuRlnConfig)
await node.start()
-3
View File
@@ -1,3 +0,0 @@
# rln_db_inspector
Documentation on running the `rln-db-inspector` can be found [here](../../docs/tutorial/rln-db-inspector.md)
@@ -1,41 +0,0 @@
when (NimMajor, NimMinor) < (1, 4):
{.push raises: [Defect].}
else:
{.push raises: [].}
import chronicles, sequtils, results
import waku/[waku_rln_relay/rln, waku_rln_relay/conversion_utils]
logScope:
topics = "rln_db_inspector"
type InspectRlnDbConf* = object
treePath*: string
proc doInspectRlnDb*(conf: InspectRlnDbConf) =
# 1. load configuration
trace "configuration", conf = $conf
# 2. initialize rlnInstance
let rlnInstance = createRLNInstance(d = 20).valueOr:
error "failure while creating RLN instance", error
quit(1)
# 3. get metadata
let metadataOpt = rlnInstance.getMetadata().valueOr:
error "failure while getting RLN metadata", error
quit(1)
if metadataOpt.isNone():
error "RLN metadata does not exist"
quit(1)
let metadata = metadataOpt.get()
info "RLN metadata",
lastProcessedBlock = metadata.lastProcessedBlock,
chainId = metadata.chainId,
contractAddress = metadata.contractAddress,
validRoots = metadata.validRoots.mapIt(it.inHex())
quit(0)
@@ -18,7 +18,6 @@ type RlnRelayConfBuilder* = object
dynamic*: Option[bool]
epochSizeSec*: Option[uint64]
userMessageLimit*: Option[uint64]
treePath*: Option[string]
proc init*(T: type RlnRelayConfBuilder): RlnRelayConfBuilder =
RlnRelayConfBuilder()
@@ -56,9 +55,6 @@ proc withEpochSizeSec*(b: var RlnRelayConfBuilder, epochSizeSec: uint64) =
proc withUserMessageLimit*(b: var RlnRelayConfBuilder, userMessageLimit: uint64) =
b.userMessageLimit = some(userMessageLimit)
proc withTreePath*(b: var RlnRelayConfBuilder, treePath: string) =
b.treePath = some(treePath)
proc build*(b: RlnRelayConfBuilder): Result[Option[RlnRelayConf], string] =
if not b.enabled.get(false):
return ok(none(RlnRelayConf))
@@ -86,8 +82,6 @@ proc build*(b: RlnRelayConfBuilder): Result[Option[RlnRelayConf], string] =
return err("rlnRelay.epochSizeSec is not specified")
if b.userMessageLimit.isNone():
return err("rlnRelay.userMessageLimit is not specified")
if b.treePath.isNone():
return err("rlnRelay.treePath is not specified")
return ok(
some(
@@ -100,7 +94,6 @@ proc build*(b: RlnRelayConfBuilder): Result[Option[RlnRelayConf], string] =
ethContractAddress: b.ethContractAddress.get(),
epochSizeSec: b.epochSizeSec.get(),
userMessageLimit: b.userMessageLimit.get(),
treePath: b.treePath.get(),
)
)
)
+1 -21
View File
@@ -28,8 +28,7 @@ import
../waku_enr,
../node/peer_manager,
../waku_core/topics/pubsub_topic,
../../tools/rln_keystore_generator/rln_keystore_generator,
../../tools/rln_db_inspector/rln_db_inspector
../../tools/rln_keystore_generator/rln_keystore_generator
include ../waku_core/message/default_values
@@ -48,7 +47,6 @@ type EthRpcUrl* = distinct string
type StartUpCommand* = enum
noCommand # default, runs waku
generateRlnKeystore # generates a new RLN keystore
inspectRlnDb # Inspects a given RLN tree db, providing essential db stats
type WakuNodeConf* = object
configFile* {.
@@ -132,13 +130,6 @@ type WakuNodeConf* = object
.}: string
case cmd* {.command, defaultValue: noCommand.}: StartUpCommand
of inspectRlnDb:
# have to change the name here since it counts as a duplicate, within noCommand
treePath* {.
desc: "Path to the RLN merkle tree sled db (https://github.com/spacejam/sled)",
defaultValue: "",
name: "rln-relay-tree-path"
.}: string
of generateRlnKeystore:
execute* {.
desc: "Runs the registration function on-chain. By default, a dry-run will occur",
@@ -303,12 +294,6 @@ hence would have reachability issues.""",
name: "rln-relay-dynamic"
.}: bool
rlnRelayTreePath* {.
desc: "Path to the RLN merkle tree sled db (https://github.com/spacejam/sled)",
defaultValue: "",
name: "rln-relay-tree-path"
.}: string
staticnodes* {.
desc: "Peer multiaddr to directly connect with. Argument may be repeated.",
name: "staticnode"
@@ -863,9 +848,6 @@ proc toKeystoreGeneratorConf*(n: WakuNodeConf): RlnKeystoreGeneratorConf =
credPassword: n.rlnRelayCredPassword,
)
proc toInspectRlnDbConf*(n: WakuNodeConf): InspectRlnDbConf =
return InspectRlnDbConf(treePath: n.treePath)
proc toNetworkConf(
preset: string, clusterId: Option[uint16]
): ConfResult[Option[NetworkConf]] =
@@ -909,8 +891,6 @@ proc toWakuConf*(n: WakuNodeConf): ConfResult[WakuConf] =
b.rlnRelayConf.withCredIndex(n.rlnRelayCredIndex.get())
b.rlnRelayConf.withDynamic(n.rlnRelayDynamic)
b.rlnRelayConf.withTreePath(n.rlnRelayTreePath)
if n.maxMessageSize != "":
b.withMaxMessageSize(n.maxMessageSize)
-1
View File
@@ -356,7 +356,6 @@ proc setupProtocols(
chainId: rlnRelayConf.chainId,
ethClientUrls: rlnRelayConf.ethClientUrls,
creds: rlnRelayConf.creds,
treePath: rlnRelayConf.treePath,
userMessageLimit: rlnRelayConf.userMessageLimit,
epochSizeSec: rlnRelayConf.epochSizeSec,
onFatalErrorAction: onFatalErrorAction,
-2
View File
@@ -214,8 +214,6 @@ proc validateNoEmptyStrings(wakuConf: WakuConf): Result[void, string] =
if wakuConf.rlnRelayConf.isSome():
let rlnRelayConf = wakuConf.rlnRelayConf.get()
if isEmptyOrWhiteSpace(rlnRelayConf.treePath):
return err("rln-relay-tree-path is an empty string")
if rlnRelayConf.ethClientUrls.len == 0:
return err("rln-relay-eth-client-address is empty")
if isEmptyOrWhiteSpace(rlnRelayConf.ethContractAddress):
+4 -12
View File
@@ -6,7 +6,7 @@ import
stew/[arrayops, byteutils, endians2],
stint,
results,
std/[sequtils, strutils, tables]
std/[sequtils, strutils, tables, tempfiles]
import ./rln_interface, ../conversion_utils, ../protocol_types, ../protocol_metrics
import ../../waku_core, ../../waku_keystore
@@ -63,7 +63,6 @@ type RlnTreeConfig = ref object of RootObj
mode: string
compression: bool
flush_every_ms: int
path: string
type RlnConfig = ref object of RootObj
resources_folder: string
@@ -78,17 +77,13 @@ proc `%`(c: RlnConfig): JsonNode =
"mode": %c.tree_config.mode,
"compression": %c.tree_config.compression,
"flush_every_ms": %c.tree_config.flush_every_ms,
"path": %c.tree_config.path,
}
return %[("resources_folder", %c.resources_folder), ("tree_config", %tree_config)]
proc createRLNInstanceLocal(
d = MerkleTreeDepth, tree_path = DefaultRlnTreePath
): RLNResult =
proc createRLNInstanceLocal(d = MerkleTreeDepth): RLNResult =
## generates an instance of RLN
## An RLN instance supports both zkSNARKs logics and Merkle tree data structure and operations
## d indicates the depth of Merkle tree
## tree_path indicates the path of the Merkle tree
## Returns an error if the instance creation fails
let rln_config = RlnConfig(
@@ -98,7 +93,6 @@ proc createRLNInstanceLocal(
mode: "high_throughput",
compression: false,
flush_every_ms: 500,
path: tree_path,
),
)
@@ -118,14 +112,12 @@ proc createRLNInstanceLocal(
return err("error in parameters generation")
return ok(rlnInstance)
proc createRLNInstance*(
d = MerkleTreeDepth, tree_path = DefaultRlnTreePath
): RLNResult =
proc createRLNInstance*(d = MerkleTreeDepth): RLNResult =
## Wraps the rln instance creation for metrics
## Returns an error if the instance creation fails
var res: RLNResult
waku_rln_instance_creation_duration_seconds.nanosecondTime:
res = createRLNInstanceLocal(d, tree_path)
res = createRLNInstanceLocal(d)
return res
proc sha256*(data: openArray[byte]): RlnRelayResult[MerkleNode] =
+1 -2
View File
@@ -46,7 +46,6 @@ type RlnRelayConf* = object of RootObj
ethClientUrls*: seq[string]
chainId*: UInt256
creds*: Option[RlnRelayCreds]
treePath*: string
epochSizeSec*: uint64
userMessageLimit*: uint64
ethPrivateKey*: Option[string]
@@ -408,7 +407,7 @@ proc mount(
groupManager: GroupManager
wakuRlnRelay: WakuRLNRelay
# create an RLN instance
let rlnInstance = createRLNInstance(tree_path = conf.treePath).valueOr:
let rlnInstance = createRLNInstance().valueOr:
return err("could not create RLN instance: " & $error)
let (rlnRelayCredPath, rlnRelayCredPassword) =