Prem Chaitanya Prathi
388f56b43f
feat: Sharded peer management - Relay ( #764 )
...
* feat: connect/disconnect to peers based on node topic sub/unsub
* feat: maintain healty relay connections per pubSubTopic
Co-authored-by: richΛrd <info@richardramos.me>
* chore: add config to limit peerstore capacity (#770 )
2023-09-27 12:16:37 +05:30
richΛrd
d324234c81
fix(filter2): add requestID to pings and remove unneeded log ( #776 )
2023-09-26 12:27:29 -04:00
Vitaliy Vlasov
16ec22596e
feat: change UnsubscribeWithSubscription so that it's single sub-specific
...
Also merge FilterSubscribe and FilterUnsubscribe options/params
2023-09-22 17:53:33 +03:00
Prem Chaitanya Prathi
054bdae1de
Feat/autoshard filter ( #723 )
...
* feat: update filter client to support autosharding
* chore: add filter tests for autoshard
* chore:update filter API docs for autosharding
* chore: docs changes to indicate sharding impact on pubSubTopic
* fix: handle partial errors during subscribe and return failed content-topic details
2023-09-20 11:26:55 +05:30
Vitaliy Vlasov
81638fe111
Use PubsubTopic naming; enforce unique ContentTopics ( #750 )
2023-09-19 18:22:11 +05:30
Prem Chaitanya Prathi
9b05d48318
Feat : handle dynamic peer topic sub unsub ( #751 )
...
* feat: handle dynamic peer join and leave a pubSub topic
Co-authored-by: richΛrd <info@richardramos.me>
---------
Co-authored-by: richΛrd <info@richardramos.me>
2023-09-19 11:35:29 +05:30
Prem Chaitanya Prathi
dd5dc7a9c8
fix: change mutex to rwLock and fix relay unsubscribe ( #749 )
...
* fix: change mutex to rwLock and fix relay unsubscribe
* chore: modify relay test to cover unsubscribe and few more relay functions
2023-09-18 18:48:16 +05:30
Richard Ramos
2060c8c837
feat: allow running rln with no credentials
2023-09-15 10:18:44 -04:00
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
harsh jain
4b1c188cf0
feat: add common protocol design ( #724 )
...
* feat: add common protocol design
* fix: remove redundant vars
* fix: use AppDesign's ctx
* refactor: relay, add AppDesign
* feat: changes for suggestions
* test: commonService start/stop execution
* fix: lint error
* nit: add comments
2023-09-13 12:18:44 +07: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
Prem Chaitanya Prathi
db25b307e2
Fix/filterv2 ( #722 )
...
* fix: updated filterv2 protocol as per rfc, make pubsub topic optional
* chore: make broadcaster optional in filter client
* reverting optional pubSub topic in Filter.MessagePush
* fix: revert pubSubTopic as optional and add higher level validation
* Update waku/v2/protocol/filter/client.go
Co-authored-by: richΛrd <info@richardramos.me>
---------
Co-authored-by: richΛrd <info@richardramos.me>
2023-09-12 18:04:43 +05:30
Richard Ramos
18efd2c737
chore(rln-relay): clean up nullifier table every MaxEpochGap
2023-09-08 14:13:12 -04:00
Richard Ramos
793c059ea7
fix: loop counter for writing multiaddresses in enr
2023-09-08 13:45:11 -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
Prem Chaitanya Prathi
d13b1f0aa3
autosharding content-topic config ( #696 )
...
* chore: add shard choice simulation test
* feat: add new flags for pubsub and contentTopics and deprecate topic flag
* chore: remove store-resume-peer config and comment out functionality until redesign of store is done
* chore: fix code to use contentTopics value
* fix: use default waku topic only if no other topics are provided in the config
2023-09-06 10:07:21 +05:30
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
84fa332e1c
fix: allow mixing named and static shards
2023-09-04 10:10:49 -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
richΛrd
8aa1c4a39b
refactor(filter): unsubscribe waitgroup, execute async, and guard against calling functions while the protocol is not started ( #692 )
...
* refactor(filter): unsubscribe waitgroup and async
* refactor: verify started state for doing filter operations
2023-09-04 09:53:51 -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
harsh jain
229fb7a970
refactor: peerManager test ( #683 )
...
* refactor: peerManager test
* fix: break down and fix peerManager test
* refactor: codeClimate linting for peerManager/ConnectionGater
2023-08-30 21:33:57 +07:00
harsh jain
4a546d12d3
fix: dont send to subscriptions that don't have any ContentTopic ( #695 )
2023-08-30 17:35:08 +07:00
richΛrd
4c52149fac
chore: log succesful message pushes ( #694 )
...
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-08-30 10:48:06 +05:30
Andrea Maria Piana
8ad08d6b04
Check nils when deliting subscription ( #691 )
2023-08-29 12:53:39 +01:00
Richard Ramos
041dc4070a
fix(filterV2): requestID and log request type
2023-08-25 13:05:04 -04:00
Prem Chaitanya Prathi
44d3ef6d78
feat: autosharding core logic ( #669 )
...
* feat: autosharding core logic
2023-08-25 09:55:38 +05:30
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
Vitaliy Vlasov
419adcb6a8
chore(filter2): test updates
2023-08-14 16:29:00 -04:00
Richard Ramos
c320b38cbe
feat(rln-relay): use atomic operations API
2023-08-12 07:44:07 -04:00