Commit Graph

1806 Commits

Author SHA1 Message Date
Ivan Folgueira Bande 706055dc5e
update CHANGELOG.md for v0.31.0 2024-07-16 17:23:14 +02:00
NagyZoltanPeter ba418ab5ba
feat: DOS protection of non relay protocols - rate limit phase3 (#2897)
* DOS protection of non relay protocols - rate limit phase3:
- Enhanced TokenBucket to be able to add compensation tokens based on previous usage percentage,
- per peer rate limiter 'PeerRateLimier' applied on waku_filter_v2 with opinionated default of acceptable request rate
- Add traffic metrics to filter message push
- RequestRateLimiter added to combine simple token bucket limiting of request numbers but consider per peer usage over time and prevent some peers to over use the service
  (although currently rule violating peers will not be disconnected by this time only their requests will get not served)
- TimedMap utility created (inspired and taken from libp2p TimedCache) which serves as forgiving feature for peers had been overusing the service.
- Added more tests
- Fix rebase issues
- Applied new RequestRateLimiter for store and legacy_store and lightpush
* Incorporate review comments, typos, file/class naming and placement changes.
* Add issue link reference of the original issue with nim-chronos TokenBucket
* Make TimedEntry of TimedMap private and not mixable with similar named in libp2p
* Fix review comments, renamings, const instead of values and more comments.
2024-07-16 15:46:21 +02:00
Ivan FB 71ee42de56
chore: simple PR to enhance postgres and retention policy logs (#2884) 2024-07-15 20:58:31 +02:00
Ivan FB 241fb8cb97
chore: Update master from release v0.30 (#2908)
* chore(rln): rln message limit to 100 (#2883)
* postgres_driver: add more error handling when creating partitions
   Given that multiple nodes can be connected to the same database,
   it can happen that other node did something that my node was willing
   to do. In this commit, we overcome the possible "interleaved" 
   partition creation.

---------

Co-authored-by: Alvaro Revuelta <alvrevuelta@gmail.com>
2024-07-15 18:00:44 +02:00
Ivan FB b71ab28517
archive legacy run report metrics every 30 minutes instead of 1 (#2903) 2024-07-15 17:39:21 +02:00
gabrielmer db8ac5a83e
logging content topic of spam messages (#2906) 2024-07-15 16:43:53 +03:00
gabrielmer 8578fb0c3e
chore: improving logging under debugDiscv5 flag (#2899) 2024-07-15 10:55:31 +03:00
Simon-Pierre Vivier f54ba10bc7
chore(archive): archive and drivers refactor (#2761)
* queue driver refactor (#2753)
* chore(archive): archive refactor (#2752)
* chore(archive): sqlite driver refactor (#2754)
* chore(archive): postgres driver refactor (#2755)
* chore(archive): renaming & copies (#2751)
* posgres legacy: stop using the storedAt field
* migration script 6: we still need the id column
  The id column is needed because it contains the message digest
  which is used in store v2, and we need to keep support to
  store v2 for a while
* legacy archive: set target migration version to 6
* waku_node: try to use wakuLegacyArchive if wakuArchive is nil
* node_factory, waku_node: mount legacy and future store simultaneously
  We want the nwaku node to simultaneously support store-v2
  requests and store-v3 requests.
  Only the legacy archive is in charge of archiving messages, and the
  archived information is suitable to fulfill both store-v2 and
  store-v3 needs.
* postgres_driver: adding temporary code until store-v2 is removed

---------

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
Co-authored-by: gabrielmer <101006718+gabrielmer@users.noreply.github.com>
Co-authored-by: Ivan Folgueira Bande <ivansete@status.im>
2024-07-12 18:19:12 +02:00
gabrielmer e269dca9cd
feat: sonda tool (#2893) 2024-07-12 11:05:13 +03:00
fryorcraken 4264666a3a
docs: new release process to include Status fleets (#2825) 2024-07-12 16:46:37 +10:00
Aaryamann Challani 1c9eb27415
fix(rln_keystore_generator): improve error handling for unrecoverable failure (#2881) 2024-07-10 19:12:49 +02:00
Ivan FB 4ac4ab2a41
chore: sqlite make sure code is always run (#2891) 2024-07-10 18:34:28 +02:00
gabrielmer e1518cf9ff
chore: deprecating named sharding (#2723) 2024-07-09 18:36:12 +03:00
gabrielmer d0980eba4c
setting connectivity loop interval to 30 seconds (#2878) 2024-07-09 17:33:18 +03:00
Ivan FB 9576b77c76
postgres_driver: better partition creation without exclusive access (#2887) 2024-07-09 13:41:29 +02:00
Ivan FB fd6a71cdd7
chore: Bump dependencies for v0.31.0 (#2885)
* bump_dependencies.md: add nim-results dependency
* change imports stew/results to results
* switching to Nim 2.0.8
* waku.nimble: reflect the requirement nim 1.6.0 to 2.0.8
  Adding --mm:refc as nim 2.0 enables a new garbage collector that we're
  not yet ready to support
* adapt waku code to Nim 2.0
* gcsafe adaptations because Nim 2.0 is more strict
2024-07-09 13:14:28 +02:00
Darshan K 8bfad3ab45
chore: refactor relative path to better absolute (#2861) 2024-07-06 00:03:38 +02:00
Ivan FB c93f8049bd
Merge pull request #2874 from waku-org/update-master-from-release-v30
chore: Update master from release v30
2024-07-04 15:51:59 +02:00
Ivan FB f7c4a9e09e
Merge branch 'master' into update-master-from-release-v30 2024-07-03 22:52:15 +02:00
Ivan Folgueira Bande b477cf0140
CHANGELOG.md fix simple typo 2024-07-03 22:42:38 +02:00
Ivan Folgueira Bande dc337cd210
CHANGELOG.md: setting 0.30.1 as next public release 2024-07-03 18:22:51 +02:00
Alvaro Revuelta 3fc0994bd0
chore: use sepolia testnet (#2872) 2024-07-03 18:11:11 +02:00
Ivan FB 49f03f1243
Merge pull request #2868 from waku-org/update-master-from-release-v0.30
chore: Update master from release v0.30 (#2866)

* CHANGELOG.md add info for v0.30.0
* fix(rln-relay): clear nullifier log only if length is over max epoch gap (#2836)
* chore: add TWN parameters for RLNv2 (#2843)
* fix(rln): nullifierlog vulnerability (#2855)
* chore(rln-relay): add chain-id flag to wakunode and restrict usage if mismatches rpc provider (#2858)
    
---------

Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
Co-authored-by: Alvaro Revuelta <alvrevuelta@gmail.com>
2024-07-02 19:15:44 +02:00
Ivan FB a07655e8d0
Update CHANGELOG.md
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2024-07-02 10:29:20 +02:00
Ivan FB 898dac0be8
Update CHANGELOG.md
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2024-07-02 10:29:08 +02:00
Ivan Folgueira Bande 519abbebf0
Merge branch 'release/v0.30' into update-master-from-release-v0.30 2024-07-02 10:16:40 +02:00
Ivan Folgueira Bande 799e08cbac
CHANGELOG.md: add better details of version v0.30.0 2024-07-01 17:14:38 +02:00
Ivan Folgueira Bande b3041d5388
CHANGELOG.md: simply update the date to reflect the current release date 2024-07-01 14:35:00 +02:00
gabrielmer cae0c7e378
chore: saving agent and protoVersion in peerStore (#2860) 2024-07-01 13:29:14 +02:00
Darshan K 31c632e427
chore: unit test for duplicate message push (#2852)
* chore: add unit test for testing duplicate message push with timedcache

* chore: update according to better naming convention

---------

Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
2024-06-28 18:16:06 +05:30
Darshan K 9bd8c33aee
chore: remove all pre-nim-1.6 deadcode from codebase (#2857) 2024-06-28 16:04:57 +05:30
Aaryamann Challani 05356ab97f
chore(rln-relay): add chain-id flag to wakunode and restrict usage if mismatches rpc provider (#2858) 2024-06-28 11:19:16 +02:00
Alvaro Revuelta dad054d6b3
fix(rln): nullifierlog vulnerability (#2855) 2024-06-28 09:25:10 +02:00
fryorcraken 092add1ca2
chore(nim-chronos): bump submodule (#2850) 2024-06-28 10:50:57 +10:00
NagyZoltanPeter 8f14c04735
feat: Added proper per shard bandwidth metric calculation (#2851)
* Added proper per shard bandwidth metric calculation and proper logging of in/out messages
Changed rate limit metrics for dashboard
Updated monitoring dashboard for bw and rate metrics
2024-06-28 02:48:29 +02:00
richΛrd 76d5b2642d
chore: ignore arbitrary data stored in `multiaddrs` enr key (#2853) 2024-06-27 10:01:47 -04:00
Alvaro Revuelta 7b97c8003c
chore: add TWN parameters for RLNv2 (#2843) 2024-06-27 11:45:21 +02:00
gabrielmer 7205f95cff
chore: adding origin to peers admin endpoint (#2848) 2024-06-26 17:59:12 +02:00
gabrielmer 974b8a39ac
chore: adding discv5 logs (#2811) 2024-06-26 14:25:58 +02:00
Ivan FB a05fa06919
chore: archive.nim - increase the max limit of content topics per query to 100 (#2846) 2024-06-26 12:24:15 +02:00
Darshan K 99149ea9dc
fix: duplicate message forwarding in filter service (#2842)
* fix: it's resolve duplicate message forwarding for filter service

* chore: update little flow

* fix: update implementation using timed cache method

* chore: simple format change

* chore: simple format change

* chore: update put function location

* chore: update according suggestion
2024-06-26 01:05:03 +05:30
Aaryamann Challani c56785327a
fix(rln-relay): clear nullifier log only if length is over max epoch gap (#2836) 2024-06-24 13:29:56 +02:00
gabrielmer 01050138c6
fix: only set disconnect time on left event (#2831) 2024-06-24 10:20:09 +02:00
Darshan K 733edae435
chore: update content-topic parsing for filter (#2835)
* chore: update content parsing for filter

* chore: update according to suggestion

* chore: update according to suggestion
2024-06-21 17:47:44 +05:30
Darshan K 94947a8504
chore: better descriptive log (#2826)
* chore: update logs with topic discription & debug msg

* chore: update unit according to error msg

* chore: update rest unit according to error msg

* chore: add content-topic with debug msg
2024-06-20 18:38:55 +05:30
Ivan Folgueira Bande 2f79d69495
CHANGELOG.md add info for v0.30.0 2024-06-20 15:07:19 +02:00
Aaryamann Challani bd064882f6
chore(zerokit): bump submodule (#2830) 2024-06-20 14:56:12 +02:00
Aaryamann Challani a02832fe12
feat(rlnv2): clean fork of rlnv2 (#2828)
* chore(rlnv2): contract interface changes (#2770)
* fix: tests
* fix: remove stuint[32]
* chore(submodule): update zerokit submodule to v0.5.1 (#2782)
* fix: remove cond comp for lightpush test
* fix: ci and nonceManager
2024-06-20 14:55:50 +02:00
Aaryamann Challani c483acee35
chore(zerokit): bump submodule (#2830) 2024-06-20 14:46:16 +02:00
gabrielmer 41bc582823
stop connecting to out peers until target is reached (#2823) 2024-06-20 12:16:15 +02:00