Commit 2a731941 authored by 贾浩@五瓣科技's avatar 贾浩@五瓣科技

update: add global workload response

parent 4eb077d6
......@@ -129,10 +129,10 @@ func getPendingWorkload(params []byte, resp *jsonrpcMessage) {
return
}
workload := witness.GetPendingWorkload(common.HexToAddress(addressList[0]))
workload, globalWorkload := witness.GetPendingWorkload(common.HexToAddress(addressList[0]))
temp := map[string]interface{}{
"workload": workload,
"workload": workload,
"global_workload": globalWorkload,
}
resp.Result, _ = json.Marshal(temp)
......
......@@ -23,6 +23,7 @@ type Witness struct {
db *trie.Database
state *StateDB
pendingProof map[common.Address]*witnessv1.ValidatedProof
pendingWorkload uint64
mtTreeCache map[string]*tree.MerkleTree
date string
rpc *ChainRPC
......@@ -89,9 +90,9 @@ func (w *Witness) AddPendingProof(miner common.Address, proofs []*witnessv1.Vali
}
for _, proof := range proofs {
workload += proof.Workload
w.pendingWorkload += proof.Workload
}
w.pendingProof[miner] = &witnessv1.ValidatedProof{Workload: workload}
log.WithFields(log.Fields{
"miner": miner.Hex(),
"proof_count": len(proofs),
......@@ -382,14 +383,14 @@ func (w *Witness) GetMerkleProof(address common.Address) (workload uint64, proof
return object.Workload, proofs
}
func (w *Witness) GetPendingWorkload(address common.Address) (workload uint64) {
func (w *Witness) GetPendingWorkload(address common.Address) (workload, globalWorkload uint64) {
w.Lock()
proof, ok := w.pendingProof[address]
w.Unlock()
if !ok {
return 0
return 0, w.pendingWorkload
}
return proof.Workload
return proof.Workload, w.pendingWorkload
}
func (w *Witness) LoadMerkleProof(date string) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment