good morning!!!!

Skip to content
Snippets Groups Projects
Commit fb49e556 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Fixed minor issues with filtering

parent 0eb1db0d
Branches
Tags
No related merge requests found
...@@ -3,7 +3,11 @@ var Filter = function(options) { ...@@ -3,7 +3,11 @@ var Filter = function(options) {
this.seed = Math.floor(Math.random() * 1000000); this.seed = Math.floor(Math.random() * 1000000);
this.options = options; this.options = options;
if(options == "chain") {
eth.registerFilterString(options, this.seed);
} else if(typeof options === "object") {
eth.registerFilter(options, this.seed); eth.registerFilter(options, this.seed);
}
}; };
Filter.prototype.changed = function(callback) { Filter.prototype.changed = function(callback) {
......
...@@ -72,7 +72,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden ...@@ -72,7 +72,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} }
fmt.Println(string(data)) fmt.Println("plugins:", string(data))
json.Unmarshal([]byte(data), &gui.plugins) json.Unmarshal([]byte(data), &gui.plugins)
......
...@@ -169,6 +169,20 @@ func (self *UiLib) RegisterFilter(object map[string]interface{}, seed int) { ...@@ -169,6 +169,20 @@ func (self *UiLib) RegisterFilter(object map[string]interface{}, seed int) {
self.win.Root().Call("invokeFilterCallback", filter.MessagesToJson(messages), seed, callbackSeed) self.win.Root().Call("invokeFilterCallback", filter.MessagesToJson(messages), seed, callbackSeed)
} }
} }
}
func (self *UiLib) RegisterFilterString(typ string, seed int) {
filter := &GuiFilter{ethpipe.NewJSFilterFromMap(nil, self.eth), seed}
self.filters[seed] = filter
if typ == "chain" {
filter.BlockCallback = func(block *ethchain.Block) {
for _, callbackSeed := range self.filterCallbacks[seed] {
self.win.Root().Call("invokeFilterCallback", "{}", seed, callbackSeed)
}
}
}
} }
func (self *UiLib) RegisterFilterCallback(seed, cbSeed int) { func (self *UiLib) RegisterFilterCallback(seed, cbSeed int) {
...@@ -187,3 +201,51 @@ type GuiFilter struct { ...@@ -187,3 +201,51 @@ type GuiFilter struct {
*ethpipe.JSFilter *ethpipe.JSFilter
seed int seed int
} }
func (self *UiLib) Transact(object map[string]interface{}) (*ethpipe.JSReceipt, error) {
// Default values
if object["from"] == nil {
object["from"] = ""
}
if object["to"] == nil {
object["to"] = ""
}
if object["value"] == nil {
object["value"] = ""
}
if object["gas"] == nil {
object["gas"] = ""
}
if object["gasPrice"] == nil {
object["gasPrice"] = ""
}
var dataStr string
var data []string
if list, ok := object["data"].(*qml.List); ok {
list.Convert(&data)
}
for _, str := range data {
if ethutil.IsHex(str) {
str = str[2:]
if len(str) != 64 {
str = ethutil.LeftPadString(str, 64)
}
} else {
str = ethutil.Bytes2Hex(ethutil.LeftPadBytes(ethutil.Big(str).Bytes(), 32))
}
dataStr += str
}
return self.JSPipe.Transact(
object["from"].(string),
object["to"].(string),
object["value"].(string),
object["gas"].(string),
object["gasPrice"].(string),
dataStr,
)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment