nim-codex/codex
Dmitriy Ryajov 52c5578c46
Rework merkle tree (#654)
* rework merkle tree support

* deps

* rename merkletree -> codexmerkletree

* treed and proof encoding/decoding

* small change to invoke proof verification

* rename merkletree to codexmerkletree

* style

* adding codex merkle and coders tests

* fixup imports

* remove new codecs for now

* bump deps

* adding trace statement

* properly serde of manifest block codecs

* use default hash codec

* add more trace logging to aid debugging

* misc

* remove double import

* revert un-needded change

* proof size changed

* bump poseidon2

* add from nodes test

* shorte file names

* remove upraises

* wip poseidon tree

* adjust file names

* misc

* shorten file names

* fix bad `elements` iter

* don't do asserts

* add fromNodes and converters

* root and getProof now return result

* add poseidon2 tree tests

* root now returns result

* misc

* had to make merkletree a ref, because nim blows up otherwise

* root returns a result

* root returns a result

* import poseidon tests

* bump

* merkle poseidon2 digest

* misc

* add merkle digest tests

* bump

* don't use checksuite

* Update tests/codex/merkletree/generictreetests.nim

Co-authored-by: markspanbroek <mark@spanbroek.net>
Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>

* Update codex/merkletree/merkletree.nim

Co-authored-by: markspanbroek <mark@spanbroek.net>
Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>

* Update codex/merkletree/merkletree.nim

Co-authored-by: markspanbroek <mark@spanbroek.net>
Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>

* Update tests/codex/merkletree/generictreetests.nim

Co-authored-by: markspanbroek <mark@spanbroek.net>
Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>

* missing return

* make toBool private (it's still needed otherwise comparison won't work)

* added `digestTree` that returns a tree and `digest` for root

* test against both poseidon trees - codex and poseidon2

* shorten merkle tree names

* don't compare trees - it's going to be too slow

* move comparison to mekrle helper

* remove merkle utils

---------

Signed-off-by: Dmitriy Ryajov <dryajov@gmail.com>
Co-authored-by: markspanbroek <mark@spanbroek.net>
2023-12-21 06:41:43 +00:00
..
blockexchange Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
contracts Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
erasure Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
manifest Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
merkletree Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
node refactor: move expiry update from fetchBatched (#634) 2023-11-28 22:04:11 +01:00
purchasing Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
rest Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
sales Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
stores Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
streams Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
utils Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
blockexchange.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
blocktype.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
chunker.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
clock.nim feat: update expiry when data downloaded and slot filled (#619) 2023-11-22 10:09:12 +00:00
codex.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
conf.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
contracts.nim feat: contract address management (#405) 2023-05-03 09:24:25 +02:00
discovery.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
erasure.nim Improving proc/func formatting consistency (#454) 2023-06-22 08:11:18 -07:00
errors.nim refactor: move expiry update from fetchBatched (#634) 2023-11-28 22:04:11 +01:00
formats.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
manifest.nim Change every dagger to codex (#102) 2022-05-19 13:56:03 -06:00
market.nim chore: improve log information (#656) 2023-12-19 04:29:18 +00:00
merkletree.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
namespaces.nim Blockexchange uses merkle root and index to fetch blocks (#566) 2023-11-14 13:02:17 +01:00
node.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
periods.nim Validator (#387) 2023-04-19 15:06:00 +02:00
purchasing.nim Storage/purchases endpoint (#609) 2023-11-13 11:30:27 +00:00
rng.nim track latest nim-libp2p's master branch (#248) 2022-11-02 11:40:28 -06:00
sales.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
storageproofs.nim Validator (#387) 2023-04-19 15:06:00 +02:00
stores.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
streams.nim adding AsyncStreamWrapper (#110) 2022-06-14 09:19:35 -06:00
systemclock.nim Blockstore maintenance (#347) 2023-03-08 16:04:54 +01:00
units.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00
utils.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
validation.nim Reverts logging-proxy, commit 27f585eb6f (#660) 2023-12-20 13:24:40 +11:00