From 623469cb6c6cdb6ff84dc2cb7d4409e9d7cf3f65 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Tue, 3 Feb 2015 06:56:19 -0800
Subject: [PATCH] Added missing whisper timestamp. Closes #284

---
 state/statedb.go   | 7 ++-----
 whisper/message.go | 1 +
 xeth/whisper.go    | 4 ++--
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/state/statedb.go b/state/statedb.go
index 1b6e274de..af054ff09 100644
--- a/state/statedb.go
+++ b/state/statedb.go
@@ -31,7 +31,7 @@ type StateDB struct {
 
 // Create a new state from a given trie
 func New(root []byte, db ethutil.Database) *StateDB {
-	trie := trie.New(root, db)
+	trie := trie.New(ethutil.CopyBytes(root), db)
 	return &StateDB{db: db, trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest(), refund: make(map[string]*big.Int)}
 }
 
@@ -234,12 +234,9 @@ func (self *StateDB) Copy() *StateDB {
 }
 
 func (self *StateDB) Set(state *StateDB) {
-	if state == nil {
-		panic("Tried setting 'state' to nil through 'Set'")
-	}
-
 	self.trie = state.trie
 	self.stateObjects = state.stateObjects
+
 	self.refund = state.refund
 	self.logs = state.logs
 }
diff --git a/whisper/message.go b/whisper/message.go
index bbad8e6a3..fa631b2ef 100644
--- a/whisper/message.go
+++ b/whisper/message.go
@@ -11,6 +11,7 @@ type Message struct {
 	Flags     byte
 	Signature []byte
 	Payload   []byte
+	Sent      uint64
 }
 
 func NewMessage(payload []byte) *Message {
diff --git a/xeth/whisper.go b/xeth/whisper.go
index 32ad1332b..d537f8c54 100644
--- a/xeth/whisper.go
+++ b/xeth/whisper.go
@@ -99,16 +99,16 @@ type Options struct {
 
 type WhisperMessage struct {
 	ref     *whisper.Message
-	Flags   int32  `json:"flags"`
 	Payload string `json:"payload"`
 	From    string `json:"from"`
+	Sent    uint64 `json:"time"`
 }
 
 func NewWhisperMessage(msg *whisper.Message) WhisperMessage {
 	return WhisperMessage{
 		ref:     msg,
-		Flags:   int32(msg.Flags),
 		Payload: "0x" + ethutil.Bytes2Hex(msg.Payload),
 		From:    "0x" + ethutil.Bytes2Hex(crypto.FromECDSAPub(msg.Recover())),
+		Sent:    msg.Sent,
 	}
 }
-- 
GitLab