diff --git a/rpc/api.go b/rpc/api.go index 1102b7cb20..e0a3e5c08b 100644 --- a/rpc/api.go +++ b/rpc/api.go @@ -349,7 +349,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error *reply = NewLogsRes(p.xeth().AllLogs(opts)) case "eth_getWork": p.xeth().SetMining(true) - *reply = p.agent.GetWork().Hex() + *reply = p.agent.GetWork() case "eth_submitWork": args := new(SubmitWorkArgs) if err := json.Unmarshal(req.Params, &args); err != nil { diff --git a/rpc/miner_agent.go b/rpc/miner_agent.go index 46fb872071..e812a7d51c 100644 --- a/rpc/miner_agent.go +++ b/rpc/miner_agent.go @@ -54,14 +54,19 @@ out: } } -func (a *Agent) GetWork() common.Hash { +func (a *Agent) GetWork() []string { // TODO return HashNoNonce, DAGSeedHash, Difficulty + var res = []string{} // XXX Wait here untill work != nil ?. if a.work != nil { - return a.work.HashNoNonce() + // Ideally append in 1 call once params are determined + res = append(res, a.work.HashNoNonce().Hex()) // Header Hash No Nonce + res = append(res, common.Hash{}.Hex()) // DAG Seed + res = append(res, common.Hash{}.Hex()) // Difficulty } - return common.Hash{} + + return res } func (a *Agent) SetResult(nonce uint64, mixDigest, seedHash common.Hash) bool {