|
|
@ -54,54 +54,4 @@ func (self jsonWrapper) ParseRequestBody(req *http.Request) (RpcRequest, error) |
|
|
|
return reqParsed, nil |
|
|
|
return reqParsed, nil |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (self jsonWrapper) GetRequestReply(xeth *EthereumApi, 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 xeth.GetCoinbase(reply) |
|
|
|
|
|
|
|
case "eth_listening": |
|
|
|
|
|
|
|
return xeth.GetIsListening(reply) |
|
|
|
|
|
|
|
case "eth_mining": |
|
|
|
|
|
|
|
return xeth.GetIsMining(reply) |
|
|
|
|
|
|
|
case "eth_peerCount": |
|
|
|
|
|
|
|
return xeth.GetPeerCount(reply) |
|
|
|
|
|
|
|
case "eth_countAt": |
|
|
|
|
|
|
|
args, err := req.ToGetTxCountArgs() |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return xeth.GetTxCountAt(args, reply) |
|
|
|
|
|
|
|
case "eth_codeAt": |
|
|
|
|
|
|
|
args, err := req.ToGetCodeAtArgs() |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return xeth.GetCodeAt(args, reply) |
|
|
|
|
|
|
|
case "eth_balanceAt": |
|
|
|
|
|
|
|
args, err := req.ToGetBalanceArgs() |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return xeth.GetBalanceAt(args, reply) |
|
|
|
|
|
|
|
case "eth_stateAt": |
|
|
|
|
|
|
|
args, err := req.ToGetStorageArgs() |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return xeth.GetStorageAt(args, reply) |
|
|
|
|
|
|
|
case "eth_blockByNumber", "eth_blockByHash": |
|
|
|
|
|
|
|
args, err := req.ToGetBlockArgs() |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return xeth.GetBlock(args, reply) |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
return NewErrorResponse(ErrorNotImplemented) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jsonlogger.DebugDetailf("Reply: %T %s", reply, reply) |
|
|
|
|
|
|
|
return nil |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var JSON jsonWrapper |
|
|
|
var JSON jsonWrapper |
|
|
|