浏览代码

Added missing whisper timestamp. Closes #284

obscuren 10 年之前
父节点
当前提交
623469cb6c
共有 3 个文件被更改,包括 5 次插入7 次删除
  1. 2 5
      state/statedb.go
  2. 1 0
      whisper/message.go
  3. 2 2
      xeth/whisper.go

+ 2 - 5
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
 }

+ 1 - 0
whisper/message.go

@@ -11,6 +11,7 @@ type Message struct {
 	Flags     byte
 	Signature []byte
 	Payload   []byte
+	Sent      uint64
 }
 
 func NewMessage(payload []byte) *Message {

+ 2 - 2
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,
 	}
 }