aboutsummaryrefslogtreecommitdiffstats
path: root/xeth/whisper_message.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-04-28 17:17:41 +0800
committerobscuren <geffobscura@gmail.com>2015-04-28 17:17:41 +0800
commit99027c79fe7406919d654ab482d8ad37fcf098ce (patch)
tree9f6625b30b9d63d28f7e86c69d31991daac4fbf7 /xeth/whisper_message.go
parentbac455c0117f7095ee9c60ac75a249ddd66c2660 (diff)
parenta05c420371aa56657b86ba3dce6ebb087adb708d (diff)
downloadgo-tangerine-99027c79fe7406919d654ab482d8ad37fcf098ce.tar.gz
go-tangerine-99027c79fe7406919d654ab482d8ad37fcf098ce.tar.zst
go-tangerine-99027c79fe7406919d654ab482d8ad37fcf098ce.zip
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
Conflicts: rpc/api.go
Diffstat (limited to 'xeth/whisper_message.go')
-rw-r--r--xeth/whisper_message.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/xeth/whisper_message.go b/xeth/whisper_message.go
new file mode 100644
index 000000000..c8195cec1
--- /dev/null
+++ b/xeth/whisper_message.go
@@ -0,0 +1,37 @@
+// Contains the external API representation of a whisper message.
+
+package xeth
+
+import (
+ "time"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/crypto"
+ "github.com/ethereum/go-ethereum/whisper"
+)
+
+// WhisperMessage is the external API representation of a whisper.Message.
+type WhisperMessage struct {
+ ref *whisper.Message
+
+ Payload string `json:"payload"`
+ To string `json:"to"`
+ From string `json:"from"`
+ Sent int64 `json:"sent"`
+ TTL int64 `json:"ttl"`
+ Hash string `json:"hash"`
+}
+
+// NewWhisperMessage converts an internal message into an API version.
+func NewWhisperMessage(message *whisper.Message) WhisperMessage {
+ return WhisperMessage{
+ ref: message,
+
+ Payload: common.ToHex(message.Payload),
+ From: common.ToHex(crypto.FromECDSAPub(message.Recover())),
+ To: common.ToHex(crypto.FromECDSAPub(message.To)),
+ Sent: message.Sent.Unix(),
+ TTL: int64(message.TTL / time.Second),
+ Hash: common.ToHex(message.Hash.Bytes()),
+ }
+}