[Enhancement] Integrate the DeepSubTrie for the SM(S)T #11
Open
Description
Objective
Following the merge of PR #6 the DeepSparseMerkleSubTree
type was removed. This issue aims to re-implement/add a new DeepSubTrie, now using the lazy loaded SMT as its base, for it to work with both the SMT and SMST.
The functionality should be close to the original deepsubtree implementation, instead now utilising the lazily loaded SMT.
This would enable batch updates to the trie - given leaves with a shared prefix an entire DST could be inserted at once
Origin Document
Goals
- Integrate the previous deep subtree implementation with the new lazy loaded SMT
- Ensure the DeepSubTrie works for both the SMT and SMST
- Enable batch updates/deletions
Deliverable
- Implement the DeepSubTrie functionality
- Add unit tests and runnable examples
- Add documentation on the DeepSubTrie and how it works
- Add the methods required for batch updates and deletions
Non-goals / Non-deliverables
- Break the SM(S)T in terms of backwards compatibility
- Change the existing insertion/deletion logic (for a single key-value)
General issue deliverables
- Update any relevant README(s)
- Add or update any relevant or supporting mermaid diagrams
Testing Methodology
- Task specific tests or benchmarks:
go test ...
- New tests or benchmarks:
go test ...
- All tests:
go test -v
Creator: @h5law
Metadata
Assignees
Labels
Type
Projects
Status
Ready