diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-29 03:42:45 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-29 03:42:45 +0800 |
commit | b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4 (patch) | |
tree | 388b087271aeca6a8e163f2adf221dbee783ea0d /xeth/xeth.go | |
parent | 696ff43db3e6d5261aba92df82f7602d5d82e964 (diff) | |
parent | 43d521e90e9516429dd0499ff88bf3f37ec78c48 (diff) | |
download | go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar.gz go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar.bz2 go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar.lz go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar.xz go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.tar.zst go-tangerine-b9ca5eef585a6bc5f3233cfcc7c0a641a046e7c4.zip |
Merge pull request #579 from tgerring/rpcargs
RPC Args
Diffstat (limited to 'xeth/xeth.go')
-rw-r--r-- | xeth/xeth.go | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/xeth/xeth.go b/xeth/xeth.go index 8ae1ee60d..7e1548964 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -110,6 +110,24 @@ func (self *XEth) stop() { close(self.quit) } +func cAddress(a []string) []common.Address { + bslice := make([]common.Address, len(a)) + for i, addr := range a { + bslice[i] = common.HexToAddress(addr) + } + return bslice +} + +func cTopics(t [][]string) [][]common.Hash { + topics := make([][]common.Hash, len(t)) + for i, iv := range t { + for j, jv := range iv { + topics[i][j] = common.HexToHash(jv) + } + } + return topics +} + func (self *XEth) DefaultGas() *big.Int { return defaultGas } func (self *XEth) DefaultGasPrice() *big.Int { return defaultGasPrice } @@ -228,15 +246,15 @@ func (self *XEth) IsMining() bool { } func (self *XEth) EthVersion() string { - return string(self.backend.EthVersion()) + return fmt.Sprintf("%d", self.backend.EthVersion()) } func (self *XEth) NetworkVersion() string { - return string(self.backend.NetVersion()) + return fmt.Sprintf("%d", self.backend.NetVersion()) } func (self *XEth) WhisperVersion() string { - return string(self.backend.ShhVersion()) + return fmt.Sprintf("%d", self.backend.ShhVersion()) } func (self *XEth) ClientVersion() string { @@ -301,10 +319,15 @@ func (self *XEth) SecretToAddress(key string) string { return common.ToHex(pair.Address()) } -func (self *XEth) RegisterFilter(args *core.FilterOptions) int { +func (self *XEth) RegisterFilter(earliest, latest int64, skip, max int, address []string, topics [][]string) int { var id int filter := core.NewFilter(self.backend) - filter.SetOptions(args) + filter.SetEarliestBlock(earliest) + filter.SetLatestBlock(latest) + filter.SetSkip(skip) + filter.SetMax(max) + filter.SetAddress(cAddress(address)) + filter.SetTopics(cTopics(topics)) filter.LogsCallback = func(logs state.Logs) { self.logMut.Lock() defer self.logMut.Unlock() @@ -380,9 +403,14 @@ func (self *XEth) Logs(id int) state.Logs { return nil } -func (self *XEth) AllLogs(args *core.FilterOptions) state.Logs { +func (self *XEth) AllLogs(earliest, latest int64, skip, max int, address []string, topics [][]string) state.Logs { filter := core.NewFilter(self.backend) - filter.SetOptions(args) + filter.SetEarliestBlock(earliest) + filter.SetLatestBlock(latest) + filter.SetSkip(skip) + filter.SetMax(max) + filter.SetAddress(cAddress(address)) + filter.SetTopics(cTopics(topics)) return filter.Find() } |