Browse Source

Update stratum.go

master
yuriy0803 3 years ago committed by GitHub
parent
commit
f2dd4b1f3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      proxy/stratum.go

11
proxy/stratum.go

@ -326,18 +326,27 @@ func (cs *Session) handleTCPMessage(s *ProxyServer, req *StratumReq) error {
return cs.sendTCPError(req.Id, errReply)
}
return cs.sendTCPResult(req.Id, &reply)
// Handle requests of type "eth_submitWork"
case "eth_submitWork":
// Unmarshal the parameters from the request into a slice of strings
var params []string
err := json.Unmarshal(req.Params, &params)
if err != nil || len(params) < 3 {
// Check if there was an error unmarshaling the parameters or if they don't meet the required length and format criteria
if err != nil || len(params) < 3 || len(params[0]) != 18 || len(params[1]) != 66 || len(params[2]) != 66 {
// If there was an error, log the issue and return it
log.Println("Malformed stratum request params from", cs.ip)
return err
}
// If the parameters are valid, call the handler function for submitting work
reply, errReply := s.handleTCPSubmitRPC(cs, req.Worker, params)
// Check if there was an error handling the request
if errReply != nil {
// If there was, return the error
return cs.sendTCPError(req.Id, errReply)
}
// If the request was handled successfully, return the result
return cs.sendTCPResult(req.Id, &reply)
case "eth_submitHashrate":
return cs.sendTCPResult(req.Id, true)
default:

Loading…
Cancel
Save