diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-01-21 03:58:51 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-01-21 03:58:51 +0800 |
commit | 215780ab562b940bfc653c16bf84f812ef062821 (patch) | |
tree | 75235de61659ebba0dde3523e9f54dcc52ca8fa3 /rpc/packages.go | |
parent | a6d4ce263012ef160c9a897ac6ba032ddac526c7 (diff) | |
download | dexon-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.go | 47 |
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 } |