(decodedBlob []byte, payload *BlobPayload)
| 1207 | } |
| 1208 | |
| 1209 | func (s *SyncClient) checkBlobCommit(decodedBlob []byte, payload *BlobPayload) bool { |
| 1210 | recordDur := s.metrics.ClientRecordTimeUsed("getRoot") |
| 1211 | root, err := s.prover.GetRoot(decodedBlob, 0, 0) |
| 1212 | recordDur() |
| 1213 | |
| 1214 | if err != nil { |
| 1215 | s.lg.Error("Get proof fail", "idx", payload.BlobIndex, "err", err.Error()) |
| 1216 | return false |
| 1217 | } |
| 1218 | if !bytes.Equal(root[:ethstorage.HashSizeInContract], payload.BlobCommit[:ethstorage.HashSizeInContract]) { |
| 1219 | s.lg.Info("Compare blob failed", "idx", payload.BlobIndex, "err", |
| 1220 | fmt.Sprintf("verify blob fail: root: %s; MetaHash hash (24): %s, providerAddr %s, data len %d", |
| 1221 | common.Bytes2Hex(root[:ethstorage.HashSizeInContract]), common.Bytes2Hex(payload.BlobCommit[:ethstorage.HashSizeInContract]), |
| 1222 | payload.MinerAddress.Hex(), len(payload.EncodedBlob))) |
| 1223 | return false |
| 1224 | } |
| 1225 | |
| 1226 | return true |
| 1227 | } |
| 1228 | |
| 1229 | func (s *SyncClient) commitBlobs(kvIndices []uint64, decodedBlobs [][]byte, commits []common.Hash) ([]uint64, error) { |
| 1230 | recordDur := s.metrics.ClientRecordTimeUsed("commitBlobs") |
no test coverage detected