aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/packages.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:58:51 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:58:51 +0800
commit215780ab562b940bfc653c16bf84f812ef062821 (patch)
tree75235de61659ebba0dde3523e9f54dcc52ca8fa3 /rpc/packages.go
parenta6d4ce263012ef160c9a897ac6ba032ddac526c7 (diff)
downloaddexon-215780ab562b940bfc653c16bf84f812ef062821.tar
dexon-215780ab562b940bfc653c16bf84f812ef062821.tar.gz
dexon-215780ab562b940bfc653c16bf84f812ef062821.tar.bz2
dexon-215780ab562b940bfc653c16bf84f812ef062821.tar.lz
dexon-215780ab562b940bfc653c16bf84f812ef062821.tar.xz
dexon-215780ab562b940bfc653c16bf84f812ef062821.tar.zst
dexon-215780ab562b940bfc653c16bf84f812ef062821.zip
Move GetRequestReply to EthereumApi
Off of jsonWrapper
Diffstat (limited to 'rpc/packages.go')
-rw-r--r--rpc/packages.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/rpc/packages.go b/rpc/packages.go
index 34a4467b1..e87e0db7c 100644
--- a/rpc/packages.go
+++ b/rpc/packages.go
@@ -157,5 +157,52 @@ func (p *EthereumApi) GetCodeAt(args *GetCodeAtArgs, reply *interface{}) error {
return nil
}
+func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error {
+ // Spec at https://github.com/ethereum/wiki/wiki/Generic-JSON-RPC
+ jsonlogger.DebugDetailf("%T %s", req.Params, req.Params)
+ switch req.Method {
+ case "eth_coinbase":
+ return p.GetCoinbase(reply)
+ case "eth_listening":
+ return p.GetIsListening(reply)
+ case "eth_mining":
+ return p.GetIsMining(reply)
+ case "eth_peerCount":
+ return p.GetPeerCount(reply)
+ case "eth_countAt":
+ args, err := req.ToGetTxCountArgs()
+ if err != nil {
+ return err
+ }
+ return p.GetTxCountAt(args, reply)
+ case "eth_codeAt":
+ args, err := req.ToGetCodeAtArgs()
+ if err != nil {
+ return err
+ }
+ return p.GetCodeAt(args, reply)
+ case "eth_balanceAt":
+ args, err := req.ToGetBalanceArgs()
+ if err != nil {
+ return err
+ }
+ return p.GetBalanceAt(args, reply)
+ case "eth_stateAt":
+ args, err := req.ToGetStorageArgs()
+ if err != nil {
+ return err
+ }
+ return p.GetStorageAt(args, reply)
+ case "eth_blockByNumber", "eth_blockByHash":
+ args, err := req.ToGetBlockArgs()
+ if err != nil {
+ return err
+ }
+ return p.GetBlock(args, reply)
+ default:
+ return NewErrorResponse(ErrorNotImplemented)
+ }
+
+ jsonlogger.DebugDetailf("Reply: %T %s", reply, reply)
return nil
}