diff --git a/whisper/message.go b/whisper/message.go index 23b5cfb0ec..5d9e5b5c13 100644 --- a/whisper/message.go +++ b/whisper/message.go @@ -12,6 +12,8 @@ type Message struct { Signature []byte Payload []byte Sent int64 + + To *ecdsa.PublicKey } func NewMessage(payload []byte) *Message { diff --git a/whisper/whisper.go b/whisper/whisper.go index 57c8983031..066f2c4ea8 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -256,6 +256,8 @@ func (self *Whisper) postEvent(envelope *Envelope) { func (self *Whisper) open(envelope *Envelope) (*Message, *ecdsa.PrivateKey) { for _, key := range self.keys { if message, err := envelope.Open(key); err == nil || (err != nil && err == ecies.ErrInvalidPublicKey) { + message.To = &key.PublicKey + return message, key } } diff --git a/xeth/whisper.go b/xeth/whisper.go index 8e3bcefd05..d9c7e16140 100644 --- a/xeth/whisper.go +++ b/xeth/whisper.go @@ -99,8 +99,9 @@ type Options struct { type WhisperMessage struct { ref *whisper.Message Payload string `json:"payload"` + To string `json:"to"` From string `json:"from"` - Sent int64 `json:"time"` + Sent int64 `json:"sent"` } func NewWhisperMessage(msg *whisper.Message) WhisperMessage { @@ -108,6 +109,7 @@ func NewWhisperMessage(msg *whisper.Message) WhisperMessage { ref: msg, Payload: toHex(msg.Payload), From: toHex(crypto.FromECDSAPub(msg.Recover())), + To: toHex(crypto.FromECDSAPub(msg.To)), Sent: msg.Sent, } }