mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-05 23:13:09 +00:00
* Setting up testfixture for proof datasampler * Sets up calculating number of cells in a slot * Sets up tests for bitwise modulo * Implements cell index collection * setting up slot blocks module * Implements getting treeCID from slot * implements getting slot blocks by index * Implements out-of-range check for slot index * cleanup * Sets up getting sample from block * Implements selecting a cell sample from a block * Implements building a minitree for block cells * Adds method to get dataset block index from slot block index * It's running * splits up indexing * almost there * Fixes test. Implementation is now functional * Refactoring to object-oriented * Cleanup * Lining up output type with updated reference code. * setting up * Updates expected samples * Updates proof checking test to match new format * move builder to own dir * move sampler to own dir * fix paths * various changes to add support for the sampler * wip sampler implementation * don't use upraises * wip sampler integration * misc * move tests around * Various fixes to select correct slot and block index * removing old tests * cleanup * misc fix tests that work with correct cell indices * remove unused file * fixup logging * add logscope * truncate entropy to 31 bytes, otherwise it might be > than mod * forwar getCidAndProof to local store * misc * Adds missing test for initial-proving state * reverting back to correct slot/block indexing * fix tests for revert * misc * misc --------- Co-authored-by: benbierens <thatbenbierens@gmail.com>
48 lines
1.0 KiB
Nim
48 lines
1.0 KiB
Nim
import pkg/chronos
|
|
import pkg/asynctest
|
|
import pkg/poseidon2
|
|
import pkg/poseidon2/io
|
|
import pkg/constantine/math/io/io_fields
|
|
import pkg/questionable/results
|
|
import pkg/codex/merkletree
|
|
|
|
import pkg/codex/slots/converters
|
|
import ../examples
|
|
import ../merkletree/helpers
|
|
|
|
let
|
|
hash: Poseidon2Hash = toF(12345)
|
|
|
|
suite "Converters":
|
|
test "CellBlock cid":
|
|
let
|
|
cid = toCellCid(hash).tryGet()
|
|
value = fromCellCid(cid).tryGet()
|
|
|
|
check:
|
|
hash.toDecimal() == value.toDecimal()
|
|
|
|
test "Slot cid":
|
|
let
|
|
cid = toSlotCid(hash).tryGet()
|
|
value = fromSlotCid(cid).tryGet()
|
|
|
|
check:
|
|
hash.toDecimal() == value.toDecimal()
|
|
|
|
test "Verify cid":
|
|
let
|
|
cid = toVerifyCid(hash).tryGet()
|
|
value = fromVerifyCid(cid).tryGet()
|
|
|
|
check:
|
|
hash.toDecimal() == value.toDecimal()
|
|
|
|
test "Proof":
|
|
let
|
|
codexProof = toEncodableProof(Poseidon2Proof.example).tryGet()
|
|
poseidonProof = toVerifiableProof(codexProof).tryGet()
|
|
|
|
check:
|
|
Poseidon2Proof.example == poseidonProof
|