Commit Graph

735 Commits

Author SHA1 Message Date
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
harsh-98 70ddd48274 refactor: setting nodeKey via GOWAKU-NODEKEY env 2023-04-04 06:09:52 -04:00
Richard Ramos 3b3e3b6968 chore: use go 1.19 on CI 2023-04-03 10:43:01 -04:00
Richard Ramos e1276f65e4 chore: bump golangci-lint 2023-04-03 10:43:01 -04:00
Richard Ramos aa8f99ff72 chore: bump go-libp2p 2023-04-03 10:43:01 -04:00
Richard Ramos 98e14cf0f6
chore: add debug log to identify when peer is discovered 2023-03-31 08:44:01 -04:00
Richard Ramos 7c56ceb139 chore: remove swap protocol 2023-03-30 12:12:41 -04:00
Richard Ramos 56785d8aa7 fix: limit number of content topics per request and timeout message pushes 2023-03-30 12:10:04 -04:00
Richard Ramos dd9261c981 fix: simplify code by using mutex instead of channels 2023-03-30 12:00:19 -04:00
Richard Ramos c5faf8b9e9 fix: race condition deleting items from cache 2023-03-30 12:00:19 -04:00
Richard Ramos 144dfa5b7b feat: add WakuMessage validation in gossipsub
This also stores the waku message in a cache to avoid having to decode it twice
2023-03-30 12:00:19 -04:00
Richard Ramos 7b3f4aade7 chore: add coverage to gitignore 2023-03-30 09:03:04 -04:00
Richard Ramos ca20eb4a79 feat: connect to discovered peers 2023-03-29 08:59:36 -04:00
Richard Ramos 2b30726c14 feat: rendezvous client 2023-03-29 08:59:36 -04:00
Richard Ramos 21ad496d42 feat(c-bindings): seenTTL 2023-03-27 10:48:40 -04:00
Richard Ramos b540953f74 fix: bump go-libp2p-pubsub to stop memleak 2023-03-27 09:26:01 -04:00
RichΛrd 71d4ea317e
feat: 0.5.2 (#490) 2023-03-13 21:45:19 -04:00
RichΛrd 3c4a863cb7
feat(c-bindings): custom gossipsub params (#489) 2023-03-10 14:41:19 -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
Richard Ramos 4b52983fc4 fix: limit number of subscribers and criteria 2023-03-08 09:51:26 -04:00
Richard Ramos 45cc06a683
chore: downgrade go-ethereum to use same version as status-go 2023-03-08 09:15:39 -04:00
Richard Ramos aeddc7848a refactor: namespaced pubsub topics 2023-03-08 09:10:14 -04:00
Richard Ramos 3bba1a86f1 feat(message): added waku message deterministic hashing 2023-03-08 09:08:08 -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
Richard Ramos a19a3b5a79 feat: add meta field to WakuMessage 2023-03-04 13:27:36 -04:00
Richard Ramos 2d2fbc7e47
fix: do not use a var to hold hash 2023-03-04 11:55:42 -04:00
Richard Ramos b20bf3dccd fix: use pool for all sha256 hash operations 2023-03-02 12:00:54 -04:00
Richard Ramos df2cccec04 fix: use sync.Pool for msgId hasher 2023-03-02 11:10:31 -04:00
Richard Ramos 93e8b34c1a fix: deps 2023-03-01 20:28:35 -04:00
Richard Ramos 7bc000b61f fix: use url-safe base64 encoding for noise 2023-02-28 14:14:22 -04:00
Richard Ramos 6e2a0ffeb4 refactor(px): use request-response instead of dialing back 2023-02-28 14:11:50 -04:00
Richard Ramos cedaa670c7
fix: logLevel 2023-02-24 12:02:00 -04:00
Richard Ramos 65441f60e0
chore: bump go-libp2p-pubsub 2023-02-24 11:59:53 -04:00
Richard Ramos f41055778c fix: use stdbase64 encoding 2023-02-23 19:45:46 -04:00
RichΛrd 042521e00b
fix: set a max length for the multiaddr field (#474) 2023-02-23 19:43:04 -04:00
RichΛrd f4e6441fbe
feat: 0.5.1 (#467) 2023-02-20 17:53:02 -04:00
RichΛrd a1edf45fad
fix: protocolID must be a string in the mobile API (#466) 2023-02-20 17:50:36 -04:00
Richard Ramos 54005c8733 fix: run instructions in NOISE 2023-02-20 12:31:04 -04:00
Richard Ramos 7426ca5845 fix: noise example 2023-02-20 10:53:30 -04:00
Richard Ramos 08bd3a6304 fix(c-bindings): check if ENR is nil 2023-02-20 10:42:35 -04:00
Richard Ramos 4804588197 fix(c-bindings): relayTopics should trigger signal handler 2023-02-17 13:32:37 -04:00
Richard Ramos 20f310a815 feat: 0.5.0 2023-02-17 11:10:57 -04:00
RichΛrd f08d8f293b fix: always return peerID and addresses when marshalling DnsDiscoveryItem 2023-02-17 11:05:28 -04:00
Richard Ramos abcadd1bcf feat(c-bindings): expose enrs via dns discovery 2023-02-17 11:05:28 -04:00
Richard Ramos 2c9df85c51 refactor(c-bindings): store waku state in single variable 2023-02-17 11:05:28 -04:00
Richard Ramos 8b5e22002c fix: use base64url encoding 2023-02-17 11:03:59 -04:00
Richard Ramos 053f3f2540 fix: convert pb.WakuMessage to RPCWakuMessage so version is included in replies 2023-02-16 23:37:19 -04:00
Richard Ramos 9c75a3325d fix: invalid in-memory db URL 2023-02-16 23:05:15 -04:00