aboutsummaryrefslogtreecommitdiffstats
path: root/whisper
diff options
context:
space:
mode:
Diffstat (limited to 'whisper')
-rw-r--r--whisper/filter.go2
-rw-r--r--whisper/main.go2
-rw-r--r--whisper/message.go5
-rw-r--r--whisper/peer.go2
-rw-r--r--whisper/whisper.go8
-rw-r--r--whisper/whisper_test.go2
6 files changed, 13 insertions, 8 deletions
diff --git a/whisper/filter.go b/whisper/filter.go
index 4315aa556..b33f2c1a2 100644
--- a/whisper/filter.go
+++ b/whisper/filter.go
@@ -3,7 +3,7 @@ package whisper
import "crypto/ecdsa"
type Filter struct {
- To *ecdsa.PrivateKey
+ To *ecdsa.PublicKey
From *ecdsa.PublicKey
Topics [][]byte
Fn func(*Message)
diff --git a/whisper/main.go b/whisper/main.go
index edd5f7004..9f35dbb8d 100644
--- a/whisper/main.go
+++ b/whisper/main.go
@@ -7,10 +7,10 @@ import (
"log"
"os"
+ "github.com/ethereum/go-ethereum/crypto/secp256k1"
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/whisper"
- "github.com/obscuren/secp256k1-go"
)
func main() {
diff --git a/whisper/message.go b/whisper/message.go
index bbad8e6a3..5d9e5b5c1 100644
--- a/whisper/message.go
+++ b/whisper/message.go
@@ -11,10 +11,13 @@ type Message struct {
Flags byte
Signature []byte
Payload []byte
+ Sent int64
+
+ To *ecdsa.PublicKey
}
func NewMessage(payload []byte) *Message {
- return &Message{Flags: 0, Payload: payload}
+ return &Message{Flags: 0, Payload: payload, Sent: time.Now().Unix()}
}
func (self *Message) hash() []byte {
diff --git a/whisper/peer.go b/whisper/peer.go
index f82cc6e3e..332ddd22a 100644
--- a/whisper/peer.go
+++ b/whisper/peer.go
@@ -81,7 +81,7 @@ func (self *peer) broadcast(envelopes []*Envelope) error {
if err := self.ws.WriteMsg(msg); err != nil {
return err
}
- self.peer.Infoln("broadcasted", i, "message(s)")
+ self.peer.DebugDetailln("broadcasted", i, "message(s)")
}
return nil
diff --git a/whisper/whisper.go b/whisper/whisper.go
index 76cfe34a4..066f2c4ea 100644
--- a/whisper/whisper.go
+++ b/whisper/whisper.go
@@ -118,7 +118,7 @@ func (self *Whisper) GetIdentity(key *ecdsa.PublicKey) *ecdsa.PrivateKey {
func (self *Whisper) Watch(opts Filter) int {
return self.filters.Install(filter.Generic{
- Str1: string(crypto.FromECDSA(opts.To)),
+ Str1: string(crypto.FromECDSAPub(opts.To)),
Str2: string(crypto.FromECDSAPub(opts.From)),
Data: bytesToMap(opts.Topics),
Fn: func(data interface{}) {
@@ -197,7 +197,7 @@ func (self *Whisper) add(envelope *Envelope) error {
go self.postEvent(envelope)
}
- wlogger.DebugDetailln("added whisper message")
+ wlogger.DebugDetailf("added whisper envelope %x\n", envelope)
return nil
}
@@ -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
}
}
@@ -269,7 +271,7 @@ func (self *Whisper) Protocol() p2p.Protocol {
func createFilter(message *Message, topics [][]byte, key *ecdsa.PrivateKey) filter.Filter {
return filter.Generic{
- Str1: string(crypto.FromECDSA(key)), Str2: string(crypto.FromECDSAPub(message.Recover())),
+ Str1: string(crypto.FromECDSAPub(&key.PublicKey)), Str2: string(crypto.FromECDSAPub(message.Recover())),
Data: bytesToMap(topics),
}
}
diff --git a/whisper/whisper_test.go b/whisper/whisper_test.go
index c5ad73021..3e3945a0a 100644
--- a/whisper/whisper_test.go
+++ b/whisper/whisper_test.go
@@ -11,7 +11,7 @@ func TestEvent(t *testing.T) {
whisper := New()
id := whisper.NewIdentity()
whisper.Watch(Filter{
- To: id,
+ To: &id.PublicKey,
Fn: func(msg *Message) {
res <- msg
},