3061 Commits

Author SHA1 Message Date
Danish Arora
fecc026dd7
fix: DIRVER -> DRIVER typo in nwaku (#2406)
* fix: DIRVER -> DRIVER nwaku

* chore: empty commit

* chore: access CI/test env vars and conditionally check test

* fix: undefined nwaku version

* chore: improve splitting

* simplify, test error string only for new versions

---------

Co-authored-by: Sasha <oleksandr@status.im>
2025-06-20 15:34:51 +02:00
Sasha
7c8d1073b0
chore!: remove IBaseProtocol and improve interface on PeerExchange (#2422)
* remove IBaseProtocol

* fix references, interfaces and integration

* fix ci

* up mock

* up lock

* add mock for local storage

* add missing prop, fix tests

* up lock
2025-06-20 12:53:42 +02:00
Arseniy Klempner
a0fc9e05d4
Merge pull request #2322 from waku-org/feat/sds-command-queue
feat: add command queue architecture and improve message handling
2025-06-13 16:47:38 -07:00
Arseniy Klempner
8444bc940f
fix: reorder methods by visibility 2025-06-13 15:22:52 -07:00
Arseniy Klempner
a2c3b2e6aa
feat(sds)_: add command queue architecture and improve message handling
- Introduce command queue system for sequential task processing
- Add comprehensive event system for message lifecycle tracking
- Restructure codebase with separate bloom_filter directory
- Export encode/decode helpers for SDS proto messages
- Use Set for deduplication in missing message detection
- Fix sync message handling for empty content messages
- Always emit MissedMessages event even with empty array
- Improve duplicate message detection logic
2025-06-10 20:19:22 -07:00
fbarbu15
4997440225
chore: add reliability tests package with longevity tests (#2361)
* chore: add reliability tests package with longevity tests

* chore: add reliability tests package with longevity tests

* chore: fix ci errors

* chore: fix

* chore: fix timeout
2025-06-05 11:19:00 +03:00
Arseniy Klempner
49f26d89a8
Merge pull request #2397 from waku-org/fix/store-hash-query
fix(store): update store query validation logic to support msg hash q…
2025-06-03 14:26:57 -07:00
Arseniy Klempner
f649f59e64
fix: rebase package lock 2025-06-03 11:24:37 -07:00
Arseniy Klempner
5f63cb5bfb
fix: remove unnecessary comments from store validation
- Remove inline comments that explain obvious code behavior
- Keep only the reference URL comment which provides useful context
- Address review feedback about excessive commenting
2025-06-03 09:05:54 -07:00
Arseniy Klempner
2d92191029
fix: address review feedback for message hash tests
- Remove all console.log statements (8 instances)
- Update type usage from DecodedMessage[] to IDecodedMessage[]
- Replace assert.equal() with expect().to.equal() for consistency
- Import expect from chai alongside existing imports

These changes address all feedback from PR review without altering test logic.
2025-06-03 09:05:54 -07:00
Arseniy Klempner
9f7a15dfb1
fix(store): update store query validation logic to support msg hash queries 2025-06-03 09:05:54 -07:00
Sasha
1905558753
feat!: re-work messaging parts and sharding (#2399)
* remove message-hash package, move it to core

* add js-doc to message hash

* up

* address type changes

* fix lint
2025-06-03 11:08:02 +02:00
Danish Arora
16328a3f11
feat: enable/disable discoveries without defaultBootstrap: true (#2363)
* feat: enable/disable discoveries without defaultBootstrap: true

* chore: rm .only

* chore: don't redefine default discoveries object

* chore: don't export default const from library

* chore: rename discoveriesEnabled to discovery

* fix: rename

* address comments

* chore: reset default

Co-authored-by: Sasha <118575614+weboko@users.noreply.github.com>

* chore: address comments

* chore: update tests

---------

Co-authored-by: Sasha <118575614+weboko@users.noreply.github.com>
2025-05-30 16:27:00 +05:30
Arseniy Klempner
6d6e256fec
Merge pull request #2371 from waku-org/feat/browser-headless-test
feat: headless app and api for testing js-waku in browser
2025-05-29 11:38:08 -07:00
Arseniy Klempner
5ed35471ca
feat: headless app and api for testing js-waku in browser 2025-05-29 10:19:56 -07:00
Danish Arora
3b23bceb9d
feat: refine work with membership info and other meta information (#2341)
* chore: update definitions to match the ABI

* chore: improve exports and types

* chore: use big endian instead of little endian

* chore: improve logging

* chore: update import

* fix: use overloaded function call

* chore: estimate gas

* test

* npm i

* chore: regen locl

* chore: update

* chore: update playwright docker images

* chore: cannot erase membership if it isn't expired/in grace period

* chore: fix condition

* chore: add `getMembershipStatus` method

* refactor(rln): cache min/max rate limits at contract instantiation

* chore: fix accessor

* chore: rename arg

* chore: allow chromebin path through env
2025-05-29 16:09:08 +05:30
Sasha
a4dfd3455c
feat: event based approach to Filter (#2300)
* create new filter api

* implement await on main methods on new Filter

* add info logs in new filter

* add logs to subscription impl

* remove lint supress

* add unit tests

* introduce E2E tests

* update e2e tests and add case for testing filter recovery after nwaku nodes replacement

* add new test cases for max limits and enable decoders as array on new filter

* fix edge case testing, correct test cases

* skip test

* update error message

* up text

* up text

* fix lint

* implement unsubscribeAll

* add js-dock to new filter

* add cspell

* implement TTL set for message history
2025-05-28 00:44:44 +02:00
Arseniy Klempner
f85a476261
Merge pull request #2337 from waku-org/release-please--branches--master
chore: release master
relay-v0.0.18 enr-v0.0.29 interfaces-v0.0.30 sdk-v0.0.31 sds-v0.0.3 core-v0.0.35 proto-v0.0.10 message-hash-v0.1.19 message-encryption-v0.0.33 rln-v0.1.5 utils-v0.0.23 discovery-v0.0.8
2025-04-23 08:47:46 -07:00
Sasha
e22f211d46 chore: release master 2025-04-23 07:38:08 +02:00
Sasha
fa1beca7f1
chore: fix shard info for wss checker (#2373)
* feat: introduce WSS checker CI

* rename CI step

* specify nodejs

* try

* remove not needed dep

* use npx and fail on failure

* run by dispatch only and improve naming

* fix fail detection

* chore: fix shard info for wss checker
2025-04-22 18:47:20 +02:00
Arseniy Klempner
bb927424f4
Merge pull request #2359 from waku-org/fix/npm-audit-fix-2024-04-16
fix: npm audit without force
2025-04-22 08:27:25 -07:00
Arseniy Klempner
6456d09809
fix: npm audit without force 2025-04-22 08:11:02 -07:00
Arseniy Klempner
4da382d594
Merge pull request #2299 from waku-org/feat/sds-message-history
feat(sds): add retrieval hint to causal history
2025-04-22 08:05:41 -07:00
Arseniy Klempner
408be95a13
feat(sds): add retrieval hint to causal history 2025-04-22 07:45:05 -07:00
Arseniy Klempner
0826f32b69
feat(sds): adds ephemeral messages, delivered message callback and event 2025-04-22 07:41:52 -07:00
Arseniy Klempner
18e08f94df
Merge pull request #2302 from waku-org/feat/sds-ephemeral
feat(sds): adds ephemeral messages, delivered message callback and event
2025-04-22 07:38:28 -07:00
Arseniy Klempner
6b4848c853
feat(sds): adds ephemeral messages, delivered message callback and event 2025-04-22 07:16:14 -07:00
Sasha
e45736ff98
feat: introduce WSS checker CI (#2366)
* feat: introduce WSS checker CI

* rename CI step

* specify nodejs

* try

* remove not needed dep

* use npx and fail on failure

* run by dispatch only and improve naming

* fix fail detection
2025-04-18 22:51:07 +02:00
Sasha
fd2f5b7b8d
chore: up readme (#2367) 2025-04-18 20:44:22 +02:00
Sasha
551238006c
fix: health indicator properly handle peer:identify event (#2369) 2025-04-18 20:11:09 +02:00
Sasha
3038c48917
feat: introduce createDecoder and createEncoder on IWaku (#2352)
* feat: introduce createDecoder and createEncoder on IWaku

* add tests, refactor

* fix type
2025-04-14 10:46:47 +02:00
Sasha
163bea56c3
chore: skip flaky test due to nwaku bug (#2349)
* chore: skip flaky test due to nwaku bug

* return full test cases for lightpush
2025-04-11 18:30:28 +02:00
Sasha
3793e6f5c0
chore: update interop test suit for latest nwaku (0.35.1) (#2345)
* update Filter test suit, make service nodes connected to each other, remove single node Filter test suit, use 0.35 nwaku image

* update light push tests

* improve auto shard tests

* update static sharding test

* skip blocked tests

* fix test

* remove usage of pusubtopic with nwaku

* remove comment
2025-04-11 01:34:11 +02:00
Danish Arora
28f28d0d36
fix(rln): update types to match nwaku (#2339)
* chore: update types to match nwaku

* chore: add userMessageLimit // not in spec
2025-04-10 14:42:57 +05:30
Danish Arora
4adf8706c3
feat(rln): create CredentialsManager without Zerokit (#2295)
* chore: update ABI

* chore: update contract address and chain ID to Linea Sepolia

* chore: improve error handling

* fix: bigint conversion

* chore: update tests

* chore: clean comments

* chore: export keystore types

* chore: update README with contract address

* tests: add reusable mock functions

* chore: LINEA_CONTRACT instead of SEPOLIA_CONTRACT

* chore: add linea to cspell

* chore: add rateLimit to MembershipInfo

* fix: determine start options

* feat: RLNLight

* chore: fix

* chore: export

* fix: returns for ratelimit

* chore: big number conversions

* chore: rename RLNLight to CredentialsManager, add logs

* chore: setup and use rln_base_contract

* chore: use CredentialsManager for rln.ts

* chore: public methods written above private methods

* fix: rate limit getter

* chore: simplify getters/setters

* chore: insert empty line
2025-04-07 16:04:06 +05:30
Danish Arora
a8ff776962
chore(rln): update ABI and contract address to Linea Sepolia, enhancements (#2294)
* chore: update ABI

* chore: update contract address and chain ID to Linea Sepolia

* chore: improve error handling

* fix: bigint conversion

* chore: update tests

* chore: clean comments

* chore: export keystore types

* chore: update README with contract address

* tests: add reusable mock functions

* chore: LINEA_CONTRACT instead of SEPOLIA_CONTRACT

* chore: add linea to cspell

* chore: add rateLimit to MembershipInfo

* fix(tests): rate limit additions

* chore: update gitignore
2025-03-31 14:32:29 +05:30
Sasha
ea6daae927
chore: release master (#2311) interfaces-v0.0.29 core-v0.0.34 discovery-v0.0.7 sds-v0.0.2 rln-v0.1.4 sdk-v0.0.30 enr-v0.0.28 message-hash-v0.1.18 message-encryption-v0.0.32 relay-v0.0.17 proto-v0.0.9 utils-v0.0.22 2025-03-24 14:41:33 +01:00
Sasha
1ee77c0423
fix: downgraid chainsafe (#2316)
* fix: downgraid chainsafe

* up lock

* up lock

* bump playwright

* add override section
2025-03-24 13:07:29 +01:00
fryorcraken
d27db21ba5
fix: do not use waku test fleet as default bootstrap (#2312)
The waku test fleet is unstable and should not be used as boostrap.

The issue is that DNS Discovery looks for "2" nodes and stop there. Meaning that if those "discovered" nodes are not reachable (ie, coming from test suite). js-waku does not connect.
2025-03-20 16:32:27 +01:00
Sasha
e0b8bd8c9c
chore: update release please and add packages (#2305) 2025-03-20 00:40:34 +01:00
Sasha
044da751bd
fix: npm action branch detection (#2308) 2025-03-19 11:55:59 +01:00
fryorcraken
edfb56243d
doc: build first to avoid not found deps issues (#2307)
* doc: build first to avoid not found deps issues

* fix: Remove XMLHttpRequest usage

XMLHttpRequest API is deprecated and not available in browser extensions.

Replace the culprit dependency with a more modern one.

Some options are removed. The assumption is that nobody uses them. It can always be added if a developer wants the flexibility.

* test: simplify test

The test focus on testing DNS Discovery, there is no need to also have a nwaku local node for bootstrap.

Bootstrap on nwaku local node is used in many other tests.
2025-03-19 09:43:41 +01:00
Sasha
c315b363c5
chore: update ci npm command (#2304) 2025-03-17 09:57:16 +01:00
Arseniy Klempner
8db7690233
Merge pull request #2293 from waku-org/feat/sds-sync
feat(sds): send and receive sync messages
2025-03-13 11:52:21 -07:00
Arseniy Klempner
13ae5d4f73
feat(sds): send and receive sync messages 2025-03-13 11:29:55 -07:00
Arseniy Klempner
5b3a256b4c
Merge pull request #2280 from waku-org/feat/sds-buffer-sweep
feat(sds): adds logic to sweep incoming and outgoing buffers
2025-03-04 07:01:23 -08:00
Arseniy Klempner
f7666a6588
feat(sds): adds logic to sweep incoming and outgoing buffers 2025-03-03 22:09:44 -08:00
Danish Arora
6fc6bf3916
feat(rln): migrate from v1 to v2, rate limiting, memberships, test coverage (#2262)
* chore: update ABIs and deployed address

* chore: remove storage contract references

* feat: upgrading adapter to basic rlnv2

* feat: rate limit

* chore: upgrade packages revert

* fix: tests

* chore: remove uneeded file

* feat(rln): implement RLNv2 rate limiting and membership states

- Add rate limit validation and handling in proof generation/verification
- Implement membership lifecycle state management (Active/GracePeriod/Expired)
- Add new membership management methods:
  - getMembershipInfo
  - extendMembership
  - eraseMembership
  - registerMembership
- Update proof verification to include rate limit checks
- Refactor message serialization to include rate limit data

Breaking changes:
- verifyWithRoots now takes roots as array instead of spread parameters
- Proof verification methods now accept optional rateLimit parameter

* fix: typo

* chore: add to cspell

* chore: reduce diff

* chore: simplify subdir for abi

* chore: address comments

* chore: simplify access to variables

* chore: address comments

* chore: simplify constants

* chore: add error handling

* chore: change rln v2 references to rln

* fix: check
2025-03-03 18:14:06 +05:30
Sasha
09108d9284
feat: enable auto start upon node creation (#2291)
* feat: enable auto start upon node creation

* update the state
2025-02-27 14:00:28 +01:00
Sasha
f199d92d60
feat: migrate to latest LightPush version (#2281)
* create retry manager

* update tests

* add retry manager tests, update peer manager

* fix start & merge with master

* return send to many logic

* add new error handling

* add sections to protocol errors

* fix check

* up test

* add waku.start in test

* fix check and test

* improve name
2025-02-25 22:40:03 +01:00