581 Commits

Author SHA1 Message Date
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) v0.5.2 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
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
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) v0.5.1 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 v0.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
Richard Ramos
0c1abb8114 fix: rest tests 2023-02-16 16:40:51 -04:00
Richard Ramos
9731810b8d chore: use go-chi for rest server instead of archived gorilla/rpc
- RPC server is not modified since it's going to be deprecated
2023-02-16 16:05:58 -04:00
Richard Ramos
f0eaa84aad chore: upgrade dependencies 2023-02-16 12:22:47 -04:00
Richard Ramos
156db781f6 chore: switch to Google's Protobuf library 2023-02-16 11:37:59 -04:00