Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(rln-relay): modify keystore credentials logic #1956

Merged
merged 6 commits into from
Aug 29, 2023
Merged

Conversation

rymnc
Copy link
Contributor

@rymnc rymnc commented Aug 27, 2023

Description

This PR includes the modification to the waku_rln_keystore lib, where instead of credentials being sorted according to
membership contract etc, we store it as a k-v pair, the key being sha256(chainId|contractAddress|treeIndex)

When the user starts a new wakunode, we hash the 3 together, and check if the corresponding credentials exist, if not,
we error out.

The same goes for the rln_keystore_generator

This brings significant performance gains since reads are O(1) instead of O(n)

Changes

  • Updated waku_rln_keystore according to the changes above
  • Updated waku_rln_relay to work with new changes in the keystore
  • Updated rln_keystore_generator to work with new changes in the keystore

Important

This is a breaking change to existing keystores, and the version has been incremented to 0.2

How to test

  1. Generate a new set of credentials using the rln_keystore_generator
./build/rln_keystore_generator \
--rln-relay-cred-path=./rlnKeystore.json \
--rln-relay-eth-client-address=<url> \
--rln-relay-cred-password:password \
--rln-relay-eth-contract-address:0x8e1F3742B987d8BA376c0CBbD7357fE1F003ED71 \
--execute \
--rln-relay-eth-private-key=<private-key>

  1. Use them in wakunode2
./build/wakunode2 \
--rln-relay=true \                          
--rln-relay-dynamic=true \
--rln-relay-eth-contract-address=0x8e1F3742B987d8BA376c0CBbD7357fE1F003ED71  \
--rln-relay-eth-client-address=<url> \
--log-level=debug \
--rln-relay-cred-password:password \
--rln-relay-cred-path:./rlnKeystore.json \
--rln-relay-membership-index:<index from generating keystore>

replace url and private-key as required in both snippets
the --rln-relay-membership-index is found after the rln_keystore_generator executes

Issue

closes #1922

@rymnc rymnc self-assigned this Aug 27, 2023
@github-actions
Copy link

This PR may contain changes to configuration options of one of the apps.

If you are introducing a breaking change (i.e. the set of options in latest release would no longer be applicable) make sure the original option is preserved with a deprecation note for 2 following releases before it is actually removed.

Please also make sure the label release-notes is added to make sure any changes to the user interface are properly announced in changelog and release notes.

@github-actions
Copy link

You can find the image built from this PR at

quay.io/wakuorg/nwaku-pr:1956

@rymnc rymnc added the release-notes Issue/PR needs to be evaluated for inclusion in release notes highlights or upgrade instructions label Aug 27, 2023
@rymnc rymnc marked this pull request as ready for review August 28, 2023 04:06
@rymnc
Copy link
Contributor Author

rymnc commented Aug 28, 2023

This PR may contain changes to configuration options of one of the apps.

If you are introducing a breaking change (i.e. the set of options in latest release would no longer be applicable) make sure the original option is preserved with a deprecation note for 2 following releases before it is actually removed.

Please also make sure the label release-notes is added to make sure any changes to the user interface are properly announced in changelog and release notes.

@vpavlin does this apply to experimental non-mandatory flags too? (--rln-relay-membership-group-index)

Copy link
Contributor

@alrevuelta alrevuelta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! great improvement.

@alrevuelta
Copy link
Contributor

Had issues compiling with mac M1 (make rln-keystore-generator) but managed to compile it with:

./env.sh bash

nim c --out:build/rln_keystore_generator  --verbosity:0 --hints:off -d:chronicles_log_level=TRACE -d:git_version="v0.19.0-rc.1-25-g9f9db4" -d:release -d:rln --passL:librln.a --passL:-lm tools/rln_keystore_generator/rln_keystore_generator.nim

The tool seems to generate the keystore fine!

nitpick trace by default

@rymnc
Copy link
Contributor Author

rymnc commented Aug 28, 2023

