rework sampler & builder to support correct padding and block selection
This commit is contained in:
parent
2bff066735
commit
c3c817cbce
|
@ -84,30 +84,3 @@ func cellIndices*(
|
|||
let idx = cellIndex(entropy, slotRoot, numCells, indices.len + 1)
|
||||
indices.add(idx.Natural)
|
||||
indices
|
||||
|
||||
func checkCellProof*[H, P](
|
||||
cellData: seq[byte],
|
||||
cellProof: P,
|
||||
blkRoot: H,
|
||||
slotProof: P,
|
||||
slotRoot: H): ?!bool =
|
||||
## Check the proof for a given cell.
|
||||
##
|
||||
|
||||
let
|
||||
cellLeaf = H.spongeDigest(cellData).valueOr:
|
||||
return failure("Failed to digest cell data")
|
||||
|
||||
slotLeaf = cellProof.reconstructRoot(cellLeaf).valueOr:
|
||||
return failure("Failed to reconstruct slot leaf")
|
||||
|
||||
recRoot = slotProof.reconstructRoot(slotLeaf).valueOr:
|
||||
return failure("Failed to reconstruct slot root")
|
||||
|
||||
if blkRoot != slotLeaf:
|
||||
return failure("Block root does not match slot leaf")
|
||||
|
||||
if recRoot != slotRoot:
|
||||
return failure("Reconstructed slot root does not match expected slot root")
|
||||
|
||||
success true
|
||||
|
|
Loading…
Reference in New Issue