From 2b63cb0e08844a96384aa7ee02019d358bfbbb22 Mon Sep 17 00:00:00 2001 From: benbierens Date: Wed, 6 Dec 2023 08:56:22 +0100 Subject: [PATCH] Cleanup slotbuilder --- codex/slotbuilder/slotbuilder.nim | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/codex/slotbuilder/slotbuilder.nim b/codex/slotbuilder/slotbuilder.nim index 12be8267..9defb2da 100644 --- a/codex/slotbuilder/slotbuilder.nim +++ b/codex/slotbuilder/slotbuilder.nim @@ -45,17 +45,6 @@ proc new*( proc cellsPerBlock(self: SlotBuilder): int = self.manifest.blockSize.int div CellSize -proc getTreeLeafCid(self: SlotBuilder, datasetTreeCid: Cid, datasetBlockIndex: int): Future[?!Cid] {.async.} = - without slotBlockCid =? await self.blockStore.getCid(datasetTreeCid, datasetBlockIndex), err: - error "Failed to get block for tree at index", index=datasetBlockIndex, tree=datasetTreeCid - return failure(err) - - # without slotBlockLeaf =? slotBlockCid.mhash: - # error "Failed to get multihash from slot block CID", slotBlockCid - # return failure("Failed to get multihash from slot block CID") - - return success(slotBlockCid) - proc selectSlotBlocks*(self: SlotBuilder, datasetSlotIndex: int): Future[?!seq[Cid]] {.async.} = var cids = newSeq[Cid]() let @@ -64,8 +53,9 @@ proc selectSlotBlocks*(self: SlotBuilder, datasetSlotIndex: int): Future[?!seq[C numberOfSlots = self.manifest.ecK strategy = SteppedIndexingStrategy.new(0, blockCount - 1, numberOfSlots) - for index in strategy.getIndicies(datasetSlotIndex): - without slotBlockCid =? await self.getTreeLeafCid(datasetTreeCid, index), err: + for datasetBlockIndex in strategy.getIndicies(datasetSlotIndex): + without slotBlockCid =? await self.blockStore.getCid(datasetTreeCid, datasetBlockIndex), err: + error "Failed to get block CID for tree at index", index=datasetBlockIndex, tree=datasetTreeCid return failure(err) cids.add(slotBlockCid) @@ -84,13 +74,6 @@ proc findNextPowerOfTwo*(i: int): int = return nextPow.int proc calculateNumberOfPaddingCells*(self: SlotBuilder, numberOfSlotBlocks: int): int = - let - blockSize = self.manifest.blockSize.int - expectZero = blockSize mod CellSize - - if expectZero != 0: - raiseAssert("BlockSize should always be divisable by Cell size (2kb).") - let numberOfCells = numberOfSlotBlocks * self.cellsPerBlock nextPowerOfTwo = findNextPowerOfTwo(numberOfCells) @@ -153,4 +136,5 @@ proc createSlotTree*(self: SlotBuilder, datasetSlotIndex: int): Future[?!MerkleT let numberOfPaddingCells = self.calculateNumberOfPaddingCells(slotBlocks.len) + trace "Creating slot tree", datasetSlotIndex=datasetSlotIndex, nSlotBlocks=slotBlocks.len, nPaddingCells=numberOfPaddingCells return await self.buildSlotTree(slotBlocks, numberOfPaddingCells)