Skip to content

Commit

Permalink
chore: use waku-org/waku-proto repository for protobuffer definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
richard-ramos committed Oct 30, 2023
1 parent 4584bb4 commit a7c020d
Show file tree
Hide file tree
Showing 54 changed files with 2,017 additions and 2,018 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "libs/waku-rln-contract"]
path = libs/waku-rln-contract
url = https://github.com/waku-org/waku-rln-contract.git
[submodule "waku/v2/protocol/waku-proto"]
path = waku/v2/protocol/waku-proto
url = git@github.com:waku-org/waku-proto.git
6 changes: 5 additions & 1 deletion cmd/waku/server/rpc/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,11 @@ func (f *FilterService) GetV1Messages(req *http.Request, args *ContentTopicArgs,
}

for i := range f.messages[args.ContentTopic] {
*reply = append(*reply, ProtoToRPC(f.messages[args.ContentTopic][i]))
rpcMsg, err := ProtoToRPC(f.messages[args.ContentTopic][i])
if err != nil {
return err
}
*reply = append(*reply, rpcMsg)
}

f.messages[args.ContentTopic] = make([]*wpb.WakuMessage, 0)
Expand Down
26 changes: 19 additions & 7 deletions cmd/waku/server/rpc/relay.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@ func (r *RelayService) PostV1Message(req *http.Request, args *RelayMessageArgs,
return errors.New("not subscribed to pubsubTopic")
}

msg := args.Message.toProto()
msg, err := args.Message.toProto()
if err != nil {
return err
}

