forked from cerc-io/plugeth
updated messages
This commit is contained in:
parent
4c5968097d
commit
f15d23b496
@ -38,31 +38,19 @@ func (self *JSBlock) GetTransaction(hash string) otto.Value {
|
|||||||
return self.eth.toVal(self.JSBlock.GetTransaction(hash))
|
return self.eth.toVal(self.JSBlock.GetTransaction(hash))
|
||||||
}
|
}
|
||||||
|
|
||||||
type JSMessage struct {
|
type JSLog struct {
|
||||||
To string `json:"to"`
|
Address string `json:address`
|
||||||
From string `json:"from"`
|
Topics []string `json:topics`
|
||||||
Input string `json:"input"`
|
Number int32 `json:number`
|
||||||
Output string `json:"output"`
|
Data string `json:data`
|
||||||
Path int `json:"path"`
|
|
||||||
Origin string `json:"origin"`
|
|
||||||
Timestamp int32 `json:"timestamp"`
|
|
||||||
Coinbase string `json:"coinbase"`
|
|
||||||
Block string `json:"block"`
|
|
||||||
Number int32 `json:"number"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewJSMessage(message *state.Message) JSMessage {
|
func NewJSLog(log state.Log) JSLog {
|
||||||
return JSMessage{
|
return JSLog{
|
||||||
To: ethutil.Bytes2Hex(message.To),
|
Address: ethutil.Bytes2Hex(log.Address()),
|
||||||
From: ethutil.Bytes2Hex(message.From),
|
Topics: nil, //ethutil.Bytes2Hex(log.Address()),
|
||||||
Input: ethutil.Bytes2Hex(message.Input),
|
Number: 0,
|
||||||
Output: ethutil.Bytes2Hex(message.Output),
|
Data: ethutil.Bytes2Hex(log.Data()),
|
||||||
Path: message.Path,
|
|
||||||
Origin: ethutil.Bytes2Hex(message.Origin),
|
|
||||||
Timestamp: int32(message.Timestamp),
|
|
||||||
Coinbase: ethutil.Bytes2Hex(message.Origin),
|
|
||||||
Block: ethutil.Bytes2Hex(message.Block),
|
|
||||||
Number: int32(message.Number.Int64()),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,13 +108,13 @@ func (self *JSEthereum) toVal(v interface{}) otto.Value {
|
|||||||
func (self *JSEthereum) Messages(object map[string]interface{}) otto.Value {
|
func (self *JSEthereum) Messages(object map[string]interface{}) otto.Value {
|
||||||
filter := ui.NewFilterFromMap(object, self.ethereum)
|
filter := ui.NewFilterFromMap(object, self.ethereum)
|
||||||
|
|
||||||
messages := filter.Find()
|
logs := filter.Find()
|
||||||
var msgs []JSMessage
|
var jslogs []JSLog
|
||||||
for _, m := range messages {
|
for _, m := range logs {
|
||||||
msgs = append(msgs, NewJSMessage(m))
|
jslogs = append(jslogs, NewJSLog(m))
|
||||||
}
|
}
|
||||||
|
|
||||||
v, _ := self.vm.ToValue(msgs)
|
v, _ := self.vm.ToValue(jslogs)
|
||||||
|
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
@ -119,8 +119,8 @@ func (self *WebSocketServer) Serv() {
|
|||||||
if mp, ok := msg.Args[0].(map[string]interface{}); ok {
|
if mp, ok := msg.Args[0].(map[string]interface{}); ok {
|
||||||
var id int
|
var id int
|
||||||
filter := ui.NewFilterFromMap(mp, self.eth)
|
filter := ui.NewFilterFromMap(mp, self.eth)
|
||||||
filter.MessageCallback = func(messages state.Messages) {
|
filter.LogsCallback = func(logs state.Logs) {
|
||||||
c.Event(toMessages(messages), "eth_changed", id)
|
//c.Event(toMessages(messages), "eth_changed", id)
|
||||||
}
|
}
|
||||||
id = self.filterManager.InstallFilter(filter)
|
id = self.filterManager.InstallFilter(filter)
|
||||||
c.Write(id, msg.Id)
|
c.Write(id, msg.Id)
|
||||||
@ -136,7 +136,7 @@ func (self *WebSocketServer) Serv() {
|
|||||||
case "eth_filterLogs":
|
case "eth_filterLogs":
|
||||||
filter := self.filterManager.GetFilter(int(msg.Arguments().Get(0).Uint()))
|
filter := self.filterManager.GetFilter(int(msg.Arguments().Get(0).Uint()))
|
||||||
if filter != nil {
|
if filter != nil {
|
||||||
c.Write(toMessages(filter.Find()), msg.Id)
|
//c.Write(toMessages(filter.Find()), msg.Id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user