rpc: return error code for eth_getWork when no work ready
This commit is contained in:
@ -64,6 +64,20 @@ func NewNotImplementedError(method string) *NotImplementedError {
|
||||
}
|
||||
}
|
||||
|
||||
type NotReadyError struct {
|
||||
Method string
|
||||
}
|
||||
|
||||
func (e *NotReadyError) Error() string {
|
||||
return fmt.Sprintf("%s method not ready", e.Method)
|
||||
}
|
||||
|
||||
func NewNotReadyError(method string) *NotReadyError {
|
||||
return &NotReadyError{
|
||||
Method: method,
|
||||
}
|
||||
}
|
||||
|
||||
type DecodeParamError struct {
|
||||
err string
|
||||
}
|
||||
|
@ -94,6 +94,9 @@ func NewRpcResponse(id interface{}, jsonrpcver string, reply interface{}, err er
|
||||
case *NotImplementedError:
|
||||
jsonerr := &ErrorObject{-32601, err.Error()}
|
||||
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}
|
||||
case *NotReadyError:
|
||||
jsonerr := &ErrorObject{-32000, err.Error()}
|
||||
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}
|
||||
case *DecodeParamError, *InsufficientParamsError, *ValidationError, *InvalidTypeError:
|
||||
jsonerr := &ErrorObject{-32602, err.Error()}
|
||||
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}
|
||||
|
Reference in New Issue
Block a user