diff options
-rw-r--r-- | rpc/message.go | 25 | ||||
-rw-r--r-- | rpc/packages.go | 41 | ||||
-rw-r--r-- | rpc/util.go (renamed from rpc/json.go) | 43 | ||||
-rw-r--r-- | rpc/ws/server.go | 2 |
4 files changed, 44 insertions, 67 deletions
diff --git a/rpc/message.go b/rpc/message.go index 05f66ee95..440bf4f8f 100644 --- a/rpc/message.go +++ b/rpc/message.go @@ -21,8 +21,6 @@ import ( "encoding/json" "errors" "fmt" - - "github.com/ethereum/go-ethereum/state" ) const ( @@ -216,26 +214,3 @@ func (req *RpcRequest) ToFilterChangedArgs() (int, error) { rpclogger.DebugDetailf("%T %v", id, id) return id, nil } - -type Log struct { - Address string `json:"address"` - Topics []string `json:"topics"` - Data string `json:"data"` -} - -func toLogs(logs state.Logs) (ls []Log) { - ls = make([]Log, len(logs)) - - for i, log := range logs { - var l Log - l.Topics = make([]string, len(log.Topics())) - l.Address = toHex(log.Address()) - l.Data = toHex(log.Data()) - for j, topic := range log.Topics() { - l.Topics[j] = toHex(topic) - } - ls[i] = l - } - - return -} diff --git a/rpc/packages.go b/rpc/packages.go index e8dc570fd..53159d9ba 100644 --- a/rpc/packages.go +++ b/rpc/packages.go @@ -39,24 +39,6 @@ import ( "github.com/ethereum/go-ethereum/xeth" ) -func toHex(b []byte) string { - return "0x" + ethutil.Bytes2Hex(b) -} -func fromHex(s string) []byte { - if len(s) > 1 { - if s[0:2] == "0x" { - s = s[2:] - } - return ethutil.Hex2Bytes(s) - } - return nil -} - -type RpcServer interface { - Start() - Stop() -} - type EthereumApi struct { xeth *xeth.XEth filterManager *filter.FilterManager @@ -91,29 +73,6 @@ func (self *EthereumApi) NewFilter(args *FilterOptions, reply *interface{}) erro return nil } -type Log struct { - Address string `json:"address"` - Topics []string `json:"topics"` - Data string `json:"data"` -} - -func toLogs(logs state.Logs) (ls []Log) { - ls = make([]Log, len(logs)) - - for i, log := range logs { - var l Log - l.Topics = make([]string, len(log.Topics())) - l.Address = toHex(log.Address()) - l.Data = toHex(log.Data()) - for j, topic := range log.Topics() { - l.Topics[j] = toHex(topic) - } - ls[i] = l - } - - return -} - func (self *EthereumApi) FilterChanged(id int, reply *interface{}) error { self.mut.RLock() defer self.mut.RUnlock() diff --git a/rpc/json.go b/rpc/util.go index 9bd204818..bb4087c51 100644 --- a/rpc/json.go +++ b/rpc/util.go @@ -21,6 +21,8 @@ import ( "github.com/ethereum/go-ethereum/logger" "io" "net/http" + "github.com/ethereum/go-ethereum/ethutil" + "github.com/ethereum/go-ethereum/state" ) var rpclogger = logger.NewLogger("RPC") @@ -56,3 +58,44 @@ func (self JsonWrapper) ParseRequestBody(req *http.Request) (RpcRequest, error) return reqParsed, nil } + +func toHex(b []byte) string { + return "0x" + ethutil.Bytes2Hex(b) +} +func fromHex(s string) []byte { + if len(s) > 1 { + if s[0:2] == "0x" { + s = s[2:] + } + return ethutil.Hex2Bytes(s) + } + return nil +} + +type RpcServer interface { + Start() + Stop() +} + +type Log struct { + Address string `json:"address"` + Topics []string `json:"topics"` + Data string `json:"data"` +} + +func toLogs(logs state.Logs) (ls []Log) { + ls = make([]Log, len(logs)) + + for i, log := range logs { + var l Log + l.Topics = make([]string, len(log.Topics())) + l.Address = toHex(log.Address()) + l.Data = toHex(log.Data()) + for j, topic := range log.Topics() { + l.Topics[j] = toHex(topic) + } + ls[i] = l + } + + return +} diff --git a/rpc/ws/server.go b/rpc/ws/server.go index 37b08ebd9..2853181ec 100644 --- a/rpc/ws/server.go +++ b/rpc/ws/server.go @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with go-ethereum. If not, see <http://www.gnu.org/licenses/>. */ -package ws +package rpcws import ( "fmt" |