Commit Graph

17 Commits

Author SHA1 Message Date
Prem Chaitanya Prathi 9f45d271ac
feat: support serviceslots in peermanager (#631)
* feat: support peermanager serviceslots and update store protocol to use serviceslots

* fix: lint errors in test code

* fix: error in nix build due to vendor sha change

* fix: set host in peermanager even if relay is disabled

* chore: fix codeclimate issues

* chore: using common filterPeer function to avoid duplication

* feat:use service slots in other service protocols

* chore: fix codeclimate issues

* chore: move AddPeer to peermanager

* Apply suggestions from code review

Co-authored-by: richΛrd <info@richardramos.me>

* chore:address review comments

* feat: implement RemovePeer #638

* chore: fix test failure

* Support for multiple slots for service peers
Adding discovered peers also moved to peer manager

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-10 18:28:22 +05:30
Richard Ramos 33344c2ae0 refactor: use uint instead of int for RLN indexes 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 6ece3c483b feat: subscribe to shards with --topic and refactors
- Shards in same cluster are advertised on ENR
- Store().Resume() was moved to app layer
- NoDefaultWakuTopic() was removed since it's the app that must determine whether it subscribes to the default waku topic
- Removed `Publish` from WakuNode (not really used and easy to implement in app layer if needed)
2023-07-06 11:18:29 -04:00
Richard Ramos 76186e5477 refactor: store ENR 2023-06-09 14:57:43 -04:00
Richard Ramos 39c97c5d89 feat: set resource limits 2023-05-24 11:46:32 -04:00
frank 898f433d2c
fix: dead loop after calling WakuNode.Stop() 2023-05-18 11:22:19 -04:00
Jakub Sokołowski f2d2e8127a
nix: upgrade nixpkgs to include xcodeWrapper fixes
Fixes:
- https://github.com/NixOS/nixpkgs/pull/204278
- https://github.com/NixOS/nixpkgs/pull/228696

Other notable upgrades:

- Bash from `5.1` to `5.2`
- Binutils from `2.39` to `2.40`
- GnuAWK from `5.1.1` to `5.2.1`
- GCC  from `11.3.0` to `12.2.0`
- GNU Make from `4.3` to `4.4.1`
- Go from `1.19.6` to `1.19.8`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-05-04 15:23:52 +02:00
Richard Ramos c3ef173b2c feat: handle chain forks 2023-04-17 10:02:09 -04:00
Jakub Sokołowski 234c2b0400
nix: install golangci-lint in devel shell
This way we don't need to depend on `make deps`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-14 15:28:42 +02:00
Richard Ramos 801ec92c11 refactor: loading credentials and chat2 2023-04-11 10:39:07 -04:00
Jakub Sokołowski 14a6f45be4
ci: use Nix dev shell from flake for CI builds
Provides a more predicable build environment for CI.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/60

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-04 16:36:30 +02:00
Richard Ramos aa8f99ff72 chore: bump go-libp2p 2023-04-03 10:43:01 -04:00
RichΛrd 8826e2df66
feat: rendezvous server 2023-03-09 11:48:25 -04:00
Richard Ramos 63bb4509bf feat(filterv2): ping 2023-03-08 12:26:50 -04:00
Jakub Sokołowski 38de4938af
nix: fix nix run by setting mainProgram to waku
Otherwise it fails with:
```
 > nix run github:status-im/go-waku
error: unable to execute '/nix/store/xsmhw1yqz5w9bdgfsprxmhcycl7011wz-go-waku/bin/go-waku': No such file or directory

 > ls -l /nix/store/xsmhw1yqz5w9bdgfsprxmhcycl7011wz-go-waku/bin
total 37914
-r-xr-xr-x 1 root root 38775544 Jan  1  1970 waku
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-06 14:42:09 +01:00
Jakub Sokołowski 349e22bbe8
nix: add Nix flake to build node and library
This way we can build node or the library locally using:
```sh
nix build
nix build .#node
nix build .#library
```
Or just start a shell with Go `1.19.x` using:
```
nix develop
```
Which simply has the same environment as the build shell for the node.

One known snag is that there is currently no simple way to keep `vendorSha256`
updated to match the contents of `go.mod` and `go.sum`. For more details see:
https://discourse.nixos.org/t/how-should-i-build-a-go-package-from-local-source/19490/8

One way around this would be to have our own `vendor` folder, but that's
also a pretty ugly solution that requires manual updating.

Resolves:
https://github.com/waku-org/go-waku/issues/256

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-05 15:04:07 +01:00