diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-10 00:55:01 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-10 00:55:01 +0800 |
commit | 8560004f380dc688a1171ad5aeffa593aae41193 (patch) | |
tree | fea395acf042b51e97a86e2c4cbcf8c16b2912b7 /ui | |
parent | 9723191b19f6ddc12f0c3376ede7529b2d72e6a2 (diff) | |
parent | 676a0de58d3d7c508b0eeeff192d2095a46f7382 (diff) | |
download | dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar.gz dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar.bz2 dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar.lz dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar.xz dexon-8560004f380dc688a1171ad5aeffa593aae41193.tar.zst dexon-8560004f380dc688a1171ad5aeffa593aae41193.zip |
wip
Diffstat (limited to 'ui')
-rw-r--r-- | ui/filter.go | 76 | ||||
-rw-r--r-- | ui/frontend.go | 18 | ||||
-rw-r--r-- | ui/qt/filter.go | 29 |
3 files changed, 4 insertions, 119 deletions
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 -} 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 } 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 -} |