if err = server.AppendRLNProof(r.node, msg); err != nil {
return err
Expand Down Expand Up @@ -157,10 +160,11 @@ func (r *RelayService) DeleteV1AutoSubscription(req *http.Request, args *TopicsA

// PostV1AutoMessage is invoked when the json rpc request uses the post_waku_v2_relay_v1_auto_message
func (r *RelayService) PostV1AutoMessage(req *http.Request, args *RelayAutoMessageArgs, reply *SuccessReply) error {
var err error
msg := args.Message.toProto()
if msg == nil {
err := fmt.Errorf("invalid message format received")
msg, err := args.Message.toProto()
if msg == nil || err != nil {
if err == nil {
err = fmt.Errorf("invalid message format received")
}
r.log.Error("publishing message", zap.Error(err))
return err
}
Expand Down Expand Up @@ -188,7 +192,11 @@ func (r *RelayService) GetV1AutoMessages(req *http.Request, args *TopicArgs, rep
}
select {
case msg := <-sub.Ch:
*reply = append(*reply, ProtoToRPC(msg.Message()))
rpcMsg, err := ProtoToRPC(msg.Message())
if err != nil {
return err
}
*reply = append(*reply, rpcMsg)
default:
break
}
Expand Down Expand Up @@ -248,7 +256,11 @@ func (r *RelayService) GetV1Messages(req *http.Request, args *TopicArgs, reply *
}

for i := range r.messages[args.Topic] {
*reply = append(*reply, ProtoToRPC(r.messages[args.Topic][i]))
msg, err := ProtoToRPC(r.messages[args.Topic][i])
if err != nil {
return err
}
*reply = append(*reply, msg)
}

r.messages[args.Topic] = make([]*pb.WakuMessage, 0)
Expand Down
18 changes: 12 additions & 6 deletions cmd/waku/server/rpc/relay_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,13 @@ func TestPostV1Message(t *testing.T) {
Timestamp: utils.GetUnixEpoch(),
}

err := d.PostV1Message(
rpcWakuMsg, err := ProtoToRPC(msg)
require.NoError(t, err)

err = d.PostV1Message(
makeRequest(t),
&RelayMessageArgs{
Message: ProtoToRPC(msg),
Message: rpcWakuMsg,
},
&reply,
)
Expand Down Expand Up @@ -106,13 +109,16 @@ func TestRelayGetV1Messages(t *testing.T) {
// Wait for the subscription to be started
time.Sleep(1 * time.Second)

rpcWakuMsg, err := ProtoToRPC(&pb.WakuMessage{
Payload: []byte("test"),
})
require.NoError(t, err)

err = serviceA.PostV1Message(
makeRequest(t),
&RelayMessageArgs{
Topic: "test",
Message: ProtoToRPC(&pb.WakuMessage{
Payload: []byte("test"),
}),
Topic: "test",
Message: rpcWakuMsg,
},
&reply,
)
Expand Down
6 changes: 5 additions & 1 deletion cmd/waku/server/rpc/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,11 @@ func (s *StoreService) GetV1Messages(req *http.Request, args *StoreMessagesArgs,

reply.Messages = make([]*RPCWakuMessage, len(res.Messages))
for i := range res.Messages {
reply.Messages[i] = ProtoToRPC(res.Messages[i])
msg, err := ProtoToRPC(res.Messages[i])
if err != nil {
return err
}
reply.Messages[i] = msg
}

reply.PagingInfo = StorePagingOptions{
Expand Down
3 changes: 2 additions & 1 deletion cmd/waku/server/rpc/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ func makeRequest(t *testing.T) *http.Request {
func TestBase64Encoding(t *testing.T) {
input := "Hello World"

rpcMsg := ProtoToRPC(&pb.WakuMessage{
rpcMsg, err := ProtoToRPC(&pb.WakuMessage{
Payload: []byte(input),
})
require.NoError(t, err)

jsonBytes, err := json.Marshal(rpcMsg)
require.NoError(t, err)
Expand Down
42 changes: 28 additions & 14 deletions cmd/waku/server/rpc/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package rpc

import (
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
"google.golang.org/protobuf/proto"
)

type RateLimitProof struct {
Expand All @@ -23,9 +24,9 @@ type RPCWakuMessage struct {
Ephemeral bool `json:"ephemeral,omitempty"`
}

func ProtoToRPC(input *pb.WakuMessage) *RPCWakuMessage {
func ProtoToRPC(input *pb.WakuMessage) (*RPCWakuMessage, error) {
if input == nil {
return nil
return nil, nil
}

rpcWakuMsg := &RPCWakuMessage{
Expand All @@ -36,24 +37,30 @@ func ProtoToRPC(input *pb.WakuMessage) *RPCWakuMessage {
Ephemeral: input.Ephemeral,
}

rateLimitProof := &pb.RateLimitProof{}
err := proto.Unmarshal(input.RateLimitProof, rateLimitProof)
if err != nil {
return nil, err
}

if input.RateLimitProof != nil {
rpcWakuMsg.RateLimitProof = &RateLimitProof{
Proof: input.RateLimitProof.Proof,
MerkleRoot: input.RateLimitProof.MerkleRoot,
Epoch: input.RateLimitProof.Epoch,
ShareX: input.RateLimitProof.ShareX,
ShareY: input.RateLimitProof.ShareY,
Nullifier: input.RateLimitProof.Nullifier,
RlnIdentifier: input.RateLimitProof.RlnIdentifier,
Proof: rateLimitProof.Proof,
MerkleRoot: rateLimitProof.MerkleRoot,
Epoch: rateLimitProof.Epoch,
ShareX: rateLimitProof.ShareX,
ShareY: rateLimitProof.ShareY,
Nullifier: rateLimitProof.Nullifier,
RlnIdentifier: rateLimitProof.RlnIdentifier,
}
}

return rpcWakuMsg
return rpcWakuMsg, nil
}

func (r *RPCWakuMessage) toProto() *pb.WakuMessage {
func (r *RPCWakuMessage) toProto() (*pb.WakuMessage, error) {
if r == nil {
return nil
return nil, nil
}

msg := &pb.WakuMessage{
Expand All @@ -65,7 +72,7 @@ func (r *RPCWakuMessage) toProto() *pb.WakuMessage {
}

if r.RateLimitProof != nil {
msg.RateLimitProof = &pb.RateLimitProof{
rateLimitProof := &pb.RateLimitProof{
Proof: r.RateLimitProof.Proof,
MerkleRoot: r.RateLimitProof.MerkleRoot,
Epoch: r.RateLimitProof.Epoch,
Expand All @@ -74,7 +81,14 @@ func (r *RPCWakuMessage) toProto() *pb.WakuMessage {
Nullifier: r.RateLimitProof.Nullifier,
RlnIdentifier: r.RateLimitProof.RlnIdentifier,
}

b, err := proto.Marshal(rateLimitProof)
if err != nil {
return nil, err
}

msg.RateLimitProof = b
}

return msg
return msg, nil
}
9 changes: 7 additions & 2 deletions examples/chat2/chat.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ import (
"github.com/waku-org/go-waku/waku/v2/protocol/lightpush"
wpb "github.com/waku-org/go-waku/waku/v2/protocol/pb"
"github.com/waku-org/go-waku/waku/v2/protocol/relay"
wrln "github.com/waku-org/go-waku/waku/v2/protocol/rln"
"github.com/waku-org/go-waku/waku/v2/protocol/store"
"github.com/waku-org/go-waku/waku/v2/utils"
"github.com/waku-org/go-zerokit-rln/rln"
"google.golang.org/protobuf/proto"
)

Expand Down Expand Up @@ -315,7 +315,12 @@ func (c *Chat) publish(ctx context.Context, message string) error {
return err
}

c.ui.InfoMessage(fmt.Sprintf("RLN Epoch: %d", rln.BytesToEpoch(wakuMsg.RateLimitProof.Epoch).Uint64()))
rateLimitProof, err := wrln.BytesToRateLimitProof(wakuMsg.RateLimitProof)
if err != nil {
return err
}

c.ui.InfoMessage(fmt.Sprintf("RLN Epoch: %d", rateLimitProof.Epoch.Uint64()))
}

if c.options.LightPush.Enable {
Expand Down
6 changes: 6 additions & 0 deletions library/Create multiple nodes1
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Create multiple nodes



Filter Subscription
{"subscriptions":[{"peerID":"16Uiu2HAm6HZZr7aToTvEBPpiys4UxajCTU97zj5v7RNR2gbniy1D","pubsubTopic":"/waku/2/default-waku/proto","contentTopics":["a"]}], "error":"..... omitempty"}
18 changes: 9 additions & 9 deletions waku/persistence/postgres/migrations/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a7c020d

Please sign in to comment.