Had issues compiling with mac M1 (make rln-keystore-generator)

@alrevuelta can you paste the trace here? (perhaps missed the RLN=true flag?)

@alrevuelta
Copy link
Contributor

@rymnc

Undefined symbols for architecture arm64:
  "_atomic_operation", referenced from:
      _atomicWrite__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2673 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_extended_key_gen", referenced from:
      _membershipKeyGen__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_26 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_flush", referenced from:
      _stop__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_15784 in @m..@s..@swaku@swaku_rln_relay@sgroup_manager@son_chain@sgroup_manager.nim.c.o
     (maybe you meant: __tr_flush_bits, _flushRecord__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_744 , _br_ssl_engine_flush , _flushFileSync__OOZOOZvendorZnim45faststreamsZfaststreamsZoutputs_249 , __tr_flush_block , _br_sslio_flush , _br_ssl_engine_flush_record , _flushFile__systemZio_227 )
  "_generate_rln_proof", referenced from:
      _proofGen__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_751 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_get_metadata", referenced from:
      _getMetadata__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_3171 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_get_root", referenced from:
      _getMerkleRoot__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2794 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_new", referenced from:
      _createRLNInstanceLocal__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_334 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
     (maybe you meant: _newCollector__OOZOOZvendorZnim45metricsZmetrics_5707, _newJNull__pureZjson_100 , _newSeq__OOZOOZvendorZnim45metricsZmetrics_9349 , _newSeq__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_2658 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_87 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_8710 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_12096 , _newDispatcher__OOZOOZvendorZnim45chronosZchronosZasyncloop_190 , _newJStringMove__pureZjson_88 , _new__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_10643 , _newHistogramMetrics__OOZOOZvendorZnim45metricsZmetrics_8368 , _newTLSStreamProtocolError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_2108 , _newAsyncStreamWriteError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_254 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_4919 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_5351 , _newChunkedStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZchunkstream_1250 , _newSocket__pureZnet_159 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_1726 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2688 , _newHistogram__OOZOOZvendorZnim45metricsZmetrics_8595 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_1944 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9595 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_1466 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_339 , _newAsyncStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3878 , _newAsyncStreamUseClosedError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_319 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZwebsock_68903 , _new__OOZOOZvendorZnim45websockZwebsockZsession_4242 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclient_124 , _newSeq__OOZOOZvendorZnim45faststreamsZfaststreamsZbuffers_426 , _newHeadErrCallback__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_11429 , _newTLSStreamWriteError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_116 , _newJRawNumber__pureZjson_85 , _newRpcHttpClient__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_81 , _new__OOZOOZvendorZnim45faststreamsZfaststreamsZbuffers_383 , _new__OOZOOZvendorZnim45web51Zweb51_12512 , _newSeq__OOZOOZvendorZnim45websockZwebsockZsession_1390 , _newHeadCallback__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_11249 , _newRegistry__OOZOOZvendorZnim45metricsZmetrics_1273 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_3362 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZhttpZclient_77 , _newSeq__systemZio_503 , _br_ssl_engine_new_max_frag_len , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncsync_113 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZchunkstream_692 , _newAsyncStreamReadError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_231 , _new__OOZOOZwakuZwaku95keystoreZconversion95utils_136 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_9367 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_574 , _newAsyncStreamWriter__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3911 , _newFutureSeqImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_2901 , _newAsyncQueue__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3693 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9596 , _newSeq__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_2919 , _newDeflateExt__OOZOOZvendorZnim45websockZwebsockZextensionsZcompressionZdeflate_79 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_478 , _newCounterMetrics__OOZOOZvendorZnim45metricsZmetrics_4115 , _newSeqRC1 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_3503 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_2680 , _newSeq__OOZOOZvendorZnim45web51Zweb51_5297 , _newTimezone__pureZtimes_1266 , _newSeq__stdZsysrand_57 , _newGauge__OOZOOZvendorZnim45metricsZmetrics_7701 , _newRpcWebSocketClient__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_29 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_10225 , _newSeq__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_741 , _newHttpBodyReader__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpbodyrw_177 , _newCounter__OOZOOZvendorZnim45metricsZmetrics_5696 , _newTLSClientAsyncStream__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_1009 , _newObjRC1 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9550 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_4080 , _newObj , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_7734 , _new__rln95keystore95generator_660 , _newSeq__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_10407 , _newJFloat__pureZjson_94 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZhttpZclient_647 , _newStringStream__pureZstreams_694 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_3065 , _newJArray__pureZjson_133 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_7711 , _newTLSStreamProtocolError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_2228 , _new__OOZOOZvendorZnim45ethZethZkeys_31 , _newBoundedStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZboundstream_899 , _newSeq__OOZOOZvendorZnim45chronosZchronosZappsZhttpZmultipart_420 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_32 , _newSeq , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_13514 , _newAsyncEvent__OOZOOZvendorZnim45chronosZchronosZasyncsync_604 , _newAsyncStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3931 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_2605 , _newAsyncStreamIncompleteError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_277 , _newGaugeMetrics__OOZOOZvendorZnim45metricsZmetrics_7563 , _newSeq__OOZOOZwakuZwaku95keystoreZkeyfile_12533 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_8996 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_14963 , _newJObject__pureZjson_102 , _newJInt__pureZjson_91 , _newOSError__pureZos_379 , _newFutureStrImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_3399 , _newJBool__pureZjson_97 , _newSocket__pureZnet_206 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_5599 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_1239 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2701 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_13991 , _newAsyncStreamLimitError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_298 , _new__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_999 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_95 , _new__OOZOOZvendorZnim45chronosZchronosZasyncloop_192 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_1522 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZtypes_350 , _newStreamSocketTransport__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_1374 , _newObjNoInit , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZasyncloop_11687 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_15655 )
  "_set_metadata", referenced from:
      _setMetadata__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2895 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_verify_with_roots", referenced from:
      _proofVerify__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_1639 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
