package proxy

import "encoding/json"

type JSONRpcReq struct {
	Id     *json.RawMessage `json:"id"`
	Method string           `json:"method"`
	Params *json.RawMessage `json:"params"`
}

type StratumReq struct {
	JSONRpcReq
	Worker string `json:"worker"`
}

type JobRPC struct {
	Id string             `json:"id"`
	Job map[string]string `json:"job"`
	Status string         `json:"status"`
}

// Stratum
type JSONPushMessage struct {
	Version string      `json:"jsonrpc"`
	Method  interface{} `json:"method"`
	Params  interface{} `json:"params"`
}

type JSONRpcResp struct {
	Id      *json.RawMessage `json:"id"`
	Version string           `json:"jsonrpc"`
	Result  interface{}      `json:"result"`
	Error   interface{}      `json:"error,omitempty"`
}

type SubmitReply struct {
	Status string `json:"status"`
}

type ErrorReply struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}
