From 6e50a1e9f59532671eaa2bb2f2081a67f659bd0d Mon Sep 17 00:00:00 2001 From: obscuren Date: Sun, 1 Mar 2015 19:08:26 +0100 Subject: Filter accepts multiple topics per entry. Fixes #403 --- ui/filter.go | 76 ------------------------------------------------------------ 1 file changed, 76 deletions(-) (limited to 'ui') diff --git a/ui/filter.go b/ui/filter.go index 0d1746915..5b1faa293 100644 --- a/ui/filter.go +++ b/ui/filter.go @@ -1,77 +1 @@ package ui - -import ( - "github.com/ethereum/go-ethereum/core" - "github.com/ethereum/go-ethereum/ethutil" -) - -func fromHex(s string) []byte { - if len(s) > 1 { - if s[0:2] == "0x" { - s = s[2:] - } - return ethutil.Hex2Bytes(s) - } - return nil -} - -func NewFilterFromMap(object map[string]interface{}, eth core.Backend) *core.Filter { - filter := core.NewFilter(eth) - - if object["earliest"] != nil { - val := ethutil.NewValue(object["earliest"]) - filter.SetEarliestBlock(val.Int()) - } - - if object["latest"] != nil { - val := ethutil.NewValue(object["latest"]) - filter.SetLatestBlock(val.Int()) - } - - if object["address"] != nil { - //val := ethutil.NewValue(object["address"]) - //filter.SetAddress(fromHex(val.Str())) - } - - if object["max"] != nil { - val := ethutil.NewValue(object["max"]) - filter.SetMax(int(val.Uint())) - } - - if object["skip"] != nil { - val := ethutil.NewValue(object["skip"]) - filter.SetSkip(int(val.Uint())) - } - - if object["topics"] != nil { - filter.SetTopics(MakeTopics(object["topics"])) - } - - return filter -} - -// Conversion methodn -func mapToAccountChange(m map[string]interface{}) (d core.AccountChange) { - if str, ok := m["id"].(string); ok { - d.Address = fromHex(str) - } - - if str, ok := m["at"].(string); ok { - d.StateAddress = fromHex(str) - } - - return -} - -// data can come in in the following formats: -// ["aabbccdd", {id: "ccddee", at: "11223344"}], "aabbcc", {id: "ccddee", at: "1122"} -func MakeTopics(v interface{}) (d [][]byte) { - if str, ok := v.(string); ok { - d = append(d, fromHex(str)) - } else if slice, ok := v.([]string); ok { - for _, item := range slice { - d = append(d, fromHex(item)) - } - } - return -} -- cgit v1.2.3 From 827ea4347836033b9d699f3f9b52159adcb16386 Mon Sep 17 00:00:00 2001 From: obscuren Date: Tue, 3 Mar 2015 20:38:28 +0100 Subject: removed all old filters --- ui/qt/filter.go | 29 ----------------------------- 1 file changed, 29 deletions(-) (limited to 'ui') diff --git a/ui/qt/filter.go b/ui/qt/filter.go index 48e8a7fae..090260e4e 100644 --- a/ui/qt/filter.go +++ b/ui/qt/filter.go @@ -1,30 +1 @@ package qt - -import ( - "github.com/ethereum/go-ethereum/core" - "github.com/ethereum/go-ethereum/ui" - "github.com/obscuren/qml" -) - -func NewFilterFromMap(object map[string]interface{}, eth core.Backend) *core.Filter { - filter := ui.NewFilterFromMap(object, eth) - - if object["topics"] != nil { - filter.SetTopics(makeTopics(object["topics"])) - } - - return filter -} - -func makeTopics(v interface{}) (d [][]byte) { - if qList, ok := v.(*qml.List); ok { - var s []string - qList.Convert(&s) - - d = ui.MakeTopics(s) - } else if str, ok := v.(string); ok { - d = ui.MakeTopics(str) - } - - return -} -- cgit v1.2.3 From 738d6e20f2a229aab15b767cb8ca2d2f9c2f9aa8 Mon Sep 17 00:00:00 2001 From: obscuren Date: Mon, 9 Mar 2015 13:49:14 +0100 Subject: Added ui.Interface to xeth --- ui/frontend.go | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'ui') diff --git a/ui/frontend.go b/ui/frontend.go index 22dc64fdf..413a24259 100644 --- a/ui/frontend.go +++ b/ui/frontend.go @@ -1,18 +1,8 @@ package ui -// ReturnInterface is returned by the Intercom interface when a method is called -type ReturnInterface interface { - Get(i int) (interface{}, error) - Size() int -} +import "github.com/ethereum/go-ethereum/core/types" -// Frontend is the basic interface for calling arbitrary methods on something that -// implements a front end (GUI, CLI, etc) -type Frontend interface { - // Checks whether a specific method is implemented - Supports(method string) bool - // Call calls the given method on interface it implements. This will return - // an error with errNotImplemented if the method hasn't been implemented - // and will return a ReturnInterface if it does. - Call(method string) (ReturnInterface, error) +type Interface interface { + UnlockAccount(address []byte) bool + ConfirmTransaction(tx *types.Transaction) bool } -- cgit v1.2.3