From dd25b630a8bda5e7cf8959a128054923abb55d6d Mon Sep 17 00:00:00 2001 From: Vlad Date: Sat, 22 Apr 2017 22:46:07 +0200 Subject: [PATCH] whisper: functions renamed --- whisper/whisperv5/api.go | 18 +++++++++++++----- whisper/whisperv5/api_test.go | 4 ++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/whisper/whisperv5/api.go b/whisper/whisperv5/api.go index d1d3301a36..bcbcde580b 100644 --- a/whisper/whisperv5/api.go +++ b/whisper/whisperv5/api.go @@ -271,7 +271,7 @@ func (api *PublicWhisperAPI) Unsubscribe(id string) { // GetSubscriptionMessages retrieves all the new messages matched by the corresponding // subscription filter since the last retrieval. -func (api *PublicWhisperAPI) GetSubscriptionMessages(id string) []*WhisperMessage { +func (api *PublicWhisperAPI) GetNewSubscriptionMessages(id string) []*WhisperMessage { f := api.whisper.GetFilter(id) if f != nil { newMail := f.Retrieve() @@ -282,7 +282,7 @@ func (api *PublicWhisperAPI) GetSubscriptionMessages(id string) []*WhisperMessag // GetMessages retrieves all the floating messages that match a specific subscription filter. // It is likely to be called once per session, right after Subscribe call. -func (api *PublicWhisperAPI) GetMessages(id string) []*WhisperMessage { +func (api *PublicWhisperAPI) GetFloatingMessages(id string) []*WhisperMessage { all := api.whisper.Messages(id) return toWhisperMessages(all) } @@ -475,7 +475,6 @@ type WhisperMessage struct { // NewWhisperMessage converts an internal message into an API version. func NewWhisperMessage(message *ReceivedMessage) *WhisperMessage { msg := WhisperMessage{ - Topic: common.ToHex(message.Topic[:]), Payload: common.ToHex(message.Payload), Padding: common.ToHex(message.Padding), Timestamp: message.Sent, @@ -484,11 +483,20 @@ func NewWhisperMessage(message *ReceivedMessage) *WhisperMessage { Hash: common.ToHex(message.EnvelopeHash.Bytes()), } + if len(message.Topic) == TopicLength { + msg.Topic = common.ToHex(message.Topic[:]) + } if message.Dst != nil { - msg.Dst = common.ToHex(crypto.FromECDSAPub(message.Dst)) + b := crypto.FromECDSAPub(message.Dst) + if b != nil { + msg.Dst = common.ToHex(b) + } } if isMessageSigned(message.Raw[0]) { - msg.Src = common.ToHex(crypto.FromECDSAPub(message.SigToPubKey())) + b := crypto.FromECDSAPub(message.SigToPubKey()) + if b != nil { + msg.Src = common.ToHex(b) + } } return &msg } diff --git a/whisper/whisperv5/api_test.go b/whisper/whisperv5/api_test.go index 584e096bb6..c837b0a145 100644 --- a/whisper/whisperv5/api_test.go +++ b/whisper/whisperv5/api_test.go @@ -43,7 +43,7 @@ func TestBasic(t *testing.T) { t.Fatalf("wrong version: %d.", ver) } - mail := api.GetSubscriptionMessages("non-existent-id") + mail := api.GetNewSubscriptionMessages("non-existent-id") if len(mail) != 0 { t.Fatalf("failed GetFilterChanges: premature result") } @@ -282,7 +282,7 @@ func waitForMessages(api *PublicWhisperAPI, id string, target int) []*WhisperMes // timeout: 2 seconds result := make([]*WhisperMessage, 0, target) for i := 0; i < 100; i++ { - mail := api.GetSubscriptionMessages(id) + mail := api.GetNewSubscriptionMessages(id) if len(mail) > 0 { for _, m := range mail { result = append(result, m)