[x] - We use the IO Result while we do not have a dedicated Error enum
[ ] - We could probably not use ExtPresent and use KeyState directly, need to check if this is fine with the Verifier algorithm, Note KeyState holds more information
[ ] - Check the commitments are in the correct subgroup possibly will be done with Decaf
[ ] - remove need for this Clone, by splitting off the IPA proof object, here and sending the rest of the struct to create_verifier_queries
[ ] - create_verifier_queries Document this better and refactor
[ ] - Check if this stem already has an extension proof this was taken from python, redo It's left here for compatibility, but it might not be needed
[ ] - Remove panic!, return error instead when we change the func signature to return Result instead of bool
[ ] - We may need to rewrite the prover/verifier algorithm to fix this if statement properly. This is a special case. If the depth == 1 and the there is no stem to prove the proof of absence then this means that the path should point to the root node. Fix in python codebase and check for this in go code
[ ] - let stem_comm_0 = Fr::one(); // TODO: We can get rid of this and just add SRS[0]
[ ] - We can rewrite build_subtree to place the node commitments in the tree and then recursively sweep up the tree, updating each node using commit_sparse
proof.rs
opening_data.rs
get_branch_child
should use a range querystorage.get_leaf(leaf_key)
should use a range queryverifier.rs
create_verifier_queries
Document this better and refactorpanic!
, return error instead when we change the func signature to return Result instead of boolstate_updater.rs
for (suffix, (old_value, new_value)) in suffix_update
)build_subtree
to place the node commitments in the tree and then recursively sweep up the tree, updating each node using commit_sparsehas_unique_elements