84 Commits

Author SHA1 Message Date
Richard Ramos
22b097817e feat(rln-relay): use zerokit 0.3.4 to obtain number of leaves set in merkle tree 2023-09-15 10:13:02 -04:00
Richard Ramos
e1a84aab0e chore(rln-relay): docs and docker 2023-09-14 14:30:48 -04:00
Richard Ramos
55bc21c604 feat(rln-relay): isReady 2023-09-14 10:47:27 -04:00
Richard Ramos
7beaa3f029 feat(rln-relay): ensure execution order for pubsub validators 2023-09-14 09:38:28 -04:00
Richard Ramos
2aea2f5ca5 fix: time calculation for fetching events 2023-09-12 12:09:30 -04:00
Richard Ramos
75486f8226 chore(rln-relay): add logs for fetching events 2023-09-12 11:22:07 -04:00
Richard Ramos
dcc87cf24f chore(lint): adds make lint-full target and fixes some linting errors 2023-09-12 09:54:34 -04:00
Richard Ramos
18efd2c737 chore(rln-relay): clean up nullifier table every MaxEpochGap 2023-09-08 14:13:12 -04:00
Richard Ramos
8783cd2f45 chore(rln-relay): use the only key from keystore if only 1 exists 2023-09-08 12:05:32 -04:00
harsh jain
08cabab41f
fix: and optimising fetching membership events (#706)
* fix: and optimising fetching membership events

* fix: start from lastProcessedBlock+1

* test: fetching membership logic

* refactor: usage of rlnInstance,rootTracker,groupManager

rlnInstance, rootTrack were previously created while creating rlnRelay
but were assigned to groupManager on Start of rlnRelay. This created
unncessary dependency of passing them to static and dynamic group
manager.
Web3Config uses interface EthClientI for client, so that we can pass
mock client for testing MembershipFetcher.

* fix: failing test

* fix: lint error

* fix: account for PR suggestions

* fix: failing race test

* fix: dont' increase fromBlock on error

* nit: fix naming and add comments
2023-09-07 23:23:48 +07:00
Richard Ramos
def745cfba chore(rln-relay): confirm that the provided credential is correct using onchain query 2023-09-06 10:17:46 -04:00
Richard Ramos
f9179cd116 feat: store and retrieve valid merkle roots in RLN db 2023-09-04 10:51:40 -04:00
Richard Ramos
f9ed8d973c fix(rln-relay): sync from deployed block number 2023-09-04 10:30:37 -04:00
Richard Ramos
5fcfbb9897 feat: use rln registry contract 2023-09-04 10:02:14 -04:00
Richard Ramos
ab3f21f209 chore: compile smart contracts and generate types 2023-09-04 10:02:14 -04:00
Richard Ramos
9c0bebc859 refactor: use a map to store credentials instead of an array 2023-08-31 15:42:45 -04:00
Richard Ramos
0854edaf3d refactor: keystore as a data type 2023-08-31 15:42:45 -04:00
Richard Ramos
cb3f5da322 feat: rln metrics 2023-08-24 11:26:37 -04:00
Richard Ramos
ddb08adbbd chore: set limit to 5000 to not choke eth1 node and start rln before relay 2023-08-24 10:48:22 -04:00
Richard Ramos
624fe1bb2f chore(rln): run rln in all relay pubsubtopics + remove cli flags 2023-08-24 10:48:22 -04:00
Richard Ramos
5422af8130 fix(rln-relay): RLN DB should be aware of chain and contract address 2023-08-24 10:38:59 -04:00
Richard Ramos
7e36f91a5a fix(rln-relay): flush_interval incorrectly set 2023-08-24 10:38:28 -04:00
Richard Ramos
f62ba67a92 chore: update smart contracts and documentation 2023-08-24 10:37:54 -04:00
Richard Ramos
0b943caaa8 refactor: remove credential registering from waku 2023-08-24 10:37:54 -04:00
Richard Ramos
f088e49075 feat: create generate-rln-credentials subcommand 2023-08-24 10:37:54 -04:00
Richard Ramos
8cc92dfdef chore(rln-relay): rename keystore application to waku-rln-relay 2023-08-23 15:38:05 -04:00
Richard Ramos
2818c3d394 refactor: add libp2p metrics, and make each protocol responsable for defining its own metrics 2023-08-18 13:56:43 -04:00
richΛrd
387ee5f9ac
feat: merkle tree persistence
- use atomic operations API
- resume onchain sync from persisted tree db
- close eth client and db connection appropriately
- pass in the path to the tree db
- fix nwaku compatibility issues
2023-08-18 09:59:37 -04:00
Richard Ramos
c320b38cbe feat(rln-relay): use atomic operations API 2023-08-12 07:44:07 -04:00
Richard Ramos
da45dab68e
fix: nwaku / go-waku rlnKeystore compat 2023-08-11 11:54:24 -04:00
Richard Ramos
33344c2ae0 refactor: use uint instead of int for RLN indexes 2023-08-03 11:17:50 -04:00
Richard Ramos
a4b038730c feat(rln-relay): pass in index to keystore credentials 2023-08-03 11:17:50 -04:00
Richard Ramos
55ec2347a8 fix: RLN
- subscription to topic is not required for registering RLN validator
- check for duplication msg within same epoch was incorrect
- added an example on how to use RLN
2023-08-01 09:19:38 -04:00
Richard Ramos
a422add209 chore: add missing comments to functions 2023-07-23 07:01:42 -04:00
Richard Ramos
fad1a98f77 chore: run onchain tests 2023-04-26 12:40:15 -04:00
Richard Ramos
360a44830a
fix(rln): onchain tests 2023-04-26 12:12:10 -04:00
Richard Ramos
7f276d572f
fix: retrieve membership fee from contract 2023-04-26 11:56:56 -04:00
Richard Ramos
24587e57aa refactor: handle max records exceeded 2023-04-25 10:55:11 -04:00
Richard Ramos
2c3566377a refactor: inject host on node start 2023-04-17 11:09:05 -04:00
Richard Ramos
c3ef173b2c feat: handle chain forks 2023-04-17 10:02:09 -04:00
Richard Ramos
801ec92c11 refactor: loading credentials and chat2 2023-04-11 10:39:07 -04:00
Richard Ramos
42c0e123d9 refactor: credentials 2023-04-11 10:39:07 -04:00
Richard Ramos
04c90657cd refactor: dynamic rln 2023-04-11 10:39:07 -04:00
harsh-98
6747603a73 refactor: fetch membership events 2023-04-10 11:39:15 -04:00
Richard Ramos
41691a44e5 fix: remove message cache on relay and fix proof validation 2023-04-04 14:20:41 -04:00
Richard Ramos
9c5d1e88b1 refactor: proof generation and merkleroot tracking 2023-04-04 14:20:41 -04:00
Richard Ramos
be09f3f550 refactor: static RLN relay 2023-04-04 14:20:41 -04:00
Richard Ramos
6796936f5e chore: upgrade RLN dep 2023-04-04 14:20:41 -04:00
Richard Ramos
144dfa5b7b feat: add WakuMessage validation in gossipsub
This also stores the waku message in a cache to avoid having to decode it twice
2023-03-30 12:00:19 -04:00
Richard Ramos
156db781f6 chore: switch to Google's Protobuf library 2023-02-16 11:37:59 -04:00