Bit of a cleanup to make it more readable and also fix building of libraries.
Moving the actual build to `default.nix` makes `flake.nix` more readable.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* fix: error reported by codeQL
* chore: remove lgtm alert as repo has moved to code scanning
* chore: bump libp2p and deps in order to fix a security vulnerability
* chore: update gitignore for example build and bin
* chore:fix vendor sha
- 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
* 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>
- 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
- 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)
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>
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>
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>