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

skip empty proof

parent fe2b03cf
...@@ -38,6 +38,9 @@ func (s *Server) PushProof(ctx context.Context, req *witnessv1.PushProofRequest) ...@@ -38,6 +38,9 @@ func (s *Server) PushProof(ctx context.Context, req *witnessv1.PushProofRequest)
log.WithFields(log.Fields{"miner": miner, "reward": reward, "proofs": len(proofs)}).Debug("push proof") log.WithFields(log.Fields{"miner": miner, "reward": reward, "proofs": len(proofs)}).Debug("push proof")
for _, proof := range proofs { for _, proof := range proofs {
if proof.Workload == 0 {
continue
}
hashPayload := append(append([]byte(proof.TaskId), proof.ReqHash...), proof.RespHash...) hashPayload := append(append([]byte(proof.TaskId), proof.ReqHash...), proof.RespHash...)
containerPubKey, err := crypto.SigToPub(crypto.Keccak256(hashPayload), proof.ContainerSignature) containerPubKey, err := crypto.SigToPub(crypto.Keccak256(hashPayload), proof.ContainerSignature)
if err != nil { if err != nil {
......
...@@ -369,6 +369,7 @@ func (w *Witness) GetMerkleProof(address common.Address) (workload uint64, proof ...@@ -369,6 +369,7 @@ func (w *Witness) GetMerkleProof(address common.Address) (workload uint64, proof
w.Unlock() w.Unlock()
if !ok { if !ok {
// todo // todo
return 0, nil
} }
object := w.state.GetMinerObject(address) object := w.state.GetMinerObject(address)
......
...@@ -11,9 +11,12 @@ import ( ...@@ -11,9 +11,12 @@ import (
func TestMT(t *testing.T) { func TestMT(t *testing.T) {
proofs := make([]common.Hash, 0) proofs := make([]common.Hash, 0)
proofs = append(proofs, common.HexToHash("0x1")) proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x1").Bytes()))
proofs = append(proofs, common.HexToHash("0x2")) proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x2").Bytes()))
proofs = append(proofs, common.HexToHash("0x3")) proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x3").Bytes()))
proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x4").Bytes()))
proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x5").Bytes()))
proofs = append(proofs, crypto.Keccak256Hash(common.HexToHash("0x6").Bytes()))
address := common.HexToAddress("0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326") address := common.HexToAddress("0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326")
amount := big.NewInt(0).SetUint64(10) amount := big.NewInt(0).SetUint64(10)
......
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