ld: symbol(s) not found for architecture arm64
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of an external program failed: 'clang  @rln_keystore_generator_linkerArgs.txt'
stack trace: (most recent call last)
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(429, 18)
/Users/alrevuelta/Github/nwaku/waku.nimble(75, 15) rln_keystore_generatorTask
/Users/alrevuelta/Github/nwaku/waku.nimble(35, 8) buildBinary
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(273, 7) exec
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: nim c --out:build/rln_keystore_generator  --verbosity:0 --hints:off -d:chronicles_log_level=TRACE -d:git_version="v0.19.0-rc.1-25-g9f9db4" -d:release tools/rln_keystore_generator/rln_keystore_generator.nim [OSError]

@rymnc
Copy link
Contributor Author

rymnc commented Aug 28, 2023

@rymnc

Undefined symbols for architecture arm64:
  "_atomic_operation", referenced from:
      _atomicWrite__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2673 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_extended_key_gen", referenced from:
      _membershipKeyGen__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_26 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_flush", referenced from:
      _stop__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_15784 in @m..@s..@swaku@swaku_rln_relay@sgroup_manager@son_chain@sgroup_manager.nim.c.o
     (maybe you meant: __tr_flush_bits, _flushRecord__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_744 , _br_ssl_engine_flush , _flushFileSync__OOZOOZvendorZnim45faststreamsZfaststreamsZoutputs_249 , __tr_flush_block , _br_sslio_flush , _br_ssl_engine_flush_record , _flushFile__systemZio_227 )
  "_generate_rln_proof", referenced from:
      _proofGen__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_751 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_get_metadata", referenced from:
      _getMetadata__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_3171 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_get_root", referenced from:
      _getMerkleRoot__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2794 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_new", referenced from:
      _createRLNInstanceLocal__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_334 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
     (maybe you meant: _newCollector__OOZOOZvendorZnim45metricsZmetrics_5707, _newJNull__pureZjson_100 , _newSeq__OOZOOZvendorZnim45metricsZmetrics_9349 , _newSeq__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_2658 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_87 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_8710 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_12096 , _newDispatcher__OOZOOZvendorZnim45chronosZchronosZasyncloop_190 , _newJStringMove__pureZjson_88 , _new__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_10643 , _newHistogramMetrics__OOZOOZvendorZnim45metricsZmetrics_8368 , _newTLSStreamProtocolError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_2108 , _newAsyncStreamWriteError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_254 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_4919 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_5351 , _newChunkedStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZchunkstream_1250 , _newSocket__pureZnet_159 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_1726 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2688 , _newHistogram__OOZOOZvendorZnim45metricsZmetrics_8595 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_1944 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9595 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_1466 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_339 , _newAsyncStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3878 , _newAsyncStreamUseClosedError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_319 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZwebsock_68903 , _new__OOZOOZvendorZnim45websockZwebsockZsession_4242 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclient_124 , _newSeq__OOZOOZvendorZnim45faststreamsZfaststreamsZbuffers_426 , _newHeadErrCallback__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_11429 , _newTLSStreamWriteError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_116 , _newJRawNumber__pureZjson_85 , _newRpcHttpClient__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_81 , _new__OOZOOZvendorZnim45faststreamsZfaststreamsZbuffers_383 , _new__OOZOOZvendorZnim45web51Zweb51_12512 , _newSeq__OOZOOZvendorZnim45websockZwebsockZsession_1390 , _newHeadCallback__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_11249 , _newRegistry__OOZOOZvendorZnim45metricsZmetrics_1273 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_3362 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZhttpZclient_77 , _newSeq__systemZio_503 , _br_ssl_engine_new_max_frag_len , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncsync_113 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZchunkstream_692 , _newAsyncStreamReadError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_231 , _new__OOZOOZwakuZwaku95keystoreZconversion95utils_136 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_9367 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_574 , _newAsyncStreamWriter__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3911 , _newFutureSeqImpl__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_2901 , _newAsyncQueue__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3693 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9596 , _newSeq__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_2919 , _newDeflateExt__OOZOOZvendorZnim45websockZwebsockZextensionsZcompressionZdeflate_79 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_478 , _newCounterMetrics__OOZOOZvendorZnim45metricsZmetrics_4115 , _newSeqRC1 , _newSeq__OOZOOZvendorZnim45chronosZchronosZasyncloop_3503 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_2680 , _newSeq__OOZOOZvendorZnim45web51Zweb51_5297 , _newTimezone__pureZtimes_1266 , _newSeq__stdZsysrand_57 , _newGauge__OOZOOZvendorZnim45metricsZmetrics_7701 , _newRpcWebSocketClient__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_29 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_10225 , _newSeq__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_741 , _newHttpBodyReader__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpbodyrw_177 , _newCounter__OOZOOZvendorZnim45metricsZmetrics_5696 , _newTLSClientAsyncStream__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_1009 , _newObjRC1 , _newWeb3__OOZOOZvendorZnim45web51Zweb51_9550 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_4080 , _newObj , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_7734 , _new__rln95keystore95generator_660 , _newSeq__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_10407 , _newJFloat__pureZjson_94 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZhttpZclient_647 , _newStringStream__pureZstreams_694 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_3065 , _newJArray__pureZjson_133 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_7711 , _newTLSStreamProtocolError__OOZOOZvendorZnim45chronosZchronosZstreamsZtlsstream_2228 , _new__OOZOOZvendorZnim45ethZethZkeys_31 , _newBoundedStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZboundstream_899 , _newSeq__OOZOOZvendorZnim45chronosZchronosZappsZhttpZmultipart_420 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_32 , _newSeq , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_13514 , _newAsyncEvent__OOZOOZvendorZnim45chronosZchronosZasyncsync_604 , _newAsyncStreamReader__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_3931 , _newFutureImpl__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZwebsocketclient_2605 , _newAsyncStreamIncompleteError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_277 , _newGaugeMetrics__OOZOOZvendorZnim45metricsZmetrics_7563 , _newSeq__OOZOOZwakuZwaku95keystoreZkeyfile_12533 , _newCollector__OOZOOZvendorZnim45metricsZmetrics_8996 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_14963 , _newJObject__pureZjson_102 , _newJInt__pureZjson_91 , _newOSError__pureZos_379 , _newFutureStrImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_3399 , _newJBool__pureZjson_97 , _newSocket__pureZnet_206 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_5599 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_1239 , _newSeq__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2701 , _newFutureImpl__OOZOOZwakuZwaku95rln95relayZgroup95managerZon95chainZgroup95manager_13991 , _newAsyncStreamLimitError__OOZOOZvendorZnim45chronosZchronosZstreamsZasyncstream_298 , _new__OOZOOZvendorZnim45chronosZchronosZappsZhttpZhttpclient_999 , _new__OOZOOZvendorZnim45json45rpcZjson95rpcZclientsZhttpclient_95 , _new__OOZOOZvendorZnim45chronosZchronosZasyncloop_192 , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_1522 , _newFutureImpl__OOZOOZvendorZnim45websockZwebsockZtypes_350 , _newStreamSocketTransport__OOZOOZvendorZnim45chronosZchronosZtransportsZstream_1374 , _newObjNoInit , _newFutureImpl__OOZOOZvendorZnim45chronosZchronosZasyncloop_11687 , _newFutureImpl__OOZOOZvendorZnim45web51Zweb51_15655 )
  "_set_metadata", referenced from:
      _setMetadata__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_2895 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
  "_verify_with_roots", referenced from:
      _proofVerify__OOZOOZwakuZwaku95rln95relayZrlnZwrappers_1639 in @m..@s..@swaku@swaku_rln_relay@srln@swrappers.nim.c.o
ld: symbol(s) not found for architecture arm64
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of an external program failed: 'clang  @rln_keystore_generator_linkerArgs.txt'
stack trace: (most recent call last)
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(429, 18)
/Users/alrevuelta/Github/nwaku/waku.nimble(75, 15) rln_keystore_generatorTask
/Users/alrevuelta/Github/nwaku/waku.nimble(35, 8) buildBinary
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(273, 7) exec
/Users/alrevuelta/Github/nwaku/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: nim c --out:build/rln_keystore_generator  --verbosity:0 --hints:off -d:chronicles_log_level=TRACE -d:git_version="v0.19.0-rc.1-25-g9f9db4" -d:release tools/rln_keystore_generator/rln_keystore_generator.nim [OSError]

yeah, missing the rln=true flag!

@alrevuelta
Copy link
Contributor

yeah, missing the rln=true flag!

I see. Shouldn't it be implicit in "make rln-keystore-generator"?

@rymnc
Copy link
Contributor Author

rymnc commented Aug 28, 2023

yeah, missing the rln=true flag!

I see. Shouldn't it be implicit in "make rln-keystore-generator"?

creating pr for it

Copy link
Collaborator

@Ivansete-status Ivansete-status left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is wonderful, thanks for it !
I only added a few comments. It is especially important that we need to inform the users when a parameter is being deprecated.

apps/chat2/config_chat2.nim Show resolved Hide resolved
tests/waku_rln_relay/test_waku_rln_relay.nim Outdated Show resolved Hide resolved
waku/waku_keystore/keystore.nim Outdated Show resolved Hide resolved
waku/waku_keystore/protocol_types.nim Outdated Show resolved Hide resolved
rymnc and others added 3 commits August 29, 2023 14:00
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
@rymnc rymnc merged commit e7b2b88 into master Aug 29, 2023
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-notes Issue/PR needs to be evaluated for inclusion in release notes highlights or upgrade instructions
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

bug(rln-relay): non deterministic sorting applied to credentials, and contract
4 participants