aboutsummaryrefslogtreecommitdiffstats
path: root/xeth/whisper_message.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-04-17 21:45:44 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-04-28 15:47:35 +0800
commit3563c59b12b0b8b5fd15847bf97d71dfd8416207 (patch)
treef059a2bcbd7edb25c595bbad30514828fc1a5282 /xeth/whisper_message.go
parent182d484aa70bcd5b22117f02333b1fd3b1535dcb (diff)
downloadgo-tangerine-3563c59b12b0b8b5fd15847bf97d71dfd8416207.tar.gz
go-tangerine-3563c59b12b0b8b5fd15847bf97d71dfd8416207.tar.zst
go-tangerine-3563c59b12b0b8b5fd15847bf97d71dfd8416207.zip
rpc, whisper, xeth: polish whisper RPC interface
Diffstat (limited to 'xeth/whisper_message.go')
-rw-r--r--xeth/whisper_message.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/xeth/whisper_message.go b/xeth/whisper_message.go
new file mode 100644
index 000000000..14796cfbc
--- /dev/null
+++ b/xeth/whisper_message.go
@@ -0,0 +1,31 @@
+// Contains the external API representation of a whisper message.
+
+package xeth
+
+import (
+ "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"`
+}
+
+// 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,
+ }
+}