Skip to content

Commit ea34bb7

Browse files
committed
use client public key from wm
1 parent c609f7d commit ea34bb7

File tree

1 file changed

+4
-3
lines changed
  • code/go/0chain.net/validatorcore/storage

1 file changed

+4
-3
lines changed

code/go/0chain.net/validatorcore/storage/models.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ func (cr *ChallengeRequest) VerifyChallenge(challengeObj *Challenge, allocationO
359359
if len(cr.ObjectProof) == 0 && latestWM.ChainSize == 0 {
360360
return nil
361361
}
362-
err = cr.verifyObjectProof(latestWM, challengeObj.BlobberID, allocationObj.OwnerPublicKey, challengeObj.RandomNumber)
362+
err = cr.verifyObjectProof(latestWM, challengeObj.BlobberID, cr.WriteMarkers[len(cr.WriteMarkers)-1].ClientPublicKey, challengeObj.RandomNumber)
363363
if err != nil {
364364
logging.Logger.Error("Failed to verify object proof", zap.String("challenge_id", challengeObj.ID), zap.Error(err))
365365
return err
@@ -445,7 +445,7 @@ func (vt *ValidationTicket) Sign() error {
445445
return err
446446
}
447447

448-
func (cr *ChallengeRequest) verifyObjectProof(latestWM *writemarker.WriteMarker, blobberID, OwnerPublicKey string, challengeRand int64) error {
448+
func (cr *ChallengeRequest) verifyObjectProof(latestWM *writemarker.WriteMarker, blobberID, ownerPublicKey string, challengeRand int64) error {
449449
if len(cr.ObjectProof) == 0 {
450450
return common.NewError("invalid_object_proof", "Object proof is missing")
451451
}
@@ -481,8 +481,9 @@ func (cr *ChallengeRequest) verifyObjectProof(latestWM *writemarker.WriteMarker,
481481
// verify fixed merkle root
482482
hashData := fmt.Sprintf("%s:%s:%s:%s", cr.Meta.ActualFileHash, cr.Meta.ValidationRoot, cr.Meta.FixedMerkleRoot, blobberID)
483483
validationRootHash := encryption.Hash(hashData)
484-
verify, err := encryption.Verify(OwnerPublicKey, cr.Meta.ValidationRootSignature, validationRootHash)
484+
verify, err := encryption.Verify(ownerPublicKey, cr.Meta.ValidationRootSignature, validationRootHash)
485485
if err != nil {
486+
logging.Logger.Error("Failed to verify the validation root signature", zap.Error(err), zap.String("validation_root", cr.Meta.ValidationRoot), zap.String("validation_root_signature", cr.Meta.ValidationRootSignature), zap.String("owner_public_key", ownerPublicKey))
486487
return common.NewError("invalid_object_proof", "Failed to verify the validation root signature. "+err.Error())
487488
}
488489
if !verify {

0 commit comments

Comments
 (0)