From e37fbd26d67a038496bc0cb189bad7818589cdb4 Mon Sep 17 00:00:00 2001 From: gabrielmer <101006718+gabrielmer@users.noreply.github.com> Date: Tue, 27 May 2025 16:39:00 +0200 Subject: [PATCH 1/2] chore: overriding json unmarshaler (#73) --- waku/common/envelope.go | 34 +++++++++++++++++----------------- waku/nwaku.go | 6 ++++-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/waku/common/envelope.go b/waku/common/envelope.go index a27fc68..19926c2 100644 --- a/waku/common/envelope.go +++ b/waku/common/envelope.go @@ -31,27 +31,27 @@ type wakuEnvelope struct { MessageHash MessageHash `json:"messageHash"` } -// NewEnvelope creates a new Envelope from a json string generated in nwaku -func NewEnvelope(jsonEventStr string) (*Envelope, error) { +// UnmarshalJSON implements the json.Unmarshaler interface +func (e *Envelope) UnmarshalJSON(input []byte) error { wakuEnvelope := wakuEnvelope{} - err := json.Unmarshal([]byte(jsonEventStr), &wakuEnvelope) + err := json.Unmarshal(input, &wakuEnvelope) if err != nil { - return nil, err + return err } - return &Envelope{ - msg: &pb.WakuMessage{ - Payload: wakuEnvelope.WakuMessage.Payload, - ContentTopic: wakuEnvelope.WakuMessage.ContentTopic, - Version: wakuEnvelope.WakuMessage.Version, - Timestamp: wakuEnvelope.WakuMessage.Timestamp, - Meta: wakuEnvelope.WakuMessage.Meta, - Ephemeral: wakuEnvelope.WakuMessage.Ephemeral, - RateLimitProof: wakuEnvelope.WakuMessage.RateLimitProof, - }, - topic: wakuEnvelope.PubsubTopic, - hash: wakuEnvelope.MessageHash, - }, nil + e.msg = &pb.WakuMessage{ + Payload: wakuEnvelope.WakuMessage.Payload, + ContentTopic: wakuEnvelope.WakuMessage.ContentTopic, + Version: wakuEnvelope.WakuMessage.Version, + Timestamp: wakuEnvelope.WakuMessage.Timestamp, + Meta: wakuEnvelope.WakuMessage.Meta, + Ephemeral: wakuEnvelope.WakuMessage.Ephemeral, + RateLimitProof: wakuEnvelope.WakuMessage.RateLimitProof, + } + e.topic = wakuEnvelope.PubsubTopic + e.hash = wakuEnvelope.MessageHash + + return nil } func (e *Envelope) Message() *pb.WakuMessage { diff --git a/waku/nwaku.go b/waku/nwaku.go index f1e2c48..d88fe4c 100644 --- a/waku/nwaku.go +++ b/waku/nwaku.go @@ -480,12 +480,14 @@ func (n *WakuNode) OnEvent(eventStr string) { } func (n *WakuNode) parseMessageEvent(eventStr string) { - envelope, err := common.NewEnvelope(eventStr) + var envelope common.Envelope + err := json.Unmarshal([]byte(eventStr), &envelope) if err != nil { Error("could not parse message %v", err) + return } select { - case n.MsgChan <- *envelope: + case n.MsgChan <- envelope: default: Warn("Can't deliver message to subscription, MsgChan is full") } From 4af6687370574d336102de3400f8ab5fe0b611aa Mon Sep 17 00:00:00 2001 From: gabrielmer <101006718+gabrielmer@users.noreply.github.com> Date: Wed, 28 May 2025 15:13:56 +0200 Subject: [PATCH 2/2] fix: using camelCase in the store query json (#74) --- waku/common/store.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/waku/common/store.go b/waku/common/store.go index fd73c9c..066ad4e 100644 --- a/waku/common/store.go +++ b/waku/common/store.go @@ -1,15 +1,15 @@ package common type StoreQueryRequest struct { - RequestId string `json:"request_id"` - IncludeData bool `json:"include_data"` + RequestId string `json:"requestId"` + IncludeData bool `json:"includeData"` PubsubTopic string `json:"pubsubTopic,omitempty"` ContentTopics *[]string `json:"contentTopics,omitempty"` TimeStart *int64 `json:"timeStart,omitempty"` TimeEnd *int64 `json:"timeEnd,omitempty"` MessageHashes *[]MessageHash `json:"messageHashes,omitempty"` PaginationCursor *MessageHash `json:"paginationCursor,omitempty"` - PaginationForward bool `json:"pagination_forward"` + PaginationForward bool `json:"paginationForward"` PaginationLimit *uint64 `json:"paginationLimit,omitempty"` }