filteredFocusedDeals = {
const result = []
let sumPieceSize = 0
let dealNumber, client, provider, pieceSize, startEpoch, endEpoch, sectorStartEpoch, slashEpoch, verifiedDeal, storagePricePerEpoch
focusedArrowDeals.scan(idx => {
result.push({
dealNumber: Uint32Array.from([dealNumber(idx)])[0],
client: `${client(idx)}`,
provider: `${provider(idx)}`,
pieceSize: Uint32Array.from([pieceSize(idx)])[0],
startEpoch: Int32Array.from([startEpoch(idx)])[0],
endEpoch: Int32Array.from([endEpoch(idx)])[0],
sectorStartEpoch: Int32Array.from([sectorStartEpoch(idx)])[0],
slashEpoch: Int32Array.from([slashEpoch(idx)])[0],
verifiedDeal: verifiedDeal(idx),
storagePricePerEpoch: Float64Array.from([storagePricePerEpoch(idx)])[0]
})
let sectorStart = Int32Array.from([sectorStartEpoch(idx)])[0]
if (sectorStart >= 0) {
sumPieceSize += Uint32Array.from([pieceSize(idx)])[0]
}
}, batch => {
dealNumber = arrow.predicate.col('dealNumber').bind(batch)
client = arrow.predicate.col('client').bind(batch)
provider = arrow.predicate.col('provider').bind(batch)
pieceSize = arrow.predicate.col('pieceSize').bind(batch)
startEpoch = arrow.predicate.col('startEpoch').bind(batch)
endEpoch = arrow.predicate.col('endEpoch').bind(batch)
sectorStartEpoch = arrow.predicate.col('sectorStartEpoch').bind(batch)
slashEpoch = arrow.predicate.col('slashEpoch').bind(batch)
verifiedDeal = arrow.predicate.col('verifiedDeal').bind(batch)
storagePricePerEpoch = arrow.predicate.col('storagePricePerEpoch').bind(batch)
})
return { result, sumPieceSize }
}